From 88ae6d202ce9346ef2400eb4ffefc1ef5a0bfbff Mon Sep 17 00:00:00 2001 From: Harvey Zack Date: Tue, 2 May 2023 21:41:01 +0800 Subject: [PATCH] update docs --- docs/document/404.html | 8 +- docs/document/advanced/built-in.html | 14 +- docs/document/advanced/class.html | 14 +- docs/document/advanced/event.html | 14 +- docs/document/advanced/global.html | 219 ++- docs/document/advanced/plugin.html | 14 +- docs/document/advanced/property.html | 14 +- ...fa.js => advanced_built-in.md.2e0780a4.js} | 2 +- ... => advanced_built-in.md.2e0780a4.lean.js} | 2 +- ...3c95a.js => advanced_class.md.4af05539.js} | 2 +- ....js => advanced_class.md.4af05539.lean.js} | 2 +- ...050e0.js => advanced_event.md.95edbd6b.js} | 2 +- ....js => advanced_event.md.95edbd6b.lean.js} | 2 +- .../assets/advanced_global.md.9eb3fef3.js | 206 +++ .../advanced_global.md.9eb3fef3.lean.js | 1 + .../assets/advanced_global.md.ad69e8c9.js | 1 - .../advanced_global.md.ad69e8c9.lean.js | 1 - ...2510.js => advanced_plugin.md.aaf168c6.js} | 2 +- ...js => advanced_plugin.md.aaf168c6.lean.js} | 2 +- ...fe.js => advanced_property.md.32e0ebc0.js} | 2 +- ... => advanced_property.md.32e0ebc0.lean.js} | 2 +- .../{app.8ed8ab17.js => app.ab4cdfab.js} | 2 +- ...work.f7d2e3c3.js => framework.48115c03.js} | 2 +- .../{theme.a5bd0c57.js => theme.76780fa4.js} | 4 +- .../chunks/virtual_search-data.8219a1ca.js | 1393 ---------------- .../chunks/virtual_search-data.9f4788ba.js | 1455 +++++++++++++++++ ...s => component_contextmenu.md.b0cac7bc.js} | 2 +- ...component_contextmenu.md.b0cac7bc.lean.js} | 2 +- ...c.js => component_controls.md.fea1c7e9.js} | 2 +- ...=> component_controls.md.fea1c7e9.lean.js} | 2 +- ...f05.js => component_layers.md.c089d00b.js} | 2 +- ...s => component_layers.md.c089d00b.lean.js} | 2 +- ...f9.js => component_setting.md.1bc1860b.js} | 2 +- ... => component_setting.md.1bc1860b.lean.js} | 2 +- ...js => en_advanced_built-in.md.852cc7ad.js} | 2 +- ... en_advanced_built-in.md.852cc7ad.lean.js} | 2 +- ...55.js => en_advanced_class.md.66381877.js} | 2 +- ... => en_advanced_class.md.66381877.lean.js} | 2 +- ...35.js => en_advanced_event.md.eb727357.js} | 2 +- ... => en_advanced_event.md.eb727357.lean.js} | 2 +- .../assets/en_advanced_global.md.d39e1271.js | 1 - .../en_advanced_global.md.d39e1271.lean.js | 1 - .../assets/en_advanced_global.md.da8caa7e.js | 206 +++ .../en_advanced_global.md.da8caa7e.lean.js | 1 + ...2.js => en_advanced_plugin.md.355ebff5.js} | 2 +- ...=> en_advanced_plugin.md.355ebff5.lean.js} | 2 +- ...js => en_advanced_property.md.779fe490.js} | 2 +- ... en_advanced_property.md.779fe490.lean.js} | 2 +- ...> en_component_contextmenu.md.dbd69c21.js} | 2 +- ...component_contextmenu.md.dbd69c21.lean.js} | 2 +- ...s => en_component_controls.md.0ee516da.js} | 2 +- ...en_component_controls.md.0ee516da.lean.js} | 2 +- ....js => en_component_layers.md.4dc5e66c.js} | 2 +- ...> en_component_layers.md.4dc5e66c.lean.js} | 2 +- ...js => en_component_setting.md.8fe3c72b.js} | 2 +- ... en_component_setting.md.8fe3c72b.lean.js} | 2 +- ...md.9b391b5e.js => en_index.md.12519db3.js} | 8 +- ...e.lean.js => en_index.md.12519db3.lean.js} | 2 +- ...8dbe.js => en_library_dash.md.1a94a772.js} | 2 +- ...js => en_library_dash.md.1a94a772.lean.js} | 2 +- ...13f72.js => en_library_flv.md.3eb5ed90.js} | 2 +- ....js => en_library_flv.md.3eb5ed90.lean.js} | 2 +- ...c3b05.js => en_library_hls.md.3399b13e.js} | 2 +- ....js => en_library_hls.md.3399b13e.lean.js} | 2 +- ...cbc6eb.js => en_plugin_ads.md.36f2ced8.js} | 2 +- ...n.js => en_plugin_ads.md.36f2ced8.lean.js} | 2 +- ...js => en_plugin_control-ui.md.87fec95f.js} | 4 +- ... en_plugin_control-ui.md.87fec95f.lean.js} | 2 +- ...en_plugin_dash-quality.md.390f14b8.lean.js | 1 - ... => en_plugin_dash-quality.md.df294fc2.js} | 2 +- ...en_plugin_dash-quality.md.df294fc2.lean.js | 1 + .../en_plugin_hls-quality.md.61bb2b70.lean.js | 1 - ...s => en_plugin_hls-quality.md.7f6785e9.js} | 2 +- .../en_plugin_hls-quality.md.7f6785e9.lean.js | 1 + ...f49.js => en_plugin_iframe.md.5ed3fc5d.js} | 4 +- ...s => en_plugin_iframe.md.5ed3fc5d.lean.js} | 2 +- ...4fc2.js => en_start_option.md.12acec78.js} | 2 +- ...js => en_start_option.md.12acec78.lean.js} | 2 +- ...ex.md.d93910a2.js => index.md.fb4cf0fd.js} | 8 +- ...10a2.lean.js => index.md.fb4cf0fd.lean.js} | 2 +- ...45289b4.js => library_dash.md.548ff0b2.js} | 2 +- ...an.js => library_dash.md.548ff0b2.lean.js} | 2 +- ...296c1ec0.js => library_flv.md.2ddcd9cc.js} | 2 +- ...ean.js => library_flv.md.2ddcd9cc.lean.js} | 2 +- ...9e1cd522.js => library_hls.md.3142dc3f.js} | 2 +- ...ean.js => library_hls.md.3142dc3f.lean.js} | 2 +- ....62a34622.js => plugin_ads.md.d539e7a2.js} | 2 +- ...lean.js => plugin_ads.md.d539e7a2.lean.js} | 2 +- ...88.js => plugin_control-ui.md.d74a021b.js} | 4 +- ... => plugin_control-ui.md.d74a021b.lean.js} | 2 +- ...689a6.js => plugin_danmuku.md.aa337559.js} | 4 +- ....js => plugin_danmuku.md.aa337559.lean.js} | 2 +- ....js => plugin_dash-quality.md.3ad65272.js} | 2 +- ...> plugin_dash-quality.md.3ad65272.lean.js} | 2 +- ...4.js => plugin_hls-quality.md.04ba1006.js} | 2 +- .../plugin_hls-quality.md.04ba1006.lean.js | 1 + .../plugin_hls-quality.md.235b8554.lean.js | 1 - ...625f08.js => plugin_iframe.md.99e38964.js} | 4 +- ...n.js => plugin_iframe.md.99e38964.lean.js} | 2 +- ...f0220cd.js => start_option.md.c9f42b0c.js} | 2 +- ...an.js => start_option.md.c9f42b0c.lean.js} | 2 +- ...{style.6f0de4a7.css => style.3d04a11d.css} | 2 +- docs/document/component/contextmenu.html | 14 +- docs/document/component/controls.html | 14 +- docs/document/component/layers.html | 14 +- docs/document/component/setting.html | 14 +- docs/document/en/advanced/built-in.html | 14 +- docs/document/en/advanced/class.html | 14 +- docs/document/en/advanced/event.html | 14 +- docs/document/en/advanced/global.html | 221 ++- docs/document/en/advanced/plugin.html | 14 +- docs/document/en/advanced/property.html | 14 +- docs/document/en/component/contextmenu.html | 14 +- docs/document/en/component/controls.html | 14 +- docs/document/en/component/layers.html | 14 +- docs/document/en/component/setting.html | 14 +- docs/document/en/index.html | 20 +- docs/document/en/library/dash.html | 14 +- docs/document/en/library/flv.html | 14 +- docs/document/en/library/hls.html | 14 +- docs/document/en/plugin/ads.html | 14 +- docs/document/en/plugin/control-ui.html | 14 +- docs/document/en/plugin/dash-quality.html | 14 +- docs/document/en/plugin/hls-quality.html | 14 +- docs/document/en/plugin/iframe.html | 16 +- docs/document/en/start/option.html | 14 +- docs/document/hashmap.json | 2 +- docs/document/index.html | 20 +- docs/document/library/dash.html | 14 +- docs/document/library/flv.html | 14 +- docs/document/library/hls.html | 14 +- docs/document/plugin/ads.html | 14 +- docs/document/plugin/control-ui.html | 14 +- docs/document/plugin/danmuku.html | 14 +- docs/document/plugin/dash-quality.html | 14 +- docs/document/plugin/hls-quality.html | 14 +- docs/document/plugin/iframe.html | 16 +- docs/document/start/option.html | 14 +- docs/uncompiled/artplayer/index.js | 10 +- docs/uncompiled/artplayer/index.js.map | 2 +- .../artplayer-plugin-danmuku/package.json | 2 +- .../.vitepress/cache/deps/@theme_index.js | 38 +- .../docs/.vitepress/cache/deps/_metadata.json | 8 +- .../docs/advanced/global.md | 449 ++++- .../docs/en/advanced/global.md | 451 ++++- packages/artplayer/src/index.js | 4 +- .../artplayer/src/plugins/autoOrientation.js | 2 +- packages/artplayer/src/style/setting.less | 4 +- packages/artplayer/types/artplayer.d.ts | 4 +- 149 files changed, 3601 insertions(+), 1839 deletions(-) rename docs/document/assets/{advanced_built-in.md.664dfefa.js => advanced_built-in.md.2e0780a4.js} (99%) rename docs/document/assets/{advanced_built-in.md.664dfefa.lean.js => advanced_built-in.md.2e0780a4.lean.js} (95%) rename docs/document/assets/{advanced_class.md.c553c95a.js => advanced_class.md.4af05539.js} (99%) rename docs/document/assets/{advanced_class.md.c553c95a.lean.js => advanced_class.md.4af05539.lean.js} (94%) rename docs/document/assets/{advanced_event.md.b1e050e0.js => advanced_event.md.95edbd6b.js} (99%) rename docs/document/assets/{advanced_event.md.b1e050e0.lean.js => advanced_event.md.95edbd6b.lean.js} (98%) create mode 100644 docs/document/assets/advanced_global.md.9eb3fef3.js create mode 100644 docs/document/assets/advanced_global.md.9eb3fef3.lean.js delete mode 100644 docs/document/assets/advanced_global.md.ad69e8c9.js delete mode 100644 docs/document/assets/advanced_global.md.ad69e8c9.lean.js rename docs/document/assets/{advanced_plugin.md.f0cc2510.js => advanced_plugin.md.aaf168c6.js} (99%) rename docs/document/assets/{advanced_plugin.md.f0cc2510.lean.js => advanced_plugin.md.aaf168c6.lean.js} (93%) rename docs/document/assets/{advanced_property.md.3663dcfe.js => advanced_property.md.32e0ebc0.js} (99%) rename docs/document/assets/{advanced_property.md.3663dcfe.lean.js => advanced_property.md.32e0ebc0.lean.js} (97%) rename docs/document/assets/{app.8ed8ab17.js => app.ab4cdfab.js} (90%) rename docs/document/assets/chunks/{framework.f7d2e3c3.js => framework.48115c03.js} (95%) rename docs/document/assets/chunks/{theme.a5bd0c57.js => theme.76780fa4.js} (72%) delete mode 100644 docs/document/assets/chunks/virtual_search-data.8219a1ca.js create mode 100644 docs/document/assets/chunks/virtual_search-data.9f4788ba.js rename docs/document/assets/{component_contextmenu.md.88b1cf3b.js => component_contextmenu.md.b0cac7bc.js} (99%) rename docs/document/assets/{component_contextmenu.md.88b1cf3b.lean.js => component_contextmenu.md.b0cac7bc.lean.js} (90%) rename docs/document/assets/{component_controls.md.b384859c.js => component_controls.md.fea1c7e9.js} (99%) rename docs/document/assets/{component_controls.md.b384859c.lean.js => component_controls.md.fea1c7e9.lean.js} (90%) rename docs/document/assets/{component_layers.md.f5af8f05.js => component_layers.md.c089d00b.js} (99%) rename docs/document/assets/{component_layers.md.f5af8f05.lean.js => component_layers.md.c089d00b.lean.js} (90%) rename docs/document/assets/{component_setting.md.430d07f9.js => component_setting.md.1bc1860b.js} (99%) rename docs/document/assets/{component_setting.md.430d07f9.lean.js => component_setting.md.1bc1860b.lean.js} (93%) rename docs/document/assets/{en_advanced_built-in.md.6b773482.js => en_advanced_built-in.md.852cc7ad.js} (99%) rename docs/document/assets/{en_advanced_built-in.md.6b773482.lean.js => en_advanced_built-in.md.852cc7ad.lean.js} (95%) rename docs/document/assets/{en_advanced_class.md.7323cf55.js => en_advanced_class.md.66381877.js} (99%) rename docs/document/assets/{en_advanced_class.md.7323cf55.lean.js => en_advanced_class.md.66381877.lean.js} (94%) rename docs/document/assets/{en_advanced_event.md.1a92fa35.js => en_advanced_event.md.eb727357.js} (99%) rename docs/document/assets/{en_advanced_event.md.1a92fa35.lean.js => en_advanced_event.md.eb727357.lean.js} (98%) delete mode 100644 docs/document/assets/en_advanced_global.md.d39e1271.js delete mode 100644 docs/document/assets/en_advanced_global.md.d39e1271.lean.js create mode 100644 docs/document/assets/en_advanced_global.md.da8caa7e.js create mode 100644 docs/document/assets/en_advanced_global.md.da8caa7e.lean.js rename docs/document/assets/{en_advanced_plugin.md.0f5dbbe2.js => en_advanced_plugin.md.355ebff5.js} (99%) rename docs/document/assets/{en_advanced_plugin.md.0f5dbbe2.lean.js => en_advanced_plugin.md.355ebff5.lean.js} (93%) rename docs/document/assets/{en_advanced_property.md.d251207d.js => en_advanced_property.md.779fe490.js} (99%) rename docs/document/assets/{en_advanced_property.md.d251207d.lean.js => en_advanced_property.md.779fe490.lean.js} (97%) rename docs/document/assets/{en_component_contextmenu.md.55b8aadc.js => en_component_contextmenu.md.dbd69c21.js} (99%) rename docs/document/assets/{en_component_contextmenu.md.55b8aadc.lean.js => en_component_contextmenu.md.dbd69c21.lean.js} (90%) rename docs/document/assets/{en_component_controls.md.208ca243.js => en_component_controls.md.0ee516da.js} (99%) rename docs/document/assets/{en_component_controls.md.208ca243.lean.js => en_component_controls.md.0ee516da.lean.js} (90%) rename docs/document/assets/{en_component_layers.md.6b419bf2.js => en_component_layers.md.4dc5e66c.js} (99%) rename docs/document/assets/{en_component_layers.md.6b419bf2.lean.js => en_component_layers.md.4dc5e66c.lean.js} (90%) rename docs/document/assets/{en_component_setting.md.f6f61d4b.js => en_component_setting.md.8fe3c72b.js} (99%) rename docs/document/assets/{en_component_setting.md.f6f61d4b.lean.js => en_component_setting.md.8fe3c72b.lean.js} (93%) rename docs/document/assets/{en_index.md.9b391b5e.js => en_index.md.12519db3.js} (97%) rename docs/document/assets/{en_index.md.9b391b5e.lean.js => en_index.md.12519db3.lean.js} (65%) rename docs/document/assets/{en_library_dash.md.3e688dbe.js => en_library_dash.md.1a94a772.js} (99%) rename docs/document/assets/{en_library_dash.md.3e688dbe.lean.js => en_library_dash.md.1a94a772.lean.js} (92%) rename docs/document/assets/{en_library_flv.md.a9e13f72.js => en_library_flv.md.3eb5ed90.js} (99%) rename docs/document/assets/{en_library_flv.md.a9e13f72.lean.js => en_library_flv.md.3eb5ed90.lean.js} (92%) rename docs/document/assets/{en_library_hls.md.249c3b05.js => en_library_hls.md.3399b13e.js} (99%) rename docs/document/assets/{en_library_hls.md.249c3b05.lean.js => en_library_hls.md.3399b13e.lean.js} (92%) rename docs/document/assets/{en_plugin_ads.md.4ccbc6eb.js => en_plugin_ads.md.36f2ced8.js} (96%) rename docs/document/assets/{en_plugin_ads.md.4ccbc6eb.lean.js => en_plugin_ads.md.36f2ced8.lean.js} (87%) rename docs/document/assets/{en_plugin_control-ui.md.01b70320.js => en_plugin_control-ui.md.87fec95f.js} (94%) rename docs/document/assets/{en_plugin_control-ui.md.01b70320.lean.js => en_plugin_control-ui.md.87fec95f.lean.js} (80%) delete mode 100644 docs/document/assets/en_plugin_dash-quality.md.390f14b8.lean.js rename docs/document/assets/{en_plugin_dash-quality.md.390f14b8.js => en_plugin_dash-quality.md.df294fc2.js} (83%) create mode 100644 docs/document/assets/en_plugin_dash-quality.md.df294fc2.lean.js delete mode 100644 docs/document/assets/en_plugin_hls-quality.md.61bb2b70.lean.js rename docs/document/assets/{en_plugin_hls-quality.md.61bb2b70.js => en_plugin_hls-quality.md.7f6785e9.js} (80%) create mode 100644 docs/document/assets/en_plugin_hls-quality.md.7f6785e9.lean.js rename docs/document/assets/{en_plugin_iframe.md.412b4f49.js => en_plugin_iframe.md.5ed3fc5d.js} (98%) rename docs/document/assets/{en_plugin_iframe.md.412b4f49.lean.js => en_plugin_iframe.md.5ed3fc5d.lean.js} (67%) rename docs/document/assets/{en_start_option.md.435c4fc2.js => en_start_option.md.12acec78.js} (99%) rename docs/document/assets/{en_start_option.md.435c4fc2.lean.js => en_start_option.md.12acec78.lean.js} (98%) rename docs/document/assets/{index.md.d93910a2.js => index.md.fb4cf0fd.js} (96%) rename docs/document/assets/{index.md.d93910a2.lean.js => index.md.fb4cf0fd.lean.js} (65%) rename docs/document/assets/{library_dash.md.245289b4.js => library_dash.md.548ff0b2.js} (99%) rename docs/document/assets/{library_dash.md.245289b4.lean.js => library_dash.md.548ff0b2.lean.js} (92%) rename docs/document/assets/{library_flv.md.296c1ec0.js => library_flv.md.2ddcd9cc.js} (99%) rename docs/document/assets/{library_flv.md.296c1ec0.lean.js => library_flv.md.2ddcd9cc.lean.js} (92%) rename docs/document/assets/{library_hls.md.9e1cd522.js => library_hls.md.3142dc3f.js} (99%) rename docs/document/assets/{library_hls.md.9e1cd522.lean.js => library_hls.md.3142dc3f.lean.js} (92%) rename docs/document/assets/{plugin_ads.md.62a34622.js => plugin_ads.md.d539e7a2.js} (96%) rename docs/document/assets/{plugin_ads.md.62a34622.lean.js => plugin_ads.md.d539e7a2.lean.js} (87%) rename docs/document/assets/{plugin_control-ui.md.df4ff288.js => plugin_control-ui.md.d74a021b.js} (94%) rename docs/document/assets/{plugin_control-ui.md.df4ff288.lean.js => plugin_control-ui.md.d74a021b.lean.js} (80%) rename docs/document/assets/{plugin_danmuku.md.4fa689a6.js => plugin_danmuku.md.aa337559.js} (99%) rename docs/document/assets/{plugin_danmuku.md.4fa689a6.lean.js => plugin_danmuku.md.aa337559.lean.js} (91%) rename docs/document/assets/{plugin_dash-quality.md.7dd6e6be.js => plugin_dash-quality.md.3ad65272.js} (82%) rename docs/document/assets/{plugin_dash-quality.md.7dd6e6be.lean.js => plugin_dash-quality.md.3ad65272.lean.js} (52%) rename docs/document/assets/{plugin_hls-quality.md.235b8554.js => plugin_hls-quality.md.04ba1006.js} (80%) create mode 100644 docs/document/assets/plugin_hls-quality.md.04ba1006.lean.js delete mode 100644 docs/document/assets/plugin_hls-quality.md.235b8554.lean.js rename docs/document/assets/{plugin_iframe.md.7d625f08.js => plugin_iframe.md.99e38964.js} (98%) rename docs/document/assets/{plugin_iframe.md.7d625f08.lean.js => plugin_iframe.md.99e38964.lean.js} (67%) rename docs/document/assets/{start_option.md.7f0220cd.js => start_option.md.c9f42b0c.js} (99%) rename docs/document/assets/{start_option.md.7f0220cd.lean.js => start_option.md.c9f42b0c.lean.js} (98%) rename docs/document/assets/{style.6f0de4a7.css => style.3d04a11d.css} (95%) diff --git a/docs/document/404.html b/docs/document/404.html index a50c7f567..6935513e3 100644 --- a/docs/document/404.html +++ b/docs/document/404.html @@ -5,8 +5,8 @@ 404 | Artplayer.js - - + + @@ -14,8 +14,8 @@ -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- diff --git a/docs/document/advanced/built-in.html b/docs/document/advanced/built-in.html index 295e83d64..64d995ef5 100644 --- a/docs/document/advanced/built-in.html +++ b/docs/document/advanced/built-in.html @@ -5,19 +5,19 @@ 高级属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -210,7 +210,7 @@
 art.on('ready', () => {
     art.plugins.add(myPlugin);
 });
- diff --git a/docs/document/advanced/class.html b/docs/document/advanced/class.html index 4e3db0ae5..868e16599 100644 --- a/docs/document/advanced/class.html +++ b/docs/document/advanced/class.html @@ -5,19 +5,19 @@ 静态属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
+    
Skip to content
On this page

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -25,7 +25,7 @@
 });
 
 console.info([...Artplayer.instances]);

version ​

返回播放器的版本信息

▶ Run Code
js
console.info(Artplayer.version);

env ​

返回播放器的环境变量

▶ Run Code
js
console.info(Artplayer.env);

build ​

返回播放器的打包时间

▶ Run Code
js
console.info(Artplayer.build);

config ​

返回视频的默认配置

▶ Run Code
js
console.info(Artplayer.config);

utils ​

返回播放器的工具函数集合

▶ Run Code
js
console.info(Artplayer.utils);

全部工具函数请参考以下地址:

artplayer/types/utils.d.ts

scheme ​

返回播放器选项的校验方案

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter ​

返回事件分发器的构造函数

▶ Run Code
js
console.info(Artplayer.Emitter);

validator ​

返回选项的校验函数

▶ Run Code
js
console.info(Artplayer.validator);

kindOf ​

返回类型检测的函数工具

▶ Run Code
js
console.info(Artplayer.kindOf);

html ​

返回播放器所需的 html 字符串

▶ Run Code
js
console.info(Artplayer.html);

option ​

返回播放器的默认选项

▶ Run Code
js
console.info(Artplayer.option);
- diff --git a/docs/document/advanced/event.html b/docs/document/advanced/event.html index 9d2d7648c..164824f17 100644 --- a/docs/document/advanced/event.html +++ b/docs/document/advanced/event.html @@ -5,19 +5,19 @@ 实例事件 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

实例事件 ​

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

实例事件 ​

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -365,7 +365,7 @@
 art.on('setting', (state) => {
     console.log(state);
 });

video:canplay ​

浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容

video:canplaythrough ​

浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束

video:complete ​

OfflineAudioContext 渲染完成

video:durationchange ​

duration 属性的值改变时触发

video:emptied ​

媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载它

video:ended ​

视频停止播放,因为 media 已经到达结束点

video:error ​

获取媒体数据时出错,或者资源类型不是受支持的媒体格式

video:loadeddata ​

media 中的首帧已经完成加载

video:loadedmetadata ​

已加载元数据

video:pause ​

播放已暂停

video:play ​

播放已开始

video:playing ​

由于缺乏数据而暂停或延迟后,播放准备开始

video:progress ​

在浏览器加载资源时周期性触发

video:ratechange ​

播放速率发生变化

video:seeked ​

跳帧(seek)操作完成

video:seeking ​

跳帧(seek)操作开始

video:stalled ​

用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现

video:suspend ​

媒体数据加载已暂停

video:timeupdate ​

currentTime 属性指定的时间发生变化

video:volumechange ​

音量发生变化

video:waiting ​

由于暂时缺少数据,播放已停止

- diff --git a/docs/document/advanced/global.html b/docs/document/advanced/global.html index 261e27bfa..5cfa23cb7 100644 --- a/docs/document/advanced/global.html +++ b/docs/document/advanced/global.html @@ -5,20 +5,225 @@ 全局属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

全局属性 ​

DEBUG ​

CONTEXTMENU ​

NOTICE_TIME ​

SETTING_WIDTH ​

SETTING_ITEM_WIDTH ​

SETTING_ITEM_HEIGHT ​

RESIZE_TIME ​

SCROLL_TIME ​

SCROLL_GAP ​

AUTO_PLAYBACK_MAX ​

AUTO_PLAYBACK_MIN ​

AUTO_PLAYBACK_TIMEOUT ​

RECONNECT_TIME_MAX ​

RECONNECT_SLEEP_TIME ​

CONTROL_HIDE_TIME ​

DBCLICK_TIME ​

DBCLICK_FULLSCREEN ​

MOBILE_DBCLICK_PLAY ​

MOBILE_CLICK_PLAY ​

MOBILE_AUTO_PLAYBACKRATE ​

MOBILE_AUTO_PLAYBACKRATE_TIME ​

MOBILE_AUTO_ORIENTATION_TIME ​

INFO_LOOP_TIME ​

FAST_FORWARD_VALUE ​

FAST_FORWARD_TIME ​

TOUCH_MOVE_RATIO ​

VOLUME_STEP ​

SEEK_STEP ​

PLAYBACK_RATE ​

ASPECT_RATIO ​

FLIP ​

FULLSCREEN_WEB_IN_BODY ​

- diff --git a/docs/document/advanced/plugin.html b/docs/document/advanced/plugin.html index 27a6ab60e..1babc8430 100644 --- a/docs/document/advanced/plugin.html +++ b/docs/document/advanced/plugin.html @@ -5,19 +5,19 @@ 编写插件 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

编写插件 ​

但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
+    
Skip to content
On this page

编写插件 ​

但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
@@ -116,7 +116,7 @@
         })
     ],
 });
- diff --git a/docs/document/advanced/property.html b/docs/document/advanced/property.html index 6e3e0edc7..37b52013a 100644 --- a/docs/document/advanced/property.html +++ b/docs/document/advanced/property.html @@ -5,19 +5,19 @@ 实例属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

实例属性 ​

这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用

play ​

  • Type: Function

播放视频

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

实例属性 ​

这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用

play ​

  • Type: Function

播放视频

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
@@ -380,7 +380,7 @@
     art.cssVar('--art-theme', 'green');
     console.log(art.cssVar('--art-theme'));
 });
- diff --git a/docs/document/assets/advanced_built-in.md.664dfefa.js b/docs/document/assets/advanced_built-in.md.2e0780a4.js similarity index 99% rename from docs/document/assets/advanced_built-in.md.664dfefa.js rename to docs/document/assets/advanced_built-in.md.2e0780a4.js index 7a70ba905..c6f07be98 100644 --- a/docs/document/assets/advanced_built-in.md.664dfefa.js +++ b/docs/document/assets/advanced_built-in.md.2e0780a4.js @@ -1,4 +1,4 @@ -import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","lastUpdated":1682233868000}'),o={name:"advanced/built-in.md"},e=s('

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

',4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","lastUpdated":1682233868000}'),o={name:"advanced/built-in.md"},e=s('

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

',4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/docs/document/assets/advanced_built-in.md.664dfefa.lean.js b/docs/document/assets/advanced_built-in.md.2e0780a4.lean.js
similarity index 95%
rename from docs/document/assets/advanced_built-in.md.664dfefa.lean.js
rename to docs/document/assets/advanced_built-in.md.2e0780a4.lean.js
index c42ddd0a8..9fd642b07 100644
--- a/docs/document/assets/advanced_built-in.md.664dfefa.lean.js
+++ b/docs/document/assets/advanced_built-in.md.2e0780a4.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","lastUpdated":1682233868000}'),o={name:"advanced/built-in.md"},e=s("",4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),i=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),C=n("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),b=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),m=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",5),h=n("div",{className:"run-code"},"▶ Run Code",-1),v=s("",4),g=n("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),T=n("div",{className:"run-code"},"▶ Run Code",-1),k=s("",5),w=n("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),P=n("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),I=n("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),R=n("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=n("div",{className:"run-code"},"▶ Run Code",-1),q=s("",5),x=n("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),M=n("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),z=n("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),G=[e,c,r,t,D,F,y,i,A,C,d,b,u,m,_,h,v,g,E,T,k,w,f,P,S,I,N,R,V,j,q,x,O,M,$,z,B];function L(W,J,U,Y,H,K){return p(),l("div",null,G)}const Z=a(o,[["render",L]]);export{X as __pageData,Z as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","lastUpdated":1682233868000}'),o={name:"advanced/built-in.md"},e=s("",4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),i=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),C=n("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),b=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),m=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",5),h=n("div",{className:"run-code"},"▶ Run Code",-1),v=s("",4),g=n("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),T=n("div",{className:"run-code"},"▶ Run Code",-1),k=s("",5),w=n("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),P=n("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),I=n("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),R=n("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=n("div",{className:"run-code"},"▶ Run Code",-1),q=s("",5),x=n("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),M=n("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),z=n("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),G=[e,c,r,t,D,F,y,i,A,C,d,b,u,m,_,h,v,g,E,T,k,w,f,P,S,I,N,R,V,j,q,x,O,M,$,z,B];function L(W,J,U,Y,H,K){return p(),l("div",null,G)}const Z=a(o,[["render",L]]);export{X as __pageData,Z as default};
diff --git a/docs/document/assets/advanced_class.md.c553c95a.js b/docs/document/assets/advanced_class.md.4af05539.js
similarity index 99%
rename from docs/document/assets/advanced_class.md.c553c95a.js
rename to docs/document/assets/advanced_class.md.4af05539.js
index c2d739bdb..765f72511 100644
--- a/docs/document/assets/advanced_class.md.c553c95a.js
+++ b/docs/document/assets/advanced_class.md.4af05539.js
@@ -1,4 +1,4 @@
-import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","lastUpdated":1682233868000}'),o={name:"advanced/class.md"},p=s('

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
console.info([...Artplayer.instances]);
+import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.48115c03.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","lastUpdated":1682233868000}'),o={name:"advanced/class.md"},p=s('

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
diff --git a/docs/document/assets/advanced_class.md.c553c95a.lean.js b/docs/document/assets/advanced_class.md.4af05539.lean.js
similarity index 94%
rename from docs/document/assets/advanced_class.md.c553c95a.lean.js
rename to docs/document/assets/advanced_class.md.4af05539.lean.js
index e25a123d1..5cc240a57 100644
--- a/docs/document/assets/advanced_class.md.c553c95a.lean.js
+++ b/docs/document/assets/advanced_class.md.4af05539.lean.js
@@ -1 +1 @@
-import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","lastUpdated":1682233868000}'),o={name:"advanced/class.md"},p=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),F=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),b=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),q=[p,t,r,c,i,d,_,A,D,y,C,u,h,F,m,b,v,T,g,f,P,S,k,V,N];function I(R,j,E,x,w,O){return l(),e("div",null,q)}const z=n(o,[["render",I]]);export{B as __pageData,z as default};
+import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.48115c03.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","lastUpdated":1682233868000}'),o={name:"advanced/class.md"},p=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),F=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),b=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),q=[p,t,r,c,i,d,_,A,D,y,C,u,h,F,m,b,v,T,g,f,P,S,k,V,N];function I(R,j,E,x,w,O){return l(),e("div",null,q)}const z=n(o,[["render",I]]);export{B as __pageData,z as default};
diff --git a/docs/document/assets/advanced_event.md.b1e050e0.js b/docs/document/assets/advanced_event.md.95edbd6b.js
similarity index 99%
rename from docs/document/assets/advanced_event.md.b1e050e0.js
rename to docs/document/assets/advanced_event.md.95edbd6b.js
index 1d5fe16c2..6201bb284 100644
--- a/docs/document/assets/advanced_event.md.b1e050e0.js
+++ b/docs/document/assets/advanced_event.md.95edbd6b.js
@@ -1,4 +1,4 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const Xs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","lastUpdated":1682233868000}'),e={name:"advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),y=a(`
js
var art = new Artplayer({
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const Xs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","lastUpdated":1682233868000}'),e={name:"advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),y=a(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/docs/document/assets/advanced_event.md.b1e050e0.lean.js b/docs/document/assets/advanced_event.md.95edbd6b.lean.js
similarity index 98%
rename from docs/document/assets/advanced_event.md.b1e050e0.lean.js
rename to docs/document/assets/advanced_event.md.95edbd6b.lean.js
index ffd6f34db..a06ac869d 100644
--- a/docs/document/assets/advanced_event.md.b1e050e0.lean.js
+++ b/docs/document/assets/advanced_event.md.95edbd6b.lean.js
@@ -1 +1 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const Xs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","lastUpdated":1682233868000}'),e={name:"advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),y=a("",2),F=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),b=a("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),h=a("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=a("",3),g=s("div",{className:"run-code"},"▶ Run Code",-1),v=a("",3),E=s("div",{className:"run-code"},"▶ Run Code",-1),T=a("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),k=a("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=a("",3),q=s("div",{className:"run-code"},"▶ Run Code",-1),w=a("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=a("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=a("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),x=a("",3),z=s("div",{className:"run-code"},"▶ Run Code",-1),O=a("",3),U=s("div",{className:"run-code"},"▶ Run Code",-1),H=a("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),L=a("",3),$=s("div",{className:"run-code"},"▶ Run Code",-1),B=a("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=a("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=a("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=a("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=a("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),as=a("",3),ns=s("div",{className:"run-code"},"▶ Run Code",-1),ls=a("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),os=a("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),rs=a("",3),cs=s("div",{className:"run-code"},"▶ Run Code",-1),ts=a("",3),Ds=s("div",{className:"run-code"},"▶ Run Code",-1),ys=a("",3),Fs=s("div",{className:"run-code"},"▶ Run Code",-1),is=a("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=a("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),bs=a("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),hs=a("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=a("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),vs=a("",3),Es=s("div",{className:"run-code"},"▶ Run Code",-1),Ts=a("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ks=a("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=a("",3),qs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=a("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=a("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=a("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),xs=a("",3),zs=s("div",{className:"run-code"},"▶ Run Code",-1),Os=a("",3),Us=s("div",{className:"run-code"},"▶ Run Code",-1),Hs=a("",43),Ws=[r,c,t,D,y,F,i,A,C,d,b,u,h,m,_,g,v,E,T,f,k,P,S,q,w,R,N,V,j,I,x,z,O,U,H,W,L,$,B,J,G,K,M,Q,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs,is,As,Cs,ds,bs,us,hs,ms,_s,gs,vs,Es,Ts,fs,ks,Ps,Ss,qs,ws,Rs,Ns,Vs,js,Is,xs,zs,Os,Us,Hs];function Ls($s,Bs,Js,Gs,Ks,Ms){return o(),p("div",null,Ws)}const Ys=l(e,[["render",Ls]]);export{Xs as __pageData,Ys as default};
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const Xs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","lastUpdated":1682233868000}'),e={name:"advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),y=a("",2),F=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),b=a("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),h=a("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=a("",3),g=s("div",{className:"run-code"},"▶ Run Code",-1),v=a("",3),E=s("div",{className:"run-code"},"▶ Run Code",-1),T=a("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),k=a("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=a("",3),q=s("div",{className:"run-code"},"▶ Run Code",-1),w=a("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=a("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=a("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),x=a("",3),z=s("div",{className:"run-code"},"▶ Run Code",-1),O=a("",3),U=s("div",{className:"run-code"},"▶ Run Code",-1),H=a("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),L=a("",3),$=s("div",{className:"run-code"},"▶ Run Code",-1),B=a("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=a("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=a("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=a("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=a("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),as=a("",3),ns=s("div",{className:"run-code"},"▶ Run Code",-1),ls=a("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),os=a("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),rs=a("",3),cs=s("div",{className:"run-code"},"▶ Run Code",-1),ts=a("",3),Ds=s("div",{className:"run-code"},"▶ Run Code",-1),ys=a("",3),Fs=s("div",{className:"run-code"},"▶ Run Code",-1),is=a("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=a("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),bs=a("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),hs=a("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=a("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),vs=a("",3),Es=s("div",{className:"run-code"},"▶ Run Code",-1),Ts=a("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ks=a("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=a("",3),qs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=a("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=a("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=a("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),xs=a("",3),zs=s("div",{className:"run-code"},"▶ Run Code",-1),Os=a("",3),Us=s("div",{className:"run-code"},"▶ Run Code",-1),Hs=a("",43),Ws=[r,c,t,D,y,F,i,A,C,d,b,u,h,m,_,g,v,E,T,f,k,P,S,q,w,R,N,V,j,I,x,z,O,U,H,W,L,$,B,J,G,K,M,Q,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs,is,As,Cs,ds,bs,us,hs,ms,_s,gs,vs,Es,Ts,fs,ks,Ps,Ss,qs,ws,Rs,Ns,Vs,js,Is,xs,zs,Os,Us,Hs];function Ls($s,Bs,Js,Gs,Ks,Ms){return o(),p("div",null,Ws)}const Ys=l(e,[["render",Ls]]);export{Xs as __pageData,Ys as default};
diff --git a/docs/document/assets/advanced_global.md.9eb3fef3.js b/docs/document/assets/advanced_global.md.9eb3fef3.js
new file mode 100644
index 000000000..a84816e8f
--- /dev/null
+++ b/docs/document/assets/advanced_global.md.9eb3fef3.js
@@ -0,0 +1,206 @@
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ts=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","lastUpdated":1682779928000}'),o={name:"advanced/global.md"},e=s('

全局属性 ​

这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG ​

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

',4),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
Artplayer.DEBUG = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

CONTEXTMENU ​

是否开启右键菜单,默认开启

`,3),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s(`
js
Artplayer.CONTEXTMENU = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

NOTICE_TIME ​

提示信息的显示时长,单位为毫秒,默认为 2000

`,3),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s(`
js
Artplayer.NOTICE_TIME = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

SETTING_WIDTH ​

设置面板的默认宽度,单位为像素,默认为 250

`,3),C=a("div",{className:"run-code"},"▶ Run Code",-1),A=s(`
js
Artplayer.SETTING_WIDTH = 300;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

SETTING_ITEM_WIDTH ​

设置面板的设置项的默认宽度,单位为像素,默认为 200

`,3),i=a("div",{className:"run-code"},"▶ Run Code",-1),b=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

SETTING_ITEM_HEIGHT ​

设置面板的设置项的默认高度,单位为像素,默认为 35

`,3),d=a("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

RESIZE_TIME ​

resize 事件的节流时间,单位为毫秒,默认为 500

`,3),_=a("div",{className:"run-code"},"▶ Run Code",-1),m=s(`
js
Artplayer.RESIZE_TIME = 1000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('resize', () => {
+    console.log('resize');
+});

SCROLL_TIME ​

scroll 事件的节流时间,单位为毫秒,默认为 200

`,3),h=a("div",{className:"run-code"},"▶ Run Code",-1),T=s(`
js
Artplayer.SCROLL_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('scroll', () => {
+    console.log('scroll');
+});

SCROLL_GAP ​

view 事件的边界容差距离,单位为像素,默认为 50

`,3),E=a("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_GAP = 100;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('scroll', () => {
+    console.log('scroll');
+});

AUTO_PLAYBACK_MAX ​

自动回放功能的最大记录数,默认为 10

`,3),I=a("div",{className:"run-code"},"▶ Run Code",-1),g=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

AUTO_PLAYBACK_MIN ​

自动回放功能的最小记录时长,单位为秒,默认为 5

`,3),S=a("div",{className:"run-code"},"▶ Run Code",-1),P=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

AUTO_PLAYBACK_TIMEOUT ​

自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000

`,3),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

RECONNECT_TIME_MAX ​

发生连接错误时,自动连接的最大次数,默认为 5

`,3),k=a("div",{className:"run-code"},"▶ Run Code",-1),O=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/404.mp4',
+});

RECONNECT_SLEEP_TIME ​

发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000

`,3),w=a("div",{className:"run-code"},"▶ Run Code",-1),L=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/404.mp4',
+});

CONTROL_HIDE_TIME ​

底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000

`,3),V=a("div",{className:"run-code"},"▶ Run Code",-1),f=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

DBCLICK_TIME ​

双击事件的延迟事件,单位为毫秒,默认为 300

`,3),M=a("div",{className:"run-code"},"▶ Run Code",-1),q=s(`
js
Artplayer.DBCLICK_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('dblclick', () => {
+    console.log('dblclick');
+});

DBCLICK_FULLSCREEN ​

在桌面端,是否双击切换全屏,默认为 true

`,3),j=a("div",{className:"run-code"},"▶ Run Code",-1),x=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

MOBILE_DBCLICK_PLAY ​

在移动端,是否双击切换播放暂停,默认为 true

`,3),B=a("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

MOBILE_CLICK_PLAY ​

在移动端,是否单击切换播放暂停,默认为 false

`,3),K=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

AUTO_ORIENTATION_TIME ​

在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200

`,3),G=a("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoOrientation: true,
+});

INFO_LOOP_TIME ​

信息面板的刷新时间,单位为毫秒,默认为 1000

`,3),W=a("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.info.show = true;

FAST_FORWARD_VALUE ​

在移动端,长按加速的速率倍数,默认为 3

`,3),z=a("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fastForward: true,
+});

FAST_FORWARD_TIME ​

在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000

`,3),Z=a("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fastForward: true,
+});

TOUCH_MOVE_RATIO ​

在移动端,左右滑动进度的速率倍数,默认为 0.5

`,3),Q=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

VOLUME_STEP ​

快捷键调节音量的幅度比例,默认为 0.1

`,3),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s(`
js
Artplayer.VOLUME_STEP = 0.2;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

SEEK_STEP ​

快捷键调节播放进度的幅度,单位为秒,默认为 5

`,3),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s(`
js
Artplayer.SEEK_STEP = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

PLAYBACK_RATE ​

内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    playbackRate: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

ASPECT_RATIO ​

内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']

`,3),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    aspectRatio: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

FLIP ​

内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']

`,3),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    flip: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

FULLSCREEN_WEB_IN_BODY ​

网页全屏时,是否把播放器挂在在 body 元素下,默认为 false

`,3),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fullscreenWeb: true,
+});
`,1),Cs=[e,r,c,t,D,y,F,C,A,i,b,d,u,_,m,h,T,E,v,I,g,S,P,N,R,k,O,w,L,V,f,M,q,j,x,B,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs];function As(is,bs,ds,us,_s,ms){return p(),l("div",null,Cs)}const Es=n(o,[["render",As]]);export{Ts as __pageData,Es as default}; diff --git a/docs/document/assets/advanced_global.md.9eb3fef3.lean.js b/docs/document/assets/advanced_global.md.9eb3fef3.lean.js new file mode 100644 index 000000000..a7cae5ef3 --- /dev/null +++ b/docs/document/assets/advanced_global.md.9eb3fef3.lean.js @@ -0,0 +1 @@ +import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ts=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","lastUpdated":1682779928000}'),o={name:"advanced/global.md"},e=s("",4),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),C=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",3),i=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),_=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),I=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),O=s("",3),w=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),M=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",3),j=a("div",{className:"run-code"},"▶ Run Code",-1),x=s("",3),B=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",3),G=a("div",{className:"run-code"},"▶ Run Code",-1),H=s("",3),W=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=a("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",3),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",3),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s("",3),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",3),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",1),Cs=[e,r,c,t,D,y,F,C,A,i,b,d,u,_,m,h,T,E,v,I,g,S,P,N,R,k,O,w,L,V,f,M,q,j,x,B,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs];function As(is,bs,ds,us,_s,ms){return p(),l("div",null,Cs)}const Es=n(o,[["render",As]]);export{Ts as __pageData,Es as default}; diff --git a/docs/document/assets/advanced_global.md.ad69e8c9.js b/docs/document/assets/advanced_global.md.ad69e8c9.js deleted file mode 100644 index 6fde1625e..000000000 --- a/docs/document/assets/advanced_global.md.ad69e8c9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as e,o as t,V as i}from"./chunks/framework.f7d2e3c3.js";const b=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","lastUpdated":1682779928000}'),o={name:"advanced/global.md"},r=i('

全局属性 ​

DEBUG ​

CONTEXTMENU ​

NOTICE_TIME ​

SETTING_WIDTH ​

SETTING_ITEM_WIDTH ​

SETTING_ITEM_HEIGHT ​

RESIZE_TIME ​

SCROLL_TIME ​

SCROLL_GAP ​

AUTO_PLAYBACK_MAX ​

AUTO_PLAYBACK_MIN ​

AUTO_PLAYBACK_TIMEOUT ​

RECONNECT_TIME_MAX ​

RECONNECT_SLEEP_TIME ​

CONTROL_HIDE_TIME ​

DBCLICK_TIME ​

DBCLICK_FULLSCREEN ​

MOBILE_DBCLICK_PLAY ​

MOBILE_CLICK_PLAY ​

MOBILE_AUTO_PLAYBACKRATE ​

MOBILE_AUTO_PLAYBACKRATE_TIME ​

MOBILE_AUTO_ORIENTATION_TIME ​

INFO_LOOP_TIME ​

FAST_FORWARD_VALUE ​

FAST_FORWARD_TIME ​

TOUCH_MOVE_RATIO ​

VOLUME_STEP ​

SEEK_STEP ​

PLAYBACK_RATE ​

ASPECT_RATIO ​

FLIP ​

FULLSCREEN_WEB_IN_BODY ​

',33),l=[r];function h(n,c,d,_,s,E){return t(),e("div",null,l)}const u=a(o,[["render",h]]);export{b as __pageData,u as default}; diff --git a/docs/document/assets/advanced_global.md.ad69e8c9.lean.js b/docs/document/assets/advanced_global.md.ad69e8c9.lean.js deleted file mode 100644 index ca519ed1f..000000000 --- a/docs/document/assets/advanced_global.md.ad69e8c9.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as e,o as t,V as i}from"./chunks/framework.f7d2e3c3.js";const b=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","lastUpdated":1682779928000}'),o={name:"advanced/global.md"},r=i("",33),l=[r];function h(n,c,d,_,s,E){return t(),e("div",null,l)}const u=a(o,[["render",h]]);export{b as __pageData,u as default}; diff --git a/docs/document/assets/advanced_plugin.md.f0cc2510.js b/docs/document/assets/advanced_plugin.md.aaf168c6.js similarity index 99% rename from docs/document/assets/advanced_plugin.md.f0cc2510.js rename to docs/document/assets/advanced_plugin.md.aaf168c6.js index 552b166ff..4b03a0695 100644 --- a/docs/document/assets/advanced_plugin.md.f0cc2510.js +++ b/docs/document/assets/advanced_plugin.md.aaf168c6.js @@ -1,4 +1,4 @@ -import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","lastUpdated":1673441101000}'),e={name:"advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a(`
js
function myPlugin(art) {
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","lastUpdated":1673441101000}'),e={name:"advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a(`
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
diff --git a/docs/document/assets/advanced_plugin.md.f0cc2510.lean.js b/docs/document/assets/advanced_plugin.md.aaf168c6.lean.js
similarity index 93%
rename from docs/document/assets/advanced_plugin.md.f0cc2510.lean.js
rename to docs/document/assets/advanced_plugin.md.aaf168c6.lean.js
index 3c00acd59..92c677dd4 100644
--- a/docs/document/assets/advanced_plugin.md.f0cc2510.lean.js
+++ b/docs/document/assets/advanced_plugin.md.aaf168c6.lean.js
@@ -1 +1 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","lastUpdated":1673441101000}'),e={name:"advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",1),b=[r,c,t,F,D,y,i,A,C];function u(m,d,h,_,g,E){return o(),p("div",null,b)}const P=l(e,[["render",u]]);export{v as __pageData,P as default};
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","lastUpdated":1673441101000}'),e={name:"advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",1),b=[r,c,t,F,D,y,i,A,C];function u(m,d,h,_,g,E){return o(),p("div",null,b)}const P=l(e,[["render",u]]);export{v as __pageData,P as default};
diff --git a/docs/document/assets/advanced_property.md.3663dcfe.js b/docs/document/assets/advanced_property.md.32e0ebc0.js
similarity index 99%
rename from docs/document/assets/advanced_property.md.3663dcfe.js
rename to docs/document/assets/advanced_property.md.32e0ebc0.js
index 16fc43231..0443a5b2c 100644
--- a/docs/document/assets/advanced_property.md.3663dcfe.js
+++ b/docs/document/assets/advanced_property.md.32e0ebc0.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const Ws=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","lastUpdated":1682233868000}'),o={name:"advanced/property.md"},e=s('

实例属性 ​

这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用

play ​

  • Type: Function

播放视频

',5),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ws=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","lastUpdated":1682233868000}'),o={name:"advanced/property.md"},e=s('

实例属性 ​

这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用

play ​

  • Type: Function

播放视频

',5),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
diff --git a/docs/document/assets/advanced_property.md.3663dcfe.lean.js b/docs/document/assets/advanced_property.md.32e0ebc0.lean.js
similarity index 97%
rename from docs/document/assets/advanced_property.md.3663dcfe.lean.js
rename to docs/document/assets/advanced_property.md.32e0ebc0.lean.js
index 6de180f19..870cf9ebf 100644
--- a/docs/document/assets/advanced_property.md.3663dcfe.lean.js
+++ b/docs/document/assets/advanced_property.md.32e0ebc0.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const Ws=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","lastUpdated":1682233868000}'),o={name:"advanced/property.md"},e=s("",5),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),i=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),C=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),_=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),f=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),R=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),q=a("div",{className:"run-code"},"▶ Run Code",-1),V=s("",5),I=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),G=s("",4),B=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),O=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),M=a("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",5),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s("",4),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",5),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",5),is=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Cs=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",4),bs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",4),ms=a("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),_s=a("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",4),Es=a("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",5),fs=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),Rs=a("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",4),qs=a("div",{className:"run-code"},"▶ Run Code",-1),Vs=s("",1),Is=[e,r,c,t,D,y,F,i,A,C,d,b,u,m,h,_,g,v,T,E,S,P,k,f,w,R,N,q,V,I,j,x,G,B,z,U,L,O,W,H,$,M,Q,J,K,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs,is,As,Cs,ds,bs,us,ms,hs,_s,gs,vs,Ts,Es,Ss,Ps,ks,fs,ws,Rs,Ns,qs,Vs];function js(xs,Gs,Bs,zs,Us,Ls){return p(),l("div",null,Is)}const Hs=n(o,[["render",js]]);export{Ws as __pageData,Hs as default};
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ws=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","lastUpdated":1682233868000}'),o={name:"advanced/property.md"},e=s("",5),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),i=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),C=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),_=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),f=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),R=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),q=a("div",{className:"run-code"},"▶ Run Code",-1),V=s("",5),I=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),G=s("",4),B=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),O=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),M=a("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",5),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s("",4),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",5),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",5),is=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Cs=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",4),bs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",4),ms=a("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),_s=a("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",4),Es=a("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",5),fs=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),Rs=a("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",4),qs=a("div",{className:"run-code"},"▶ Run Code",-1),Vs=s("",1),Is=[e,r,c,t,D,y,F,i,A,C,d,b,u,m,h,_,g,v,T,E,S,P,k,f,w,R,N,q,V,I,j,x,G,B,z,U,L,O,W,H,$,M,Q,J,K,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs,is,As,Cs,ds,bs,us,ms,hs,_s,gs,vs,Ts,Es,Ss,Ps,ks,fs,ws,Rs,Ns,qs,Vs];function js(xs,Gs,Bs,zs,Us,Ls){return p(),l("div",null,Is)}const Hs=n(o,[["render",js]]);export{Ws as __pageData,Hs as default};
diff --git a/docs/document/assets/app.8ed8ab17.js b/docs/document/assets/app.ab4cdfab.js
similarity index 90%
rename from docs/document/assets/app.8ed8ab17.js
rename to docs/document/assets/app.ab4cdfab.js
index 5b5f7c778..dcf6d790a 100644
--- a/docs/document/assets/app.8ed8ab17.js
+++ b/docs/document/assets/app.ab4cdfab.js
@@ -1 +1 @@
-import{d as p,R as s,a7 as i,u,p as c,k as l,a8 as d,a9 as f,aa as m,ab as h,ac as A,ad as g,ae as P,af as v,ag as y,ah as C,ai as w,aj as R,ak as _,H as b}from"./chunks/framework.f7d2e3c3.js";import{t as E}from"./chunks/theme.a5bd0c57.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(E),D=p({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),d(),f(),m(),n.setup&&n.setup(),()=>h(n.Layout)}});async function j(){const e=S(),a=O();a.provide(A,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function O(){return w(D)}function S(){let e=s,a;return R(t=>{let o=_(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),b(()=>import(o),[])},n.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{j as createApp};
+import{d as p,R as s,a7 as i,u,p as c,k as l,a8 as d,a9 as f,aa as m,ab as h,ac as A,ad as g,ae as P,af as v,ag as y,ah as C,ai as w,aj as R,ak as _,H as b}from"./chunks/framework.48115c03.js";import{t as E}from"./chunks/theme.76780fa4.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(E),D=p({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),d(),f(),m(),n.setup&&n.setup(),()=>h(n.Layout)}});async function j(){const e=S(),a=O();a.provide(A,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function O(){return w(D)}function S(){let e=s,a;return R(t=>{let o=_(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),b(()=>import(o),[])},n.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{j as createApp};
diff --git a/docs/document/assets/chunks/framework.f7d2e3c3.js b/docs/document/assets/chunks/framework.48115c03.js
similarity index 95%
rename from docs/document/assets/chunks/framework.f7d2e3c3.js
rename to docs/document/assets/chunks/framework.48115c03.js
index e5d6cd906..2e33d32d2 100644
--- a/docs/document/assets/chunks/framework.f7d2e3c3.js
+++ b/docs/document/assets/chunks/framework.48115c03.js
@@ -1,2 +1,2 @@
-function Jn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Xn(e){if(H(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ri);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Zn(e){let t="";if(se(e))t=e;else if(H(e))for(let n=0;nse(e)?e:e==null?"":H(e)||te(e)&&(e.toString===_r||!K(e.toString))?JSON.stringify(e,pr,2):String(e),pr=(e,t)=>t&&t.__v_isRef?pr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:gr(t)?{[`Set(${t.size})`]:[...t.values()]}:te(t)&&!H(t)&&!br(t)?String(t):t,ee={},at=[],Oe=()=>{},Mi=()=>!1,Li=/^on[^a-z]/,$t=e=>Li.test(e),Qn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Gn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Si=Object.prototype.hasOwnProperty,Y=(e,t)=>Si.call(e,t),H=Array.isArray,ut=e=>an(e)==="[object Map]",gr=e=>an(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",es=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",mr=e=>te(e)&&K(e.then)&&K(e.catch),_r=Object.prototype.toString,an=e=>_r.call(e),Ni=e=>an(e).slice(8,-1),br=e=>an(e)==="[object Object]",ts=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=Jn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),un=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Hi=/-(\w)/g,Le=un(e=>e.replace(Hi,(t,n)=>n?n.toUpperCase():"")),$i=/\B([A-Z])/g,ot=un(e=>e.replace($i,"-$1").toLowerCase()),dn=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xt=un(e=>e?`on${dn(e)}`:""),Pt=(e,t)=>!Object.is(e,t),Zt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Nn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ui=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Es;const ji=()=>Es||(Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let _e;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},yr=e=>(e.w&Ve)>0,wr=e=>(e.n&Ve)>0,ki=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":H(e)?ts(n)&&l.push(o.get("length")):(l.push(o.get(rt)),ut(e)&&l.push(o.get($n)));break;case"delete":H(e)||(l.push(o.get(rt)),ut(e)&&l.push(o.get($n)));break;case"set":ut(e)&&l.push(o.get(rt));break}if(l.length===1)l[0]&&Un(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Un(ns(c))}}function Un(e,t){const n=H(e)?e:[...e];for(const s of n)s.computed&&vs(s);for(const s of n)s.computed||vs(s)}function vs(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Vi(e,t){var n;return(n=nn.get(e))===null||n===void 0?void 0:n.get(t)}const qi=Jn("__proto__,__v_isRef,__isVue"),Er=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(es)),zi=rs(),Yi=rs(!1,!0),Ji=rs(!0),As=Xi();function Xi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let i=0,o=this.length;i{e[t]=function(...n){yt();const s=J(this)[t].apply(this,n);return wt(),s}}),e}function Zi(e){const t=J(this);return pe(t,"has",e),t.hasOwnProperty(e)}function rs(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?po:Or:t?Rr:Ar).get(s))return s;const o=H(s);if(!e){if(o&&Y(As,r))return Reflect.get(As,r,i);if(r==="hasOwnProperty")return Zi}const l=Reflect.get(s,r,i);return(es(r)?Er.has(r):qi(r))||(e||pe(s,"get",r),t)?l:oe(l)?o&&ts(r)?l:l.value:te(l)?e?Fr(l):pn(l):l}}const Qi=Tr(),Gi=Tr(!0);function Tr(e=!1){return function(n,s,r,i){let o=n[s];if(mt(o)&&oe(o)&&!oe(r))return!1;if(!e&&(!sn(r)&&!mt(r)&&(o=J(o),r=J(r)),!H(n)&&oe(o)&&!oe(r)))return o.value=r,!0;const l=H(n)&&ts(s)?Number(s)e,hn=e=>Reflect.getPrototypeOf(e);function Bt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),i=J(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=hn(r),l=s?is:n?cs:Mt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Dt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Kt(e,t=!1){return e=e.__v_raw,!t&&pe(J(e),"iterate",rt),Reflect.get(e,"size",e)}function Rs(e){e=J(e);const t=J(this);return hn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Os(e,t){t=J(t);const n=J(this),{has:s,get:r}=hn(n);let i=s.call(n,e);i||(e=J(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Pt(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function Fs(e){const t=J(this),{has:n,get:s}=hn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function Is(){const e=J(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function kt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=J(o),c=t?is:e?cs:Mt;return!e&&pe(l,"iterate",rt),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function Wt(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?is:t?cs:Mt;return!t&&pe(i,"iterate",c?$n:rt),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:this}}function io(){const e={get(i){return Bt(this,i)},get size(){return Kt(this)},has:Dt,add:Rs,set:Os,delete:Fs,clear:Is,forEach:kt(!1,!1)},t={get(i){return Bt(this,i,!1,!0)},get size(){return Kt(this)},has:Dt,add:Rs,set:Os,delete:Fs,clear:Is,forEach:kt(!1,!0)},n={get(i){return Bt(this,i,!0)},get size(){return Kt(this,!0)},has(i){return Dt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:kt(!0,!1)},s={get(i){return Bt(this,i,!0,!0)},get size(){return Kt(this,!0)},has(i){return Dt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Wt(i,!1,!1),n[i]=Wt(i,!0,!1),t[i]=Wt(i,!1,!0),s[i]=Wt(i,!0,!0)}),[e,n,t,s]}const[oo,lo,co,fo]=io();function os(e,t){const n=t?e?fo:co:e?lo:oo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,i)}const ao={get:os(!1,!1)},uo={get:os(!1,!0)},ho={get:os(!0,!1)},Ar=new WeakMap,Rr=new WeakMap,Or=new WeakMap,po=new WeakMap;function go(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function mo(e){return e.__v_skip||!Object.isExtensible(e)?0:go(Ni(e))}function pn(e){return mt(e)?e:ls(e,!1,vr,ao,Ar)}function _o(e){return ls(e,!1,ro,uo,Rr)}function Fr(e){return ls(e,!0,so,ho,Or)}function ls(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=mo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function dt(e){return mt(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function sn(e){return!!(e&&e.__v_isShallow)}function Ir(e){return dt(e)||mt(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function At(e){return tn(e,"__v_skip",!0),e}const Mt=e=>te(e)?pn(e):e,cs=e=>te(e)?Fr(e):e;function fs(e){ke&&Ae&&(e=J(e),xr(e.dep||(e.dep=ns())))}function as(e,t){e=J(e);const n=e.dep;n&&Un(n)}function oe(e){return!!(e&&e.__v_isRef===!0)}function Pr(e){return Mr(e,!1)}function bo(e){return Mr(e,!0)}function Mr(e,t){return oe(e)?e:new yo(e,t)}class yo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Mt(t)}get value(){return fs(this),this._value}set value(t){const n=this.__v_isShallow||sn(t)||mt(t);t=n?t:J(t),Pt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Mt(t),as(this))}}function wo(e){return oe(e)?e.value:e}const Co={get:(e,t,n)=>wo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return oe(r)&&!oe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Lr(e){return dt(e)?e:new Proxy(e,Co)}class xo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>fs(this),()=>as(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Nc(e){return new xo(e)}class Eo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Vi(J(this._object),this._key)}}function Hc(e,t,n){const s=e[t];return oe(s)?s:new Eo(e,t,n)}var Sr;class To{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Sr]=!1,this._dirty=!0,this.effect=new ss(t,()=>{this._dirty||(this._dirty=!0,as(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return fs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Sr="__v_isReadonly";function vo(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=Oe):(s=e.get,r=e.set),new To(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){gn(i,t,n)}return r}function xe(e,t,n,s){if(K(e)){const i=We(e,t,n,s);return i&&mr(i)&&i.catch(o=>{gn(o,t,n)}),i}const r=[];for(let i=0;i>>1;St(ae[s])Me&&ae.splice(t,1)}function Fo(e){H(e)?ht.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ge+1:Ge))&&ht.push(e),$r()}function Ps(e,t=Lt?Me+1:0){for(;tSt(n)-St(s)),Ge=0;Gee.id==null?1/0:e.id,Io=(e,t)=>{const n=St(e)-St(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ur(e){jn=!1,Lt=!0,ae.sort(Io);const t=Oe;try{for(Me=0;Mese(v)?v.trim():v)),p&&(r=n.map(Nn))}let l,c=s[l=Xt(t)]||s[l=Xt(Le(t))];!c&&i&&(c=s[l=Xt(ot(t))]),c&&xe(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function jr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=a=>{const d=jr(a,t,!0);d&&(l=!0,fe(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(te(e)&&s.set(e,null),null):(H(i)?i.forEach(c=>o[c]=null):fe(o,i),te(e)&&s.set(e,o),o)}function mn(e,t){return!e||!$t(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ot(t))||Y(e,t))}let le=null,_n=null;function on(e){const t=le;return le=e,_n=e&&e.type.__scopeId||null,t}function $c(e){_n=e}function Uc(){_n=null}function Mo(e,t=le,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ks(-1);const i=on(t);let o;try{o=e(...r)}finally{on(i),s._d&&Ks(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:g,setupState:v,ctx:S,inheritAttrs:O}=e;let q,m;const T=on(e);try{if(n.shapeFlag&4){const N=r||s;q=ve(d.call(N,N,p,i,v,g,S)),m=c}else{const N=t;q=ve(N.length>1?N(i,{attrs:c,slots:l,emit:a}):N(i,null)),m=t.props?c:Lo(c)}}catch(N){It.length=0,gn(N,e,1),q=ce(be)}let R=q;if(m&&O!==!1){const N=Object.keys(m),{shapeFlag:B}=R;N.length&&B&7&&(o&&N.some(Qn)&&(m=So(m,o)),R=qe(R,m))}return n.dirs&&(R=qe(R),R.dirs=R.dirs?R.dirs.concat(n.dirs):n.dirs),n.transition&&(R.transition=n.transition),q=R,on(T),q}const Lo=e=>{let t;for(const n in e)(n==="class"||n==="style"||$t(n))&&((t||(t={}))[n]=e[n]);return t},So=(e,t)=>{const n={};for(const s in e)(!Qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function No(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ms(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Br(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):Fo(e)}function Uo(e,t){if(re){let n=re.provides;const s=re.parent&&re.parent.provides;s===n&&(n=re.provides=Object.create(s)),n[e]=t}}function pt(e,t,n=!1){const s=re||le;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&K(t)?t.call(s.proxy):t}}function jo(e,t){return bn(e,null,t)}function jc(e,t){return bn(e,null,{flush:"post"})}const Vt={};function Qt(e,t,n){return bn(e,t,n)}function bn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=ee){const l=Ki()===(re==null?void 0:re.scope)?re:null;let c,a=!1,d=!1;if(oe(e)?(c=()=>e.value,a=sn(e)):dt(e)?(c=()=>e,s=!0):H(e)?(d=!0,a=e.some(R=>dt(R)||sn(R)),c=()=>e.map(R=>{if(oe(R))return R.value;if(dt(R))return nt(R);if(K(R))return We(R,l,2)})):K(e)?t?c=()=>We(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return p&&p(),xe(e,l,3,[g])}:c=Oe,t&&s){const R=c;c=()=>nt(R())}let p,g=R=>{p=m.onStop=()=>{We(R,l,4)}},v;if(Ht)if(g=Oe,t?n&&xe(t,l,3,[c(),d?[]:void 0,g]):c(),r==="sync"){const R=Ll();v=R.__watcherHandles||(R.__watcherHandles=[])}else return Oe;let S=d?new Array(e.length).fill(Vt):Vt;const O=()=>{if(m.active)if(t){const R=m.run();(s||a||(d?R.some((N,B)=>Pt(N,S[B])):Pt(R,S)))&&(p&&p(),xe(t,l,3,[R,S===Vt?void 0:d&&S[0]===Vt?[]:S,g]),S=R)}else m.run()};O.allowRecurse=!!t;let q;r==="sync"?q=O:r==="post"?q=()=>de(O,l&&l.suspense):(O.pre=!0,l&&(O.id=l.uid),q=()=>ds(O));const m=new ss(c,q);t?n?O():S=m.run():r==="post"?de(m.run.bind(m),l&&l.suspense):m.run();const T=()=>{m.stop(),l&&l.scope&&Gn(l.scope.effects,m)};return v&&v.push(T),T}function Bo(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?Dr(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=re;bt(this);const l=bn(r,i.bind(s),n);return o?bt(o):it(),l}function Dr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{nt(n,t)});else if(br(e))for(const n in e)nt(e[n],t);return e}function Do(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Cn(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Ko={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},setup(e,{slots:t}){const n=ui(),s=Do();let r;return()=>{const i=t.default&&Wr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const O of i)if(O.type!==be){o=O;break}}const l=J(e),{mode:c}=l;if(s.isLeaving)return On(o);const a=Ls(o);if(!a)return On(o);const d=Bn(a,l,s,n);Dn(a,d);const p=n.subTree,g=p&&Ls(p);let v=!1;const{getTransitionKey:S}=a.type;if(S){const O=S();r===void 0?r=O:O!==r&&(r=O,v=!0)}if(g&&g.type!==be&&(!et(a,g)||v)){const O=Bn(g,l,s,n);if(Dn(g,O),c==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},On(o);c==="in-out"&&a.type!==be&&(O.delayLeave=(q,m,T)=>{const R=kr(s,g);R[String(g.key)]=g,q._leaveCb=()=>{m(),q._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=T})}return o}}},Kr=Ko;function kr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Bn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:S,onBeforeAppear:O,onAppear:q,onAfterAppear:m,onAppearCancelled:T}=t,R=String(e.key),N=kr(n,e),B=(x,U)=>{x&&xe(x,s,9,U)},z=(x,U)=>{const $=U[1];B(x,U),H(x)?x.every(k=>k.length<=1)&&$():x.length<=1&&$()},D={mode:i,persisted:o,beforeEnter(x){let U=l;if(!n.isMounted)if(r)U=O||l;else return;x._leaveCb&&x._leaveCb(!0);const $=N[R];$&&et(e,$)&&$.el._leaveCb&&$.el._leaveCb(),B(U,[x])},enter(x){let U=c,$=a,k=d;if(!n.isMounted)if(r)U=q||c,$=m||a,k=T||d;else return;let F=!1;const W=x._enterCb=P=>{F||(F=!0,P?B(k,[x]):B($,[x]),D.delayedLeave&&D.delayedLeave(),x._enterCb=void 0)};U?z(U,[x,W]):W()},leave(x,U){const $=String(e.key);if(x._enterCb&&x._enterCb(!0),n.isUnmounting)return U();B(p,[x]);let k=!1;const F=x._leaveCb=W=>{k||(k=!0,U(),W?B(S,[x]):B(v,[x]),x._leaveCb=void 0,N[$]===e&&delete N[$])};N[$]=e,g?z(g,[x,F]):F()},clone(x){return Bn(x,t,n,s)}};return D}function On(e){if(yn(e))return e=qe(e),e.children=null,e}function Ls(e){return yn(e)?e.children?e.children[0]:void 0:e}function Dn(e,t){e.shapeFlag&6&&e.component?Dn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Wr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,yn=e=>e.type.__isKeepAlive;function ko(e,t){qr(e,"a",t)}function Wo(e,t){qr(e,"da",t)}function qr(e,t,n=re){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(wn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)yn(r.parent.vnode)&&Vo(s,t,n,r),r=r.parent}}function Vo(e,t,n,s){const r=wn(t,e,s,!0);xn(()=>{Gn(s[t],r)},n)}function wn(e,t,n=re,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;yt(),bt(n);const l=xe(t,n,e,o);return it(),wt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=re)=>(!Ht||e==="sp")&&wn(e,(...s)=>t(...s),n),qo=$e("bm"),Cn=$e("m"),zo=$e("bu"),Yo=$e("u"),zr=$e("bum"),xn=$e("um"),Jo=$e("sp"),Xo=$e("rtg"),Zo=$e("rtc");function Qo(e,t=re){wn("ec",e,t)}function Bc(e,t){const n=le;if(n===null)return e;const s=Tn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lfn(t)?!(t.type===be||t.type===he&&!Xr(t.children)):!0)?e:null}function Vc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Xt(s)]=e[s];return n}const Kn=e=>e?di(e)?Tn(e)||e.proxy:Kn(e.parent):null,Rt=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Kn(e.parent),$root:e=>Kn(e.root),$emit:e=>e.emit,$options:e=>ps(e),$forceUpdate:e=>e.f||(e.f=()=>ds(e.update)),$nextTick:e=>e.n||(e.n=Hr.bind(e.proxy)),$watch:e=>Bo.bind(e)}),Fn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Go={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Fn(s,t))return o[t]=1,s[t];if(r!==ee&&Y(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&Y(a,t))return o[t]=3,i[t];if(n!==ee&&Y(n,t))return o[t]=4,n[t];kn&&(o[t]=0)}}const d=Rt[t];let p,g;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==ee&&Y(n,t))return o[t]=4,n[t];if(g=c.config.globalProperties,Y(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Fn(r,t)?(r[t]=n,!0):s!==ee&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ee&&Y(e,o)||Fn(t,o)||(l=i[0])&&Y(l,o)||Y(s,o)||Y(Rt,o)||Y(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let kn=!0;function el(e){const t=ps(e),n=e.proxy,s=e.ctx;kn=!1,t.beforeCreate&&Ns(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:v,updated:S,activated:O,deactivated:q,beforeDestroy:m,beforeUnmount:T,destroyed:R,unmounted:N,render:B,renderTracked:z,renderTriggered:D,errorCaptured:x,serverPrefetch:U,expose:$,inheritAttrs:k,components:F,directives:W,filters:P}=t;if(a&&tl(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const ne in o){const Q=o[ne];K(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);te(ne)&&(e.data=pn(ne))}if(kn=!0,i)for(const ne in i){const Q=i[ne],ze=K(Q)?Q.bind(n,n):K(Q.get)?Q.get.bind(n,n):Oe,Ut=!K(Q)&&K(Q.set)?Q.set.bind(n):Oe,Ye=Te({get:ze,set:Ut});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Fe=>Ye.value=Fe})}if(l)for(const ne in l)Zr(l[ne],s,n,ne);if(c){const ne=K(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{Uo(Q,ne[Q])})}d&&Ns(d,e,"c");function X(ne,Q){H(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(X(qo,p),X(Cn,g),X(zo,v),X(Yo,S),X(ko,O),X(Wo,q),X(Qo,x),X(Zo,z),X(Xo,D),X(zr,T),X(xn,N),X(Jo,U),H($))if($.length){const ne=e.exposed||(e.exposed={});$.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});B&&e.render===Oe&&(e.render=B),k!=null&&(e.inheritAttrs=k),F&&(e.components=F),W&&(e.directives=W)}function tl(e,t,n=Oe,s=!1){H(e)&&(e=Wn(e));for(const r in e){const i=e[r];let o;te(i)?"default"in i?o=pt(i.from||r,i.default,!0):o=pt(i.from||r):o=pt(i),oe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ns(e,t,n){xe(H(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Zr(e,t,n,s){const r=s.includes(".")?Dr(n,s):()=>n[s];if(se(e)){const i=t[e];K(i)&&Qt(r,i)}else if(K(e))Qt(r,e.bind(n));else if(te(e))if(H(e))e.forEach(i=>Zr(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&Qt(r,i,e)}}function ps(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>ln(c,a,o,!0)),ln(c,t,o)),te(t)&&i.set(t,c),c}function ln(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&ln(e,i,n,!0),r&&r.forEach(o=>ln(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const nl={data:Hs,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Qe,directives:Qe,watch:rl,provide:Hs,inject:sl};function Hs(e,t){return t?e?function(){return fe(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function sl(e,t){return Qe(Wn(e),Wn(t))}function Wn(e){if(H(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[g,v]=Gr(p,t,!0);fe(o,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return te(e)&&s.set(e,at),at;if(H(i))for(let d=0;d-1,v[1]=O<0||S-1||Y(v,"default"))&&l.push(p)}}}const a=[o,l];return te(e)&&s.set(e,a),a}function $s(e){return e[0]!=="$"}function Us(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function js(e,t){return Us(e)===Us(t)}function Bs(e,t){return H(t)?t.findIndex(n=>js(n,e)):K(t)&&js(t,e)?0:-1}const ei=e=>e[0]==="_"||e==="$stable",gs=e=>H(e)?e.map(ve):[ve(e)],ll=(e,t,n)=>{if(t._n)return t;const s=Mo((...r)=>gs(t(...r)),n);return s._c=!1,s},ti=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ei(r))continue;const i=e[r];if(K(i))t[r]=ll(r,i,s);else if(i!=null){const o=gs(i);t[r]=()=>o}}},ni=(e,t)=>{const n=gs(t);e.slots.default=()=>n},cl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),tn(t,"_",n)):ti(t,e.slots={})}else e.slots={},t&&ni(e,t);tn(e.slots,En,1)},fl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(fe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,ti(t,r)),o=t}else t&&(ni(e,t),o={default:1});if(i)for(const l in r)!ei(l)&&!(l in o)&&delete r[l]};function si(){return{app:null,config:{isNativeTag:Mi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let al=0;function ul(e,t){return function(s,r=null){K(s)||(s=Object.assign({},s)),r!=null&&!te(r)&&(r=null);const i=si(),o=new Set;let l=!1;const c=i.app={_uid:al++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Sl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&K(a.install)?(o.add(a),a.install(c,...d)):K(a)&&(o.add(a),a(c,...d))),c},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),c},component(a,d){return d?(i.components[a]=d,c):i.components[a]},directive(a,d){return d?(i.directives[a]=d,c):i.directives[a]},mount(a,d,p){if(!l){const g=ce(s,r);return g.appContext=i,d&&t?t(g,a):e(g,a,p),l=!0,c._container=a,a.__vue_app__=c,Tn(g.component)||g.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(a,d){return i.provides[a]=d,c}};return c}}function cn(e,t,n,s,r=!1){if(H(e)){e.forEach((g,v)=>cn(g,t&&(H(t)?t[v]:t),n,s,r));return}if(gt(s)&&!r)return;const i=s.shapeFlag&4?Tn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===ee?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(se(a)?(d[a]=null,Y(p,a)&&(p[a]=null)):oe(a)&&(a.value=null)),K(c))We(c,l,12,[o,d]);else{const g=se(c),v=oe(c);if(g||v){const S=()=>{if(e.f){const O=g?Y(p,c)?p[c]:d[c]:c.value;r?H(O)&&Gn(O,i):H(O)?O.includes(i)||O.push(i):g?(d[c]=[i],Y(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else g?(d[c]=o,Y(p,c)&&(p[c]=o)):v&&(c.value=o,e.k&&(d[e.k]=o))};o?(S.id=-1,de(S,n)):S()}}}let je=!1;const qt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",zt=e=>e.nodeType===8;function dl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(m,T)=>{if(!T.hasChildNodes()){n(null,m,T),rn(),T._vnode=m;return}je=!1,p(T.firstChild,m,null,null,null),rn(),T._vnode=m,je&&console.error("Hydration completed but contains mismatches.")},p=(m,T,R,N,B,z=!1)=>{const D=zt(m)&&m.data==="[",x=()=>O(m,T,R,N,B,D),{type:U,ref:$,shapeFlag:k,patchFlag:F}=T;let W=m.nodeType;T.el=m,F===-2&&(z=!1,T.dynamicChildren=null);let P=null;switch(U){case _t:W!==3?T.children===""?(c(T.el=r(""),o(m),m),P=m):P=x():(m.data!==T.children&&(je=!0,m.data=T.children),P=i(m));break;case be:W!==8||D?P=x():P=i(m);break;case Ft:if(D&&(m=i(m),W=m.nodeType),W===1||W===3){P=m;const ge=!T.children.length;for(let X=0;X{z=z||!!T.dynamicChildren;const{type:D,props:x,patchFlag:U,shapeFlag:$,dirs:k}=T,F=D==="input"&&k||D==="option";if(F||U!==-1){if(k&&Pe(T,null,R,"created"),x)if(F||!z||U&48)for(const P in x)(F&&P.endsWith("value")||$t(P)&&!vt(P))&&s(m,P,null,x[P],!1,void 0,R);else x.onClick&&s(m,"onClick",null,x.onClick,!1,void 0,R);let W;if((W=x&&x.onVnodeBeforeMount)&&we(W,R,T),k&&Pe(T,null,R,"beforeMount"),((W=x&&x.onVnodeMounted)||k)&&Br(()=>{W&&we(W,R,T),k&&Pe(T,null,R,"mounted")},N),$&16&&!(x&&(x.innerHTML||x.textContent))){let P=v(m.firstChild,T,m,R,N,B,z);for(;P;){je=!0;const ge=P;P=P.nextSibling,l(ge)}}else $&8&&m.textContent!==T.children&&(je=!0,m.textContent=T.children)}return m.nextSibling},v=(m,T,R,N,B,z,D)=>{D=D||!!T.dynamicChildren;const x=T.children,U=x.length;for(let $=0;${const{slotScopeIds:D}=T;D&&(B=B?B.concat(D):D);const x=o(m),U=v(i(m),T,x,R,N,B,z);return U&&zt(U)&&U.data==="]"?i(T.anchor=U):(je=!0,c(T.anchor=a("]"),x,U),U)},O=(m,T,R,N,B,z)=>{if(je=!0,T.el=null,z){const U=q(m);for(;;){const $=i(m);if($&&$!==U)l($);else break}}const D=i(m),x=o(m);return l(m),n(null,T,x,D,R,N,qt(x),B),D},q=m=>{let T=0;for(;m;)if(m=i(m),m&&zt(m)&&(m.data==="["&&T++,m.data==="]")){if(T===0)return i(m);T--}return m};return[d,p]}const de=Br;function hl(e){return pl(e,dl)}function pl(e,t){const n=ji();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:v=Oe,insertStaticContent:S}=e,O=(f,u,h,b=null,_=null,C=null,A=!1,w=null,E=!!u.dynamicChildren)=>{if(f===u)return;f&&!et(f,u)&&(b=jt(f),Fe(f,_,C,!0),f=null),u.patchFlag===-2&&(E=!1,u.dynamicChildren=null);const{type:y,ref:M,shapeFlag:I}=u;switch(y){case _t:q(f,u,h,b);break;case be:m(f,u,h,b);break;case Ft:f==null&&T(u,h,b,A);break;case he:F(f,u,h,b,_,C,A,w,E);break;default:I&1?B(f,u,h,b,_,C,A,w,E):I&6?W(f,u,h,b,_,C,A,w,E):(I&64||I&128)&&y.process(f,u,h,b,_,C,A,w,E,lt)}M!=null&&_&&cn(M,f&&f.ref,C,u||f,!u)},q=(f,u,h,b)=>{if(f==null)s(u.el=l(u.children),h,b);else{const _=u.el=f.el;u.children!==f.children&&a(_,u.children)}},m=(f,u,h,b)=>{f==null?s(u.el=c(u.children||""),h,b):u.el=f.el},T=(f,u,h,b)=>{[f.el,f.anchor]=S(f.children,u,h,b,f.el,f.anchor)},R=({el:f,anchor:u},h,b)=>{let _;for(;f&&f!==u;)_=g(f),s(f,h,b),f=_;s(u,h,b)},N=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=g(f),r(f),f=h;r(u)},B=(f,u,h,b,_,C,A,w,E)=>{A=A||u.type==="svg",f==null?z(u,h,b,_,C,A,w,E):U(f,u,_,C,A,w,E)},z=(f,u,h,b,_,C,A,w)=>{let E,y;const{type:M,props:I,shapeFlag:L,transition:j,dirs:V}=f;if(E=f.el=o(f.type,C,I&&I.is,I),L&8?d(E,f.children):L&16&&x(f.children,E,null,b,_,C&&M!=="foreignObject",A,w),V&&Pe(f,null,b,"created"),D(E,f,f.scopeId,A,b),I){for(const Z in I)Z!=="value"&&!vt(Z)&&i(E,Z,null,I[Z],C,f.children,b,_,Se);"value"in I&&i(E,"value",null,I.value),(y=I.onVnodeBeforeMount)&&we(y,b,f)}V&&Pe(f,null,b,"beforeMount");const G=(!_||_&&!_.pendingBranch)&&j&&!j.persisted;G&&j.beforeEnter(E),s(E,u,h),((y=I&&I.onVnodeMounted)||G||V)&&de(()=>{y&&we(y,b,f),G&&j.enter(E),V&&Pe(f,null,b,"mounted")},_)},D=(f,u,h,b,_)=>{if(h&&v(f,h),b)for(let C=0;C{for(let y=E;y{const w=u.el=f.el;let{patchFlag:E,dynamicChildren:y,dirs:M}=u;E|=f.patchFlag&16;const I=f.props||ee,L=u.props||ee;let j;h&&Je(h,!1),(j=L.onVnodeBeforeUpdate)&&we(j,h,u,f),M&&Pe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const V=_&&u.type!=="foreignObject";if(y?$(f.dynamicChildren,y,w,h,b,V,C):A||Q(f,u,w,null,h,b,V,C,!1),E>0){if(E&16)k(w,u,I,L,h,b,_);else if(E&2&&I.class!==L.class&&i(w,"class",null,L.class,_),E&4&&i(w,"style",I.style,L.style,_),E&8){const G=u.dynamicProps;for(let Z=0;Z{j&&we(j,h,u,f),M&&Pe(u,f,h,"updated")},b)},$=(f,u,h,b,_,C,A)=>{for(let w=0;w{if(h!==b){if(h!==ee)for(const w in h)!vt(w)&&!(w in b)&&i(f,w,h[w],null,A,u.children,_,C,Se);for(const w in b){if(vt(w))continue;const E=b[w],y=h[w];E!==y&&w!=="value"&&i(f,w,y,E,A,u.children,_,C,Se)}"value"in b&&i(f,"value",h.value,b.value)}},F=(f,u,h,b,_,C,A,w,E)=>{const y=u.el=f?f.el:l(""),M=u.anchor=f?f.anchor:l("");let{patchFlag:I,dynamicChildren:L,slotScopeIds:j}=u;j&&(w=w?w.concat(j):j),f==null?(s(y,h,b),s(M,h,b),x(u.children,h,M,_,C,A,w,E)):I>0&&I&64&&L&&f.dynamicChildren?($(f.dynamicChildren,L,h,_,C,A,w),(u.key!=null||_&&u===_.subTree)&&ms(f,u,!0)):Q(f,u,h,M,_,C,A,w,E)},W=(f,u,h,b,_,C,A,w,E)=>{u.slotScopeIds=w,f==null?u.shapeFlag&512?_.ctx.activate(u,h,b,A,E):P(u,h,b,_,C,A,E):ge(f,u,E)},P=(f,u,h,b,_,C,A)=>{const w=f.component=vl(f,b,_);if(yn(f)&&(w.ctx.renderer=lt),Al(w),w.asyncDep){if(_&&_.registerDep(w,X),!f.el){const E=w.subTree=ce(be);m(null,E,u,h)}return}X(w,f,u,h,_,C,A)},ge=(f,u,h)=>{const b=u.component=f.component;if(No(f,u,h))if(b.asyncDep&&!b.asyncResolved){ne(b,u,h);return}else b.next=u,Oo(b.update),b.update();else u.el=f.el,b.vnode=u},X=(f,u,h,b,_,C,A)=>{const w=()=>{if(f.isMounted){let{next:M,bu:I,u:L,parent:j,vnode:V}=f,G=M,Z;Je(f,!1),M?(M.el=V.el,ne(f,M,A)):M=V,I&&Zt(I),(Z=M.props&&M.props.onVnodeBeforeUpdate)&&we(Z,j,M,V),Je(f,!0);const ie=Rn(f),Ee=f.subTree;f.subTree=ie,O(Ee,ie,p(Ee.el),jt(Ee),f,_,C),M.el=ie.el,G===null&&Ho(f,ie.el),L&&de(L,_),(Z=M.props&&M.props.onVnodeUpdated)&&de(()=>we(Z,j,M,V),_)}else{let M;const{el:I,props:L}=u,{bm:j,m:V,parent:G}=f,Z=gt(u);if(Je(f,!1),j&&Zt(j),!Z&&(M=L&&L.onVnodeBeforeMount)&&we(M,G,u),Je(f,!0),I&&An){const ie=()=>{f.subTree=Rn(f),An(I,f.subTree,f,_,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&ie()):ie()}else{const ie=f.subTree=Rn(f);O(null,ie,h,b,f,_,C),u.el=ie.el}if(V&&de(V,_),!Z&&(M=L&&L.onVnodeMounted)){const ie=u;de(()=>we(M,G,ie),_)}(u.shapeFlag&256||G&>(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&de(f.a,_),f.isMounted=!0,u=h=b=null}},E=f.effect=new ss(w,()=>ds(y),f.scope),y=f.update=()=>E.run();y.id=f.uid,Je(f,!0),y()},ne=(f,u,h)=>{u.component=f;const b=f.vnode.props;f.vnode=u,f.next=null,ol(f,u.props,b,h),fl(f,u.children,h),yt(),Ps(),wt()},Q=(f,u,h,b,_,C,A,w,E=!1)=>{const y=f&&f.children,M=f?f.shapeFlag:0,I=u.children,{patchFlag:L,shapeFlag:j}=u;if(L>0){if(L&128){Ut(y,I,h,b,_,C,A,w,E);return}else if(L&256){ze(y,I,h,b,_,C,A,w,E);return}}j&8?(M&16&&Se(y,_,C),I!==y&&d(h,I)):M&16?j&16?Ut(y,I,h,b,_,C,A,w,E):Se(y,_,C,!0):(M&8&&d(h,""),j&16&&x(I,h,b,_,C,A,w,E))},ze=(f,u,h,b,_,C,A,w,E)=>{f=f||at,u=u||at;const y=f.length,M=u.length,I=Math.min(y,M);let L;for(L=0;LM?Se(f,_,C,!0,!1,I):x(u,h,b,_,C,A,w,E,I)},Ut=(f,u,h,b,_,C,A,w,E)=>{let y=0;const M=u.length;let I=f.length-1,L=M-1;for(;y<=I&&y<=L;){const j=f[y],V=u[y]=E?Ke(u[y]):ve(u[y]);if(et(j,V))O(j,V,h,null,_,C,A,w,E);else break;y++}for(;y<=I&&y<=L;){const j=f[I],V=u[L]=E?Ke(u[L]):ve(u[L]);if(et(j,V))O(j,V,h,null,_,C,A,w,E);else break;I--,L--}if(y>I){if(y<=L){const j=L+1,V=jL)for(;y<=I;)Fe(f[y],_,C,!0),y++;else{const j=y,V=y,G=new Map;for(y=V;y<=L;y++){const me=u[y]=E?Ke(u[y]):ve(u[y]);me.key!=null&&G.set(me.key,y)}let Z,ie=0;const Ee=L-V+1;let ct=!1,ws=0;const Ct=new Array(Ee);for(y=0;y=Ee){Fe(me,_,C,!0);continue}let Ie;if(me.key!=null)Ie=G.get(me.key);else for(Z=V;Z<=L;Z++)if(Ct[Z-V]===0&&et(me,u[Z])){Ie=Z;break}Ie===void 0?Fe(me,_,C,!0):(Ct[Ie-V]=y+1,Ie>=ws?ws=Ie:ct=!0,O(me,u[Ie],h,null,_,C,A,w,E),ie++)}const Cs=ct?gl(Ct):at;for(Z=Cs.length-1,y=Ee-1;y>=0;y--){const me=V+y,Ie=u[me],xs=me+1{const{el:C,type:A,transition:w,children:E,shapeFlag:y}=f;if(y&6){Ye(f.component.subTree,u,h,b);return}if(y&128){f.suspense.move(u,h,b);return}if(y&64){A.move(f,u,h,lt);return}if(A===he){s(C,u,h);for(let I=0;Iw.enter(C),_);else{const{leave:I,delayLeave:L,afterLeave:j}=w,V=()=>s(C,u,h),G=()=>{I(C,()=>{V(),j&&j()})};L?L(C,V,G):G()}else s(C,u,h)},Fe=(f,u,h,b=!1,_=!1)=>{const{type:C,props:A,ref:w,children:E,dynamicChildren:y,shapeFlag:M,patchFlag:I,dirs:L}=f;if(w!=null&&cn(w,null,h,f,!0),M&256){u.ctx.deactivate(f);return}const j=M&1&&L,V=!gt(f);let G;if(V&&(G=A&&A.onVnodeBeforeUnmount)&&we(G,u,f),M&6)vi(f.component,h,b);else{if(M&128){f.suspense.unmount(h,b);return}j&&Pe(f,null,u,"beforeUnmount"),M&64?f.type.remove(f,u,h,_,lt,b):y&&(C!==he||I>0&&I&64)?Se(y,u,h,!1,!0):(C===he&&I&384||!_&&M&16)&&Se(E,u,h),b&&bs(f)}(V&&(G=A&&A.onVnodeUnmounted)||j)&&de(()=>{G&&we(G,u,f),j&&Pe(f,null,u,"unmounted")},h)},bs=f=>{const{type:u,el:h,anchor:b,transition:_}=f;if(u===he){Ti(h,b);return}if(u===Ft){N(f);return}const C=()=>{r(h),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(f.shapeFlag&1&&_&&!_.persisted){const{leave:A,delayLeave:w}=_,E=()=>A(h,C);w?w(f.el,C,E):E()}else C()},Ti=(f,u)=>{let h;for(;f!==u;)h=g(f),r(f),f=h;r(u)},vi=(f,u,h)=>{const{bum:b,scope:_,update:C,subTree:A,um:w}=f;b&&Zt(b),_.stop(),C&&(C.active=!1,Fe(A,f,u,h)),w&&de(w,u),de(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Se=(f,u,h,b=!1,_=!1,C=0)=>{for(let A=C;Af.shapeFlag&6?jt(f.component.subTree):f.shapeFlag&128?f.suspense.next():g(f.anchor||f.el),ys=(f,u,h)=>{f==null?u._vnode&&Fe(u._vnode,null,null,!0):O(u._vnode||null,f,u,null,null,null,h),Ps(),rn(),u._vnode=f},lt={p:O,um:Fe,m:Ye,r:bs,mt:P,mc:x,pc:Q,pbc:$,n:jt,o:e};let vn,An;return t&&([vn,An]=t(lt)),{render:ys,hydrate:vn,createApp:ul(ys,vn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ms(e,t,n=!1){const s=e.children,r=t.children;if(H(s)&&H(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const ml=e=>e.__isTeleport,Ot=e=>e&&(e.disabled||e.disabled===""),Ds=e=>typeof SVGElement<"u"&&e instanceof SVGElement,qn=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},_l={__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:d,pc:p,pbc:g,o:{insert:v,querySelector:S,createText:O,createComment:q}}=a,m=Ot(t.props);let{shapeFlag:T,children:R,dynamicChildren:N}=t;if(e==null){const B=t.el=O(""),z=t.anchor=O("");v(B,n,s),v(z,n,s);const D=t.target=qn(t.props,S),x=t.targetAnchor=O("");D&&(v(x,D),o=o||Ds(D));const U=($,k)=>{T&16&&d(R,$,k,r,i,o,l,c)};m?U(n,z):D&&U(D,x)}else{t.el=e.el;const B=t.anchor=e.anchor,z=t.target=e.target,D=t.targetAnchor=e.targetAnchor,x=Ot(e.props),U=x?n:z,$=x?B:D;if(o=o||Ds(z),N?(g(e.dynamicChildren,N,U,r,i,o,l),ms(e,t,!0)):c||p(e,t,U,$,r,i,o,l,!1),m)x||Yt(t,n,B,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const k=t.target=qn(t.props,S);k&&Yt(t,k,null,a,0)}else x&&Yt(t,z,D,a,1)}ri(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:c,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Ot(g))&&(i(a),l&16))for(let v=0;v0?Re||at:null,yl(),Nt>0&&Re&&Re.push(e),e}function zc(e,t,n,s,r,i){return oi(fi(e,t,n,s,r,i,!0))}function li(e,t,n,s,r){return oi(ce(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const En="__vInternal",ci=({key:e})=>e??null,Gt=({ref:e,ref_key:t,ref_for:n})=>e!=null?se(e)||oe(e)||K(e)?{i:le,r:e,k:t,f:!!n}:e:null;function fi(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ci(t),ref:t&&Gt(t),scopeId:_n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(_s(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Nt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const ce=wl;function wl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Yr)&&(e=be),fn(e)){const l=qe(e,t,!0);return n&&_s(l,n),Nt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Il(e)&&(e=e.__vccOpts),t){t=Cl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Zn(l)),te(c)&&(Ir(c)&&!H(c)&&(c=fe({},c)),t.style=Xn(c))}const o=se(e)?1:$o(e)?128:ml(e)?64:te(e)?4:K(e)?2:0;return fi(e,t,n,s,r,o,i,!0)}function Cl(e){return e?Ir(e)||En in e?fe({},e):e:null}function qe(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?xl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&ci(l),ref:t&&t.ref?n&&r?H(r)?r.concat(Gt(t)):[r,Gt(t)]:Gt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qe(e.ssContent),ssFallback:e.ssFallback&&qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ai(e=" ",t=0){return ce(_t,null,e,t)}function Yc(e,t){const n=ce(Ft,null,e);return n.staticCount=t,n}function Jc(e="",t=!1){return t?(ii(),li(be,null,e)):ce(be,null,e)}function ve(e){return e==null||typeof e=="boolean"?ce(be):H(e)?ce(he,null,e.slice()):typeof e=="object"?Ke(e):ce(_t,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qe(e)}function _s(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),_s(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(En in t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[ai(t)]):n=8);e.children=t,e.shapeFlag|=n}function xl(...e){const t={};for(let n=0;nre||le,bt=e=>{re=e,e.scope.on()},it=()=>{re&&re.scope.off(),re=null};function di(e){return e.vnode.shapeFlag&4}let Ht=!1;function Al(e,t=!1){Ht=t;const{props:n,children:s}=e.vnode,r=di(e);il(e,n,r,t),cl(e,s);const i=r?Rl(e,t):void 0;return Ht=!1,i}function Rl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=At(new Proxy(e.ctx,Go));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?pi(e):null;bt(e),yt();const i=We(s,e,0,[e.props,r]);if(wt(),it(),mr(i)){if(i.then(it,it),t)return i.then(o=>{ks(e,o,t)}).catch(o=>{gn(o,e,0)});e.asyncDep=i}else ks(e,i,t)}else hi(e,t)}function ks(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=Lr(t)),hi(e,n)}let Ws;function hi(e,t,n){const s=e.type;if(!e.render){if(!t&&Ws&&!s.render){const r=s.template||ps(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=fe(fe({isCustomElement:i,delimiters:l},o),c);s.render=Ws(r,a)}}e.render=s.render||Oe}bt(e),yt(),el(e),wt(),it()}function Ol(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function pi(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Ol(e))},slots:e.slots,emit:e.emit,expose:t}}function Tn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Lr(At(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rt)return Rt[n](e)},has(t,n){return n in t||n in Rt}}))}function Fl(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Il(e){return K(e)&&"__vccOpts"in e}const Te=(e,t)=>vo(e,t,Ht);function Xc(){return Pl().slots}function Pl(){const e=ui();return e.setupContext||(e.setupContext=pi(e))}function zn(e,t,n){const s=arguments.length;return s===2?te(t)&&!H(t)?fn(t)?ce(e,null,[t]):ce(e,t):ce(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),ce(e,t,n))}const Ml=Symbol(""),Ll=()=>pt(Ml),Sl="3.2.47",Nl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,Vs=tt&&tt.createElement("template"),Hl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?tt.createElementNS(Nl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Vs.innerHTML=s?`${e}`:e;const l=Vs.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function $l(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ul(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&Yn(s,i,"");for(const i in n)Yn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const qs=/\s*!important$/;function Yn(e,t,n){if(H(n))n.forEach(s=>Yn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=jl(e,t);qs.test(n)?e.setProperty(ot(s),n.replace(qs,""),"important"):e[s]=n}}const zs=["Webkit","Moz","ms"],In={};function jl(e,t){const n=In[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return In[t]=s;s=dn(s);for(let r=0;rPn||(Vl.then(()=>Pn=0),Pn=Date.now());function zl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(Yl(s,n.value),t,5,[s])};return n.value=e,n.attached=ql(),n}function Yl(e,t){if(H(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Xs=/^on[a-z]/,Jl=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?$l(e,s,r):t==="style"?Ul(e,n,s):$t(t)?Qn(t)||kl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xl(e,t,s,r))?Dl(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Bl(e,t,s,r))};function Xl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Xs.test(t)&&K(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Xs.test(t)&&se(n)?!1:t in e}const Be="transition",xt="animation",gi=(e,{slots:t})=>zn(Kr,Zl(e),t);gi.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};gi.props=fe({},Kr.props,mi);const Xe=(e,t=[])=>{H(e)?e.forEach(n=>n(...t)):e&&e(...t)},Zs=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function Zl(e){const t={};for(const F in e)F in mi||(t[F]=e[F]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,S=Ql(r),O=S&&S[0],q=S&&S[1],{onBeforeEnter:m,onEnter:T,onEnterCancelled:R,onLeave:N,onLeaveCancelled:B,onBeforeAppear:z=m,onAppear:D=T,onAppearCancelled:x=R}=t,U=(F,W,P)=>{Ze(F,W?d:l),Ze(F,W?a:o),P&&P()},$=(F,W)=>{F._isLeaving=!1,Ze(F,p),Ze(F,v),Ze(F,g),W&&W()},k=F=>(W,P)=>{const ge=F?D:T,X=()=>U(W,F,P);Xe(ge,[W,X]),Qs(()=>{Ze(W,F?c:i),De(W,F?d:l),Zs(ge)||Gs(W,s,O,X)})};return fe(t,{onBeforeEnter(F){Xe(m,[F]),De(F,i),De(F,o)},onBeforeAppear(F){Xe(z,[F]),De(F,c),De(F,a)},onEnter:k(!1),onAppear:k(!0),onLeave(F,W){F._isLeaving=!0;const P=()=>$(F,W);De(F,p),tc(),De(F,g),Qs(()=>{F._isLeaving&&(Ze(F,p),De(F,v),Zs(N)||Gs(F,s,q,P))}),Xe(N,[F,P])},onEnterCancelled(F){U(F,!1),Xe(R,[F])},onAppearCancelled(F){U(F,!0),Xe(x,[F])},onLeaveCancelled(F){$(F),Xe(B,[F])}})}function Ql(e){if(e==null)return null;if(te(e))return[Mn(e.enter),Mn(e.leave)];{const t=Mn(e);return[t,t]}}function Mn(e){return Ui(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Qs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gl=0;function Gs(e,t,n,s){const r=e._endId=++Gl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ec(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=v=>{v.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[S]||"").split(", "),r=s(`${Be}Delay`),i=s(`${Be}Duration`),o=er(r,i),l=s(`${xt}Delay`),c=s(`${xt}Duration`),a=er(l,c);let d=null,p=0,g=0;t===Be?o>0&&(d=Be,p=o,g=i.length):t===xt?a>0&&(d=xt,p=a,g=c.length):(p=Math.max(o,a),d=p>0?o>a?Be:xt:null,g=d?d===Be?i.length:c.length:0);const v=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:v}}function er(e,t){for(;e.lengthtr(n)+tr(e[s])))}function tr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function tc(){return document.body.offsetHeight}const nr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>Zt(t,n):t};function nc(e){e.target.composing=!0}function sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Zc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=nr(r);const i=s||r.props&&r.props.type==="number";ft(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Nn(l)),e._assign(l)}),n&&ft(e,"change",()=>{e.value=e.value.trim()}),t||(ft(e,"compositionstart",nc),ft(e,"compositionend",sr),ft(e,"change",sr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=nr(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Nn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},sc=["ctrl","shift","alt","meta"],rc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>sc.some(n=>e[`${n}Key`]&&!t.includes(n))},Qc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=ot(n.key);if(t.some(r=>r===s||ic[r]===s))return e(n)},ef={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Et(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Et(e,!0),s.enter(e)):s.leave(e,()=>{Et(e,!1)}):Et(e,t))},beforeUnmount(e,{value:t}){Et(e,t)}};function Et(e,t){e.style.display=t?e._vod:"none"}const oc=fe({patchProp:Jl},Hl);let Ln,rr=!1;function lc(){return Ln=rr?Ln:hl(oc),rr=!0,Ln}const tf=(...e)=>{const t=lc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=cc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function cc(e){return se(e)?document.querySelector(e):e}const nf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},fc="modulepreload",ac=function(e){return"/document/"+e},ir={},sf=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=ac(i),i in ir)return;ir[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":fc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},uc=window.__VP_SITE_DATA__,_i=/^[a-z]+:/i,rf=/^pathname:\/\//,of="vitepress-theme-appearance",bi=/#.*$/,dc=/(index)?\.(md|html)$/,Ce=typeof document<"u",yi={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function hc(e,t,n=!1){if(t===void 0)return!1;if(e=or(`/${e}`),n)return new RegExp(t).test(e);if(or(t)!==e)return!1;const s=t.match(bi);return s?(Ce?location.hash:"")===s[0]:!0}function or(e){return decodeURI(e).replace(bi,"").replace(dc,"")}function pc(e){return _i.test(e)}function gc(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!pc(d)&&hc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Ci(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function wi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=mc(e.title,s);return`${n}${r}`}function mc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function _c(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Ci(e,t){return[...e.filter(n=>!_c(t,n)),...t]}const bc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,yc=/^[a-z]:/i;function lr(e){const t=yc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(bc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const wc=Symbol(),st=bo(uc);function lf(e){const t=Te(()=>gc(st.value,e.data.relativePath));return{site:t,theme:Te(()=>t.value.themeConfig),page:Te(()=>e.data),frontmatter:Te(()=>e.data.frontmatter),params:Te(()=>e.data.params),lang:Te(()=>t.value.lang),dir:Te(()=>t.value.dir),localeIndex:Te(()=>t.value.localeIndex||"root"),title:Te(()=>wi(t.value,e.data)),description:Te(()=>e.data.description||t.value.description),isDark:Pr(!1)}}function cf(){const e=pt(wc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Cc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function cr(e){return _i.test(e)||e.startsWith(".")?e:Cc(st.value.base,e)}function xc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/document/";t=lr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${lr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let en=[];function ff(e){en.push(e),xn(()=>{en=en.filter(t=>t!==e)})}const Ec=Symbol(),fr="http://a.com",Tc=()=>({path:"/",component:null,data:yi});function af(e,t){const n=pn(Tc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const c=new URL(l,fr);st.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){const d=new URL(l,fr),p=i=d.pathname;try{let g=await e(p);if(i===p){i=null;const{default:v,__pageData:S}=g;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=Ce?p:cr(p),n.component=At(v),n.data=At(S),Ce&&Hr(()=>{let O=st.value.base+S.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!st.value.cleanUrls&&!O.endsWith("/")&&(O+=".html"),O!==d.pathname&&(d.pathname=O,l=O+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let q=null;try{q=document.querySelector(decodeURIComponent(d.hash))}catch(m){console.warn(m)}if(q){ar(q,d.hash);return}}window.scrollTo(0,c)})}}catch(g){if(!/fetch/.test(g.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(g),!a)try{const v=await fetch(st.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:cr(p),n.component=t?At(t):null,n.data=yi)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:g,pathname:v,hash:S,search:O}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),q=window.location,m=v.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&g===q.origin&&!(m&&m[0]!==".html")&&(l.preventDefault(),v===q.pathname&&O===q.search?S&&S!==q.hash&&(history.pushState(null,"",S),window.dispatchEvent(new Event("hashchange")),ar(a,S,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function vc(){const e=pt(Ec);if(!e)throw new Error("useRouter() is called without provider.");return e}function xi(){return vc().route}function ar(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=st.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=ur(r);else if(Array.isArray(r))for(const c of r){const a=ur(c);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function ur(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const dr=()=>en.forEach(e=>e()),uf=Vr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=xi();return()=>zn(e.as,{style:{position:"relative"}},[t.component?zn(t.component,{onVnodeMounted:dr,onVnodeUpdated:dr}):"404 Page Not Found"])}});function df(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=Ac(o);document.head.appendChild(l),n.push(l)})};jo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=wi(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(Ci(o.head,Oc(c)))})}function Ac([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function Rc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Oc(e){return e.filter(t=>!Rc(t))}const Sn=new Set,Ei=()=>document.createElement("link"),Fc=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ic=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Jt;const Pc=Ce&&(Jt=Ei())&&Jt.relList&&Jt.relList.supports&&Jt.relList.supports("prefetch")?Fc:Ic;function hf(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Sn.has(c)){Sn.add(c);const a=xc(c);Pc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:c}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=c.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(i):Sn.add(c))})})};Cn(s);const r=xi();Qt(()=>r.path,s),xn(()=>{n&&n.disconnect()})}const pf=Vr({setup(e,{slots:t}){const n=Pr(!1);return Cn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function gf(){if(Ce){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+`
+function Jn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Xn(e){if(H(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ri);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Zn(e){let t="";if(se(e))t=e;else if(H(e))for(let n=0;nse(e)?e:e==null?"":H(e)||te(e)&&(e.toString===_r||!K(e.toString))?JSON.stringify(e,pr,2):String(e),pr=(e,t)=>t&&t.__v_isRef?pr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:gr(t)?{[`Set(${t.size})`]:[...t.values()]}:te(t)&&!H(t)&&!br(t)?String(t):t,ee={},at=[],Oe=()=>{},Mi=()=>!1,Li=/^on[^a-z]/,$t=e=>Li.test(e),Qn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Gn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Si=Object.prototype.hasOwnProperty,Y=(e,t)=>Si.call(e,t),H=Array.isArray,ut=e=>an(e)==="[object Map]",gr=e=>an(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",es=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",mr=e=>te(e)&&K(e.then)&&K(e.catch),_r=Object.prototype.toString,an=e=>_r.call(e),Ni=e=>an(e).slice(8,-1),br=e=>an(e)==="[object Object]",ts=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=Jn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),un=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Hi=/-(\w)/g,Le=un(e=>e.replace(Hi,(t,n)=>n?n.toUpperCase():"")),$i=/\B([A-Z])/g,ot=un(e=>e.replace($i,"-$1").toLowerCase()),dn=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xt=un(e=>e?`on${dn(e)}`:""),Pt=(e,t)=>!Object.is(e,t),Zt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Nn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ui=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Es;const ji=()=>Es||(Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let _e;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},yr=e=>(e.w&Ve)>0,wr=e=>(e.n&Ve)>0,ki=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":H(e)?ts(n)&&l.push(o.get("length")):(l.push(o.get(rt)),ut(e)&&l.push(o.get($n)));break;case"delete":H(e)||(l.push(o.get(rt)),ut(e)&&l.push(o.get($n)));break;case"set":ut(e)&&l.push(o.get(rt));break}if(l.length===1)l[0]&&Un(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Un(ns(c))}}function Un(e,t){const n=H(e)?e:[...e];for(const s of n)s.computed&&vs(s);for(const s of n)s.computed||vs(s)}function vs(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Vi(e,t){var n;return(n=nn.get(e))===null||n===void 0?void 0:n.get(t)}const qi=Jn("__proto__,__v_isRef,__isVue"),Er=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(es)),zi=rs(),Yi=rs(!1,!0),Ji=rs(!0),As=Xi();function Xi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let i=0,o=this.length;i{e[t]=function(...n){yt();const s=J(this)[t].apply(this,n);return wt(),s}}),e}function Zi(e){const t=J(this);return pe(t,"has",e),t.hasOwnProperty(e)}function rs(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?po:Or:t?Rr:Ar).get(s))return s;const o=H(s);if(!e){if(o&&Y(As,r))return Reflect.get(As,r,i);if(r==="hasOwnProperty")return Zi}const l=Reflect.get(s,r,i);return(es(r)?Er.has(r):qi(r))||(e||pe(s,"get",r),t)?l:oe(l)?o&&ts(r)?l:l.value:te(l)?e?Fr(l):pn(l):l}}const Qi=Tr(),Gi=Tr(!0);function Tr(e=!1){return function(n,s,r,i){let o=n[s];if(mt(o)&&oe(o)&&!oe(r))return!1;if(!e&&(!sn(r)&&!mt(r)&&(o=J(o),r=J(r)),!H(n)&&oe(o)&&!oe(r)))return o.value=r,!0;const l=H(n)&&ts(s)?Number(s)e,hn=e=>Reflect.getPrototypeOf(e);function Bt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),i=J(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=hn(r),l=s?is:n?cs:Mt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Dt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Kt(e,t=!1){return e=e.__v_raw,!t&&pe(J(e),"iterate",rt),Reflect.get(e,"size",e)}function Rs(e){e=J(e);const t=J(this);return hn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Os(e,t){t=J(t);const n=J(this),{has:s,get:r}=hn(n);let i=s.call(n,e);i||(e=J(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Pt(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function Fs(e){const t=J(this),{has:n,get:s}=hn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function Is(){const e=J(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function kt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=J(o),c=t?is:e?cs:Mt;return!e&&pe(l,"iterate",rt),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function Wt(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?is:t?cs:Mt;return!t&&pe(i,"iterate",c?$n:rt),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:this}}function io(){const e={get(i){return Bt(this,i)},get size(){return Kt(this)},has:Dt,add:Rs,set:Os,delete:Fs,clear:Is,forEach:kt(!1,!1)},t={get(i){return Bt(this,i,!1,!0)},get size(){return Kt(this)},has:Dt,add:Rs,set:Os,delete:Fs,clear:Is,forEach:kt(!1,!0)},n={get(i){return Bt(this,i,!0)},get size(){return Kt(this,!0)},has(i){return Dt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:kt(!0,!1)},s={get(i){return Bt(this,i,!0,!0)},get size(){return Kt(this,!0)},has(i){return Dt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Wt(i,!1,!1),n[i]=Wt(i,!0,!1),t[i]=Wt(i,!1,!0),s[i]=Wt(i,!0,!0)}),[e,n,t,s]}const[oo,lo,co,fo]=io();function os(e,t){const n=t?e?fo:co:e?lo:oo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,i)}const ao={get:os(!1,!1)},uo={get:os(!1,!0)},ho={get:os(!0,!1)},Ar=new WeakMap,Rr=new WeakMap,Or=new WeakMap,po=new WeakMap;function go(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function mo(e){return e.__v_skip||!Object.isExtensible(e)?0:go(Ni(e))}function pn(e){return mt(e)?e:ls(e,!1,vr,ao,Ar)}function _o(e){return ls(e,!1,ro,uo,Rr)}function Fr(e){return ls(e,!0,so,ho,Or)}function ls(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=mo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function dt(e){return mt(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function sn(e){return!!(e&&e.__v_isShallow)}function Ir(e){return dt(e)||mt(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function At(e){return tn(e,"__v_skip",!0),e}const Mt=e=>te(e)?pn(e):e,cs=e=>te(e)?Fr(e):e;function fs(e){ke&&Ae&&(e=J(e),xr(e.dep||(e.dep=ns())))}function as(e,t){e=J(e);const n=e.dep;n&&Un(n)}function oe(e){return!!(e&&e.__v_isRef===!0)}function Pr(e){return Mr(e,!1)}function bo(e){return Mr(e,!0)}function Mr(e,t){return oe(e)?e:new yo(e,t)}class yo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Mt(t)}get value(){return fs(this),this._value}set value(t){const n=this.__v_isShallow||sn(t)||mt(t);t=n?t:J(t),Pt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Mt(t),as(this))}}function wo(e){return oe(e)?e.value:e}const Co={get:(e,t,n)=>wo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return oe(r)&&!oe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Lr(e){return dt(e)?e:new Proxy(e,Co)}class xo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>fs(this),()=>as(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Nc(e){return new xo(e)}class Eo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Vi(J(this._object),this._key)}}function Hc(e,t,n){const s=e[t];return oe(s)?s:new Eo(e,t,n)}var Sr;class To{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Sr]=!1,this._dirty=!0,this.effect=new ss(t,()=>{this._dirty||(this._dirty=!0,as(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return fs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Sr="__v_isReadonly";function vo(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=Oe):(s=e.get,r=e.set),new To(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){gn(i,t,n)}return r}function xe(e,t,n,s){if(K(e)){const i=We(e,t,n,s);return i&&mr(i)&&i.catch(o=>{gn(o,t,n)}),i}const r=[];for(let i=0;i>>1;St(ae[s])Me&&ae.splice(t,1)}function Fo(e){H(e)?ht.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ge+1:Ge))&&ht.push(e),$r()}function Ps(e,t=Lt?Me+1:0){for(;tSt(n)-St(s)),Ge=0;Gee.id==null?1/0:e.id,Io=(e,t)=>{const n=St(e)-St(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ur(e){jn=!1,Lt=!0,ae.sort(Io);const t=Oe;try{for(Me=0;Mese(v)?v.trim():v)),p&&(r=n.map(Nn))}let l,c=s[l=Xt(t)]||s[l=Xt(Le(t))];!c&&i&&(c=s[l=Xt(ot(t))]),c&&xe(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function jr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=a=>{const d=jr(a,t,!0);d&&(l=!0,fe(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(te(e)&&s.set(e,null),null):(H(i)?i.forEach(c=>o[c]=null):fe(o,i),te(e)&&s.set(e,o),o)}function mn(e,t){return!e||!$t(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ot(t))||Y(e,t))}let le=null,_n=null;function on(e){const t=le;return le=e,_n=e&&e.type.__scopeId||null,t}function $c(e){_n=e}function Uc(){_n=null}function Mo(e,t=le,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ks(-1);const i=on(t);let o;try{o=e(...r)}finally{on(i),s._d&&Ks(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:g,setupState:v,ctx:S,inheritAttrs:O}=e;let q,m;const T=on(e);try{if(n.shapeFlag&4){const N=r||s;q=ve(d.call(N,N,p,i,v,g,S)),m=c}else{const N=t;q=ve(N.length>1?N(i,{attrs:c,slots:l,emit:a}):N(i,null)),m=t.props?c:Lo(c)}}catch(N){It.length=0,gn(N,e,1),q=ce(be)}let R=q;if(m&&O!==!1){const N=Object.keys(m),{shapeFlag:B}=R;N.length&&B&7&&(o&&N.some(Qn)&&(m=So(m,o)),R=qe(R,m))}return n.dirs&&(R=qe(R),R.dirs=R.dirs?R.dirs.concat(n.dirs):n.dirs),n.transition&&(R.transition=n.transition),q=R,on(T),q}const Lo=e=>{let t;for(const n in e)(n==="class"||n==="style"||$t(n))&&((t||(t={}))[n]=e[n]);return t},So=(e,t)=>{const n={};for(const s in e)(!Qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function No(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ms(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Br(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):Fo(e)}function Uo(e,t){if(re){let n=re.provides;const s=re.parent&&re.parent.provides;s===n&&(n=re.provides=Object.create(s)),n[e]=t}}function pt(e,t,n=!1){const s=re||le;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&K(t)?t.call(s.proxy):t}}function jo(e,t){return bn(e,null,t)}function jc(e,t){return bn(e,null,{flush:"post"})}const Vt={};function Qt(e,t,n){return bn(e,t,n)}function bn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=ee){const l=Ki()===(re==null?void 0:re.scope)?re:null;let c,a=!1,d=!1;if(oe(e)?(c=()=>e.value,a=sn(e)):dt(e)?(c=()=>e,s=!0):H(e)?(d=!0,a=e.some(R=>dt(R)||sn(R)),c=()=>e.map(R=>{if(oe(R))return R.value;if(dt(R))return nt(R);if(K(R))return We(R,l,2)})):K(e)?t?c=()=>We(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return p&&p(),xe(e,l,3,[g])}:c=Oe,t&&s){const R=c;c=()=>nt(R())}let p,g=R=>{p=m.onStop=()=>{We(R,l,4)}},v;if(Ht)if(g=Oe,t?n&&xe(t,l,3,[c(),d?[]:void 0,g]):c(),r==="sync"){const R=Ll();v=R.__watcherHandles||(R.__watcherHandles=[])}else return Oe;let S=d?new Array(e.length).fill(Vt):Vt;const O=()=>{if(m.active)if(t){const R=m.run();(s||a||(d?R.some((N,B)=>Pt(N,S[B])):Pt(R,S)))&&(p&&p(),xe(t,l,3,[R,S===Vt?void 0:d&&S[0]===Vt?[]:S,g]),S=R)}else m.run()};O.allowRecurse=!!t;let q;r==="sync"?q=O:r==="post"?q=()=>de(O,l&&l.suspense):(O.pre=!0,l&&(O.id=l.uid),q=()=>ds(O));const m=new ss(c,q);t?n?O():S=m.run():r==="post"?de(m.run.bind(m),l&&l.suspense):m.run();const T=()=>{m.stop(),l&&l.scope&&Gn(l.scope.effects,m)};return v&&v.push(T),T}function Bo(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?Dr(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=re;bt(this);const l=bn(r,i.bind(s),n);return o?bt(o):it(),l}function Dr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{nt(n,t)});else if(br(e))for(const n in e)nt(e[n],t);return e}function Do(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Cn(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Ko={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},setup(e,{slots:t}){const n=ui(),s=Do();let r;return()=>{const i=t.default&&Wr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const O of i)if(O.type!==be){o=O;break}}const l=J(e),{mode:c}=l;if(s.isLeaving)return On(o);const a=Ls(o);if(!a)return On(o);const d=Bn(a,l,s,n);Dn(a,d);const p=n.subTree,g=p&&Ls(p);let v=!1;const{getTransitionKey:S}=a.type;if(S){const O=S();r===void 0?r=O:O!==r&&(r=O,v=!0)}if(g&&g.type!==be&&(!et(a,g)||v)){const O=Bn(g,l,s,n);if(Dn(g,O),c==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},On(o);c==="in-out"&&a.type!==be&&(O.delayLeave=(q,m,T)=>{const R=kr(s,g);R[String(g.key)]=g,q._leaveCb=()=>{m(),q._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=T})}return o}}},Kr=Ko;function kr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Bn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:S,onBeforeAppear:O,onAppear:q,onAfterAppear:m,onAppearCancelled:T}=t,R=String(e.key),N=kr(n,e),B=(x,U)=>{x&&xe(x,s,9,U)},z=(x,U)=>{const $=U[1];B(x,U),H(x)?x.every(k=>k.length<=1)&&$():x.length<=1&&$()},D={mode:i,persisted:o,beforeEnter(x){let U=l;if(!n.isMounted)if(r)U=O||l;else return;x._leaveCb&&x._leaveCb(!0);const $=N[R];$&&et(e,$)&&$.el._leaveCb&&$.el._leaveCb(),B(U,[x])},enter(x){let U=c,$=a,k=d;if(!n.isMounted)if(r)U=q||c,$=m||a,k=T||d;else return;let F=!1;const W=x._enterCb=P=>{F||(F=!0,P?B(k,[x]):B($,[x]),D.delayedLeave&&D.delayedLeave(),x._enterCb=void 0)};U?z(U,[x,W]):W()},leave(x,U){const $=String(e.key);if(x._enterCb&&x._enterCb(!0),n.isUnmounting)return U();B(p,[x]);let k=!1;const F=x._leaveCb=W=>{k||(k=!0,U(),W?B(S,[x]):B(v,[x]),x._leaveCb=void 0,N[$]===e&&delete N[$])};N[$]=e,g?z(g,[x,F]):F()},clone(x){return Bn(x,t,n,s)}};return D}function On(e){if(yn(e))return e=qe(e),e.children=null,e}function Ls(e){return yn(e)?e.children?e.children[0]:void 0:e}function Dn(e,t){e.shapeFlag&6&&e.component?Dn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Wr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,yn=e=>e.type.__isKeepAlive;function ko(e,t){qr(e,"a",t)}function Wo(e,t){qr(e,"da",t)}function qr(e,t,n=re){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(wn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)yn(r.parent.vnode)&&Vo(s,t,n,r),r=r.parent}}function Vo(e,t,n,s){const r=wn(t,e,s,!0);xn(()=>{Gn(s[t],r)},n)}function wn(e,t,n=re,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;yt(),bt(n);const l=xe(t,n,e,o);return it(),wt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=re)=>(!Ht||e==="sp")&&wn(e,(...s)=>t(...s),n),qo=$e("bm"),Cn=$e("m"),zo=$e("bu"),Yo=$e("u"),zr=$e("bum"),xn=$e("um"),Jo=$e("sp"),Xo=$e("rtg"),Zo=$e("rtc");function Qo(e,t=re){wn("ec",e,t)}function Bc(e,t){const n=le;if(n===null)return e;const s=Tn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lfn(t)?!(t.type===be||t.type===he&&!Xr(t.children)):!0)?e:null}function Vc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Xt(s)]=e[s];return n}const Kn=e=>e?di(e)?Tn(e)||e.proxy:Kn(e.parent):null,Rt=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Kn(e.parent),$root:e=>Kn(e.root),$emit:e=>e.emit,$options:e=>ps(e),$forceUpdate:e=>e.f||(e.f=()=>ds(e.update)),$nextTick:e=>e.n||(e.n=Hr.bind(e.proxy)),$watch:e=>Bo.bind(e)}),Fn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Go={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Fn(s,t))return o[t]=1,s[t];if(r!==ee&&Y(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&Y(a,t))return o[t]=3,i[t];if(n!==ee&&Y(n,t))return o[t]=4,n[t];kn&&(o[t]=0)}}const d=Rt[t];let p,g;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==ee&&Y(n,t))return o[t]=4,n[t];if(g=c.config.globalProperties,Y(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Fn(r,t)?(r[t]=n,!0):s!==ee&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ee&&Y(e,o)||Fn(t,o)||(l=i[0])&&Y(l,o)||Y(s,o)||Y(Rt,o)||Y(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let kn=!0;function el(e){const t=ps(e),n=e.proxy,s=e.ctx;kn=!1,t.beforeCreate&&Ns(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:v,updated:S,activated:O,deactivated:q,beforeDestroy:m,beforeUnmount:T,destroyed:R,unmounted:N,render:B,renderTracked:z,renderTriggered:D,errorCaptured:x,serverPrefetch:U,expose:$,inheritAttrs:k,components:F,directives:W,filters:P}=t;if(a&&tl(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const ne in o){const Q=o[ne];K(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);te(ne)&&(e.data=pn(ne))}if(kn=!0,i)for(const ne in i){const Q=i[ne],ze=K(Q)?Q.bind(n,n):K(Q.get)?Q.get.bind(n,n):Oe,Ut=!K(Q)&&K(Q.set)?Q.set.bind(n):Oe,Ye=Te({get:ze,set:Ut});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Fe=>Ye.value=Fe})}if(l)for(const ne in l)Zr(l[ne],s,n,ne);if(c){const ne=K(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{Uo(Q,ne[Q])})}d&&Ns(d,e,"c");function X(ne,Q){H(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(X(qo,p),X(Cn,g),X(zo,v),X(Yo,S),X(ko,O),X(Wo,q),X(Qo,x),X(Zo,z),X(Xo,D),X(zr,T),X(xn,N),X(Jo,U),H($))if($.length){const ne=e.exposed||(e.exposed={});$.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});B&&e.render===Oe&&(e.render=B),k!=null&&(e.inheritAttrs=k),F&&(e.components=F),W&&(e.directives=W)}function tl(e,t,n=Oe,s=!1){H(e)&&(e=Wn(e));for(const r in e){const i=e[r];let o;te(i)?"default"in i?o=pt(i.from||r,i.default,!0):o=pt(i.from||r):o=pt(i),oe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ns(e,t,n){xe(H(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Zr(e,t,n,s){const r=s.includes(".")?Dr(n,s):()=>n[s];if(se(e)){const i=t[e];K(i)&&Qt(r,i)}else if(K(e))Qt(r,e.bind(n));else if(te(e))if(H(e))e.forEach(i=>Zr(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&Qt(r,i,e)}}function ps(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>ln(c,a,o,!0)),ln(c,t,o)),te(t)&&i.set(t,c),c}function ln(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&ln(e,i,n,!0),r&&r.forEach(o=>ln(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const nl={data:Hs,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Qe,directives:Qe,watch:rl,provide:Hs,inject:sl};function Hs(e,t){return t?e?function(){return fe(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function sl(e,t){return Qe(Wn(e),Wn(t))}function Wn(e){if(H(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[g,v]=Gr(p,t,!0);fe(o,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return te(e)&&s.set(e,at),at;if(H(i))for(let d=0;d-1,v[1]=O<0||S-1||Y(v,"default"))&&l.push(p)}}}const a=[o,l];return te(e)&&s.set(e,a),a}function $s(e){return e[0]!=="$"}function Us(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function js(e,t){return Us(e)===Us(t)}function Bs(e,t){return H(t)?t.findIndex(n=>js(n,e)):K(t)&&js(t,e)?0:-1}const ei=e=>e[0]==="_"||e==="$stable",gs=e=>H(e)?e.map(ve):[ve(e)],ll=(e,t,n)=>{if(t._n)return t;const s=Mo((...r)=>gs(t(...r)),n);return s._c=!1,s},ti=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ei(r))continue;const i=e[r];if(K(i))t[r]=ll(r,i,s);else if(i!=null){const o=gs(i);t[r]=()=>o}}},ni=(e,t)=>{const n=gs(t);e.slots.default=()=>n},cl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),tn(t,"_",n)):ti(t,e.slots={})}else e.slots={},t&&ni(e,t);tn(e.slots,En,1)},fl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(fe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,ti(t,r)),o=t}else t&&(ni(e,t),o={default:1});if(i)for(const l in r)!ei(l)&&!(l in o)&&delete r[l]};function si(){return{app:null,config:{isNativeTag:Mi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let al=0;function ul(e,t){return function(s,r=null){K(s)||(s=Object.assign({},s)),r!=null&&!te(r)&&(r=null);const i=si(),o=new Set;let l=!1;const c=i.app={_uid:al++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Sl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&K(a.install)?(o.add(a),a.install(c,...d)):K(a)&&(o.add(a),a(c,...d))),c},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),c},component(a,d){return d?(i.components[a]=d,c):i.components[a]},directive(a,d){return d?(i.directives[a]=d,c):i.directives[a]},mount(a,d,p){if(!l){const g=ce(s,r);return g.appContext=i,d&&t?t(g,a):e(g,a,p),l=!0,c._container=a,a.__vue_app__=c,Tn(g.component)||g.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(a,d){return i.provides[a]=d,c}};return c}}function cn(e,t,n,s,r=!1){if(H(e)){e.forEach((g,v)=>cn(g,t&&(H(t)?t[v]:t),n,s,r));return}if(gt(s)&&!r)return;const i=s.shapeFlag&4?Tn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===ee?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(se(a)?(d[a]=null,Y(p,a)&&(p[a]=null)):oe(a)&&(a.value=null)),K(c))We(c,l,12,[o,d]);else{const g=se(c),v=oe(c);if(g||v){const S=()=>{if(e.f){const O=g?Y(p,c)?p[c]:d[c]:c.value;r?H(O)&&Gn(O,i):H(O)?O.includes(i)||O.push(i):g?(d[c]=[i],Y(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else g?(d[c]=o,Y(p,c)&&(p[c]=o)):v&&(c.value=o,e.k&&(d[e.k]=o))};o?(S.id=-1,de(S,n)):S()}}}let je=!1;const qt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",zt=e=>e.nodeType===8;function dl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(m,T)=>{if(!T.hasChildNodes()){n(null,m,T),rn(),T._vnode=m;return}je=!1,p(T.firstChild,m,null,null,null),rn(),T._vnode=m,je&&console.error("Hydration completed but contains mismatches.")},p=(m,T,R,N,B,z=!1)=>{const D=zt(m)&&m.data==="[",x=()=>O(m,T,R,N,B,D),{type:U,ref:$,shapeFlag:k,patchFlag:F}=T;let W=m.nodeType;T.el=m,F===-2&&(z=!1,T.dynamicChildren=null);let P=null;switch(U){case _t:W!==3?T.children===""?(c(T.el=r(""),o(m),m),P=m):P=x():(m.data!==T.children&&(je=!0,m.data=T.children),P=i(m));break;case be:W!==8||D?P=x():P=i(m);break;case Ft:if(D&&(m=i(m),W=m.nodeType),W===1||W===3){P=m;const ge=!T.children.length;for(let X=0;X{z=z||!!T.dynamicChildren;const{type:D,props:x,patchFlag:U,shapeFlag:$,dirs:k}=T,F=D==="input"&&k||D==="option";if(F||U!==-1){if(k&&Pe(T,null,R,"created"),x)if(F||!z||U&48)for(const P in x)(F&&P.endsWith("value")||$t(P)&&!vt(P))&&s(m,P,null,x[P],!1,void 0,R);else x.onClick&&s(m,"onClick",null,x.onClick,!1,void 0,R);let W;if((W=x&&x.onVnodeBeforeMount)&&we(W,R,T),k&&Pe(T,null,R,"beforeMount"),((W=x&&x.onVnodeMounted)||k)&&Br(()=>{W&&we(W,R,T),k&&Pe(T,null,R,"mounted")},N),$&16&&!(x&&(x.innerHTML||x.textContent))){let P=v(m.firstChild,T,m,R,N,B,z);for(;P;){je=!0;const ge=P;P=P.nextSibling,l(ge)}}else $&8&&m.textContent!==T.children&&(je=!0,m.textContent=T.children)}return m.nextSibling},v=(m,T,R,N,B,z,D)=>{D=D||!!T.dynamicChildren;const x=T.children,U=x.length;for(let $=0;${const{slotScopeIds:D}=T;D&&(B=B?B.concat(D):D);const x=o(m),U=v(i(m),T,x,R,N,B,z);return U&&zt(U)&&U.data==="]"?i(T.anchor=U):(je=!0,c(T.anchor=a("]"),x,U),U)},O=(m,T,R,N,B,z)=>{if(je=!0,T.el=null,z){const U=q(m);for(;;){const $=i(m);if($&&$!==U)l($);else break}}const D=i(m),x=o(m);return l(m),n(null,T,x,D,R,N,qt(x),B),D},q=m=>{let T=0;for(;m;)if(m=i(m),m&&zt(m)&&(m.data==="["&&T++,m.data==="]")){if(T===0)return i(m);T--}return m};return[d,p]}const de=Br;function hl(e){return pl(e,dl)}function pl(e,t){const n=ji();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:v=Oe,insertStaticContent:S}=e,O=(f,u,h,b=null,_=null,C=null,A=!1,w=null,E=!!u.dynamicChildren)=>{if(f===u)return;f&&!et(f,u)&&(b=jt(f),Fe(f,_,C,!0),f=null),u.patchFlag===-2&&(E=!1,u.dynamicChildren=null);const{type:y,ref:M,shapeFlag:I}=u;switch(y){case _t:q(f,u,h,b);break;case be:m(f,u,h,b);break;case Ft:f==null&&T(u,h,b,A);break;case he:F(f,u,h,b,_,C,A,w,E);break;default:I&1?B(f,u,h,b,_,C,A,w,E):I&6?W(f,u,h,b,_,C,A,w,E):(I&64||I&128)&&y.process(f,u,h,b,_,C,A,w,E,lt)}M!=null&&_&&cn(M,f&&f.ref,C,u||f,!u)},q=(f,u,h,b)=>{if(f==null)s(u.el=l(u.children),h,b);else{const _=u.el=f.el;u.children!==f.children&&a(_,u.children)}},m=(f,u,h,b)=>{f==null?s(u.el=c(u.children||""),h,b):u.el=f.el},T=(f,u,h,b)=>{[f.el,f.anchor]=S(f.children,u,h,b,f.el,f.anchor)},R=({el:f,anchor:u},h,b)=>{let _;for(;f&&f!==u;)_=g(f),s(f,h,b),f=_;s(u,h,b)},N=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=g(f),r(f),f=h;r(u)},B=(f,u,h,b,_,C,A,w,E)=>{A=A||u.type==="svg",f==null?z(u,h,b,_,C,A,w,E):U(f,u,_,C,A,w,E)},z=(f,u,h,b,_,C,A,w)=>{let E,y;const{type:M,props:I,shapeFlag:L,transition:j,dirs:V}=f;if(E=f.el=o(f.type,C,I&&I.is,I),L&8?d(E,f.children):L&16&&x(f.children,E,null,b,_,C&&M!=="foreignObject",A,w),V&&Pe(f,null,b,"created"),D(E,f,f.scopeId,A,b),I){for(const Z in I)Z!=="value"&&!vt(Z)&&i(E,Z,null,I[Z],C,f.children,b,_,Se);"value"in I&&i(E,"value",null,I.value),(y=I.onVnodeBeforeMount)&&we(y,b,f)}V&&Pe(f,null,b,"beforeMount");const G=(!_||_&&!_.pendingBranch)&&j&&!j.persisted;G&&j.beforeEnter(E),s(E,u,h),((y=I&&I.onVnodeMounted)||G||V)&&de(()=>{y&&we(y,b,f),G&&j.enter(E),V&&Pe(f,null,b,"mounted")},_)},D=(f,u,h,b,_)=>{if(h&&v(f,h),b)for(let C=0;C{for(let y=E;y{const w=u.el=f.el;let{patchFlag:E,dynamicChildren:y,dirs:M}=u;E|=f.patchFlag&16;const I=f.props||ee,L=u.props||ee;let j;h&&Je(h,!1),(j=L.onVnodeBeforeUpdate)&&we(j,h,u,f),M&&Pe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const V=_&&u.type!=="foreignObject";if(y?$(f.dynamicChildren,y,w,h,b,V,C):A||Q(f,u,w,null,h,b,V,C,!1),E>0){if(E&16)k(w,u,I,L,h,b,_);else if(E&2&&I.class!==L.class&&i(w,"class",null,L.class,_),E&4&&i(w,"style",I.style,L.style,_),E&8){const G=u.dynamicProps;for(let Z=0;Z{j&&we(j,h,u,f),M&&Pe(u,f,h,"updated")},b)},$=(f,u,h,b,_,C,A)=>{for(let w=0;w{if(h!==b){if(h!==ee)for(const w in h)!vt(w)&&!(w in b)&&i(f,w,h[w],null,A,u.children,_,C,Se);for(const w in b){if(vt(w))continue;const E=b[w],y=h[w];E!==y&&w!=="value"&&i(f,w,y,E,A,u.children,_,C,Se)}"value"in b&&i(f,"value",h.value,b.value)}},F=(f,u,h,b,_,C,A,w,E)=>{const y=u.el=f?f.el:l(""),M=u.anchor=f?f.anchor:l("");let{patchFlag:I,dynamicChildren:L,slotScopeIds:j}=u;j&&(w=w?w.concat(j):j),f==null?(s(y,h,b),s(M,h,b),x(u.children,h,M,_,C,A,w,E)):I>0&&I&64&&L&&f.dynamicChildren?($(f.dynamicChildren,L,h,_,C,A,w),(u.key!=null||_&&u===_.subTree)&&ms(f,u,!0)):Q(f,u,h,M,_,C,A,w,E)},W=(f,u,h,b,_,C,A,w,E)=>{u.slotScopeIds=w,f==null?u.shapeFlag&512?_.ctx.activate(u,h,b,A,E):P(u,h,b,_,C,A,E):ge(f,u,E)},P=(f,u,h,b,_,C,A)=>{const w=f.component=vl(f,b,_);if(yn(f)&&(w.ctx.renderer=lt),Al(w),w.asyncDep){if(_&&_.registerDep(w,X),!f.el){const E=w.subTree=ce(be);m(null,E,u,h)}return}X(w,f,u,h,_,C,A)},ge=(f,u,h)=>{const b=u.component=f.component;if(No(f,u,h))if(b.asyncDep&&!b.asyncResolved){ne(b,u,h);return}else b.next=u,Oo(b.update),b.update();else u.el=f.el,b.vnode=u},X=(f,u,h,b,_,C,A)=>{const w=()=>{if(f.isMounted){let{next:M,bu:I,u:L,parent:j,vnode:V}=f,G=M,Z;Je(f,!1),M?(M.el=V.el,ne(f,M,A)):M=V,I&&Zt(I),(Z=M.props&&M.props.onVnodeBeforeUpdate)&&we(Z,j,M,V),Je(f,!0);const ie=Rn(f),Ee=f.subTree;f.subTree=ie,O(Ee,ie,p(Ee.el),jt(Ee),f,_,C),M.el=ie.el,G===null&&Ho(f,ie.el),L&&de(L,_),(Z=M.props&&M.props.onVnodeUpdated)&&de(()=>we(Z,j,M,V),_)}else{let M;const{el:I,props:L}=u,{bm:j,m:V,parent:G}=f,Z=gt(u);if(Je(f,!1),j&&Zt(j),!Z&&(M=L&&L.onVnodeBeforeMount)&&we(M,G,u),Je(f,!0),I&&An){const ie=()=>{f.subTree=Rn(f),An(I,f.subTree,f,_,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&ie()):ie()}else{const ie=f.subTree=Rn(f);O(null,ie,h,b,f,_,C),u.el=ie.el}if(V&&de(V,_),!Z&&(M=L&&L.onVnodeMounted)){const ie=u;de(()=>we(M,G,ie),_)}(u.shapeFlag&256||G&>(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&de(f.a,_),f.isMounted=!0,u=h=b=null}},E=f.effect=new ss(w,()=>ds(y),f.scope),y=f.update=()=>E.run();y.id=f.uid,Je(f,!0),y()},ne=(f,u,h)=>{u.component=f;const b=f.vnode.props;f.vnode=u,f.next=null,ol(f,u.props,b,h),fl(f,u.children,h),yt(),Ps(),wt()},Q=(f,u,h,b,_,C,A,w,E=!1)=>{const y=f&&f.children,M=f?f.shapeFlag:0,I=u.children,{patchFlag:L,shapeFlag:j}=u;if(L>0){if(L&128){Ut(y,I,h,b,_,C,A,w,E);return}else if(L&256){ze(y,I,h,b,_,C,A,w,E);return}}j&8?(M&16&&Se(y,_,C),I!==y&&d(h,I)):M&16?j&16?Ut(y,I,h,b,_,C,A,w,E):Se(y,_,C,!0):(M&8&&d(h,""),j&16&&x(I,h,b,_,C,A,w,E))},ze=(f,u,h,b,_,C,A,w,E)=>{f=f||at,u=u||at;const y=f.length,M=u.length,I=Math.min(y,M);let L;for(L=0;LM?Se(f,_,C,!0,!1,I):x(u,h,b,_,C,A,w,E,I)},Ut=(f,u,h,b,_,C,A,w,E)=>{let y=0;const M=u.length;let I=f.length-1,L=M-1;for(;y<=I&&y<=L;){const j=f[y],V=u[y]=E?Ke(u[y]):ve(u[y]);if(et(j,V))O(j,V,h,null,_,C,A,w,E);else break;y++}for(;y<=I&&y<=L;){const j=f[I],V=u[L]=E?Ke(u[L]):ve(u[L]);if(et(j,V))O(j,V,h,null,_,C,A,w,E);else break;I--,L--}if(y>I){if(y<=L){const j=L+1,V=jL)for(;y<=I;)Fe(f[y],_,C,!0),y++;else{const j=y,V=y,G=new Map;for(y=V;y<=L;y++){const me=u[y]=E?Ke(u[y]):ve(u[y]);me.key!=null&&G.set(me.key,y)}let Z,ie=0;const Ee=L-V+1;let ct=!1,ws=0;const Ct=new Array(Ee);for(y=0;y=Ee){Fe(me,_,C,!0);continue}let Ie;if(me.key!=null)Ie=G.get(me.key);else for(Z=V;Z<=L;Z++)if(Ct[Z-V]===0&&et(me,u[Z])){Ie=Z;break}Ie===void 0?Fe(me,_,C,!0):(Ct[Ie-V]=y+1,Ie>=ws?ws=Ie:ct=!0,O(me,u[Ie],h,null,_,C,A,w,E),ie++)}const Cs=ct?gl(Ct):at;for(Z=Cs.length-1,y=Ee-1;y>=0;y--){const me=V+y,Ie=u[me],xs=me+1{const{el:C,type:A,transition:w,children:E,shapeFlag:y}=f;if(y&6){Ye(f.component.subTree,u,h,b);return}if(y&128){f.suspense.move(u,h,b);return}if(y&64){A.move(f,u,h,lt);return}if(A===he){s(C,u,h);for(let I=0;Iw.enter(C),_);else{const{leave:I,delayLeave:L,afterLeave:j}=w,V=()=>s(C,u,h),G=()=>{I(C,()=>{V(),j&&j()})};L?L(C,V,G):G()}else s(C,u,h)},Fe=(f,u,h,b=!1,_=!1)=>{const{type:C,props:A,ref:w,children:E,dynamicChildren:y,shapeFlag:M,patchFlag:I,dirs:L}=f;if(w!=null&&cn(w,null,h,f,!0),M&256){u.ctx.deactivate(f);return}const j=M&1&&L,V=!gt(f);let G;if(V&&(G=A&&A.onVnodeBeforeUnmount)&&we(G,u,f),M&6)vi(f.component,h,b);else{if(M&128){f.suspense.unmount(h,b);return}j&&Pe(f,null,u,"beforeUnmount"),M&64?f.type.remove(f,u,h,_,lt,b):y&&(C!==he||I>0&&I&64)?Se(y,u,h,!1,!0):(C===he&&I&384||!_&&M&16)&&Se(E,u,h),b&&bs(f)}(V&&(G=A&&A.onVnodeUnmounted)||j)&&de(()=>{G&&we(G,u,f),j&&Pe(f,null,u,"unmounted")},h)},bs=f=>{const{type:u,el:h,anchor:b,transition:_}=f;if(u===he){Ti(h,b);return}if(u===Ft){N(f);return}const C=()=>{r(h),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(f.shapeFlag&1&&_&&!_.persisted){const{leave:A,delayLeave:w}=_,E=()=>A(h,C);w?w(f.el,C,E):E()}else C()},Ti=(f,u)=>{let h;for(;f!==u;)h=g(f),r(f),f=h;r(u)},vi=(f,u,h)=>{const{bum:b,scope:_,update:C,subTree:A,um:w}=f;b&&Zt(b),_.stop(),C&&(C.active=!1,Fe(A,f,u,h)),w&&de(w,u),de(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Se=(f,u,h,b=!1,_=!1,C=0)=>{for(let A=C;Af.shapeFlag&6?jt(f.component.subTree):f.shapeFlag&128?f.suspense.next():g(f.anchor||f.el),ys=(f,u,h)=>{f==null?u._vnode&&Fe(u._vnode,null,null,!0):O(u._vnode||null,f,u,null,null,null,h),Ps(),rn(),u._vnode=f},lt={p:O,um:Fe,m:Ye,r:bs,mt:P,mc:x,pc:Q,pbc:$,n:jt,o:e};let vn,An;return t&&([vn,An]=t(lt)),{render:ys,hydrate:vn,createApp:ul(ys,vn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ms(e,t,n=!1){const s=e.children,r=t.children;if(H(s)&&H(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const ml=e=>e.__isTeleport,Ot=e=>e&&(e.disabled||e.disabled===""),Ds=e=>typeof SVGElement<"u"&&e instanceof SVGElement,qn=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},_l={__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:d,pc:p,pbc:g,o:{insert:v,querySelector:S,createText:O,createComment:q}}=a,m=Ot(t.props);let{shapeFlag:T,children:R,dynamicChildren:N}=t;if(e==null){const B=t.el=O(""),z=t.anchor=O("");v(B,n,s),v(z,n,s);const D=t.target=qn(t.props,S),x=t.targetAnchor=O("");D&&(v(x,D),o=o||Ds(D));const U=($,k)=>{T&16&&d(R,$,k,r,i,o,l,c)};m?U(n,z):D&&U(D,x)}else{t.el=e.el;const B=t.anchor=e.anchor,z=t.target=e.target,D=t.targetAnchor=e.targetAnchor,x=Ot(e.props),U=x?n:z,$=x?B:D;if(o=o||Ds(z),N?(g(e.dynamicChildren,N,U,r,i,o,l),ms(e,t,!0)):c||p(e,t,U,$,r,i,o,l,!1),m)x||Yt(t,n,B,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const k=t.target=qn(t.props,S);k&&Yt(t,k,null,a,0)}else x&&Yt(t,z,D,a,1)}ri(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:c,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Ot(g))&&(i(a),l&16))for(let v=0;v0?Re||at:null,yl(),Nt>0&&Re&&Re.push(e),e}function zc(e,t,n,s,r,i){return oi(fi(e,t,n,s,r,i,!0))}function li(e,t,n,s,r){return oi(ce(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const En="__vInternal",ci=({key:e})=>e??null,Gt=({ref:e,ref_key:t,ref_for:n})=>e!=null?se(e)||oe(e)||K(e)?{i:le,r:e,k:t,f:!!n}:e:null;function fi(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ci(t),ref:t&&Gt(t),scopeId:_n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(_s(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Nt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const ce=wl;function wl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Yr)&&(e=be),fn(e)){const l=qe(e,t,!0);return n&&_s(l,n),Nt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Il(e)&&(e=e.__vccOpts),t){t=Cl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Zn(l)),te(c)&&(Ir(c)&&!H(c)&&(c=fe({},c)),t.style=Xn(c))}const o=se(e)?1:$o(e)?128:ml(e)?64:te(e)?4:K(e)?2:0;return fi(e,t,n,s,r,o,i,!0)}function Cl(e){return e?Ir(e)||En in e?fe({},e):e:null}function qe(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?xl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&ci(l),ref:t&&t.ref?n&&r?H(r)?r.concat(Gt(t)):[r,Gt(t)]:Gt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qe(e.ssContent),ssFallback:e.ssFallback&&qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ai(e=" ",t=0){return ce(_t,null,e,t)}function Yc(e,t){const n=ce(Ft,null,e);return n.staticCount=t,n}function Jc(e="",t=!1){return t?(ii(),li(be,null,e)):ce(be,null,e)}function ve(e){return e==null||typeof e=="boolean"?ce(be):H(e)?ce(he,null,e.slice()):typeof e=="object"?Ke(e):ce(_t,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qe(e)}function _s(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),_s(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(En in t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[ai(t)]):n=8);e.children=t,e.shapeFlag|=n}function xl(...e){const t={};for(let n=0;nre||le,bt=e=>{re=e,e.scope.on()},it=()=>{re&&re.scope.off(),re=null};function di(e){return e.vnode.shapeFlag&4}let Ht=!1;function Al(e,t=!1){Ht=t;const{props:n,children:s}=e.vnode,r=di(e);il(e,n,r,t),cl(e,s);const i=r?Rl(e,t):void 0;return Ht=!1,i}function Rl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=At(new Proxy(e.ctx,Go));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?pi(e):null;bt(e),yt();const i=We(s,e,0,[e.props,r]);if(wt(),it(),mr(i)){if(i.then(it,it),t)return i.then(o=>{ks(e,o,t)}).catch(o=>{gn(o,e,0)});e.asyncDep=i}else ks(e,i,t)}else hi(e,t)}function ks(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=Lr(t)),hi(e,n)}let Ws;function hi(e,t,n){const s=e.type;if(!e.render){if(!t&&Ws&&!s.render){const r=s.template||ps(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=fe(fe({isCustomElement:i,delimiters:l},o),c);s.render=Ws(r,a)}}e.render=s.render||Oe}bt(e),yt(),el(e),wt(),it()}function Ol(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function pi(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Ol(e))},slots:e.slots,emit:e.emit,expose:t}}function Tn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Lr(At(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rt)return Rt[n](e)},has(t,n){return n in t||n in Rt}}))}function Fl(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Il(e){return K(e)&&"__vccOpts"in e}const Te=(e,t)=>vo(e,t,Ht);function Xc(){return Pl().slots}function Pl(){const e=ui();return e.setupContext||(e.setupContext=pi(e))}function zn(e,t,n){const s=arguments.length;return s===2?te(t)&&!H(t)?fn(t)?ce(e,null,[t]):ce(e,t):ce(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),ce(e,t,n))}const Ml=Symbol(""),Ll=()=>pt(Ml),Sl="3.2.47",Nl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,Vs=tt&&tt.createElement("template"),Hl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?tt.createElementNS(Nl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Vs.innerHTML=s?`${e}`:e;const l=Vs.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function $l(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ul(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&Yn(s,i,"");for(const i in n)Yn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const qs=/\s*!important$/;function Yn(e,t,n){if(H(n))n.forEach(s=>Yn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=jl(e,t);qs.test(n)?e.setProperty(ot(s),n.replace(qs,""),"important"):e[s]=n}}const zs=["Webkit","Moz","ms"],In={};function jl(e,t){const n=In[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return In[t]=s;s=dn(s);for(let r=0;rPn||(Vl.then(()=>Pn=0),Pn=Date.now());function zl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(Yl(s,n.value),t,5,[s])};return n.value=e,n.attached=ql(),n}function Yl(e,t){if(H(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Xs=/^on[a-z]/,Jl=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?$l(e,s,r):t==="style"?Ul(e,n,s):$t(t)?Qn(t)||kl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xl(e,t,s,r))?Dl(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Bl(e,t,s,r))};function Xl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Xs.test(t)&&K(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Xs.test(t)&&se(n)?!1:t in e}const Be="transition",xt="animation",gi=(e,{slots:t})=>zn(Kr,Zl(e),t);gi.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};gi.props=fe({},Kr.props,mi);const Xe=(e,t=[])=>{H(e)?e.forEach(n=>n(...t)):e&&e(...t)},Zs=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function Zl(e){const t={};for(const F in e)F in mi||(t[F]=e[F]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,S=Ql(r),O=S&&S[0],q=S&&S[1],{onBeforeEnter:m,onEnter:T,onEnterCancelled:R,onLeave:N,onLeaveCancelled:B,onBeforeAppear:z=m,onAppear:D=T,onAppearCancelled:x=R}=t,U=(F,W,P)=>{Ze(F,W?d:l),Ze(F,W?a:o),P&&P()},$=(F,W)=>{F._isLeaving=!1,Ze(F,p),Ze(F,v),Ze(F,g),W&&W()},k=F=>(W,P)=>{const ge=F?D:T,X=()=>U(W,F,P);Xe(ge,[W,X]),Qs(()=>{Ze(W,F?c:i),De(W,F?d:l),Zs(ge)||Gs(W,s,O,X)})};return fe(t,{onBeforeEnter(F){Xe(m,[F]),De(F,i),De(F,o)},onBeforeAppear(F){Xe(z,[F]),De(F,c),De(F,a)},onEnter:k(!1),onAppear:k(!0),onLeave(F,W){F._isLeaving=!0;const P=()=>$(F,W);De(F,p),tc(),De(F,g),Qs(()=>{F._isLeaving&&(Ze(F,p),De(F,v),Zs(N)||Gs(F,s,q,P))}),Xe(N,[F,P])},onEnterCancelled(F){U(F,!1),Xe(R,[F])},onAppearCancelled(F){U(F,!0),Xe(x,[F])},onLeaveCancelled(F){$(F),Xe(B,[F])}})}function Ql(e){if(e==null)return null;if(te(e))return[Mn(e.enter),Mn(e.leave)];{const t=Mn(e);return[t,t]}}function Mn(e){return Ui(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Qs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gl=0;function Gs(e,t,n,s){const r=e._endId=++Gl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ec(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=v=>{v.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[S]||"").split(", "),r=s(`${Be}Delay`),i=s(`${Be}Duration`),o=er(r,i),l=s(`${xt}Delay`),c=s(`${xt}Duration`),a=er(l,c);let d=null,p=0,g=0;t===Be?o>0&&(d=Be,p=o,g=i.length):t===xt?a>0&&(d=xt,p=a,g=c.length):(p=Math.max(o,a),d=p>0?o>a?Be:xt:null,g=d?d===Be?i.length:c.length:0);const v=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:v}}function er(e,t){for(;e.lengthtr(n)+tr(e[s])))}function tr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function tc(){return document.body.offsetHeight}const nr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>Zt(t,n):t};function nc(e){e.target.composing=!0}function sr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Zc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=nr(r);const i=s||r.props&&r.props.type==="number";ft(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Nn(l)),e._assign(l)}),n&&ft(e,"change",()=>{e.value=e.value.trim()}),t||(ft(e,"compositionstart",nc),ft(e,"compositionend",sr),ft(e,"change",sr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=nr(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Nn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},sc=["ctrl","shift","alt","meta"],rc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>sc.some(n=>e[`${n}Key`]&&!t.includes(n))},Qc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=ot(n.key);if(t.some(r=>r===s||ic[r]===s))return e(n)},ef={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Et(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Et(e,!0),s.enter(e)):s.leave(e,()=>{Et(e,!1)}):Et(e,t))},beforeUnmount(e,{value:t}){Et(e,t)}};function Et(e,t){e.style.display=t?e._vod:"none"}const oc=fe({patchProp:Jl},Hl);let Ln,rr=!1;function lc(){return Ln=rr?Ln:hl(oc),rr=!0,Ln}const tf=(...e)=>{const t=lc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=cc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function cc(e){return se(e)?document.querySelector(e):e}const nf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},fc="modulepreload",ac=function(e){return"/document/"+e},ir={},sf=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=ac(i),i in ir)return;ir[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":fc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},uc=window.__VP_SITE_DATA__,_i=/^[a-z]+:/i,rf=/^pathname:\/\//,of="vitepress-theme-appearance",bi=/#.*$/,dc=/(index)?\.(md|html)$/,Ce=typeof document<"u",yi={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function hc(e,t,n=!1){if(t===void 0)return!1;if(e=or(`/${e}`),n)return new RegExp(t).test(e);if(or(t)!==e)return!1;const s=t.match(bi);return s?(Ce?location.hash:"")===s[0]:!0}function or(e){return decodeURI(e).replace(bi,"").replace(dc,"")}function pc(e){return _i.test(e)}function gc(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!pc(d)&&hc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Ci(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function wi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=mc(e.title,s);return`${n}${r}`}function mc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function _c(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Ci(e,t){return[...e.filter(n=>!_c(t,n)),...t]}const bc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,yc=/^[a-z]:/i;function lr(e){const t=yc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(bc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const wc=Symbol(),st=bo(uc);function lf(e){const t=Te(()=>gc(st.value,e.data.relativePath));return{site:t,theme:Te(()=>t.value.themeConfig),page:Te(()=>e.data),frontmatter:Te(()=>e.data.frontmatter),params:Te(()=>e.data.params),lang:Te(()=>t.value.lang),dir:Te(()=>t.value.dir),localeIndex:Te(()=>t.value.localeIndex||"root"),title:Te(()=>wi(t.value,e.data)),description:Te(()=>e.data.description||t.value.description),isDark:Pr(!1)}}function cf(){const e=pt(wc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Cc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function cr(e){return _i.test(e)||e.startsWith(".")?e:Cc(st.value.base,e)}function xc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/document/";t=lr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${lr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let en=[];function ff(e){en.push(e),xn(()=>{en=en.filter(t=>t!==e)})}const Ec=Symbol(),fr="http://a.com",Tc=()=>({path:"/",component:null,data:yi});function af(e,t){const n=pn(Tc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const c=new URL(l,fr);st.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){const d=new URL(l,fr),p=i=d.pathname;try{let g=await e(p);if(i===p){i=null;const{default:v,__pageData:S}=g;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=Ce?p:cr(p),n.component=At(v),n.data=At(S),Ce&&Hr(()=>{let O=st.value.base+S.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!st.value.cleanUrls&&!O.endsWith("/")&&(O+=".html"),O!==d.pathname&&(d.pathname=O,l=O+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let q=null;try{q=document.querySelector(decodeURIComponent(d.hash))}catch(m){console.warn(m)}if(q){ar(q,d.hash);return}}window.scrollTo(0,c)})}}catch(g){if(!/fetch/.test(g.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(g),!a)try{const v=await fetch(st.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:cr(p),n.component=t?At(t):null,n.data=yi)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:g,pathname:v,hash:S,search:O}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),q=window.location,m=v.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&g===q.origin&&!(m&&m[0]!==".html")&&(l.preventDefault(),v===q.pathname&&O===q.search?S&&(S!==q.hash&&(history.pushState(null,"",S),window.dispatchEvent(new Event("hashchange"))),ar(a,S,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function vc(){const e=pt(Ec);if(!e)throw new Error("useRouter() is called without provider.");return e}function xi(){return vc().route}function ar(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=st.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=ur(r);else if(Array.isArray(r))for(const c of r){const a=ur(c);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function ur(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const dr=()=>en.forEach(e=>e()),uf=Vr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=xi();return()=>zn(e.as,{style:{position:"relative"}},[t.component?zn(t.component,{onVnodeMounted:dr,onVnodeUpdated:dr}):"404 Page Not Found"])}});function df(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=Ac(o);document.head.appendChild(l),n.push(l)})};jo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=wi(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(Ci(o.head,Oc(c)))})}function Ac([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function Rc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Oc(e){return e.filter(t=>!Rc(t))}const Sn=new Set,Ei=()=>document.createElement("link"),Fc=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ic=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Jt;const Pc=Ce&&(Jt=Ei())&&Jt.relList&&Jt.relList.supports&&Jt.relList.supports("prefetch")?Fc:Ic;function hf(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Sn.has(c)){Sn.add(c);const a=xc(c);Pc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:c}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=c.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(i):Sn.add(c))})})};Cn(s);const r=xi();Qt(()=>r.path,s),xn(()=>{n&&n.disconnect()})}const pf=Vr({setup(e,{slots:t}){const n=Pr(!1);return Cn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function gf(){if(Ce){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+`
 `),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),Mc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function Mc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function mf(){Ce&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}export{ff as $,li as A,Mo as B,Jc as C,xl as D,ce as E,he as F,Dc as G,sf as H,Bc as I,ef as J,Qc as K,Zc as L,kc as M,qc as N,Kc as O,rf as P,_i as Q,Ce as R,$c as S,gi as T,Uc as U,Yc as V,of as W,pt as X,Uo as Y,Yo as Z,nf as _,ai as a,bo as a0,Xn as a1,Hr as a2,Gc as a3,Vc as a4,jc as a5,Xc as a6,df as a7,hf as a8,gf as a9,mf as aa,zn as ab,Ec as ac,lf as ad,wc as ae,uf as af,pf as ag,st as ah,tf as ai,af as aj,xc as ak,wo as b,zc as c,Vr as d,Hc as e,Fr as f,Nc as g,Pr as h,Ki as i,Sc as j,jo as k,Te as l,ui as m,Zn as n,ii as o,Cn as p,pc as q,Wc as r,cr as s,Lc as t,cf as u,hc as v,Qt as w,xi as x,xn as y,fi as z};
diff --git a/docs/document/assets/chunks/theme.a5bd0c57.js b/docs/document/assets/chunks/theme.76780fa4.js
similarity index 72%
rename from docs/document/assets/chunks/theme.a5bd0c57.js
rename to docs/document/assets/chunks/theme.76780fa4.js
index 892726e0c..435a5fd93 100644
--- a/docs/document/assets/chunks/theme.a5bd0c57.js
+++ b/docs/document/assets/chunks/theme.76780fa4.js
@@ -1,7 +1,7 @@
-import{d as $,o as c,c as r,r as h,n as B,a as O,t as L,_ as g,u as nt,b as l,e as bt,f as st,g as kt,h as S,i as $t,j as Pt,w as ee,k as ae,l as w,m as xt,p as J,q as Vt,P as wt,s as be,v as te,x as le,y as Ie,z as u,F as T,A as V,B as v,T as Te,C as k,D as _e,E as p,G as W,H as St,I as Ke,J as Lt,K as ot,L as Mt,M as D,N as Ct,O as Q,Q as at,R as It,S as R,U,V as Tt,W as We,X as Ae,Y as he,Z as At,$ as ie,a0 as Be,a1 as Bt,a2 as Nt,a3 as zt,a4 as Ht,a5 as Et,a6 as Dt}from"./framework.f7d2e3c3.js";const Ot=$({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(c(),r("span",{class:B(["VPBadge",e.type??"tip"])},[h(t.$slots,"default",{},()=>[O(L(e.text),1)],!0)],2))}});const Ft=g(Ot,[["__scopeId","data-v-e233384c"]]),M=nt;function it(e){return $t()?(Pt(e),!0):!1}function ct(e){return typeof e=="function"?e():l(e)}const jt=typeof window<"u",lt=()=>{};function qt(...e){if(e.length!==1)return bt(...e);const t=e[0];return typeof t=="function"?st(kt(()=>({get:t,set:lt}))):S(t)}function Gt(e){var t;const n=ct(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ne=jt?window:void 0;function Rt(...e){let t,n,s,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,o]=e,t=Ne):[t,n,s,o]=e,!t)return lt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const a=[],i=()=>{a.forEach(y=>y()),a.length=0},_=(y,b,P,m)=>(y.addEventListener(b,P,m),()=>y.removeEventListener(b,P,m)),d=ee(()=>[Gt(t),ct(o)],([y,b])=>{i(),y&&a.push(...n.flatMap(P=>s.map(m=>_(y,P,m,b))))},{immediate:!0,flush:"post"}),f=()=>{d(),i()};return it(f),f}function Ut(){const e=S(!1);return xt()&&J(()=>{e.value=!0}),e}function Kt(e){const t=Ut();return w(()=>(t.value,!!e()))}function Se(e,t={}){const{window:n=Ne}=t,s=Kt(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const a=S(!1),i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",_):o.removeListener(_))},_=()=>{s.value&&(i(),o=n.matchMedia(qt(e).value),a.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",_):o.addListener(_)))};return ae(_),it(()=>i()),a}function Wt({window:e=Ne}={}){if(!e)return{x:S(0),y:S(0)};const t=S(e.scrollX),n=S(e.scrollY);return Rt(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Yt(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Le(e){return/^\//.test(e)?e:`/${e}`}function ce(e){if(Vt(e))return e.replace(wt,"");const{site:t}=M(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),a=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return be(a)}function rt(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=Le(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(Le(s)));return n?e[n]:[]}function Xt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function Jt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function Me(e,t){return Array.isArray(t)?t.some(n=>Me(e,n)):te(e,t.link)?!0:t.items?Me(e,t.items):!1}function K(){const e=le(),{theme:t,frontmatter:n}=M(),s=Se("(min-width: 960px)"),o=S(!1),a=w(()=>{const x=t.value.sidebar,A=e.data.relativePath;return x?rt(x,A):[]}),i=w(()=>n.value.sidebar!==!1&&a.value.length>0&&n.value.layout!=="home"),_=w(()=>d?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),d=w(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),f=w(()=>i.value&&s.value),y=w(()=>i.value?Xt(a.value):[]);function b(){o.value=!0}function P(){o.value=!1}function m(){o.value?P():b()}return{isOpen:o,sidebar:a,sidebarGroups:y,hasSidebar:i,hasAside:d,leftAside:_,isSidebarEnabled:f,open:b,close:P,toggle:m}}function Qt(e,t){let n;ae(()=>{n=e.value?document.activeElement:void 0}),J(()=>{window.addEventListener("keyup",s)}),Ie(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Zt(e){const{page:t}=M(),n=S(!1),s=w(()=>e.value.collapsed!=null),o=w(()=>!!e.value.link),a=w(()=>te(t.value.relativePath,e.value.link)),i=w(()=>a.value?!0:e.value.items?Me(t.value.relativePath,e.value.items):!1),_=w(()=>!!(e.value.items&&e.value.items.length));ae(()=>{n.value=!!(s.value&&e.value.collapsed)}),ae(()=>{(a.value||i.value)&&(n.value=!1)});function d(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:_,toggle:d}}const en=$({__name:"VPSkipLink",setup(e){const t=le(),n=S();ee(()=>t.path,()=>n.value.focus());function s({target:o}){const a=document.querySelector(decodeURIComponent(o.hash));if(a){const i=()=>{a.removeAttribute("tabindex"),a.removeEventListener("blur",i)};a.setAttribute("tabindex","-1"),a.addEventListener("blur",i),a.focus(),window.scrollTo(0,0)}}return(o,a)=>(c(),r(T,null,[u("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const tn=g(en,[["__scopeId","data-v-994b33bc"]]),nn={key:0,class:"VPBackdrop"},sn=$({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(c(),V(Te,{name:"fade"},{default:v(()=>[e.show?(c(),r("div",nn)):k("",!0)]),_:1}))}});const on=g(sn,[["__scopeId","data-v-b2600058"]]);function an(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const a=le();return ee(()=>a.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function re({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:a}=M(),i=w(()=>{var d,f;return{label:(d=n.value.locales[s.value])==null?void 0:d.label,link:((f=n.value.locales[s.value])==null?void 0:f.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:w(()=>Object.entries(n.value.locales).flatMap(([d,f])=>e&&i.value.label===f.label?[]:{text:f.label,link:cn(f.link||(d==="root"?"/":`/${d}/`),a.value.i18nRouting!==!1&&t,o.value.relativePath.slice(i.value.link.length-1),!n.value.cleanUrls)})),currentLang:i}}function cn(e,t,n,s){return t?e.replace(/\/$/,"")+Le(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const ln=["src","alt"],rn={inheritAttrs:!1},un=$({...rn,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=W("VPImage",!0);return e.image?(c(),r(T,{key:0},[typeof e.image=="string"||"src"in e.image?(c(),r("img",_e({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:l(be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ln)):(c(),r(T,{key:1},[p(s,_e({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),p(s,_e({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):k("",!0)}}});const ze=g(un,[["__scopeId","data-v-74766fef"]]),dn=["href"],_n=$({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=M(),{hasSidebar:s}=K(),{currentLang:o}=re();return(a,i)=>(c(),r("div",{class:B(["VPNavBarTitle",{"has-sidebar":l(s)}])},[u("a",{class:"title",href:l(ce)(l(o).link)},[h(a.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(c(),V(ze,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):k("",!0),l(n).siteTitle?(c(),r(T,{key:1},[O(L(l(n).siteTitle),1)],64)):l(n).siteTitle===void 0?(c(),r(T,{key:2},[O(L(l(t).title),1)],64)):k("",!0),h(a.$slots,"nav-bar-title-after",{},void 0,!0)],8,dn)],2))}});const hn=g(_n,[["__scopeId","data-v-bd15f18e"]]),vn="/document/assets/flex-logo.2489261b.svg";function xe(e,t){return typeof e>"u"?t:e}function Ye(e){const t=Array(e);for(let n=0;n=this.minlength&&(_||!i[y])){let P=de(d,o,f),m="";switch(this.tokenize){case"full":if(3x;A--)if(A-x>=this.minlength){const N=de(d,o,f,b,x);m=y.substring(x,A),this.push_index(i,m,N,e,n)}break}case"reverse":if(2=this.minlength){const A=de(d,o,f,b,x);this.push_index(i,m,A,e,n)}m=""}case"forward":if(1=this.minlength&&this.push_index(i,m,P,e,n);break}default:if(this.boost&&(P=Math.min(0|P/this.boost(t,y,f),d-1)),this.push_index(i,y,P,e,n),_&&1=this.minlength&&!x[y]){x[y]=1;const C=de(A+(o/2>A?0:1),o,f,H-1,I-1),z=this.bidirectional&&y>N;this.push_index(a,z?N:y,C,e,n,z?y:N)}}}}}this.fastupdate||(this.register[e]=1)}}return this};function de(e,t,n,s,o){return n&&1=this.minlength&&!b[m]){if(!this.optimize&&!a&&!this.map[m])return i;P[A++]=m,b[m]=1}e=P,s=e.length}if(!s)return i;t||(t=100);let d,f=this.depth&&1=n)))));m++);if(f)return o?Qe(_,n,0):void(e[e.length]=_)}return!t&&_};function Qe(e,t,n){return e=e.length===1?e[0]:pn(e),n||e.length>t?e.slice(n,n+t):e}function Ze(e,t,n,s){if(n){const o=s&&t>n;e=e[o?t:n],e=e&&e[o?n:t]}else e=e[t];return e}F.prototype.contain=function(e){return!!this.register[e]},F.prototype.update=function(e,t){return this.remove(e).add(e,t)},F.prototype.remove=function(e,t){const n=this.register[e];if(n){if(this.fastupdate)for(let s,o=0;o{if(a.value){for(var I=b.value.search(a.value,{enrich:!0}),C=[],z=0;z!I||!I.length?[]:I.reduce((z,E)=>(z[C(E)]||(z[C(E)]=[]),z[C(E)].push(E),z),{}),N=()=>{setTimeout(()=>{_.value&&_.value.focus()},100),H(),o.value=!0};J(async()=>{var E,G;const I=await St(()=>import("./virtual_search-data.8219a1ca.js"),[]);d.value=I.default.INDEX_DATA,f.value=I.default.PREVIEW_LOOKUP,y.value=I.default.Options,i.value=window.location.origin+be(n.value==="root"?"/":n.value),P.value=((E=y.value)==null?void 0:E.buttonLabel)||P.value,m.value=((G=y.value)==null?void 0:G.placeholder)||m.value;var C=new F(y.value);C.import("reg",d.value.reg),C.import("cfg",d.value.cfg),C.import("map",d.value.map),C.import("ctx",d.value.ctx),b.value=C,s.value.innerHTML=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"⌘":"Ctrl";const z=q=>{var ue;q.key==="k"&&(q.ctrlKey||q.metaKey)&&(q.preventDefault(),N()),q.key==="Escape"&&((ue=a.value)==null?void 0:ue.length)==0&&o.value&&(o.value=!1)};window.addEventListener("keydown",z)});function H(){o.value=!1,a.value=""}return(I,C)=>{const z=W("ClientOnly");return c(),r("div",zn,[p(z,null,{default:v(()=>[(c(),V(Ct,{to:"body"},[Ke(u("div",{class:"VPPluginSearch-modal-back",onClick:C[2]||(C[2]=E=>o.value=!1)},[u("div",{class:"VPPluginSearch-modal",onClick:C[1]||(C[1]=ot(()=>{},["stop"]))},[u("form",Hn,[En,Ke(u("input",{class:"DocSearch-Input","aria-autocomplete":"both","aria-labelledby":"docsearch-label",id:"docsearch-input",autocomplete:"off",autocorrect:"off",autocapitalize:"off",enterkeyhint:"search",spellcheck:"false",autofocus:"true","onUpdate:modelValue":C[0]||(C[0]=E=>a.value=E),placeholder:m.value,maxlength:"64",type:"search",ref_key:"input",ref:_},null,8,Dn),[[Mt,a.value]])]),u("div",On,[(c(!0),r(T,null,D(A(l(x),E=>E.link.split("/").slice(0,-1).join("-")),(E,G)=>(c(),r("div",{key:G},[u("span",Fn,L(G?G.toString()[0].toUpperCase()+G.toString().slice(1):"Home"),1),(c(!0),r(T,null,D(E,q=>(c(),r("a",{href:i.value+q.link,key:q.id,onClick:H},[u("div",qn,[u("span",Gn,L(q.link.includes("#")?"#":"▤"),1),u("div",Rn,[u("h3",null,L(q.title),1),u("p",null,[u("div",{innerHTML:q.preview},null,8,Un)])]),Kn])],8,jn))),128))]))),128))]),Wn])],512),[[Lt,o.value]])]))]),_:1}),u("div",{id:"docsearch",onClick:C[3]||(C[3]=E=>N())},[u("button",Yn,[u("span",Xn,[Jn,u("span",Qn,L(P.value),1)]),u("span",Zn,[u("span",{class:"DocSearch-Button-Key",ref_key:"metaKey",ref:s},"Meta",512),es])])])])}}});const ns={},ss={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},os=u("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),as=u("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),is=[os,as];function cs(e,t){return c(),r("svg",ss,is)}const ls=g(ns,[["render",cs]]),rs=$({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=w(()=>t.tag??t.href?"a":"span"),s=w(()=>t.href&&at.test(t.href));return(o,a)=>(c(),V(Q(l(n)),{class:B(["VPLink",{link:e.href}]),href:e.href?l(ce)(e.href):void 0,target:e.target||(l(s)?"_blank":void 0),rel:e.rel||(l(s)?"noreferrer":void 0)},{default:v(()=>[h(o.$slots,"default",{},void 0,!0),l(s)&&!e.noIcon?(c(),V(ls,{key:0,class:"icon"})):k("",!0)]),_:3},8,["class","href","target","rel"]))}});const Y=g(rs,[["__scopeId","data-v-87683ad2"]]),us=$({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),V(Y,{class:B({VPNavBarMenuLink:!0,active:l(te)(l(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[O(L(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const ds=g(us,[["__scopeId","data-v-6dd6d312"]]),He=S();let ut=!1,we=0;function _s(e){const t=S(!1);if(It){!ut&&hs(),we++;const n=ee(He,s=>{var o,a,i;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(a=e.onFocus)==null||a.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});Ie(()=>{n(),we--,we||vs()})}return st(t)}function hs(){document.addEventListener("focusin",dt),ut=!0,He.value=document.activeElement}function vs(){document.removeEventListener("focusin",dt)}function dt(){He.value=document.activeElement}const fs={},ps={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ms=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),gs=[ms];function ys(e,t){return c(),r("svg",ps,gs)}const _t=g(fs,[["render",ys]]),bs={},ks={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},$s=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),Ps=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),xs=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),Vs=[$s,Ps,xs];function ws(e,t){return c(),r("svg",ks,Vs)}const Ss=g(bs,[["render",ws]]),Ls={class:"VPMenuLink"},Ms=$({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),r("div",Ls,[p(Y,{class:B({active:l(te)(l(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[O(L(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ke=g(Ms,[["__scopeId","data-v-b9520bf2"]]),Cs={class:"VPMenuGroup"},Is={key:0,class:"title"},Ts=$({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(c(),r("div",Cs,[e.text?(c(),r("p",Is,L(e.text),1)):k("",!0),(c(!0),r(T,null,D(e.items,s=>(c(),r(T,null,["link"in s?(c(),V(ke,{key:0,item:s},null,8,["item"])):k("",!0)],64))),256))]))}});const As=g(Ts,[["__scopeId","data-v-2bec9359"]]),Bs={class:"VPMenu"},Ns={key:0,class:"items"},zs=$({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(c(),r("div",Bs,[e.items?(c(),r("div",Ns,[(c(!0),r(T,null,D(e.items,s=>(c(),r(T,{key:s.text},["link"in s?(c(),V(ke,{key:0,item:s},null,8,["item"])):(c(),V(As,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):k("",!0),h(t.$slots,"default",{},void 0,!0)]))}});const Hs=g(zs,[["__scopeId","data-v-7bffa9cd"]]),Es=["aria-expanded","aria-label"],Ds={key:0,class:"text"},Os={class:"menu"},Fs=$({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=S(!1),n=S();_s({el:n,onBlur:s});function s(){t.value=!1}return(o,a)=>(c(),r("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:a[1]||(a[1]=i=>t.value=!0),onMouseleave:a[2]||(a[2]=i=>t.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:a[0]||(a[0]=i=>t.value=!t.value)},[e.button||e.icon?(c(),r("span",Ds,[e.icon?(c(),V(Q(e.icon),{key:0,class:"option-icon"})):k("",!0),O(" "+L(e.button)+" ",1),p(_t,{class:"text-icon"})])):(c(),V(Ss,{key:1,class:"icon"}))],8,Es),u("div",Os,[p(Hs,{items:e.items},{default:v(()=>[h(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Ee=g(Fs,[["__scopeId","data-v-64c29883"]]),js=$({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),V(Ee,{class:B({VPNavBarMenuGroup:!0,active:l(te)(l(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),qs=e=>(R("data-v-c6c3e6d4"),e=e(),U(),e),Gs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Rs=qs(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Us=$({__name:"VPNavBarMenu",setup(e){const{theme:t}=M();return(n,s)=>l(t).nav?(c(),r("nav",Gs,[Rs,(c(!0),r(T,null,D(l(t).nav,o=>(c(),r(T,{key:o.text},["link"in o?(c(),V(ds,{key:0,item:o},null,8,["item"])):(c(),V(js,{key:1,item:o},null,8,["item"]))],64))),128))])):k("",!0)}});const Ks=g(Us,[["__scopeId","data-v-c6c3e6d4"]]),Ws={},Ys={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Xs=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Js=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Qs=[Xs,Js];function Zs(e,t){return c(),r("svg",Ys,Qs)}const ht=g(Ws,[["render",Zs]]),eo={class:"items"},to={class:"title"},no=$({__name:"VPNavBarTranslations",setup(e){const{theme:t}=M(),{localeLinks:n,currentLang:s}=re({correspondingLink:!0});return(o,a)=>l(n).length&&l(s).label?(c(),V(Ee,{key:0,class:"VPNavBarTranslations",icon:ht,label:l(t).langMenuLabel||"Change language"},{default:v(()=>[u("div",eo,[u("p",to,L(l(s).label),1),(c(!0),r(T,null,D(l(n),i=>(c(),V(ke,{key:i.link,item:i},null,8,["item"]))),128))])]),_:1},8,["label"])):k("",!0)}});const so=g(no,[["__scopeId","data-v-3bf1c934"]]);const oo={},ao={class:"VPSwitch",type:"button",role:"switch"},io={class:"check"},co={key:0,class:"icon"};function lo(e,t){return c(),r("button",ao,[u("span",io,[e.$slots.default?(c(),r("span",co,[h(e.$slots,"default",{},void 0,!0)])):k("",!0)])])}const ro=g(oo,[["render",lo],["__scopeId","data-v-0a2eba70"]]),uo={},_o={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ho=Tt('',9),vo=[ho];function fo(e,t){return c(),r("svg",_o,vo)}const po=g(uo,[["render",fo]]),mo={},go={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},yo=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),bo=[yo];function ko(e,t){return c(),r("svg",go,bo)}const $o=g(mo,[["render",ko]]),Po={title:"toggle dark mode"},xo=$({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=M(),s=S(!1),o=typeof localStorage<"u"?a():()=>{};J(()=>{s.value=document.documentElement.classList.contains("dark")});function a(){const i=window.matchMedia("(prefers-color-scheme: dark)"),_=document.documentElement.classList;let d=localStorage.getItem(We),f=t.value.appearance==="dark"&&d==null||(d==="auto"||d==null?i.matches:d==="dark");i.onchange=P=>{d==="auto"&&b(f=P.matches)};function y(){b(f=!f),d=f?i.matches?"auto":"dark":i.matches?"light":"auto",localStorage.setItem(We,d)}function b(P){const m=document.createElement("style");m.type="text/css",m.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) {
+import{d as $,o as c,c as r,r as h,n as B,a as O,t as L,_ as g,u as nt,b as l,e as bt,f as st,g as kt,h as S,i as $t,j as Pt,w as ee,k as ae,l as w,m as xt,p as J,q as Vt,P as wt,s as be,v as te,x as le,y as Ie,z as u,F as T,A as V,B as v,T as Te,C as k,D as _e,E as p,G as W,H as St,I as Ke,J as Lt,K as ot,L as Mt,M as D,N as Ct,O as Q,Q as at,R as It,S as R,U,V as Tt,W as We,X as Ae,Y as he,Z as At,$ as ie,a0 as Be,a1 as Bt,a2 as Nt,a3 as zt,a4 as Ht,a5 as Et,a6 as Dt}from"./framework.48115c03.js";const Ot=$({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(c(),r("span",{class:B(["VPBadge",e.type??"tip"])},[h(t.$slots,"default",{},()=>[O(L(e.text),1)],!0)],2))}});const Ft=g(Ot,[["__scopeId","data-v-e233384c"]]),M=nt;function it(e){return $t()?(Pt(e),!0):!1}function ct(e){return typeof e=="function"?e():l(e)}const jt=typeof window<"u",lt=()=>{};function qt(...e){if(e.length!==1)return bt(...e);const t=e[0];return typeof t=="function"?st(kt(()=>({get:t,set:lt}))):S(t)}function Gt(e){var t;const n=ct(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ne=jt?window:void 0;function Rt(...e){let t,n,s,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,o]=e,t=Ne):[t,n,s,o]=e,!t)return lt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const a=[],i=()=>{a.forEach(y=>y()),a.length=0},_=(y,b,P,m)=>(y.addEventListener(b,P,m),()=>y.removeEventListener(b,P,m)),d=ee(()=>[Gt(t),ct(o)],([y,b])=>{i(),y&&a.push(...n.flatMap(P=>s.map(m=>_(y,P,m,b))))},{immediate:!0,flush:"post"}),f=()=>{d(),i()};return it(f),f}function Ut(){const e=S(!1);return xt()&&J(()=>{e.value=!0}),e}function Kt(e){const t=Ut();return w(()=>(t.value,!!e()))}function Se(e,t={}){const{window:n=Ne}=t,s=Kt(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const a=S(!1),i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",_):o.removeListener(_))},_=()=>{s.value&&(i(),o=n.matchMedia(qt(e).value),a.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",_):o.addListener(_)))};return ae(_),it(()=>i()),a}function Wt({window:e=Ne}={}){if(!e)return{x:S(0),y:S(0)};const t=S(e.scrollX),n=S(e.scrollY);return Rt(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Yt(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Le(e){return/^\//.test(e)?e:`/${e}`}function ce(e){if(Vt(e))return e.replace(wt,"");const{site:t}=M(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),a=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return be(a)}function rt(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=Le(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(Le(s)));return n?e[n]:[]}function Xt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function Jt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function Me(e,t){return Array.isArray(t)?t.some(n=>Me(e,n)):te(e,t.link)?!0:t.items?Me(e,t.items):!1}function K(){const e=le(),{theme:t,frontmatter:n}=M(),s=Se("(min-width: 960px)"),o=S(!1),a=w(()=>{const x=t.value.sidebar,A=e.data.relativePath;return x?rt(x,A):[]}),i=w(()=>n.value.sidebar!==!1&&a.value.length>0&&n.value.layout!=="home"),_=w(()=>d?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),d=w(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),f=w(()=>i.value&&s.value),y=w(()=>i.value?Xt(a.value):[]);function b(){o.value=!0}function P(){o.value=!1}function m(){o.value?P():b()}return{isOpen:o,sidebar:a,sidebarGroups:y,hasSidebar:i,hasAside:d,leftAside:_,isSidebarEnabled:f,open:b,close:P,toggle:m}}function Qt(e,t){let n;ae(()=>{n=e.value?document.activeElement:void 0}),J(()=>{window.addEventListener("keyup",s)}),Ie(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Zt(e){const{page:t}=M(),n=S(!1),s=w(()=>e.value.collapsed!=null),o=w(()=>!!e.value.link),a=w(()=>te(t.value.relativePath,e.value.link)),i=w(()=>a.value?!0:e.value.items?Me(t.value.relativePath,e.value.items):!1),_=w(()=>!!(e.value.items&&e.value.items.length));ae(()=>{n.value=!!(s.value&&e.value.collapsed)}),ae(()=>{(a.value||i.value)&&(n.value=!1)});function d(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:_,toggle:d}}const en=$({__name:"VPSkipLink",setup(e){const t=le(),n=S();ee(()=>t.path,()=>n.value.focus());function s({target:o}){const a=document.querySelector(decodeURIComponent(o.hash));if(a){const i=()=>{a.removeAttribute("tabindex"),a.removeEventListener("blur",i)};a.setAttribute("tabindex","-1"),a.addEventListener("blur",i),a.focus(),window.scrollTo(0,0)}}return(o,a)=>(c(),r(T,null,[u("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const tn=g(en,[["__scopeId","data-v-994b33bc"]]),nn={key:0,class:"VPBackdrop"},sn=$({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(c(),V(Te,{name:"fade"},{default:v(()=>[e.show?(c(),r("div",nn)):k("",!0)]),_:1}))}});const on=g(sn,[["__scopeId","data-v-b2600058"]]);function an(){const e=S(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const a=le();return ee(()=>a.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function re({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:a}=M(),i=w(()=>{var d,f;return{label:(d=n.value.locales[s.value])==null?void 0:d.label,link:((f=n.value.locales[s.value])==null?void 0:f.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:w(()=>Object.entries(n.value.locales).flatMap(([d,f])=>e&&i.value.label===f.label?[]:{text:f.label,link:cn(f.link||(d==="root"?"/":`/${d}/`),a.value.i18nRouting!==!1&&t,o.value.relativePath.slice(i.value.link.length-1),!n.value.cleanUrls)})),currentLang:i}}function cn(e,t,n,s){return t?e.replace(/\/$/,"")+Le(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const ln=["src","alt"],rn={inheritAttrs:!1},un=$({...rn,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=W("VPImage",!0);return e.image?(c(),r(T,{key:0},[typeof e.image=="string"||"src"in e.image?(c(),r("img",_e({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:l(be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ln)):(c(),r(T,{key:1},[p(s,_e({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),p(s,_e({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):k("",!0)}}});const ze=g(un,[["__scopeId","data-v-74766fef"]]),dn=["href"],_n=$({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=M(),{hasSidebar:s}=K(),{currentLang:o}=re();return(a,i)=>(c(),r("div",{class:B(["VPNavBarTitle",{"has-sidebar":l(s)}])},[u("a",{class:"title",href:l(ce)(l(o).link)},[h(a.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(c(),V(ze,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):k("",!0),l(n).siteTitle?(c(),r(T,{key:1},[O(L(l(n).siteTitle),1)],64)):l(n).siteTitle===void 0?(c(),r(T,{key:2},[O(L(l(t).title),1)],64)):k("",!0),h(a.$slots,"nav-bar-title-after",{},void 0,!0)],8,dn)],2))}});const hn=g(_n,[["__scopeId","data-v-bd15f18e"]]),vn="/document/assets/flex-logo.2489261b.svg";function xe(e,t){return typeof e>"u"?t:e}function Ye(e){const t=Array(e);for(let n=0;n=this.minlength&&(_||!i[y])){let P=de(d,o,f),m="";switch(this.tokenize){case"full":if(3x;A--)if(A-x>=this.minlength){const N=de(d,o,f,b,x);m=y.substring(x,A),this.push_index(i,m,N,e,n)}break}case"reverse":if(2=this.minlength){const A=de(d,o,f,b,x);this.push_index(i,m,A,e,n)}m=""}case"forward":if(1=this.minlength&&this.push_index(i,m,P,e,n);break}default:if(this.boost&&(P=Math.min(0|P/this.boost(t,y,f),d-1)),this.push_index(i,y,P,e,n),_&&1=this.minlength&&!x[y]){x[y]=1;const C=de(A+(o/2>A?0:1),o,f,H-1,I-1),z=this.bidirectional&&y>N;this.push_index(a,z?N:y,C,e,n,z?y:N)}}}}}this.fastupdate||(this.register[e]=1)}}return this};function de(e,t,n,s,o){return n&&1=this.minlength&&!b[m]){if(!this.optimize&&!a&&!this.map[m])return i;P[A++]=m,b[m]=1}e=P,s=e.length}if(!s)return i;t||(t=100);let d,f=this.depth&&1=n)))));m++);if(f)return o?Qe(_,n,0):void(e[e.length]=_)}return!t&&_};function Qe(e,t,n){return e=e.length===1?e[0]:pn(e),n||e.length>t?e.slice(n,n+t):e}function Ze(e,t,n,s){if(n){const o=s&&t>n;e=e[o?t:n],e=e&&e[o?n:t]}else e=e[t];return e}F.prototype.contain=function(e){return!!this.register[e]},F.prototype.update=function(e,t){return this.remove(e).add(e,t)},F.prototype.remove=function(e,t){const n=this.register[e];if(n){if(this.fastupdate)for(let s,o=0;o{if(a.value){for(var I=b.value.search(a.value,{enrich:!0}),C=[],z=0;z!I||!I.length?[]:I.reduce((z,E)=>(z[C(E)]||(z[C(E)]=[]),z[C(E)].push(E),z),{}),N=()=>{setTimeout(()=>{_.value&&_.value.focus()},100),H(),o.value=!0};J(async()=>{var E,G;const I=await St(()=>import("./virtual_search-data.9f4788ba.js"),[]);d.value=I.default.INDEX_DATA,f.value=I.default.PREVIEW_LOOKUP,y.value=I.default.Options,i.value=window.location.origin+be(n.value==="root"?"/":n.value),P.value=((E=y.value)==null?void 0:E.buttonLabel)||P.value,m.value=((G=y.value)==null?void 0:G.placeholder)||m.value;var C=new F(y.value);C.import("reg",d.value.reg),C.import("cfg",d.value.cfg),C.import("map",d.value.map),C.import("ctx",d.value.ctx),b.value=C,s.value.innerHTML=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"⌘":"Ctrl";const z=q=>{var ue;q.key==="k"&&(q.ctrlKey||q.metaKey)&&(q.preventDefault(),N()),q.key==="Escape"&&((ue=a.value)==null?void 0:ue.length)==0&&o.value&&(o.value=!1)};window.addEventListener("keydown",z)});function H(){o.value=!1,a.value=""}return(I,C)=>{const z=W("ClientOnly");return c(),r("div",zn,[p(z,null,{default:v(()=>[(c(),V(Ct,{to:"body"},[Ke(u("div",{class:"VPPluginSearch-modal-back",onClick:C[2]||(C[2]=E=>o.value=!1)},[u("div",{class:"VPPluginSearch-modal",onClick:C[1]||(C[1]=ot(()=>{},["stop"]))},[u("form",Hn,[En,Ke(u("input",{class:"DocSearch-Input","aria-autocomplete":"both","aria-labelledby":"docsearch-label",id:"docsearch-input",autocomplete:"off",autocorrect:"off",autocapitalize:"off",enterkeyhint:"search",spellcheck:"false",autofocus:"true","onUpdate:modelValue":C[0]||(C[0]=E=>a.value=E),placeholder:m.value,maxlength:"64",type:"search",ref_key:"input",ref:_},null,8,Dn),[[Mt,a.value]])]),u("div",On,[(c(!0),r(T,null,D(A(l(x),E=>E.link.split("/").slice(0,-1).join("-")),(E,G)=>(c(),r("div",{key:G},[u("span",Fn,L(G?G.toString()[0].toUpperCase()+G.toString().slice(1):"Home"),1),(c(!0),r(T,null,D(E,q=>(c(),r("a",{href:i.value+q.link,key:q.id,onClick:H},[u("div",qn,[u("span",Gn,L(q.link.includes("#")?"#":"▤"),1),u("div",Rn,[u("h3",null,L(q.title),1),u("p",null,[u("div",{innerHTML:q.preview},null,8,Un)])]),Kn])],8,jn))),128))]))),128))]),Wn])],512),[[Lt,o.value]])]))]),_:1}),u("div",{id:"docsearch",onClick:C[3]||(C[3]=E=>N())},[u("button",Yn,[u("span",Xn,[Jn,u("span",Qn,L(P.value),1)]),u("span",Zn,[u("span",{class:"DocSearch-Button-Key",ref_key:"metaKey",ref:s},"Meta",512),es])])])])}}});const ns={},ss={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},os=u("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),as=u("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),is=[os,as];function cs(e,t){return c(),r("svg",ss,is)}const ls=g(ns,[["render",cs]]),rs=$({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=w(()=>t.tag??t.href?"a":"span"),s=w(()=>t.href&&at.test(t.href));return(o,a)=>(c(),V(Q(l(n)),{class:B(["VPLink",{link:e.href}]),href:e.href?l(ce)(e.href):void 0,target:e.target||(l(s)?"_blank":void 0),rel:e.rel||(l(s)?"noreferrer":void 0)},{default:v(()=>[h(o.$slots,"default",{},void 0,!0),l(s)&&!e.noIcon?(c(),V(ls,{key:0,class:"icon"})):k("",!0)]),_:3},8,["class","href","target","rel"]))}});const Y=g(rs,[["__scopeId","data-v-87683ad2"]]),us=$({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),V(Y,{class:B({VPNavBarMenuLink:!0,active:l(te)(l(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[O(L(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const ds=g(us,[["__scopeId","data-v-6dd6d312"]]),He=S();let ut=!1,we=0;function _s(e){const t=S(!1);if(It){!ut&&hs(),we++;const n=ee(He,s=>{var o,a,i;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(a=e.onFocus)==null||a.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});Ie(()=>{n(),we--,we||vs()})}return st(t)}function hs(){document.addEventListener("focusin",dt),ut=!0,He.value=document.activeElement}function vs(){document.removeEventListener("focusin",dt)}function dt(){He.value=document.activeElement}const fs={},ps={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ms=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),gs=[ms];function ys(e,t){return c(),r("svg",ps,gs)}const _t=g(fs,[["render",ys]]),bs={},ks={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},$s=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),Ps=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),xs=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),Vs=[$s,Ps,xs];function ws(e,t){return c(),r("svg",ks,Vs)}const Ss=g(bs,[["render",ws]]),Ls={class:"VPMenuLink"},Ms=$({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),r("div",Ls,[p(Y,{class:B({active:l(te)(l(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[O(L(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ke=g(Ms,[["__scopeId","data-v-b9520bf2"]]),Cs={class:"VPMenuGroup"},Is={key:0,class:"title"},Ts=$({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(c(),r("div",Cs,[e.text?(c(),r("p",Is,L(e.text),1)):k("",!0),(c(!0),r(T,null,D(e.items,s=>(c(),r(T,null,["link"in s?(c(),V(ke,{key:0,item:s},null,8,["item"])):k("",!0)],64))),256))]))}});const As=g(Ts,[["__scopeId","data-v-2bec9359"]]),Bs={class:"VPMenu"},Ns={key:0,class:"items"},zs=$({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(c(),r("div",Bs,[e.items?(c(),r("div",Ns,[(c(!0),r(T,null,D(e.items,s=>(c(),r(T,{key:s.text},["link"in s?(c(),V(ke,{key:0,item:s},null,8,["item"])):(c(),V(As,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):k("",!0),h(t.$slots,"default",{},void 0,!0)]))}});const Hs=g(zs,[["__scopeId","data-v-7bffa9cd"]]),Es=["aria-expanded","aria-label"],Ds={key:0,class:"text"},Os={class:"menu"},Fs=$({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=S(!1),n=S();_s({el:n,onBlur:s});function s(){t.value=!1}return(o,a)=>(c(),r("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:a[1]||(a[1]=i=>t.value=!0),onMouseleave:a[2]||(a[2]=i=>t.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:a[0]||(a[0]=i=>t.value=!t.value)},[e.button||e.icon?(c(),r("span",Ds,[e.icon?(c(),V(Q(e.icon),{key:0,class:"option-icon"})):k("",!0),O(" "+L(e.button)+" ",1),p(_t,{class:"text-icon"})])):(c(),V(Ss,{key:1,class:"icon"}))],8,Es),u("div",Os,[p(Hs,{items:e.items},{default:v(()=>[h(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Ee=g(Fs,[["__scopeId","data-v-64c29883"]]),js=$({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=M();return(n,s)=>(c(),V(Ee,{class:B({VPNavBarMenuGroup:!0,active:l(te)(l(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),qs=e=>(R("data-v-c6c3e6d4"),e=e(),U(),e),Gs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Rs=qs(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Us=$({__name:"VPNavBarMenu",setup(e){const{theme:t}=M();return(n,s)=>l(t).nav?(c(),r("nav",Gs,[Rs,(c(!0),r(T,null,D(l(t).nav,o=>(c(),r(T,{key:o.text},["link"in o?(c(),V(ds,{key:0,item:o},null,8,["item"])):(c(),V(js,{key:1,item:o},null,8,["item"]))],64))),128))])):k("",!0)}});const Ks=g(Us,[["__scopeId","data-v-c6c3e6d4"]]),Ws={},Ys={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Xs=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Js=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Qs=[Xs,Js];function Zs(e,t){return c(),r("svg",Ys,Qs)}const ht=g(Ws,[["render",Zs]]),eo={class:"items"},to={class:"title"},no=$({__name:"VPNavBarTranslations",setup(e){const{theme:t}=M(),{localeLinks:n,currentLang:s}=re({correspondingLink:!0});return(o,a)=>l(n).length&&l(s).label?(c(),V(Ee,{key:0,class:"VPNavBarTranslations",icon:ht,label:l(t).langMenuLabel||"Change language"},{default:v(()=>[u("div",eo,[u("p",to,L(l(s).label),1),(c(!0),r(T,null,D(l(n),i=>(c(),V(ke,{key:i.link,item:i},null,8,["item"]))),128))])]),_:1},8,["label"])):k("",!0)}});const so=g(no,[["__scopeId","data-v-3bf1c934"]]);const oo={},ao={class:"VPSwitch",type:"button",role:"switch"},io={class:"check"},co={key:0,class:"icon"};function lo(e,t){return c(),r("button",ao,[u("span",io,[e.$slots.default?(c(),r("span",co,[h(e.$slots,"default",{},void 0,!0)])):k("",!0)])])}const ro=g(oo,[["render",lo],["__scopeId","data-v-0a2eba70"]]),uo={},_o={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ho=Tt('',9),vo=[ho];function fo(e,t){return c(),r("svg",_o,vo)}const po=g(uo,[["render",fo]]),mo={},go={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},yo=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),bo=[yo];function ko(e,t){return c(),r("svg",go,bo)}const $o=g(mo,[["render",ko]]),Po={title:"toggle dark mode"},xo=$({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=M(),s=S(!1),o=typeof localStorage<"u"?a():()=>{};J(()=>{s.value=document.documentElement.classList.contains("dark")});function a(){const i=window.matchMedia("(prefers-color-scheme: dark)"),_=document.documentElement.classList;let d=localStorage.getItem(We),f=t.value.appearance==="dark"&&d==null||(d==="auto"||d==null?i.matches:d==="dark");i.onchange=P=>{d==="auto"&&b(f=P.matches)};function y(){b(f=!f),d=f?i.matches?"auto":"dark":i.matches?"light":"auto",localStorage.setItem(We,d)}function b(P){const m=document.createElement("style");m.type="text/css",m.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) {
   -webkit-transition: none !important;
   -moz-transition: none !important;
   -o-transition: none !important;
   -ms-transition: none !important;
   transition: none !important;
-}`)),document.head.appendChild(m),s.value=P,_[P?"add":"remove"]("dark"),window.getComputedStyle(m).opacity,document.head.removeChild(m)}return y}return ee(s,i=>{n.value=i}),(i,_)=>(c(),r("label",Po,[p(ro,{class:"VPSwitchAppearance","aria-checked":s.value,onClick:l(o)},{default:v(()=>[p(po,{class:"sun"}),p($o,{class:"moon"})]),_:1},8,["aria-checked","onClick"])]))}});const De=g(xo,[["__scopeId","data-v-f37e294f"]]),Vo={key:0,class:"VPNavBarAppearance"},wo=$({__name:"VPNavBarAppearance",setup(e){const{site:t}=M();return(n,s)=>l(t).appearance?(c(),r("div",Vo,[p(De)])):k("",!0)}});const So=g(wo,[["__scopeId","data-v-88042fc7"]]),Lo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Mo=["href","aria-label","innerHTML"],Co=$({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=w(()=>typeof t.icon=="object"?t.icon.svg:Lo[t.icon]);return(s,o)=>(c(),r("a",{class:"VPSocialLink",href:e.link,"aria-label":typeof e.icon=="string"?e.icon:"",target:"_blank",rel:"noopener",innerHTML:l(n)},null,8,Mo))}});const Io=g(Co,[["__scopeId","data-v-ca994af5"]]),To={class:"VPSocialLinks"},Ao=$({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(c(),r("div",To,[(c(!0),r(T,null,D(e.links,({link:s,icon:o})=>(c(),V(Io,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const Oe=g(Ao,[["__scopeId","data-v-de2bf516"]]),Bo=$({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=M();return(n,s)=>l(t).socialLinks?(c(),V(Oe,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):k("",!0)}});const No=g(Bo,[["__scopeId","data-v-08b35e6f"]]),zo={key:0,class:"group translations"},Ho={class:"trans-title"},Eo={key:1,class:"group"},Do={class:"item appearance"},Oo={class:"label"},Fo={class:"appearance-action"},jo={key:2,class:"group"},qo={class:"item social-links"},Go=$({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=M(),{localeLinks:s,currentLang:o}=re({correspondingLink:!0}),a=w(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(i,_)=>l(a)?(c(),V(Ee,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(s).length&&l(o).label?(c(),r("div",zo,[u("p",Ho,L(l(o).label),1),(c(!0),r(T,null,D(l(s),d=>(c(),V(ke,{key:d.link,item:d},null,8,["item"]))),128))])):k("",!0),l(t).appearance?(c(),r("div",Eo,[u("div",Do,[u("p",Oo,L(l(n).darkModeSwitchLabel||"Appearance"),1),u("div",Fo,[p(De)])])])):k("",!0),l(n).socialLinks?(c(),r("div",jo,[u("div",qo,[p(Oe,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):k("",!0)]),_:1})):k("",!0)}});const Ro=g(Go,[["__scopeId","data-v-47bb42ad"]]),Uo=e=>(R("data-v-670493dd"),e=e(),U(),e),Ko=["aria-expanded"],Wo=Uo(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),Yo=[Wo],Xo=$({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(c(),r("button",{type:"button",class:B(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},Yo,10,Ko))}});const Jo=g(Xo,[["__scopeId","data-v-670493dd"]]),Qo=e=>(R("data-v-82c325fa"),e=e(),U(),e),Zo={class:"container"},ea={class:"title"},ta={class:"content"},na=Qo(()=>u("div",{class:"curtain"},null,-1)),sa={class:"content-body"},oa=$({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=Wt(),{hasSidebar:n}=K(),s=w(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,a)=>(c(),r("div",{class:B(["VPNavBar",l(s)])},[u("div",Zo,[u("div",ea,[p(hn,null,{"nav-bar-title-before":v(()=>[h(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",ta,[na,u("div",sa,[h(o.$slots,"nav-bar-content-before",{},void 0,!0),p(ts,{class:"search"}),p(Ks,{class:"menu"}),p(so,{class:"translations"}),p(So,{class:"appearance"}),p(No,{class:"social-links"}),p(Ro,{class:"extra"}),h(o.$slots,"nav-bar-content-after",{},void 0,!0),p(Jo,{class:"hamburger",active:e.isScreenOpen,onClick:a[0]||(a[0]=i=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const aa=g(oa,[["__scopeId","data-v-82c325fa"]]);function ia(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),Z=[],ge=!1,je=-1,se=void 0,X=void 0,oe=void 0,vt=function(t){return Z.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},ye=function(t){var n=t||window.event;return vt(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},ca=function(t){if(oe===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);oe=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}se===void 0&&(se=document.body.style.overflow,document.body.style.overflow="hidden")},la=function(){oe!==void 0&&(document.body.style.paddingRight=oe,oe=void 0),se!==void 0&&(document.body.style.overflow=se,se=void 0)},ra=function(){return window.requestAnimationFrame(function(){if(X===void 0){X={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var a=o-window.innerHeight;a&&n>=o&&(document.body.style.top=-(n+a))})},300)}})},ua=function(){if(X!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=X.position,document.body.style.top=X.top,document.body.style.left=X.left,window.scrollTo(n,t),X=void 0}},da=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},_a=function(t,n){var s=t.targetTouches[0].clientY-je;return vt(t.target)?!1:n&&n.scrollTop===0&&s>0||da(n)&&s<0?ye(t):(t.stopPropagation(),!0)},ft=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Z.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};Z=[].concat(ia(Z),[s]),me?ra():ca(n),me&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(je=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&_a(o,t)},ge||(document.addEventListener("touchmove",ye,Fe?{passive:!1}:void 0),ge=!0))}},pt=function(){me&&(Z.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),ge&&(document.removeEventListener("touchmove",ye,Fe?{passive:!1}:void 0),ge=!1),je=-1),me?ua():la(),Z=[]};const ha=$({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=Ae("close-screen");return(n,s)=>(c(),V(Y,{class:"VPNavScreenMenuLink",href:e.link,onClick:l(t)},{default:v(()=>[O(L(e.text),1)]),_:1},8,["href","onClick"]))}});const va=g(ha,[["__scopeId","data-v-0162d08e"]]),fa={},pa={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ma=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ga=[ma];function ya(e,t){return c(),r("svg",pa,ga)}const ba=g(fa,[["render",ya]]),ka=$({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=Ae("close-screen");return(n,s)=>(c(),V(Y,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:l(t)},{default:v(()=>[O(L(e.text),1)]),_:1},8,["href","onClick"]))}});const mt=g(ka,[["__scopeId","data-v-7fd086c3"]]),$a={class:"VPNavScreenMenuGroupSection"},Pa={key:0,class:"title"},xa=$({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(c(),r("div",$a,[e.text?(c(),r("p",Pa,L(e.text),1)):k("",!0),(c(!0),r(T,null,D(e.items,s=>(c(),V(mt,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const Va=g(xa,[["__scopeId","data-v-eb049aaa"]]),wa=["aria-controls","aria-expanded"],Sa={class:"button-text"},La=["id"],Ma={key:1,class:"group"},Ca=$({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=S(!1),s=w(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(a,i)=>(c(),r("div",{class:B(["VPNavScreenMenuGroup",{open:n.value}])},[u("button",{class:"button","aria-controls":l(s),"aria-expanded":n.value,onClick:o},[u("span",Sa,L(e.text),1),p(ba,{class:"button-icon"})],8,wa),u("div",{id:l(s),class:"items"},[(c(!0),r(T,null,D(e.items,_=>(c(),r(T,{key:_.text},["link"in _?(c(),r("div",{key:_.text,class:"item"},[p(mt,{text:_.text,link:_.link},null,8,["text","link"])])):(c(),r("div",Ma,[p(Va,{text:_.text,items:_.items},null,8,["text","items"])]))],64))),128))],8,La)],2))}});const Ia=g(Ca,[["__scopeId","data-v-48a8b068"]]),Ta={key:0,class:"VPNavScreenMenu"},Aa=$({__name:"VPNavScreenMenu",setup(e){const{theme:t}=M();return(n,s)=>l(t).nav?(c(),r("nav",Ta,[(c(!0),r(T,null,D(l(t).nav,o=>(c(),r(T,{key:o.text},["link"in o?(c(),V(va,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(c(),V(Ia,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):k("",!0)}}),Ba={key:0,class:"VPNavScreenAppearance"},Na={class:"text"},za=$({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=M();return(s,o)=>l(t).appearance?(c(),r("div",Ba,[u("p",Na,L(l(n).darkModeSwitchLabel||"Appearance"),1),p(De)])):k("",!0)}});const Ha=g(za,[["__scopeId","data-v-8d2d8cf1"]]),Ea={class:"list"},Da=$({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=re({correspondingLink:!0}),s=S(!1);function o(){s.value=!s.value}return(a,i)=>l(t).length&&l(n).label?(c(),r("div",{key:0,class:B(["VPNavScreenTranslations",{open:s.value}])},[u("button",{class:"title",onClick:o},[p(ht,{class:"icon lang"}),O(" "+L(l(n).label)+" ",1),p(_t,{class:"icon chevron"})]),u("ul",Ea,[(c(!0),r(T,null,D(l(t),_=>(c(),r("li",{key:_.link,class:"item"},[p(Y,{class:"link",href:_.link},{default:v(()=>[O(L(_.text),1)]),_:2},1032,["href"])]))),128))])],2)):k("",!0)}});const Oa=g(Da,[["__scopeId","data-v-b72581fd"]]),Fa=$({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=M();return(n,s)=>l(t).socialLinks?(c(),V(Oe,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):k("",!0)}}),ja={class:"container"},qa=$({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null);function n(){ft(t.value,{reserveScrollBarGap:!0})}function s(){pt()}return(o,a)=>(c(),V(Te,{name:"fade",onEnter:n,onAfterLeave:s},{default:v(()=>[e.open?(c(),r("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[u("div",ja,[h(o.$slots,"nav-screen-content-before",{},void 0,!0),p(Aa,{class:"menu"}),p(Oa,{class:"translations"}),p(Ha,{class:"appearance"}),p(Fa,{class:"social-links"}),h(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):k("",!0)]),_:3}))}});const Ga=g(qa,[["__scopeId","data-v-ea8d6f65"]]),Ra={class:"VPNav"},Ua=$({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=an();return he("close-screen",n),(o,a)=>(c(),r("header",Ra,[p(aa,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":v(()=>[h(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[h(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[h(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),p(Ga,{open:l(t)},{"nav-screen-content-before":v(()=>[h(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[h(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Ka=g(Ua,[["__scopeId","data-v-b1949460"]]),Wa={},Ya={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Xa=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Ja=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Qa=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Za=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),ei=[Xa,Ja,Qa,Za];function ti(e,t){return c(),r("svg",Ya,ei)}const ni=g(Wa,[["render",ti]]);function si(){const{hasSidebar:e}=K(),t=Se("(min-width: 960px)"),n=Se("(min-width: 1280px)");return{isAsideEnabled:w(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const oi=71;function qe(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Ge(e){const t=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{title:ai(n),link:"#"+n.id,level:s}});return ii(t,e)}function ai(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ii(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(i=>i.level>=s&&i.level<=o);const a=[];e:for(let i=0;i=0;d--){const f=e[d];if(f.level<_.level){(f.children||(f.children=[])).push(_);continue e}}a.push(_)}}return a}function ci(e,t){const{isAsideEnabled:n}=si(),s=Yt(a,100);let o=null;J(()=>{requestAnimationFrame(a),window.addEventListener("scroll",s)}),At(()=>{i(location.hash)}),Ie(()=>{window.removeEventListener("scroll",s)});function a(){if(!n.value)return;const _=[].slice.call(e.value.querySelectorAll(".outline-link")),d=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(m=>_.some(x=>x.hash===m.hash&&m.offsetParent!==null)),f=window.scrollY,y=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(f+y-b)<1;if(d.length&&P){i(d[d.length-1].hash);return}for(let m=0;m{const o=W("VPDocOutlineItem",!0);return c(),r("ul",{class:B(e.root?"root":"nested")},[(c(!0),r(T,null,D(e.headers,({children:a,link:i,title:_})=>(c(),r("li",null,[u("a",{class:"outline-link",href:i,onClick:t,title:_},L(_),9,ri),a!=null&&a.length?(c(),V(o,{key:0,headers:a},null,8,["headers"])):k("",!0)]))),256))],2)}}});const Re=g(ui,[["__scopeId","data-v-efc119ee"]]),di={},_i={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},hi=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),vi=[hi];function fi(e,t){return c(),r("svg",_i,vi)}const Ue=g(di,[["render",fi]]),pi=$({__name:"VPLocalNavOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=M(),s=S(!1),o=S(0),a=S();ie(()=>{s.value=!1});function i(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function _(y){y.target.classList.contains("outline-link")&&(a.value&&(a.value.style.transition="none"),Nt(()=>{s.value=!1}))}function d(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}const f=Be([]);return ie(()=>{f.value=Ge(t.value.outline??n.value.outline)}),(y,b)=>(c(),r("div",{class:"VPLocalNavOutlineDropdown",style:Bt({"--vp-vh":o.value+"px"})},[l(f).length>0?(c(),r("button",{key:0,onClick:i,class:B({open:s.value})},[O(L(l(qe)(l(n)))+" ",1),p(Ue,{class:"icon"})],2)):(c(),r("button",{key:1,onClick:d},L(l(n).returnToTopLabel||"Return to top"),1)),p(Te,{name:"flyout"},{default:v(()=>[s.value?(c(),r("div",{key:0,ref_key:"items",ref:a,class:"items",onClick:_},[u("a",{class:"top-link",href:"#",onClick:d},L(l(n).returnToTopLabel||"Return to top"),1),p(Re,{headers:l(f)},null,8,["headers"])],512)):k("",!0)]),_:1})],4))}});const mi=g(pi,[["__scopeId","data-v-07aca99e"]]),gi={key:0,class:"VPLocalNav"},yi=["aria-expanded"],bi={class:"menu-text"},ki=$({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=M(),{hasSidebar:n}=K();return(s,o)=>l(n)?(c(),r("div",gi,[u("button",{class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:o[0]||(o[0]=a=>s.$emit("open-menu"))},[p(ni,{class:"menu-icon"}),u("span",bi,L(l(t).sidebarMenuLabel||"Menu"),1)],8,yi),p(mi)])):k("",!0)}});const $i=g(ki,[["__scopeId","data-v-018d8a44"]]),Pi=e=>(R("data-v-77d7a963"),e=e(),U(),e),xi=["role","tabindex"],Vi=Pi(()=>u("div",{class:"indicator"},null,-1)),wi=["onKeydown"],Si={key:1,class:"items"},Li=$({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:_,toggle:d}=Zt(w(()=>t.item)),f=w(()=>_.value?"section":"div"),y=w(()=>o.value?"a":"div"),b=w(()=>_.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=w(()=>o.value?void 0:"button"),m=w(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":a.value},{"has-active":i.value}]);function x(N){"key"in N&&N.key!=="Enter"||!t.item.link&&d()}function A(){t.item.link&&d()}return(N,H)=>{const I=W("VPSidebarItem",!0);return c(),V(Q(l(f)),{class:B(["VPSidebarItem",l(m)])},{default:v(()=>[e.item.text?(c(),r("div",_e({key:0,class:"item",role:l(P)},Ht(e.item.items?{click:x,keydown:x}:{},!0),{tabindex:e.item.items&&0}),[Vi,e.item.link?(c(),V(Y,{key:0,tag:l(y),class:"link",href:e.item.link},{default:v(()=>[(c(),V(Q(l(b)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(c(),V(Q(l(b)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null?(c(),r("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:A,onKeydown:zt(A,["enter"]),tabindex:"0"},[p(Ue,{class:"caret-icon"})],40,wi)):k("",!0)],16,xi)):k("",!0),e.item.items&&e.item.items.length?(c(),r("div",Si,[e.depth<5?(c(!0),r(T,{key:0},D(e.item.items,C=>(c(),V(I,{key:C.text,item:C,depth:e.depth+1},null,8,["item","depth"]))),128)):k("",!0)])):k("",!0)]),_:1},8,["class"])}}});const Mi=g(Li,[["__scopeId","data-v-77d7a963"]]),gt=e=>(R("data-v-a2c0de1b"),e=e(),U(),e),Ci=gt(()=>u("div",{class:"curtain"},null,-1)),Ii={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ti=gt(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ai=$({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=K();let o=S(null);function a(){ft(o.value,{reserveScrollBarGap:!0})}function i(){pt()}return Et(async()=>{var _;t.open?(a(),(_=o.value)==null||_.focus()):i()}),(_,d)=>l(s)?(c(),r("aside",{key:0,class:B(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:d[0]||(d[0]=ot(()=>{},["stop"]))},[Ci,u("nav",Ii,[Ti,h(_.$slots,"sidebar-nav-before",{},void 0,!0),(c(!0),r(T,null,D(l(n),f=>(c(),r("div",{key:f.text,class:"group"},[p(Mi,{item:f,depth:0},null,8,["item"])]))),128)),h(_.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):k("",!0)}});const Bi=g(Ai,[["__scopeId","data-v-a2c0de1b"]]),Ni={},zi={class:"VPPage"};function Hi(e,t){const n=W("Content");return c(),r("div",zi,[h(e.$slots,"page-top"),p(n),h(e.$slots,"page-bottom")])}const Ei=g(Ni,[["render",Hi]]),Di=$({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=w(()=>[t.size??"medium",t.theme??"brand"]),s=w(()=>t.href&&at.test(t.href)),o=w(()=>t.tag?t.tag:t.href?"a":"button");return(a,i)=>(c(),V(Q(l(o)),{class:B(["VPButton",l(n)]),href:e.href?l(ce)(e.href):void 0,target:l(s)?"_blank":void 0,rel:l(s)?"noreferrer":void 0},{default:v(()=>[O(L(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Oi=g(Di,[["__scopeId","data-v-a4b757f0"]]),Fi=e=>(R("data-v-3b95c4f3"),e=e(),U(),e),ji={class:"container"},qi={class:"main"},Gi={key:0,class:"name"},Ri={class:"clip"},Ui={key:1,class:"text"},Ki={key:2,class:"tagline"},Wi={key:0,class:"actions"},Yi={key:0,class:"image"},Xi={class:"image-container"},Ji=Fi(()=>u("div",{class:"image-bg"},null,-1)),Qi=$({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=Ae("hero-image-slot-exists");return(n,s)=>(c(),r("div",{class:B(["VPHero",{"has-image":e.image||l(t)}])},[u("div",ji,[u("div",qi,[h(n.$slots,"home-hero-info",{},()=>[e.name?(c(),r("h1",Gi,[u("span",Ri,L(e.name),1)])):k("",!0),e.text?(c(),r("p",Ui,L(e.text),1)):k("",!0),e.tagline?(c(),r("p",Ki,L(e.tagline),1)):k("",!0)],!0),e.actions?(c(),r("div",Wi,[(c(!0),r(T,null,D(e.actions,o=>(c(),r("div",{key:o.link,class:"action"},[p(Oi,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):k("",!0)]),e.image||l(t)?(c(),r("div",Yi,[u("div",Xi,[Ji,h(n.$slots,"home-hero-image",{},()=>[e.image?(c(),V(ze,{key:0,class:"image-src",image:e.image},null,8,["image"])):k("",!0)],!0)])])):k("",!0)])],2))}});const Zi=g(Qi,[["__scopeId","data-v-3b95c4f3"]]),ec=$({__name:"VPHomeHero",setup(e){const{frontmatter:t}=M();return(n,s)=>l(t).hero?(c(),V(Zi,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info":v(()=>[h(n.$slots,"home-hero-info")]),"home-hero-image":v(()=>[h(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):k("",!0)}}),tc={},nc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},sc=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),oc=[sc];function ac(e,t){return c(),r("svg",nc,oc)}const ic=g(tc,[["render",ac]]),cc={class:"box"},lc=["innerHTML"],rc=["innerHTML"],uc=["innerHTML"],dc={key:3,class:"link-text"},_c={class:"link-text-value"},hc=$({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(c(),V(Y,{class:"VPFeature",href:e.link,"no-icon":!0},{default:v(()=>[u("article",cc,[typeof e.icon=="object"?(c(),V(ze,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(c(),r("div",{key:1,class:"icon",innerHTML:e.icon},null,8,lc)):k("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,rc),e.details?(c(),r("p",{key:2,class:"details",innerHTML:e.details},null,8,uc)):k("",!0),e.linkText?(c(),r("div",dc,[u("p",_c,[O(L(e.linkText)+" ",1),p(ic,{class:"link-text-icon"})])])):k("",!0)])]),_:1},8,["href"]))}});const vc=g(hc,[["__scopeId","data-v-fdb307a3"]]),fc={key:0,class:"VPFeatures"},pc={class:"container"},mc={class:"items"},gc=$({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=w(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(c(),r("div",fc,[u("div",pc,[u("div",mc,[(c(!0),r(T,null,D(e.features,a=>(c(),r("div",{key:a.title,class:B(["item",[l(n)]])},[p(vc,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):k("",!0)}});const yc=g(gc,[["__scopeId","data-v-5e2470ab"]]),bc=$({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=M();return(n,s)=>l(t).features?(c(),V(yc,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):k("",!0)}}),kc={class:"VPHome"},$c=$({__name:"VPHome",setup(e){return(t,n)=>{const s=W("Content");return c(),r("div",kc,[h(t.$slots,"home-hero-before",{},void 0,!0),p(ec,null,{"home-hero-info":v(()=>[h(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),h(t.$slots,"home-hero-after",{},void 0,!0),h(t.$slots,"home-features-before",{},void 0,!0),p(bc),h(t.$slots,"home-features-after",{},void 0,!0),p(s)])}}});const Pc=g($c,[["__scopeId","data-v-8ebac4ee"]]),xc=e=>(R("data-v-c3ff47cc"),e=e(),U(),e),Vc={class:"content"},wc={class:"outline-title"},Sc={"aria-labelledby":"doc-outline-aria-label"},Lc=xc(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Mc=$({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=M(),s=Be([]);ie(()=>{s.value=Ge(t.value.outline??n.value.outline)});const o=S(),a=S();return ci(o,a),(i,_)=>(c(),r("div",{class:B(["VPDocAsideOutline",{"has-outline":l(s).length>0}]),ref_key:"container",ref:o},[u("div",Vc,[u("div",{class:"outline-marker",ref_key:"marker",ref:a},null,512),u("div",wc,L(l(qe)(l(n))),1),u("nav",Sc,[Lc,p(Re,{headers:l(s),root:!0},null,8,["headers"])])])],2))}});const Cc=g(Mc,[["__scopeId","data-v-c3ff47cc"]]),Ic={class:"VPDocAsideCarbonAds"},Tc=$({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,s)=>(c(),r("div",Ic,[p(l(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Ac=e=>(R("data-v-79cae1a0"),e=e(),U(),e),Bc={class:"VPDocAside"},Nc=Ac(()=>u("div",{class:"spacer"},null,-1)),zc=$({__name:"VPDocAside",setup(e){const{theme:t}=M();return(n,s)=>(c(),r("div",Bc,[h(n.$slots,"aside-top",{},void 0,!0),h(n.$slots,"aside-outline-before",{},void 0,!0),p(Cc),h(n.$slots,"aside-outline-after",{},void 0,!0),Nc,h(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(c(),V(Tc,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):k("",!0),h(n.$slots,"aside-ads-after",{},void 0,!0),h(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Hc=g(zc,[["__scopeId","data-v-79cae1a0"]]);function Ec(){const{theme:e,page:t}=M();return w(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{},{relativePath:o}=t.value;let a;return typeof s=="function"?a=s({relativePath:o}):a=s.replace(/:path/g,o),{url:a,text:n}})}function Dc(){const{page:e,theme:t,frontmatter:n}=M();return w(()=>{var i,_,d,f;const s=rt(t.value.sidebar,e.value.relativePath),o=Jt(s),a=o.findIndex(y=>te(e.value.relativePath,y.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((i=o[a-1])==null?void 0:i.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((_=o[a-1])==null?void 0:_.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((d=o[a+1])==null?void 0:d.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((f=o[a+1])==null?void 0:f.link)}}})}const Oc={},Fc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},jc=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),qc=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Gc=[jc,qc];function Rc(e,t){return c(),r("svg",Fc,Gc)}const Uc=g(Oc,[["render",Rc]]),Kc={class:"VPLastUpdated"},Wc=["datetime"],Yc=$({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=M(),o=w(()=>new Date(n.value.lastUpdated)),a=w(()=>o.value.toISOString()),i=S("");return J(()=>{ae(()=>{i.value=o.value.toLocaleString(s.value)})}),(_,d)=>(c(),r("p",Kc,[O(L(l(t).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:l(a)},L(i.value),9,Wc)]))}});const Xc=g(Yc,[["__scopeId","data-v-f00606ba"]]),Jc={key:0,class:"VPDocFooter"},Qc={key:0,class:"edit-info"},Zc={key:0,class:"edit-link"},el={key:1,class:"last-updated"},tl={key:1,class:"prev-next"},nl={class:"pager"},sl=["href"],ol=["innerHTML"],al=["innerHTML"],il=["href"],cl=["innerHTML"],ll=["innerHTML"],rl=$({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=M(),o=Ec(),a=Dc(),i=w(()=>t.value.editLink&&s.value.editLink!==!1),_=w(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),d=w(()=>i.value||_.value||a.value.prev||a.value.next);return(f,y)=>{var b,P,m,x,A,N,H;return l(d)?(c(),r("footer",Jc,[h(f.$slots,"doc-footer-before",{},void 0,!0),l(i)||l(_)?(c(),r("div",Qc,[l(i)?(c(),r("div",Zc,[p(Y,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[p(Uc,{class:"edit-link-icon","aria-label":"edit icon"}),O(" "+L(l(o).text),1)]),_:1},8,["href"])])):k("",!0),l(_)?(c(),r("div",el,[p(Xc)])):k("",!0)])):k("",!0),(b=l(a).prev)!=null&&b.link||(P=l(a).next)!=null&&P.link?(c(),r("div",tl,[u("div",nl,[(m=l(a).prev)!=null&&m.link?(c(),r("a",{key:0,class:"pager-link prev",href:l(ce)(l(a).prev.link)},[u("span",{class:"desc",innerHTML:((x=l(t).docFooter)==null?void 0:x.prev)||"Previous page"},null,8,ol),u("span",{class:"title",innerHTML:l(a).prev.text},null,8,al)],8,sl)):k("",!0)]),u("div",{class:B(["pager",{"has-prev":(A=l(a).prev)==null?void 0:A.link}])},[(N=l(a).next)!=null&&N.link?(c(),r("a",{key:0,class:"pager-link next",href:l(ce)(l(a).next.link)},[u("span",{class:"desc",innerHTML:((H=l(t).docFooter)==null?void 0:H.next)||"Next page"},null,8,cl),u("span",{class:"title",innerHTML:l(a).next.text},null,8,ll)],8,il)):k("",!0)],2)])):k("",!0)])):k("",!0)}}});const ul=g(rl,[["__scopeId","data-v-31cb5067"]]),dl={key:0,class:"VPDocOutlineDropdown"},_l={key:0,class:"items"},hl=$({__name:"VPDocOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=M(),s=S(!1);ie(()=>{s.value=!1});const o=Be([]);return ie(()=>{o.value=Ge(t.value.outline??n.value.outline)}),(a,i)=>l(o).length>0?(c(),r("div",dl,[u("button",{onClick:i[0]||(i[0]=_=>s.value=!s.value),class:B({open:s.value})},[O(L(l(qe)(l(n)))+" ",1),p(Ue,{class:"icon"})],2),s.value?(c(),r("div",_l,[p(Re,{headers:l(o)},null,8,["headers"])])):k("",!0)])):k("",!0)}});const vl=g(hl,[["__scopeId","data-v-f751778e"]]),fl=e=>(R("data-v-5aafa2ac"),e=e(),U(),e),pl={class:"container"},ml=fl(()=>u("div",{class:"aside-curtain"},null,-1)),gl={class:"aside-container"},yl={class:"aside-content"},bl={class:"content"},kl={class:"content-container"},$l={class:"main"},Pl=$({__name:"VPDoc",setup(e){const t=le(),{hasSidebar:n,hasAside:s,leftAside:o}=K(),a=w(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(i,_)=>{const d=W("Content");return c(),r("div",{class:B(["VPDoc",{"has-sidebar":l(n),"has-aside":l(s)}])},[h(i.$slots,"doc-top",{},void 0,!0),u("div",pl,[l(s)?(c(),r("div",{key:0,class:B(["aside",{"left-aside":l(o)}])},[ml,u("div",gl,[u("div",yl,[p(Hc,null,{"aside-top":v(()=>[h(i.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[h(i.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[h(i.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(i.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(i.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(i.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):k("",!0),u("div",bl,[u("div",kl,[h(i.$slots,"doc-before",{},void 0,!0),p(vl),u("main",$l,[p(d,{class:B(["vp-doc",l(a)])},null,8,["class"])]),p(ul,null,{"doc-footer-before":v(()=>[h(i.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),h(i.$slots,"doc-after",{},void 0,!0)])])]),h(i.$slots,"doc-bottom",{},void 0,!0)],2)}}});const xl=g(Pl,[["__scopeId","data-v-5aafa2ac"]]),$e=e=>(R("data-v-42c0c3ae"),e=e(),U(),e),Vl={class:"NotFound"},wl=$e(()=>u("p",{class:"code"},"404",-1)),Sl=$e(()=>u("h1",{class:"title"},"PAGE NOT FOUND",-1)),Ll=$e(()=>u("div",{class:"divider"},null,-1)),Ml=$e(()=>u("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Cl={class:"action"},Il=["href"],Tl=$({__name:"NotFound",setup(e){const{site:t}=M(),{localeLinks:n}=re({removeCurrent:!1}),s=S("/");return J(()=>{var a;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((a=n.value.find(({link:i})=>i.startsWith(o)))==null?void 0:a.link)||n.value[0].link)}),(o,a)=>(c(),r("div",Vl,[wl,Sl,Ll,Ml,u("div",Cl,[u("a",{class:"link",href:l(be)(s.value),"aria-label":"go to home"}," Take me home ",8,Il)])]))}});const Al=g(Tl,[["__scopeId","data-v-42c0c3ae"]]),Bl=$({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=M(),{hasSidebar:s}=K();return(o,a)=>(c(),r("div",{class:B(["VPContent",{"has-sidebar":l(s),"is-home":l(n).layout==="home"}]),id:"VPContent"},[l(t).isNotFound?h(o.$slots,"not-found",{key:0},()=>[p(Al)],!0):l(n).layout==="page"?(c(),V(Ei,{key:1},{"page-top":v(()=>[h(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[h(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(c(),V(Pc,{key:2},{"home-hero-before":v(()=>[h(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[h(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[h(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[h(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[h(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(c(),V(xl,{key:3},{"doc-top":v(()=>[h(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[h(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[h(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[h(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[h(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[h(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[h(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[h(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Nl=g(Bl,[["__scopeId","data-v-7f38fbbe"]]),zl={class:"container"},Hl=["innerHTML"],El=["innerHTML"],Dl=$({__name:"VPFooter",setup(e){const{theme:t}=M(),{hasSidebar:n}=K();return(s,o)=>l(t).footer?(c(),r("footer",{key:0,class:B(["VPFooter",{"has-sidebar":l(n)}])},[u("div",zl,[l(t).footer.message?(c(),r("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Hl)):k("",!0),l(t).footer.copyright?(c(),r("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,El)):k("",!0)])],2)):k("",!0)}});const Ol=g(Dl,[["__scopeId","data-v-2425ede7"]]),Fl={key:0,class:"Layout"},jl=$({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=K(),o=le();ee(()=>o.path,s),Qt(t,s),he("close-sidebar",s),he("is-sidebar-open",t);const{frontmatter:a}=M(),i=Dt(),_=w(()=>!!i["home-hero-image"]);return he("hero-image-slot-exists",_),(d,f)=>{const y=W("Content");return l(a).layout!==!1?(c(),r("div",Fl,[h(d.$slots,"layout-top",{},void 0,!0),p(tn),p(on,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),p(Ka,null,{"nav-bar-title-before":v(()=>[h(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[h(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[h(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[h(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[h(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),p($i,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),p(Bi,{open:l(t)},{"sidebar-nav-before":v(()=>[h(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[h(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),p(Nl,null,{"page-top":v(()=>[h(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[h(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[h(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[h(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[h(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[h(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[h(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[h(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[h(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[h(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[h(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[h(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[h(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[h(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[h(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[h(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),p(Ol),h(d.$slots,"layout-bottom",{},void 0,!0)])):(c(),V(y,{key:1}))}}});const ql=g(jl,[["__scopeId","data-v-bd8710d4"]]);const Rl={Layout:ql,enhanceApp:({app:e})=>{e.component("Badge",Ft)}};export{Rl as t};
+}`)),document.head.appendChild(m),s.value=P,_[P?"add":"remove"]("dark"),window.getComputedStyle(m).opacity,document.head.removeChild(m)}return y}return ee(s,i=>{n.value=i}),(i,_)=>(c(),r("label",Po,[p(ro,{class:"VPSwitchAppearance","aria-checked":s.value,onClick:l(o)},{default:v(()=>[p(po,{class:"sun"}),p($o,{class:"moon"})]),_:1},8,["aria-checked","onClick"])]))}});const De=g(xo,[["__scopeId","data-v-f37e294f"]]),Vo={key:0,class:"VPNavBarAppearance"},wo=$({__name:"VPNavBarAppearance",setup(e){const{site:t}=M();return(n,s)=>l(t).appearance?(c(),r("div",Vo,[p(De)])):k("",!0)}});const So=g(wo,[["__scopeId","data-v-88042fc7"]]),Lo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Mo=["href","aria-label","innerHTML"],Co=$({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=w(()=>typeof t.icon=="object"?t.icon.svg:Lo[t.icon]);return(s,o)=>(c(),r("a",{class:"VPSocialLink",href:e.link,"aria-label":typeof e.icon=="string"?e.icon:"",target:"_blank",rel:"noopener",innerHTML:l(n)},null,8,Mo))}});const Io=g(Co,[["__scopeId","data-v-ca994af5"]]),To={class:"VPSocialLinks"},Ao=$({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(c(),r("div",To,[(c(!0),r(T,null,D(e.links,({link:s,icon:o})=>(c(),V(Io,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const Oe=g(Ao,[["__scopeId","data-v-de2bf516"]]),Bo=$({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=M();return(n,s)=>l(t).socialLinks?(c(),V(Oe,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):k("",!0)}});const No=g(Bo,[["__scopeId","data-v-08b35e6f"]]),zo={key:0,class:"group translations"},Ho={class:"trans-title"},Eo={key:1,class:"group"},Do={class:"item appearance"},Oo={class:"label"},Fo={class:"appearance-action"},jo={key:2,class:"group"},qo={class:"item social-links"},Go=$({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=M(),{localeLinks:s,currentLang:o}=re({correspondingLink:!0}),a=w(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(i,_)=>l(a)?(c(),V(Ee,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(s).length&&l(o).label?(c(),r("div",zo,[u("p",Ho,L(l(o).label),1),(c(!0),r(T,null,D(l(s),d=>(c(),V(ke,{key:d.link,item:d},null,8,["item"]))),128))])):k("",!0),l(t).appearance?(c(),r("div",Eo,[u("div",Do,[u("p",Oo,L(l(n).darkModeSwitchLabel||"Appearance"),1),u("div",Fo,[p(De)])])])):k("",!0),l(n).socialLinks?(c(),r("div",jo,[u("div",qo,[p(Oe,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):k("",!0)]),_:1})):k("",!0)}});const Ro=g(Go,[["__scopeId","data-v-47bb42ad"]]),Uo=e=>(R("data-v-670493dd"),e=e(),U(),e),Ko=["aria-expanded"],Wo=Uo(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),Yo=[Wo],Xo=$({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(c(),r("button",{type:"button",class:B(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},Yo,10,Ko))}});const Jo=g(Xo,[["__scopeId","data-v-670493dd"]]),Qo=e=>(R("data-v-82c325fa"),e=e(),U(),e),Zo={class:"container"},ea={class:"title"},ta={class:"content"},na=Qo(()=>u("div",{class:"curtain"},null,-1)),sa={class:"content-body"},oa=$({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=Wt(),{hasSidebar:n}=K(),s=w(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,a)=>(c(),r("div",{class:B(["VPNavBar",l(s)])},[u("div",Zo,[u("div",ea,[p(hn,null,{"nav-bar-title-before":v(()=>[h(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",ta,[na,u("div",sa,[h(o.$slots,"nav-bar-content-before",{},void 0,!0),p(ts,{class:"search"}),p(Ks,{class:"menu"}),p(so,{class:"translations"}),p(So,{class:"appearance"}),p(No,{class:"social-links"}),p(Ro,{class:"extra"}),h(o.$slots,"nav-bar-content-after",{},void 0,!0),p(Jo,{class:"hamburger",active:e.isScreenOpen,onClick:a[0]||(a[0]=i=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const aa=g(oa,[["__scopeId","data-v-82c325fa"]]);function ia(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),Z=[],ge=!1,je=-1,se=void 0,X=void 0,oe=void 0,vt=function(t){return Z.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},ye=function(t){var n=t||window.event;return vt(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},ca=function(t){if(oe===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);oe=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}se===void 0&&(se=document.body.style.overflow,document.body.style.overflow="hidden")},la=function(){oe!==void 0&&(document.body.style.paddingRight=oe,oe=void 0),se!==void 0&&(document.body.style.overflow=se,se=void 0)},ra=function(){return window.requestAnimationFrame(function(){if(X===void 0){X={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var a=o-window.innerHeight;a&&n>=o&&(document.body.style.top=-(n+a))})},300)}})},ua=function(){if(X!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=X.position,document.body.style.top=X.top,document.body.style.left=X.left,window.scrollTo(n,t),X=void 0}},da=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},_a=function(t,n){var s=t.targetTouches[0].clientY-je;return vt(t.target)?!1:n&&n.scrollTop===0&&s>0||da(n)&&s<0?ye(t):(t.stopPropagation(),!0)},ft=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Z.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};Z=[].concat(ia(Z),[s]),me?ra():ca(n),me&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(je=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&_a(o,t)},ge||(document.addEventListener("touchmove",ye,Fe?{passive:!1}:void 0),ge=!0))}},pt=function(){me&&(Z.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),ge&&(document.removeEventListener("touchmove",ye,Fe?{passive:!1}:void 0),ge=!1),je=-1),me?ua():la(),Z=[]};const ha=$({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=Ae("close-screen");return(n,s)=>(c(),V(Y,{class:"VPNavScreenMenuLink",href:e.link,onClick:l(t)},{default:v(()=>[O(L(e.text),1)]),_:1},8,["href","onClick"]))}});const va=g(ha,[["__scopeId","data-v-0162d08e"]]),fa={},pa={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ma=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ga=[ma];function ya(e,t){return c(),r("svg",pa,ga)}const ba=g(fa,[["render",ya]]),ka=$({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=Ae("close-screen");return(n,s)=>(c(),V(Y,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:l(t)},{default:v(()=>[O(L(e.text),1)]),_:1},8,["href","onClick"]))}});const mt=g(ka,[["__scopeId","data-v-7fd086c3"]]),$a={class:"VPNavScreenMenuGroupSection"},Pa={key:0,class:"title"},xa=$({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(c(),r("div",$a,[e.text?(c(),r("p",Pa,L(e.text),1)):k("",!0),(c(!0),r(T,null,D(e.items,s=>(c(),V(mt,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const Va=g(xa,[["__scopeId","data-v-eb049aaa"]]),wa=["aria-controls","aria-expanded"],Sa={class:"button-text"},La=["id"],Ma={key:1,class:"group"},Ca=$({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=S(!1),s=w(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(a,i)=>(c(),r("div",{class:B(["VPNavScreenMenuGroup",{open:n.value}])},[u("button",{class:"button","aria-controls":l(s),"aria-expanded":n.value,onClick:o},[u("span",Sa,L(e.text),1),p(ba,{class:"button-icon"})],8,wa),u("div",{id:l(s),class:"items"},[(c(!0),r(T,null,D(e.items,_=>(c(),r(T,{key:_.text},["link"in _?(c(),r("div",{key:_.text,class:"item"},[p(mt,{text:_.text,link:_.link},null,8,["text","link"])])):(c(),r("div",Ma,[p(Va,{text:_.text,items:_.items},null,8,["text","items"])]))],64))),128))],8,La)],2))}});const Ia=g(Ca,[["__scopeId","data-v-48a8b068"]]),Ta={key:0,class:"VPNavScreenMenu"},Aa=$({__name:"VPNavScreenMenu",setup(e){const{theme:t}=M();return(n,s)=>l(t).nav?(c(),r("nav",Ta,[(c(!0),r(T,null,D(l(t).nav,o=>(c(),r(T,{key:o.text},["link"in o?(c(),V(va,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(c(),V(Ia,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):k("",!0)}}),Ba={key:0,class:"VPNavScreenAppearance"},Na={class:"text"},za=$({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=M();return(s,o)=>l(t).appearance?(c(),r("div",Ba,[u("p",Na,L(l(n).darkModeSwitchLabel||"Appearance"),1),p(De)])):k("",!0)}});const Ha=g(za,[["__scopeId","data-v-8d2d8cf1"]]),Ea={class:"list"},Da=$({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=re({correspondingLink:!0}),s=S(!1);function o(){s.value=!s.value}return(a,i)=>l(t).length&&l(n).label?(c(),r("div",{key:0,class:B(["VPNavScreenTranslations",{open:s.value}])},[u("button",{class:"title",onClick:o},[p(ht,{class:"icon lang"}),O(" "+L(l(n).label)+" ",1),p(_t,{class:"icon chevron"})]),u("ul",Ea,[(c(!0),r(T,null,D(l(t),_=>(c(),r("li",{key:_.link,class:"item"},[p(Y,{class:"link",href:_.link},{default:v(()=>[O(L(_.text),1)]),_:2},1032,["href"])]))),128))])],2)):k("",!0)}});const Oa=g(Da,[["__scopeId","data-v-b72581fd"]]),Fa=$({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=M();return(n,s)=>l(t).socialLinks?(c(),V(Oe,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):k("",!0)}}),ja={class:"container"},qa=$({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=S(null);function n(){ft(t.value,{reserveScrollBarGap:!0})}function s(){pt()}return(o,a)=>(c(),V(Te,{name:"fade",onEnter:n,onAfterLeave:s},{default:v(()=>[e.open?(c(),r("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[u("div",ja,[h(o.$slots,"nav-screen-content-before",{},void 0,!0),p(Aa,{class:"menu"}),p(Oa,{class:"translations"}),p(Ha,{class:"appearance"}),p(Fa,{class:"social-links"}),h(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):k("",!0)]),_:3}))}});const Ga=g(qa,[["__scopeId","data-v-ea8d6f65"]]),Ra={class:"VPNav"},Ua=$({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=an();return he("close-screen",n),(o,a)=>(c(),r("header",Ra,[p(aa,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":v(()=>[h(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[h(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[h(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),p(Ga,{open:l(t)},{"nav-screen-content-before":v(()=>[h(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[h(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Ka=g(Ua,[["__scopeId","data-v-b1949460"]]),Wa={},Ya={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Xa=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Ja=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Qa=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Za=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),ei=[Xa,Ja,Qa,Za];function ti(e,t){return c(),r("svg",Ya,ei)}const ni=g(Wa,[["render",ti]]);function si(){const{hasSidebar:e}=K(),t=Se("(min-width: 960px)"),n=Se("(min-width: 1280px)");return{isAsideEnabled:w(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const oi=71;function qe(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Ge(e){const t=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{title:ai(n),link:"#"+n.id,level:s}});return ii(t,e)}function ai(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ii(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(i=>i.level>=s&&i.level<=o);const a=[];e:for(let i=0;i=0;d--){const f=e[d];if(f.level<_.level){(f.children||(f.children=[])).push(_);continue e}}a.push(_)}}return a}function ci(e,t){const{isAsideEnabled:n}=si(),s=Yt(a,100);let o=null;J(()=>{requestAnimationFrame(a),window.addEventListener("scroll",s)}),At(()=>{i(location.hash)}),Ie(()=>{window.removeEventListener("scroll",s)});function a(){if(!n.value)return;const _=[].slice.call(e.value.querySelectorAll(".outline-link")),d=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(m=>_.some(x=>x.hash===m.hash&&m.offsetParent!==null)),f=window.scrollY,y=window.innerHeight,b=document.body.offsetHeight,P=Math.abs(f+y-b)<1;if(d.length&&P){i(d[d.length-1].hash);return}for(let m=0;m{const o=W("VPDocOutlineItem",!0);return c(),r("ul",{class:B(e.root?"root":"nested")},[(c(!0),r(T,null,D(e.headers,({children:a,link:i,title:_})=>(c(),r("li",null,[u("a",{class:"outline-link",href:i,onClick:t,title:_},L(_),9,ri),a!=null&&a.length?(c(),V(o,{key:0,headers:a},null,8,["headers"])):k("",!0)]))),256))],2)}}});const Re=g(ui,[["__scopeId","data-v-efc119ee"]]),di={},_i={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},hi=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),vi=[hi];function fi(e,t){return c(),r("svg",_i,vi)}const Ue=g(di,[["render",fi]]),pi=$({__name:"VPLocalNavOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=M(),s=S(!1),o=S(0),a=S();ie(()=>{s.value=!1});function i(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function _(y){y.target.classList.contains("outline-link")&&(a.value&&(a.value.style.transition="none"),Nt(()=>{s.value=!1}))}function d(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}const f=Be([]);return ie(()=>{f.value=Ge(t.value.outline??n.value.outline)}),(y,b)=>(c(),r("div",{class:"VPLocalNavOutlineDropdown",style:Bt({"--vp-vh":o.value+"px"})},[l(f).length>0?(c(),r("button",{key:0,onClick:i,class:B({open:s.value})},[O(L(l(qe)(l(n)))+" ",1),p(Ue,{class:"icon"})],2)):(c(),r("button",{key:1,onClick:d},L(l(n).returnToTopLabel||"Return to top"),1)),p(Te,{name:"flyout"},{default:v(()=>[s.value?(c(),r("div",{key:0,ref_key:"items",ref:a,class:"items",onClick:_},[u("a",{class:"top-link",href:"#",onClick:d},L(l(n).returnToTopLabel||"Return to top"),1),p(Re,{headers:l(f)},null,8,["headers"])],512)):k("",!0)]),_:1})],4))}});const mi=g(pi,[["__scopeId","data-v-07aca99e"]]),gi={class:"VPLocalNav"},yi=["aria-expanded"],bi={class:"menu-text"},ki=$({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=M(),{hasSidebar:n}=K();return(s,o)=>(c(),r("div",gi,[l(n)?(c(),r("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:o[0]||(o[0]=a=>s.$emit("open-menu"))},[p(ni,{class:"menu-icon"}),u("span",bi,L(l(t).sidebarMenuLabel||"Menu"),1)],8,yi)):k("",!0),p(mi)]))}});const $i=g(ki,[["__scopeId","data-v-62988739"]]),Pi=e=>(R("data-v-77d7a963"),e=e(),U(),e),xi=["role","tabindex"],Vi=Pi(()=>u("div",{class:"indicator"},null,-1)),wi=["onKeydown"],Si={key:1,class:"items"},Li=$({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:_,toggle:d}=Zt(w(()=>t.item)),f=w(()=>_.value?"section":"div"),y=w(()=>o.value?"a":"div"),b=w(()=>_.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=w(()=>o.value?void 0:"button"),m=w(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":a.value},{"has-active":i.value}]);function x(N){"key"in N&&N.key!=="Enter"||!t.item.link&&d()}function A(){t.item.link&&d()}return(N,H)=>{const I=W("VPSidebarItem",!0);return c(),V(Q(l(f)),{class:B(["VPSidebarItem",l(m)])},{default:v(()=>[e.item.text?(c(),r("div",_e({key:0,class:"item",role:l(P)},Ht(e.item.items?{click:x,keydown:x}:{},!0),{tabindex:e.item.items&&0}),[Vi,e.item.link?(c(),V(Y,{key:0,tag:l(y),class:"link",href:e.item.link},{default:v(()=>[(c(),V(Q(l(b)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(c(),V(Q(l(b)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null?(c(),r("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:A,onKeydown:zt(A,["enter"]),tabindex:"0"},[p(Ue,{class:"caret-icon"})],40,wi)):k("",!0)],16,xi)):k("",!0),e.item.items&&e.item.items.length?(c(),r("div",Si,[e.depth<5?(c(!0),r(T,{key:0},D(e.item.items,C=>(c(),V(I,{key:C.text,item:C,depth:e.depth+1},null,8,["item","depth"]))),128)):k("",!0)])):k("",!0)]),_:1},8,["class"])}}});const Mi=g(Li,[["__scopeId","data-v-77d7a963"]]),gt=e=>(R("data-v-a2c0de1b"),e=e(),U(),e),Ci=gt(()=>u("div",{class:"curtain"},null,-1)),Ii={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ti=gt(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ai=$({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=K();let o=S(null);function a(){ft(o.value,{reserveScrollBarGap:!0})}function i(){pt()}return Et(async()=>{var _;t.open?(a(),(_=o.value)==null||_.focus()):i()}),(_,d)=>l(s)?(c(),r("aside",{key:0,class:B(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:d[0]||(d[0]=ot(()=>{},["stop"]))},[Ci,u("nav",Ii,[Ti,h(_.$slots,"sidebar-nav-before",{},void 0,!0),(c(!0),r(T,null,D(l(n),f=>(c(),r("div",{key:f.text,class:"group"},[p(Mi,{item:f,depth:0},null,8,["item"])]))),128)),h(_.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):k("",!0)}});const Bi=g(Ai,[["__scopeId","data-v-a2c0de1b"]]),Ni={},zi={class:"VPPage"};function Hi(e,t){const n=W("Content");return c(),r("div",zi,[h(e.$slots,"page-top"),p(n),h(e.$slots,"page-bottom")])}const Ei=g(Ni,[["render",Hi]]),Di=$({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=w(()=>[t.size??"medium",t.theme??"brand"]),s=w(()=>t.href&&at.test(t.href)),o=w(()=>t.tag?t.tag:t.href?"a":"button");return(a,i)=>(c(),V(Q(l(o)),{class:B(["VPButton",l(n)]),href:e.href?l(ce)(e.href):void 0,target:l(s)?"_blank":void 0,rel:l(s)?"noreferrer":void 0},{default:v(()=>[O(L(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Oi=g(Di,[["__scopeId","data-v-a4b757f0"]]),Fi=e=>(R("data-v-3b95c4f3"),e=e(),U(),e),ji={class:"container"},qi={class:"main"},Gi={key:0,class:"name"},Ri={class:"clip"},Ui={key:1,class:"text"},Ki={key:2,class:"tagline"},Wi={key:0,class:"actions"},Yi={key:0,class:"image"},Xi={class:"image-container"},Ji=Fi(()=>u("div",{class:"image-bg"},null,-1)),Qi=$({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=Ae("hero-image-slot-exists");return(n,s)=>(c(),r("div",{class:B(["VPHero",{"has-image":e.image||l(t)}])},[u("div",ji,[u("div",qi,[h(n.$slots,"home-hero-info",{},()=>[e.name?(c(),r("h1",Gi,[u("span",Ri,L(e.name),1)])):k("",!0),e.text?(c(),r("p",Ui,L(e.text),1)):k("",!0),e.tagline?(c(),r("p",Ki,L(e.tagline),1)):k("",!0)],!0),e.actions?(c(),r("div",Wi,[(c(!0),r(T,null,D(e.actions,o=>(c(),r("div",{key:o.link,class:"action"},[p(Oi,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):k("",!0)]),e.image||l(t)?(c(),r("div",Yi,[u("div",Xi,[Ji,h(n.$slots,"home-hero-image",{},()=>[e.image?(c(),V(ze,{key:0,class:"image-src",image:e.image},null,8,["image"])):k("",!0)],!0)])])):k("",!0)])],2))}});const Zi=g(Qi,[["__scopeId","data-v-3b95c4f3"]]),ec=$({__name:"VPHomeHero",setup(e){const{frontmatter:t}=M();return(n,s)=>l(t).hero?(c(),V(Zi,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info":v(()=>[h(n.$slots,"home-hero-info")]),"home-hero-image":v(()=>[h(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):k("",!0)}}),tc={},nc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},sc=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),oc=[sc];function ac(e,t){return c(),r("svg",nc,oc)}const ic=g(tc,[["render",ac]]),cc={class:"box"},lc=["innerHTML"],rc=["innerHTML"],uc=["innerHTML"],dc={key:3,class:"link-text"},_c={class:"link-text-value"},hc=$({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(c(),V(Y,{class:"VPFeature",href:e.link,"no-icon":!0},{default:v(()=>[u("article",cc,[typeof e.icon=="object"?(c(),V(ze,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(c(),r("div",{key:1,class:"icon",innerHTML:e.icon},null,8,lc)):k("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,rc),e.details?(c(),r("p",{key:2,class:"details",innerHTML:e.details},null,8,uc)):k("",!0),e.linkText?(c(),r("div",dc,[u("p",_c,[O(L(e.linkText)+" ",1),p(ic,{class:"link-text-icon"})])])):k("",!0)])]),_:1},8,["href"]))}});const vc=g(hc,[["__scopeId","data-v-fdb307a3"]]),fc={key:0,class:"VPFeatures"},pc={class:"container"},mc={class:"items"},gc=$({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=w(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(c(),r("div",fc,[u("div",pc,[u("div",mc,[(c(!0),r(T,null,D(e.features,a=>(c(),r("div",{key:a.title,class:B(["item",[l(n)]])},[p(vc,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):k("",!0)}});const yc=g(gc,[["__scopeId","data-v-5e2470ab"]]),bc=$({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=M();return(n,s)=>l(t).features?(c(),V(yc,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):k("",!0)}}),kc={class:"VPHome"},$c=$({__name:"VPHome",setup(e){return(t,n)=>{const s=W("Content");return c(),r("div",kc,[h(t.$slots,"home-hero-before",{},void 0,!0),p(ec,null,{"home-hero-info":v(()=>[h(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),h(t.$slots,"home-hero-after",{},void 0,!0),h(t.$slots,"home-features-before",{},void 0,!0),p(bc),h(t.$slots,"home-features-after",{},void 0,!0),p(s)])}}});const Pc=g($c,[["__scopeId","data-v-8ebac4ee"]]),xc=e=>(R("data-v-c3ff47cc"),e=e(),U(),e),Vc={class:"content"},wc={class:"outline-title"},Sc={"aria-labelledby":"doc-outline-aria-label"},Lc=xc(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Mc=$({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=M(),s=Be([]);ie(()=>{s.value=Ge(t.value.outline??n.value.outline)});const o=S(),a=S();return ci(o,a),(i,_)=>(c(),r("div",{class:B(["VPDocAsideOutline",{"has-outline":l(s).length>0}]),ref_key:"container",ref:o},[u("div",Vc,[u("div",{class:"outline-marker",ref_key:"marker",ref:a},null,512),u("div",wc,L(l(qe)(l(n))),1),u("nav",Sc,[Lc,p(Re,{headers:l(s),root:!0},null,8,["headers"])])])],2))}});const Cc=g(Mc,[["__scopeId","data-v-c3ff47cc"]]),Ic={class:"VPDocAsideCarbonAds"},Tc=$({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,s)=>(c(),r("div",Ic,[p(l(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Ac=e=>(R("data-v-79cae1a0"),e=e(),U(),e),Bc={class:"VPDocAside"},Nc=Ac(()=>u("div",{class:"spacer"},null,-1)),zc=$({__name:"VPDocAside",setup(e){const{theme:t}=M();return(n,s)=>(c(),r("div",Bc,[h(n.$slots,"aside-top",{},void 0,!0),h(n.$slots,"aside-outline-before",{},void 0,!0),p(Cc),h(n.$slots,"aside-outline-after",{},void 0,!0),Nc,h(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(c(),V(Tc,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):k("",!0),h(n.$slots,"aside-ads-after",{},void 0,!0),h(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Hc=g(zc,[["__scopeId","data-v-79cae1a0"]]);function Ec(){const{theme:e,page:t}=M();return w(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{},{relativePath:o}=t.value;let a;return typeof s=="function"?a=s({relativePath:o}):a=s.replace(/:path/g,o),{url:a,text:n}})}function Dc(){const{page:e,theme:t,frontmatter:n}=M();return w(()=>{var i,_,d,f;const s=rt(t.value.sidebar,e.value.relativePath),o=Jt(s),a=o.findIndex(y=>te(e.value.relativePath,y.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((i=o[a-1])==null?void 0:i.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((_=o[a-1])==null?void 0:_.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((d=o[a+1])==null?void 0:d.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((f=o[a+1])==null?void 0:f.link)}}})}const Oc={},Fc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},jc=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),qc=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Gc=[jc,qc];function Rc(e,t){return c(),r("svg",Fc,Gc)}const Uc=g(Oc,[["render",Rc]]),Kc={class:"VPLastUpdated"},Wc=["datetime"],Yc=$({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=M(),o=w(()=>new Date(n.value.lastUpdated)),a=w(()=>o.value.toISOString()),i=S("");return J(()=>{ae(()=>{i.value=o.value.toLocaleString(s.value)})}),(_,d)=>(c(),r("p",Kc,[O(L(l(t).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:l(a)},L(i.value),9,Wc)]))}});const Xc=g(Yc,[["__scopeId","data-v-f00606ba"]]),Jc={key:0,class:"VPDocFooter"},Qc={key:0,class:"edit-info"},Zc={key:0,class:"edit-link"},el={key:1,class:"last-updated"},tl={key:1,class:"prev-next"},nl={class:"pager"},sl=["href"],ol=["innerHTML"],al=["innerHTML"],il=["href"],cl=["innerHTML"],ll=["innerHTML"],rl=$({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=M(),o=Ec(),a=Dc(),i=w(()=>t.value.editLink&&s.value.editLink!==!1),_=w(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),d=w(()=>i.value||_.value||a.value.prev||a.value.next);return(f,y)=>{var b,P,m,x,A,N,H;return l(d)?(c(),r("footer",Jc,[h(f.$slots,"doc-footer-before",{},void 0,!0),l(i)||l(_)?(c(),r("div",Qc,[l(i)?(c(),r("div",Zc,[p(Y,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[p(Uc,{class:"edit-link-icon","aria-label":"edit icon"}),O(" "+L(l(o).text),1)]),_:1},8,["href"])])):k("",!0),l(_)?(c(),r("div",el,[p(Xc)])):k("",!0)])):k("",!0),(b=l(a).prev)!=null&&b.link||(P=l(a).next)!=null&&P.link?(c(),r("div",tl,[u("div",nl,[(m=l(a).prev)!=null&&m.link?(c(),r("a",{key:0,class:"pager-link prev",href:l(ce)(l(a).prev.link)},[u("span",{class:"desc",innerHTML:((x=l(t).docFooter)==null?void 0:x.prev)||"Previous page"},null,8,ol),u("span",{class:"title",innerHTML:l(a).prev.text},null,8,al)],8,sl)):k("",!0)]),u("div",{class:B(["pager",{"has-prev":(A=l(a).prev)==null?void 0:A.link}])},[(N=l(a).next)!=null&&N.link?(c(),r("a",{key:0,class:"pager-link next",href:l(ce)(l(a).next.link)},[u("span",{class:"desc",innerHTML:((H=l(t).docFooter)==null?void 0:H.next)||"Next page"},null,8,cl),u("span",{class:"title",innerHTML:l(a).next.text},null,8,ll)],8,il)):k("",!0)],2)])):k("",!0)])):k("",!0)}}});const ul=g(rl,[["__scopeId","data-v-31cb5067"]]),dl={key:0,class:"VPDocOutlineDropdown"},_l={key:0,class:"items"},hl=$({__name:"VPDocOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=M(),s=S(!1);ie(()=>{s.value=!1});const o=Be([]);return ie(()=>{o.value=Ge(t.value.outline??n.value.outline)}),(a,i)=>l(o).length>0?(c(),r("div",dl,[u("button",{onClick:i[0]||(i[0]=_=>s.value=!s.value),class:B({open:s.value})},[O(L(l(qe)(l(n)))+" ",1),p(Ue,{class:"icon"})],2),s.value?(c(),r("div",_l,[p(Re,{headers:l(o)},null,8,["headers"])])):k("",!0)])):k("",!0)}});const vl=g(hl,[["__scopeId","data-v-f751778e"]]),fl=e=>(R("data-v-5aafa2ac"),e=e(),U(),e),pl={class:"container"},ml=fl(()=>u("div",{class:"aside-curtain"},null,-1)),gl={class:"aside-container"},yl={class:"aside-content"},bl={class:"content"},kl={class:"content-container"},$l={class:"main"},Pl=$({__name:"VPDoc",setup(e){const t=le(),{hasSidebar:n,hasAside:s,leftAside:o}=K(),a=w(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(i,_)=>{const d=W("Content");return c(),r("div",{class:B(["VPDoc",{"has-sidebar":l(n),"has-aside":l(s)}])},[h(i.$slots,"doc-top",{},void 0,!0),u("div",pl,[l(s)?(c(),r("div",{key:0,class:B(["aside",{"left-aside":l(o)}])},[ml,u("div",gl,[u("div",yl,[p(Hc,null,{"aside-top":v(()=>[h(i.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[h(i.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[h(i.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(i.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(i.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(i.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):k("",!0),u("div",bl,[u("div",kl,[h(i.$slots,"doc-before",{},void 0,!0),p(vl),u("main",$l,[p(d,{class:B(["vp-doc",l(a)])},null,8,["class"])]),p(ul,null,{"doc-footer-before":v(()=>[h(i.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),h(i.$slots,"doc-after",{},void 0,!0)])])]),h(i.$slots,"doc-bottom",{},void 0,!0)],2)}}});const xl=g(Pl,[["__scopeId","data-v-5aafa2ac"]]),$e=e=>(R("data-v-42c0c3ae"),e=e(),U(),e),Vl={class:"NotFound"},wl=$e(()=>u("p",{class:"code"},"404",-1)),Sl=$e(()=>u("h1",{class:"title"},"PAGE NOT FOUND",-1)),Ll=$e(()=>u("div",{class:"divider"},null,-1)),Ml=$e(()=>u("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Cl={class:"action"},Il=["href"],Tl=$({__name:"NotFound",setup(e){const{site:t}=M(),{localeLinks:n}=re({removeCurrent:!1}),s=S("/");return J(()=>{var a;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((a=n.value.find(({link:i})=>i.startsWith(o)))==null?void 0:a.link)||n.value[0].link)}),(o,a)=>(c(),r("div",Vl,[wl,Sl,Ll,Ml,u("div",Cl,[u("a",{class:"link",href:l(be)(s.value),"aria-label":"go to home"}," Take me home ",8,Il)])]))}});const Al=g(Tl,[["__scopeId","data-v-42c0c3ae"]]),Bl=$({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=M(),{hasSidebar:s}=K();return(o,a)=>(c(),r("div",{class:B(["VPContent",{"has-sidebar":l(s),"is-home":l(n).layout==="home"}]),id:"VPContent"},[l(t).isNotFound?h(o.$slots,"not-found",{key:0},()=>[p(Al)],!0):l(n).layout==="page"?(c(),V(Ei,{key:1},{"page-top":v(()=>[h(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[h(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(c(),V(Pc,{key:2},{"home-hero-before":v(()=>[h(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[h(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[h(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[h(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[h(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(c(),V(xl,{key:3},{"doc-top":v(()=>[h(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[h(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[h(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[h(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[h(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[h(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[h(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[h(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Nl=g(Bl,[["__scopeId","data-v-7f38fbbe"]]),zl={class:"container"},Hl=["innerHTML"],El=["innerHTML"],Dl=$({__name:"VPFooter",setup(e){const{theme:t}=M(),{hasSidebar:n}=K();return(s,o)=>l(t).footer?(c(),r("footer",{key:0,class:B(["VPFooter",{"has-sidebar":l(n)}])},[u("div",zl,[l(t).footer.message?(c(),r("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Hl)):k("",!0),l(t).footer.copyright?(c(),r("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,El)):k("",!0)])],2)):k("",!0)}});const Ol=g(Dl,[["__scopeId","data-v-2425ede7"]]),Fl={key:0,class:"Layout"},jl=$({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=K(),o=le();ee(()=>o.path,s),Qt(t,s),he("close-sidebar",s),he("is-sidebar-open",t);const{frontmatter:a}=M(),i=Dt(),_=w(()=>!!i["home-hero-image"]);return he("hero-image-slot-exists",_),(d,f)=>{const y=W("Content");return l(a).layout!==!1?(c(),r("div",Fl,[h(d.$slots,"layout-top",{},void 0,!0),p(tn),p(on,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),p(Ka,null,{"nav-bar-title-before":v(()=>[h(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[h(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[h(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[h(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[h(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[h(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),p($i,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),p(Bi,{open:l(t)},{"sidebar-nav-before":v(()=>[h(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[h(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),p(Nl,null,{"page-top":v(()=>[h(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[h(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[h(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[h(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[h(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[h(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[h(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[h(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[h(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[h(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[h(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[h(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[h(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[h(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[h(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[h(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[h(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[h(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[h(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[h(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),p(Ol),h(d.$slots,"layout-bottom",{},void 0,!0)])):(c(),V(y,{key:1}))}}});const ql=g(jl,[["__scopeId","data-v-bd8710d4"]]);const Rl={Layout:ql,enhanceApp:({app:e})=>{e.component("Badge",Ft)}};export{Rl as t};
diff --git a/docs/document/assets/chunks/virtual_search-data.8219a1ca.js b/docs/document/assets/chunks/virtual_search-data.8219a1ca.js
deleted file mode 100644
index 5cfffa82e..000000000
--- a/docs/document/assets/chunks/virtual_search-data.8219a1ca.js
+++ /dev/null
@@ -1,1393 +0,0 @@
-const t={map:'[{"高级属性":["0.0","10.0"],"option":["0.1","1.12","10.1","11.12","29.0","36.14"],"whitelist":["0.2","10.2","29.36","40.36"],"template":["0.3","10.3"],"events":["0.4","10.4"],"storage":["0.5","10.5"],"icons":["0.6","10.6","29.40","40.40"],"i18n":["0.7","10.7","29.44","40.44"],"notice":["0.8","3.3","10.8","13.3"],"layers":["0.9","10.9","18.0","29.29","40.29"],"controls":["0.10","10.10","17.0","29.32","40.32"],"contextmenu":["0.11","2.37","3.2","10.11","12.36","13.2","16.0","29.31","40.31"],"subtitle":["0.12","2.36","10.12","12.35","29.38","40.38"],"loading":["0.13","2.34","10.13","12.33"],"hotkey":["0.14","2.6","10.14","12.5","29.20","40.20"],"mask":["0.15","2.35","10.15","12.34"],"setting":["0.16","2.39","3.4","3.5","3.6","10.16","12.38","13.4","13.5","13.6","19.0","29.19","40.19"],"plugins":["0.17","10.17","29.35","40.35"],"静态属性":["1.0","11.0"],"instances":["1.1","11.1"],"version":["1.2","11.2"],"env":["1.3","11.3"],"build":["1.4","11.4","19.1"],"config":["1.5","11.5","16.1","17.1","18.1","36.11"],"utils":["1.6","11.6"],"scheme":["1.7","11.7"],"emitter":["1.8","11.8"],"validator":["1.9","11.9"],"kindof":["1.10","11.10"],"html":["1.11","11.11"],"实例事件":["2.0","12.0"],"ready":["2.1","12.1"],"restart":["2.2","12.2"],"loop":["2.3","5.29","15.29","29.14","40.14"],"pause":["2.4","5.2","12.3","15.2"],"play":["2.5","5.1","12.4","15.1"],"destroy":["2.7","5.4","12.6","15.4","28.9","39.9"],"focus":["2.8","12.8"],"blur":["2.9","12.9"],"dblclick":["2.10","12.10"],"click":["2.11","12.11"],"error":["2.12","12.12"],"hover":["2.13","12.13"],"mousemove":["2.14","12.14"],"resize":["2.15","3.7","12.15","13.7"],"view":["2.16","12.16"],"lock":["2.17","29.45","40.45"],"aspectratio":["2.18","5.28","12.17","15.28","29.17","40.17"],"autoheight":["2.19","5.30","12.18","15.30"],"autosize":["2.20","5.24","12.19","15.24","29.12","40.12"],"flip":["2.21","3.31","5.26","12.20","13.31","15.26","29.15","40.15"],"fullscreen":["2.22","3.32","5.18","12.21","13.32","15.18","29.23","40.23"],"fullscreenweb":["2.23","5.19","12.22","15.19","29.24","40.24"],"mini":["2.24","5.22","12.23","15.22"],"pip":["2.25","5.20","12.24","15.20","29.21","40.21"],"screenshot":["2.26","5.15","12.25","15.15","29.18","40.18"],"seek":["2.27","3.28","5.5","12.26","13.28","15.5"],"subtitleoffset":["2.28","12.27","29.25","40.25"],"subtitleupdate":["2.29","12.28"],"subtitleload":["2.30","12.29"],"subtitleswitch":["2.31","12.30"],"info":["2.32","3.23","12.31","13.23"],"layer":["2.33","12.32"],"control":["2.38","3.15","12.37","13.15"],"video":["2.40","2.41","2.42","2.43","2.44","2.45","2.46","2.47","2.48","2.49","2.50","2.51","2.52","2.53","2.54","2.55","2.56","2.57","2.58","2.59","2.60","5.40","12.39","12.40","12.41","12.42","12.43","12.44","12.45","12.46","12.47","12.48","12.49","12.50","12.51","12.52","12.53","12.54","12.55","12.56","12.57","12.58","12.59","15.40"],"全局属性":["3.0"],"debug":["3.1","13.1"],"scroll":["3.8","3.9","13.8","13.9"],"auto":["3.10","3.11","3.12","13.10","13.11","13.12"],"reconnect":["3.13","3.14","13.13","13.14"],"dbclick":["3.16","3.17","13.16","13.17"],"mobile":["3.18","3.19","3.20","3.21","3.22","13.18","13.19","13.20","13.21","13.22"],"fast":["3.24","3.25","13.24","13.25"],"touch":["3.26","13.26"],"volume":["3.27","5.8","13.27","15.8","29.8","40.8"],"playback":["3.29","13.29"],"aspect":["3.30","13.30"],"编写插件":["4.0","14.0"],"实例属性":["5.0"],"toggle":["5.3","15.3"],"forward":["5.6","15.6"],"backward":["5.7","15.7"],"url":["5.9","12.7","15.9","29.2","40.2"],"switchurl":["5.10","15.10"],"switchquality":["5.11","15.11"],"muted":["5.12","15.12","29.10","40.10"],"currenttime":["5.13","15.13"],"duration":["5.14","15.14"],"getdataurl":["5.16","15.16"],"getbloburl":["5.17","15.17"],"poster":["5.21","15.21","29.5","40.5"],"playing":["5.23","15.23"],"rect":["5.25","15.25"],"playbackrate":["5.27","15.27","29.16","40.16"],"attr":["5.31","15.31"],"title":["5.32","15.32","29.6","40.6"],"type":["5.33","15.33","29.41","40.41"],"theme":["5.34","15.34","29.7","40.7"],"airplay":["5.35","15.35","29.49","40.49"],"loaded":["5.36","15.36"],"played":["5.37","15.37"],"proxy":["5.38","15.38"],"query":["5.39","15.39"],"cssvar":["5.41","29.50","40.50"],"右键菜单":["6.0"],"配置":["6.1","7.1","8.1"],"创建":["6.2","7.2","8.2","9.2","9.3","9.4","9.5"],"添加":["6.3","7.3","8.3","9.6"],"删除":["6.4","7.4","8.4","9.7"],"更新":["6.5","7.5","8.5","9.8"],"控制器":["7.0"],"业务层":["8.0"],"设置面板":["9.0"],"内置":["9.1"],"global":["13.0"],"instance":["15.0"],"init":["16.2","17.2","18.2","19.2","19.3","19.4","19.5"],"add":["16.3","17.3","18.3","19.6"],"remove":["16.4","17.4","18.4","19.7"],"update":["16.5","17.5","18.5","19.8"],"danger":["20.0"],"install":["20.1"],"cdn":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"use":["20.3"],"vue":["20.4","30.4"],"react":["20.5","30.5"],"syntax":["20.6"],"old":["20.7"],"dash":["21.0","26.0","31.0","37.0"],"flv":["22.0","32.0"],"hls":["23.0","27.0","33.0","38.0"],"视频广告":["24.0","34.0"],"演示":["24.1","25.1","26.1","27.1","28.2","34.1","35.1","36.1","37.1","38.1","39.2"],"安装":["24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"使用":["24.4","25.4","28.5","30.3","34.4","35.4","39.5"],"控制器皮肤":["25.0","35.0"],"enable":["25.5","35.5"],"iframe":["28.0","28.10","39.0","39.10"],"说明":["28.1","39.1"],"index":["28.6","39.6"],"commit":["28.7","39.7"],"message":["28.8","39.8"],"inject":["28.11","39.11"],"postmessage":["28.12","39.12"],"例子":["28.13","39.13"],"container":["29.1","40.1"],"id":["29.3","40.3"],"onready":["29.4","40.4"],"islive":["29.9","40.9"],"autoplay":["29.11","40.11"],"automini":["29.13","40.13"],"mutex":["29.22","40.22"],"miniprogressbar":["29.26","40.26"],"usessr":["29.27","40.27"],"playsinline":["29.28","40.28"],"settings":["29.30","40.30"],"quality":["29.33","40.33"],"highlight":["29.34","40.34"],"thumbnails":["29.37","40.37"],"morevideoattr":["29.39","40.39"],"customtype":["29.42","40.42"],"lang":["29.43","40.43"],"fastforward":["29.46","40.46"],"autoplayback":["29.47","40.47"],"autoorientation":["29.48","40.48"],"安装使用":["30.0"],"语法提示":["30.6"],"古老的浏览器":["30.7"],"弹幕库":["36.0"],"选项":["36.4"],"使用弹幕数组":["36.5"],"使用弹幕":["36.6"],"使用异步调用":["36.7"],"hide":["36.8"],"ishide":["36.9"],"emit":["36.10"],"load":["36.12"],"reset":["36.13"],"事件":["36.15"],"基础选项":["40.0"]},{"0":["5.36","5.37","29.8","40.8"],"1":["30.7","36.4"],"5":["8.2","18.2","36.4"],"7":["8.3","18.3","29.8"],"10":["36.4"],"15":["4.0","14.0"],"21":["8.5","9.8","18.5","19.8"],"26":["7.5","17.5"],"27":["9.8","19.8"],"这里的":["0.0","1.0","5.0","10.0","11.0"],"播放器的选项":["0.1","10.1"],"div":["0.1","0.2","0.3","0.5","0.6","0.8","0.14","0.17","1.1","1.6","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","4.0","5.1","5.2","5.3","5.14","5.25","5.35","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.2","10.3","10.5","10.6","10.8","10.14","10.17","11.1","11.6","12.0","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","14.0","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","25.5","29.2","29.29","29.30","31.0","32.0","33.0","34.4","35.4","35.5","36.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30","40.31","40.32"],"classname":["0.1","0.2","0.3","0.17","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.2","10.3","10.17","12.0","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","14.0","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","29.2","29.29","29.30","31.0","32.0","33.0","34.4","35.4","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30"],"run":["0.1","0.3","2.0","2.2","2.3","2.7","2.12","2.13","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.3","12.0","12.2","12.6","12.7","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","12.30","12.38","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","29.2","29.29","31.0","32.0","33.0","34.4","35.4","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30"],"管理移动设备的白名单功能":["0.2","10.2"],"只有一个属性":["0.2","10.2"],"state":["0.2","10.2"],"返回是否启用播放器功能":["0.2","10.2"],"管理播放器所有的":["0.3","0.4","0.6","10.3","10.4","10.6"],"dom":["0.3","0.4","5.38","5.39","9.2","9.4","9.5","10.3","10.4","15.38","15.39","19.2","19.4","19.5","29.1","40.1"],"元素":["0.3","9.4","9.5","10.3"],"事件":["0.4","4.0","10.4","14.0"],"实质上是代理了":["0.4","10.4"],"addeventlistener":["0.4","5.38","10.4","15.38"],"和":["0.4","4.0","5.11","10.4","14.0","36.8","40.4"],"removeeventlistener":["0.4","10.4"],"当使用以下方法来处理事件":["0.4","10.4"],"播放器销毁时也会自动销毁该事件":["0.4","10.4"],"proxy":["0.4","10.4"],"方法用于代理":["0.4","10.4"],"管理播放器的本地存储":["0.5","10.5"],"name":["0.5","4.0","10.5","14.0","17.1"],"属性用于设置缓存的":["0.5","10.5"],"key":["0.5","10.5"],"set":["0.5","10.5","15.8","15.11","15.12","15.13","15.18","15.19","15.20","15.21","15.24","15.26","15.28","15.29","29.37","29.38"],"方法用于设置缓存":["0.5","10.5"],"get":["0.5","0.7","10.5","10.7","15.13","15.14","15.16","15.17","15.18","15.20","15.23","15.25","15.31","15.32","15.34"],"方法用于获取缓存":["0.5","10.5"],"del":["0.5","10.5"],"方法用于删除缓存":["0.5","10.5"],"clear":["0.5","10.5"],"方法用于清空缓存":["0.5","10.5"],"svg":["0.6","10.6"],"图标":["0.6","10.6"],"管理播放器的":["0.7","10.7"],"方法用于获取":["0.7","10.7"],"的值":["0.7","10.7"],"update":["0.7","0.9","0.10","0.11","0.16","10.7"],"管理播放器的提示语":["0.8","10.8"],"只有一个":["0.8","10.8"],"show":["0.8","0.13","0.15","10.8","10.9","10.10","10.11","10.13","10.15","10.16","36.8"],"属性用于显示提示语":["0.8","10.8"],"管理播放器的层":["0.9","10.9"],"add":["0.9","0.10","0.11","0.14","0.16","0.17","10.9","10.10","10.11","10.14","10.16","10.17"],"方法用于动态添加层":["0.9","10.9"],"remove":["0.9","0.10","0.11","0.14","0.16","10.14"],"方法用于动态删除层":["0.9"],"管理播放器的控制器":["0.10","10.10"],"方法用于动态添加控制器":["0.10","10.10"],"方法用于动态删除控制器":["0.10"],"管理播放器的右键菜单":["0.11","10.11"],"方法用于动态添加菜单":["0.11","10.11"],"方法用于动态删除菜单":["0.11"],"方法用于动态更新菜单":["0.11"],"管理播放器的字幕功能":["0.12","10.12"],"url":["0.12","10.12","15.10","36.15"],"属性设置和返回当前字幕地址":["0.12","10.12"],"style":["0.12","10.12"],"方法设置当前字幕的样式":["0.12","10.12"],"管理播放器的加载层":["0.13","10.13"],"属性用于设置是否显示加载层":["0.13","10.13"],"toggle":["0.13","0.15","10.9","10.10","10.11","10.13","10.15","10.16"],"管理播放器的快捷键功能":["0.14","10.14"],"方法用于添加快捷键":["0.14","10.14"],"方法用于删除快捷键":["0.14","10.14"],"管理播放器的遮罩层":["0.15","10.15"],"属性用于设置是否显示遮罩层":["0.15","10.15"],"管理播放器的设置面板":["0.16","10.16"],"方法用于动态添加设置项":["0.16","10.16"],"方法用于动态删除设置项":["0.16"],"方法用于动态更新设置项":["0.16"],"管理播放器的插件功能":["0.17","10.17"],"只有一个方法":["0.17","10.17"],"用于动态添加插件":["0.17","10.17"],"返回全部播放器实例的数组":["1.1","11.1"],"假如你想同时管理多个播放器的时候":["1.1","11.1"],"可以用到该属性":["1.1","11.1"],"返回播放器的版本信息":["1.2","11.2"],"返回播放器的环境变量":["1.3","11.3"],"返回播放器的打包时间":["1.4","11.4"],"返回视频的默认配置":["1.5","11.5"],"返回播放器的工具函数集合":["1.6","11.6"],"返回播放器选项的校验方案":["1.7","11.7"],"返回事件分发器的构造函数":["1.8","11.8"],"返回选项的校验函数":["1.9","11.9"],"返回类型检测的函数工具":["1.10","11.10"],"返回播放器所需的":["1.11","11.11"],"返回播放器的默认选项":["1.12","11.12"],"播放器的事件分为两种":["2.0","12.0"],"一种视频的":["2.0","12.0"],"原生事件":["2.0","12.0"],"前缀":["2.0","12.0"],"video":["2.0","12.0","15.1","15.2","15.3","15.7","15.10","15.11","15.14","15.36","15.37","23.0","29.2","29.5","29.6","29.38","29.41","29.42","33.0"],"另外一种是":["2.0","12.0"],"自定义事件":["2.0","12.0"],"监听事件":["2.0","12.0"],"code":["2.0","2.2","2.28","2.31","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","12.0","12.7","12.27","12.30","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","20.1","20.2","20.3","20.4","20.5","21.0","22.0","23.0","24.2","24.3","24.4","25.2","25.3","25.4","26.2","26.3","27.2","27.3","28.3","28.4","28.5","29.2","30.1","30.2","30.3","30.4","30.5","31.0","32.0","33.0","34.2","34.3","34.4","35.2","35.3","35.4","36.2","36.3","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","37.2","37.3","38.2","38.3","39.3","39.4","39.5","40.2","40.29"],"js":["2.0","4.0","6.5","7.2","7.3","7.5","8.2","8.3","8.5","9.3","9.7","9.8","12.0","14.0","16.5","17.2","17.3","17.5","18.2","18.3","18.5","19.3","19.7","19.8","20.3","20.4","20.5","20.6","20.7","21.0","22.0","23.0","24.4","30.3","30.4","30.5","30.6","30.7","31.0","32.0","33.0","34.4","36.4","36.15"],"当播放器首次可以播放器时触发":["2.1","12.1"],"当播放器切换地址后并可以播放时触发":["2.2","12.2"],"当出现区间循环时触发":["2.3"],"当播放器暂停时触发":["2.4","12.3"],"当播放器播放时触发":["2.5","12.4"],"当播放器热键被按下时触发":["2.6","12.5"],"当播放器销毁时触发":["2.7","12.6"],"当播放器获得焦点时触发":["2.8","12.8"],"当播放器失去焦点时触发":["2.9","12.9"],"当播放器被双击时触发":["2.10","12.10"],"当播放器被单击时触发":["2.11","12.11"],"当播放器加载视频发生错误时触发":["2.12","12.12"],"当播放器被鼠标移出或者移入时触发":["2.13","12.13"],"当播放器被鼠标经过时触发":["2.14","12.14"],"当播放器尺寸变化时触发":["2.15","12.15"],"当播放器出现在视口时触发":["2.16","12.16"],"在移动端":["2.17"],"当锁定的状态发生变化时触发":["2.17"],"当播放器长宽比变化时触发":["2.18","12.17"],"当播放器自动设置高度时触发":["2.19","12.18"],"当播放器自动设置尺寸时触发":["2.20","12.19"],"当播放器发生翻转时触发":["2.21","12.20"],"当播放器发生窗口全屏时触发":["2.22","12.21"],"当播放器发生网页全屏时触发":["2.23","12.22"],"当播放器进入迷你模式时触发":["2.24","12.23"],"当播放器进入画中画时触发":["2.25","12.24"],"当播放器被截图时触发":["2.26","12.25"],"当播放器发生时间跳转时触发":["2.27","12.26"],"当播放器发生字幕偏移时触发":["2.28","12.27"],"当字幕更新时触发":["2.29","12.28"],"当字幕加载时触发":["2.30","12.29"],"当字幕切换时触发":["2.31","12.30"],"当信息面板显示或隐藏时触发":["2.32","12.31"],"当自定义层显示或隐藏时触发":["2.33","12.32"],"当加载器显示或隐藏时触发":["2.34","12.33"],"当遮罩层显示或隐藏时触发":["2.35","12.34"],"当字幕层显示或隐藏时触发":["2.36","12.35"],"当右键菜单显示或隐藏时触发":["2.37","12.36"],"当控制器显示或隐藏时触发":["2.38","12.37"],"当设置面板显示或隐藏时触发":["2.39","12.38"],"canplay":["2.40","12.39"],"canplaythrough":["2.41","12.40"],"complete":["2.42","12.41"],"durationchange":["2.43","12.42"],"emptied":["2.44","12.43"],"ended":["2.45","12.44"],"error":["2.46","12.45"],"loadeddata":["2.47","12.46"],"loadedmetadata":["2.48","12.47"],"pause":["2.49","12.48"],"play":["2.50","12.49","29.11"],"playing":["2.51","12.50"],"progress":["2.52","12.51","29.34"],"ratechange":["2.53","12.52"],"seeked":["2.54","12.53"],"seeking":["2.55","12.54"],"stalled":["2.56","12.55"],"suspend":["2.57","12.56"],"timeupdate":["2.58","12.57"],"volumechange":["2.59","12.58"],"waiting":["2.60","12.59"],"time":["3.3","3.7","3.8","3.13","3.16","13.3","13.7","13.8","13.13","13.16","29.25"],"width":["3.4","9.2","13.4","15.30"],"item":["3.5","3.6","13.5","13.6"],"gap":["3.9","13.9"],"playback":["3.10","3.11","3.12","13.10","13.11","13.12","15.3","29.47"],"sleep":["3.14","13.14"],"hide":["3.15","13.15"],"fullscreen":["3.17","13.17"],"dbclick":["3.18","13.18"],"click":["3.19","13.19"],"auto":["3.20","3.21","3.22","13.20","13.21","13.22"],"loop":["3.23","13.23"],"forward":["3.24","3.25","13.24","13.25"],"move":["3.26","13.26"],"step":["3.27","3.28","13.27","13.28"],"rate":["3.29","13.29"],"ratio":["3.30","13.30"],"web":["3.32","13.32"],"但你已经知道播放器的":["4.0","14.0"],"属性":["4.0","6.1","7.1","8.1","9.2","9.4","9.5","14.0","40.33","40.34","40.37","40.38"],"方法":["4.0","14.0"],"后":["4.0","14.0"],"再编写插件是非常简单的事":["4.0","14.0"],"可以在实例化的时候加载插件的函数":["4.0","14.0"],"function":["4.0","5.1","5.2","5.3","5.4","5.10","5.11","5.15","5.16","5.17","5.31","5.35","5.38","5.39","5.41","9.2","14.0","15.1","15.2","15.3","15.4","15.10","15.11","15.15","15.16","15.17","15.31","15.35","15.38","15.39","19.2","29.4","40.4"],"myplugin":["4.0","14.0"],"art":["4.0","7.2","14.0","17.2","36.15"],"console":["4.0","14.0"],"info":["4.0","14.0"],"return":["4.0","14.0","15.40"],"something":["4.0","14.0"],"type":["5.1","5.2","5.3","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.34","5.35","5.36","5.37","5.38","5.39","5.40","5.41","15.1","15.2","15.3","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.15","15.16","15.17","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.34","15.35","15.36","15.37","15.38","15.39","15.40","16.1","17.1","18.1","19.2","19.4","19.5","25.5","29.1","29.2","29.3","29.4","29.5","29.6","29.7","29.8","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","29.37","29.38","29.39","29.40","29.42","29.43","29.44","29.45","29.46","29.47","29.48","29.49","29.50","35.5","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36","40.37","40.38","40.39","40.40","40.42","40.43","40.44","40.45","40.46","40.47","40.48","40.49","40.50"],"播放视频":["5.1"],"暂停视频":["5.2"],"切换视频的播放和暂停":["5.3"],"parameter":["5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.34","25.5","29.4","35.5"],"boolean":["5.4","5.12","5.18","5.19","5.20","5.23","5.24","5.30","7.1","15.4","15.12","15.18","15.19","15.20","15.23","15.24","15.30","16.1","17.1","18.1","25.5","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.45","29.46","29.47","29.48","29.49","35.5","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.45","40.46","40.47","40.48","40.49"],"setter":["5.5","5.6","5.7","5.8","5.9","5.12","5.13","5.18","5.19","5.20","5.21","5.22","5.24","5.26","5.27","5.28","5.29","5.30","5.32","5.33","5.34","15.5","15.6","15.7","15.8","15.9","15.12","15.13","15.18","15.19","15.20","15.21","15.22","15.24","15.26","15.27","15.28","15.29","15.30","15.32","15.33","15.34","25.5","35.5"],"number":["5.5","5.6","5.7","5.8","5.13","5.27","15.5","15.6","15.7","15.8","15.13","15.27","29.8","40.8"],"getter":["5.8","5.9","5.12","5.13","5.14","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.32","5.33","5.34","5.36","5.37","15.8","15.9","15.12","15.13","15.14","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.32","15.33","15.34","15.36","15.37","25.5","35.5"],"string":["5.10","5.11","5.21","5.26","5.28","5.31","5.32","5.33","5.34","9.2","9.4","9.5","15.9","15.10","15.11","15.21","15.26","15.28","15.31","15.32","15.33","15.34","17.1","19.2","19.4","19.5","29.1","29.2","29.3","29.5","29.6","29.7","29.41","29.43","40.1","40.2","40.3","40.5","40.6","40.7","40.41","40.43"],"设置视频地址":["5.10"],"设置时和":["5.10"],"设置视频画质地址":["5.11"],"获取视频时长":["5.14"],"下载当前视频帧的截图":["5.15"],"获取当前视频帧的截图的":["5.16","5.17"],"base64":["5.16","15.16"],"地址":["5.16","5.17","36.4"],"blob":["5.17","15.17"],"设置和获取视频海报":["5.21"],"获取播放器的尺寸和坐标信息":["5.25"],"array":["5.29","9.2","15.29","19.2","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36"],"设置和获取区间循序播放":["5.29"],"单位秒":["5.29","36.4"],"当容器只有宽度":["5.30"],"动态获取和设置":["5.31"],"开启隔空播放":["5.35"],"视频缓存的比例":["5.36"],"范围是":["5.36","5.37"],"视频播放的比例":["5.37"],"事件的代理函数":["5.38"],"实质上代理了":["5.38"],"的查询函数":["5.39"],"element":["5.40","9.2","9.4","9.5","15.40","19.2","19.4","19.5","29.1","40.1"],"快捷返回播放器的":["5.40"],"动态获取或设置":["5.41"],"css":["5.41"],"变量":["5.41"],"类型":["6.1","7.1","8.1","9.2","9.4","9.5","40.34","40.37","40.38"],"描述":["6.1","7.1","8.1","9.2","9.4","9.5"],"disable":["6.1","7.1","8.1","16.1","17.1","18.1"],"var":["7.2","9.3","17.2","36.15"],"new":["7.2","17.2","36.15"],"artplayer":["7.2","17.2","20.3","20.5","20.7","24.4","29.1","30.3","30.5","30.7","34.4","36.5","36.15","40.1"],"container":["7.2","15.30","17.2","36.15"],"须先打开设置面板":["9.1"],"然后自带四个内置项":["9.1"],"flip":["9.1"],"playbackrate":["9.1"],"选择列表":["9.2"],"html":["9.2","9.4","9.5","19.2","19.4","19.5","28.5","28.6","28.7","28.10","28.13","39.5","39.6","39.7","39.10","39.13","40.40"],"元素的":["9.2","9.4","9.5"],"icon":["9.2","9.4","9.5","19.2","19.4","19.5"],"元素的图标":["9.2"],"selector":["9.2","19.2"],"元素列表":["9.2"],"onselect":["9.2","19.2"],"元素点击事件":["9.2"],"列表嵌套":["9.3"],"切换按钮":["9.4"],"范围滑块":["9.5"],"属性用于设置是否显示全部层":["10.9"],"属性用于设置是否显示全部控制器":["10.10"],"属性用于设置是否显示全部菜单":["10.11"],"属性用于设置是否显示全部设置项":["10.16"],"属性用于切换是否显示全部设置项":["10.16"],"当视频地址变化时触发":["12.7"],"property":["13.0","15.0","16.1","17.1","18.1","19.2","19.4","19.5"],"the":["15.0","15.10","15.11","15.16","15.17","15.20","15.25","15.30","15.36","15.37","15.38","15.39","15.40","17.1","19.1","20.7","29.1","29.3","29.4","29.7","29.12","29.27","29.29","29.30","29.31","29.32","29.33","29.34","29.37","29.38","29.41","29.42","29.44"],"to":["15.4","16.1","17.1","18.1","29.1","29.11","29.18","29.20","29.27","29.33","29.40","29.41","29.47","29.48","29.50"],"setting":["15.10","29.30"],"is":["15.10","29.40","29.41"],"similar":["15.10","15.11"],"quality":["15.11"],"address":["15.11","15.16","15.17","29.2"],"and":["15.13","15.18","15.20","15.21","15.25","15.29","15.31","15.38","29.36","29.38"],"download":["15.15"],"a":["15.15","29.4"],"full":["15.18"],"obtain":["15.21","15.29"],"whether":["15.24","16.1","17.1","18.1","29.11","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.23","29.24","29.27","29.33","29.45","29.46","29.47","29.48","29.49"],"size":["15.25","29.12"],"interval":["15.29"],"when":["15.30","29.9","29.13"],"has":["15.30"],"only":["15.30","20.7"],"this":["15.30"],"attribute":["15.30"],"enable":["15.35"],"proportion":["15.36","15.37"],"of":["15.36","15.37","15.38","15.39","20.7","29.12","29.38","29.41"],"event":["15.38"],"essentially":["15.38"],"proxies":["15.38"],"describe":["16.1","17.1","18.1","19.2","19.4","19.5"],"component":["17.1"],"in":["19.1"],"you":["19.1","29.36"],"must":["19.1"],"open":["19.1"],"settings":["19.1"],"select":["19.2"],"list":["19.2","19.3"],"nesting":["19.3"],"switch":["19.4"],"button":["19.4"],"range":["19.5"],"slider":["19.5"],"important":["20.0"],"note":["20.0"],"group":["20.1","20.2","20.3","20.4","20.5","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","28.5","30.1","30.2","30.3","30.4","30.5","34.2","34.3","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4","39.5"],"bash":["20.2","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","30.2","34.2","34.3","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4"],"index":["20.3","24.4","28.5","28.7","28.12","28.13","30.3","34.4","39.5","39.7","39.12","39.13"],"import":["20.3","20.5","30.3","30.5"],"from":["20.3","20.5","30.5"],"jsx":["20.5","30.5"],"useeffect":["20.5","30.5"],"useref":["20.5","30.5"],"hint":["20.6"],"sometimes":["20.6","29.36"],"your":["20.6"],"file":["20.6"],"will":["20.6","29.44"],"browsers":["20.7"],"production":["20.7"],"builds":["20.7"],"are":["20.7"],"compatible":["20.7"],"with":["20.7"],"https":["21.0","22.0","23.0","31.0","32.0","33.0"],"github":["21.0","22.0","23.0","31.0","32.0","33.0"],"com":["21.0","22.0","23.0","31.0","32.0","33.0"],"industry":["21.0","31.0"],"forum":["21.0","31.0"],"bilibili":["22.0","32.0"],"data":["22.0","23.0","24.4","32.0","33.0","34.4","36.5","36.7","36.9","36.10","36.14"],"dev":["23.0","33.0"],"libs":["23.0","24.4","33.0","34.4","36.5","36.7","36.10"],"查看完整演示":["24.1","25.1","26.1","27.1","28.2","34.1","35.1","36.1","37.1","38.1","39.2"],"jsdelivr":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"uncompiled":["24.4","34.4","36.5"],"plugin":["24.4","34.4","36.5"],"ads":["24.4","34.4"],"是否启用新的控制器皮肤":["25.5","35.5"],"画质":["26.0","27.0","37.0","38.0"],"控制":["28.0","39.0"],"通过该插件":["28.1","39.1"],"你可以轻松在":["28.1","39.1"],"doctype":["28.5","39.5"],"从":["28.7","39.7"],"将消息推送到":["28.7","28.12","39.7","39.12"],"iframe":["28.7","28.13","39.7","39.13"],"该函数将在":["28.7","39.7"],"在":["28.8","39.8"],"销毁后":["28.9","39.9"],"注入脚本":["28.11","39.11"],"最常遇到的问题是":["28.13","39.13"],"播放器在":["28.13","39.13"],"里进行网页全屏":["28.13","39.13"],"但在":["28.13","39.13"],"default":["29.1","29.2","29.3","29.4","29.5","29.6","29.7","29.8","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","29.37","29.38","29.39","29.40","29.41","29.42","29.43","29.44","29.45","29.46","29.47","29.48","29.49","29.50","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36","40.37","40.38","40.39","40.40","40.41","40.42","40.43","40.44","40.45","40.46","40.47","40.48","40.49","40.50"],"attached":["29.1"],"source":["29.2"],"unique":["29.3"],"undefined":["29.4","40.4"],"constructor":["29.4"],"accepts":["29.4"],"as":["29.4"],"second":["29.4"],"which":["29.4","29.44"],"posters":["29.5"],"f00":["29.7","40.7"],"false":["29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.21","29.23","29.24","29.25","29.26","29.27","29.39","29.45","29.46","29.47","29.48","29.49","40.11","40.12","40.13","40.15","40.16","40.17","40.18","40.25","40.27","40.45","40.47","40.49"],"display":["29.18","29.33","29.34"],"true":["29.20","29.22","29.28","40.20"],"use":["29.20","29.27","29.47"],"shortcut":["29.20"],"if":["29.22"],"subtitle":["29.25"],"mini":["29.26"],"ssr":["29.27","40.27"],"initialize":["29.29","29.30","29.31","29.32","29.35"],"customized":["29.29","29.30","29.31","29.32","29.35"],"on":["29.34","29.37"],"because":["29.36"],"different":["29.36"],"mobile":["29.36"],"devices":["29.36"],"have":["29.36"],"many":["29.36"],"differences":["29.36"],"limitations":["29.36"],"want":["29.36"],"object":["29.37","29.38","29.39","29.40","29.42","29.44","29.50","40.37","40.38","40.39","40.40","40.42","40.44","40.50"],"image":["29.37"],"support":["29.38"],"controls":["29.39","40.39"],"preload":["29.39"],"it":["29.40","29.41"],"used":["29.40","29.41","29.50"],"replace":["29.40"],"indicate":["29.41"],"format":["29.41"],"needs":["29.41"],"by":["29.42"],"matching":["29.42"],"s":["29.42"],"navigator":["29.43","40.43"],"language":["29.43","40.43"],"tolowercase":["29.43"],"customize":["29.44"],"configuration":["29.44"],"be":["29.44"],"deeply":["29.44"],"merged":["29.44"],"automatic":["29.47"],"有时你的":["30.6"],"文件会丢失":["30.6"],"typescript":["30.6"],"生产构建的":["30.7"],"只兼容最新一个主版本的":["30.7"],"chrome":["30.7"],"last":["30.7"],"danmuku":["36.4","36.11"],"弹幕库":["36.4"],"支持数组":["36.4"],"xml":["36.4","36.6"],"promise返回数组":["36.4"],"speed":["36.4","36.11"],"弹幕持续时间":["36.4"],"范围在":["36.4"],"opacity":["36.4","36.11"],"通过方法":["36.8","36.10","36.11"],"进行隐藏或者显示弹幕":["36.8"],"通过属性":["36.9"],"判断当前弹幕是隐藏或者显示":["36.9"],"发送一条实时弹幕":["36.10"],"实时改变弹幕配置":["36.11"],"支持属性有":["36.11"],"fontsize":["36.11"],"color":["36.11"],"mode":["36.11"],"margin":["36.11"],"通过":["36.12"],"方法可以重载弹幕源":["36.12"],"或者切换新弹幕":["36.12"],"用于清空当前显示的弹幕":["36.13"],"用于获取当前弹幕配置":["36.14"],"app":["36.15"],"assets":["36.15"],"sample":["36.15"],"播放器挂载的":["40.1"],"视频源地址":["40.2"],"播放器的唯一标识":["40.3"],"构造函数接受一个函数作为第二个参数":["40.4"],"播放器初始化成功且视频可以播放时触发":["40.4"],"ready":["40.4"],"视频的海报":["40.5"],"视频标题":["40.6"],"是否自动播放":["40.11"],"是否使用快捷键":["40.20"],"字幕时间偏移":["40.25"],"是否使用":["40.27"],"初始化自定义的":["40.29","40.30","40.31","40.35"],"层":["40.29"],"设置面板":["40.30"],"右键菜单":["40.31"],"初始化自定义的底部":["40.32"],"控制栏":["40.32"],"是否在底部控制栏里显示":["40.33"],"画质选择":["40.33"],"列表":["40.33"],"在进度条上显示":["40.34"],"高亮信息":["40.34"],"插件":["40.35"],"因为不同的移动设备存在多种差异和限制":["40.36"],"有时候你希望在某些移动设备上不使用本播放器":["40.36"],"而是直接使用原生的功能时":["40.36"],"可以通过该选项控制":["40.36"],"在进度条上设置":["40.37"],"预览图":["40.37"],"设置视频的字幕":["40.38"],"支持字幕格式":["40.38"],"vtt":["40.38"],"srt":["40.38"],"ass":["40.38"],"用于替换默认图标":["40.40"],"支持":["40.40"],"用于指明视频的格式":["40.41"],"需要配合":["40.41"],"customtype":["40.41"],"通过视频的":["40.42"],"自定义":["40.44"],"配置":["40.44"],"该配置会和自带的":["40.44"],"进行深度合并":["40.44"],"新增你的语言":["40.44"],"是否使用自动":["40.47"],"回放功能":["40.47"],"用于改变内置的css变量":["40.50"]},{"0":["5.8","15.8","15.36","15.37","23.0","33.0","36.4"],"1":["5.8","5.36","5.37","15.36","15.37","20.7","22.0","32.0"],"2":["21.0","22.0","31.0","32.0"],"3":["23.0","29.2","33.0","40.2"],"4":["6.2","16.2","21.0","29.47","31.0","40.44"],"5":["21.0","29.29","29.30","31.0","40.29","40.30"],"6":["2.0","6.3","7.3","12.0","16.3","17.3","22.0","32.0"],"7":["15.14","40.8"],"8":["23.0","33.0"],"9":["9.6","19.6","40.44"],"10":["2.2","7.2","12.7","17.2"],"11":["2.28","12.27"],"13":["2.31","6.2","6.3","12.30","16.2","16.3"],"14":["9.6","19.6"],"21":["6.4","6.5","7.3","7.4","8.4","16.4","16.5","17.3","17.4","18.4"],"22":["8.2","8.3","9.7","18.2","18.3","19.7"],"23":["29.29","40.29"],"24":["6.5","16.5"],"25":["36.4"],"29":["8.5","18.5"],"34":["29.30","40.30"],"40":["7.5","17.5"],"code":["0.1","0.2","0.3","0.5","0.6","0.7","0.8","0.13","0.14","0.15","0.16","0.17","1.1","1.6","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.12","5.14","5.15","5.18","5.19","5.20","5.21","5.23","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.35","5.41","9.2","10.1","10.2","10.3","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.13","10.14","10.15","10.16","10.17","11.1","11.6","12.1","12.2","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.14","15.18","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.4","40.11","40.20","40.30","40.31","40.32","40.35","40.40","40.44","40.47","40.50"],"run":["0.2","0.5","0.6","0.7","0.8","0.11","0.12","0.13","0.14","0.15","0.16","0.17","1.1","1.6","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","5.1","5.2","5.3","5.7","5.9","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.23","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.41","9.1","9.2","10.2","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","10.17","11.1","11.6","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","15.1","15.2","15.3","15.14","15.18","15.20","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.30","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.4","40.5","40.8","40.11","40.20","40.31","40.32","40.35","40.40","40.44","40.47","40.50"],"js":["0.2","0.3","0.5","0.14","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","6.2","6.3","6.4","7.4","8.4","9.2","9.6","10.2","10.3","10.5","10.14","10.17","12.2","12.7","12.18","12.23","12.27","12.28","12.29","12.30","15.14","16.2","16.3","16.4","17.4","18.4","19.2","19.6","28.7","28.12","29.1","29.2","29.29","29.30","29.32","29.47","36.5","36.7","36.9","36.10","36.12","39.7","39.12","40.2","40.4","40.29","40.30","40.32","40.44"],"var":["0.3","0.5","2.0","2.31","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.2","9.6","9.7","9.8","10.3","10.5","12.0","12.30","14.0","15.14","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.2","19.3","19.6","19.7","19.8","24.4","28.7","29.2","29.29","29.30","34.4","36.5","39.7","40.2","40.29","40.30","40.44"],"hover":["0.4","10.4"],"方法用于代理自定义的":["0.4","10.4"],"loadimg":["0.4","10.4"],"方法用于监听图片的":["0.4","10.4"],"load":["0.4","10.4"],"加载事件":["0.4","10.4"],"div":["0.4","0.7","0.9","0.10","0.11","0.12","0.13","0.15","0.16","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.38","5.40","5.41","9.1","9.2","10.4","10.7","10.9","10.10","10.11","10.12","10.13","10.15","10.16","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.1","15.2","15.3","15.7","15.18","15.20","15.25","15.29","15.32","15.35","19.2","20.4","29.1","29.8","29.11","29.20","29.31","29.32","29.35","29.44","29.47","30.4","36.11","40.1","40.3","40.4","40.5","40.8","40.9","40.10","40.11","40.14","40.18","40.20","40.22","40.26","40.35","40.40","40.44","40.46","40.47","40.50"],"classname":["0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","1.10","1.12","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.40","5.41","9.1","9.2","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.1","11.2","11.3","11.4","11.5","11.6","11.7","11.8","11.9","11.10","11.12","15.1","15.2","15.3","15.18","15.20","15.25","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.3","40.4","40.5","40.8","40.10","40.11","40.14","40.18","40.20","40.31","40.32","40.35","40.40","40.44","40.46","40.47","40.50"],"art":["0.5","2.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.5","9.2","9.3","9.6","9.7","9.8","10.5","12.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.5","19.2","19.3","19.6","19.7","19.8","20.3","20.5","24.4","29.2","30.3","34.4","36.5","40.2"],"new":["0.5","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.3","9.2","9.3","9.6","9.7","9.8","10.5","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.3","19.3","19.6","19.7","19.8","20.3","24.4","29.2","30.3","34.4","40.2"],"artplayer":["0.5","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.3","9.7","9.8","10.5","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.3","19.7","19.8","20.4","25.4","25.5","26.2","27.2","28.5","29.2","30.4","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14","37.2","38.2","39.5","40.2"],"container":["0.5","2.0","4.0","6.4","6.5","7.3","7.5","9.2","9.3","9.7","9.8","10.5","12.0","14.0","16.4","16.5","17.3","17.5","19.3","19.7","19.8","20.3","24.4","29.2","29.12","30.3","34.4","40.12"],"方法用于更新":["0.7","10.7"],"对象":["0.7","10.7"],"方法用于动态更新层":["0.9"],"show":["0.9","0.10","0.11","0.16"],"属性用于设置是否显示全部层":["0.9"],"toggle":["0.9","0.10","0.11","0.16"],"方法用于切换是否显示全部层":["0.9"],"方法用于动态更新控制器":["0.10"],"属性用于设置是否显示全部控制器":["0.10"],"方法用于切换是否显示全部控制器":["0.10"],"属性用于设置是否显示全部菜单":["0.11"],"方法用于切换是否显示全部菜单":["0.11"],"switch":["0.12","9.4","10.12","29.19"],"方法设置当前字幕地址和选项":["0.12","10.12"],"属性用于切换是否显示加载层":["0.13","10.13"],"属性用于切换是否显示遮罩层":["0.15","10.15"],"属性用于设置是否显示全部设置项":["0.16"],"方法用于切换是否显示全部设置项":["0.16"],"字符串":["1.11","11.11"],"app":["2.0","4.0","7.2","7.5","9.2","9.3","9.7","9.8","12.0","14.0","17.2","17.5","19.3","19.7","19.8","20.3","24.4","29.2","34.4"],"url":["2.0","4.0","5.10","7.2","7.5","9.3","9.8","12.0","14.0","17.2","17.5","19.3","19.8","20.3","24.4","29.37","29.38","34.4","40.37","40.38"],"assets":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","29.2","29.29","34.4","40.29"],"sample":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","29.2","29.29","34.4","40.29"],"mp4":["2.0","4.0","7.2","12.0","14.0","17.2","36.15"],"on":["2.0","4.0","12.0","14.0","19.5","29.36","29.45"],"canplay":["2.0","12.0"],"浏览器可以播放媒体文件了":["2.40","12.39"],"浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束":["2.41","12.40"],"offlineaudiocontext":["2.42","12.41"],"duration":["2.43","12.42"],"媒体内容变为空":["2.44","12.43"],"例如":["2.44","12.43"],"视频停止播放":["2.45","12.44"],"获取媒体数据时出错":["2.46","12.45"],"media":["2.47","12.46"],"已加载元数据":["2.48","12.47"],"播放已暂停":["2.49","12.48"],"播放已开始":["2.50","12.49"],"由于缺乏数据而暂停或延迟后":["2.51","12.50"],"在浏览器加载资源时周期性触发":["2.52","12.51"],"播放速率发生变化":["2.53","12.52"],"跳帧":["2.54","2.55","12.53","12.54"],"用户代理":["2.56","12.55"],"媒体数据加载已暂停":["2.57","12.56"],"currenttime":["2.58","12.57"],"音量发生变化":["2.59","12.58"],"由于暂时缺少数据":["2.60","12.59"],"width":["3.5","13.5","19.2"],"height":["3.6","13.6","15.30"],"max":["3.10","3.13","13.10","13.13"],"min":["3.11","13.11","23.0","33.0"],"timeout":["3.12","13.12"],"time":["3.14","3.15","3.23","3.25","13.14","13.15","13.23","13.25","15.5","15.6","15.7","15.13","29.34","40.34"],"play":["3.18","3.19","13.18","13.19","29.14"],"playbackrate":["3.20","3.21","13.20","13.21"],"orientation":["3.22","13.22"],"value":["3.24","13.24"],"ratio":["3.26","13.26","15.28","29.17"],"in":["3.32","13.32","15.5","15.6","15.7","15.20","15.29","29.6","29.14","29.18","29.21","29.22","29.33","29.44","29.50"],"dosomething":["4.0","14.0"],"video":["4.0","5.31","5.36","5.37","7.2","9.3","9.8","14.0","15.5","15.6","15.8","15.9","15.12","15.13","15.15","15.16","15.17","15.21","15.23","15.24","15.30","15.31","15.33","17.2","19.3","19.8","29.4","29.15","29.16","29.17","29.18","29.39","29.46","36.15","40.42"],"plugins":["4.0","14.0","36.15"],"ready":["4.0","14.0"],"可以在实例化之后再加载插件的函数":["4.0","14.0"],"销毁播放器":["5.4"],"接受一个参数表示是否销毁后同时移除播放器的":["5.4"],"html":["5.4","28.1","28.8","28.12","29.40","39.1","39.8","39.12","40.27","40.33"],"默认为":["5.4"],"true":["5.4","5.24","5.30","36.15","40.22","40.28"],"视频时间跳转":["5.5"],"单位秒":["5.5","5.6","5.7","40.34"],"视频时间快进":["5.6"],"视频时间快退":["5.7"],"设置和获取视频音量":["5.8"],"范围在":["5.8","40.25"],"string":["5.9","6.1","7.1","8.1","16.1","18.1","29.37","29.38","29.40","40.33","40.34","40.37","40.38"],"设置和获取视频地址":["5.9"],"类似":["5.10","5.11","5.13","5.39"],"但会执行一些优化操作":["5.10"],"函数支持两个参数":["5.10","5.11"],"第一个为新的视频地址":["5.10","5.11"],"第二个为可选新的视频名字":["5.10","5.11"],"switchurl":["5.11","15.11"],"但会带上之前的播放进度":["5.11"],"设置和获取视频是否静音":["5.12"],"设置和获取视频当前时间":["5.13"],"设置时间时和":["5.13"],"seek":["5.13"],"但它不会触发额外的事件":["5.13"],"返回的是一个":["5.16","5.17"],"promise":["5.16","5.17"],"设置和获取播放器窗口全屏":["5.18"],"设置和获取播放器网页全屏":["5.19"],"设置和获取播放器画中画模式":["5.20"],"只有在视频播放前才能看到海报效果":["5.21"],"boolean":["5.22","6.1","8.1","9.4","15.22","19.4","40.33"],"设置和获取播放器迷你模式":["5.22"],"获取视频是否正在播放中":["5.23"],"设置视频是否自适应尺寸":["5.24"],"设置为":["5.24","5.30"],"之后它会只执行一次":["5.24","5.30"],"设置和获取播放器翻转":["5.26"],"支持":["5.26"],"normal":["5.26","15.26"],"horizontal":["5.26"],"vertical":["5.26"],"设置和获取播放器播放速度":["5.27"],"设置和获取播放器长宽比":["5.28"],"该属性可以自动计算出并设置视频的高度":["5.30"],"元素的属性":["5.31"],"动态获取和设置播放器标题":["5.32"],"动态获取和设置视频类型":["5.33"],"动态获取和设置播放器主题颜色":["5.34"],"常配合":["5.36","5.37"],"timeupdate":["5.36","5.37"],"事件使用":["5.36","5.37"],"和":["5.38","40.6","40.7","40.15","40.16","40.17"],"removeeventlistener":["5.38","15.38"],"当使用":["5.38"],"来处理事件":["5.38"],"播放器销毁时也会自动销毁该事件":["5.38"],"document":["5.39","15.39"],"queryselector":["5.39","15.39"],"但被查询的对象局限于当前播放器内":["5.39"],"可以避免同类名的错误":["5.39"],"元素":["5.40"],"是否禁用组件":["6.1","7.1","8.1"],"name":["6.1","7.1","7.2","8.1","16.1","17.2","18.1"],"组件唯一名称":["7.1"],"用于标记类名":["7.1"],"index":["7.1","7.2","17.1","17.2","28.1","28.8","28.9","36.5","36.7","36.9","36.10","36.12","36.14","39.1","39.8","39.9"],"controls":["7.2","17.2"],"your":["7.2","17.2","29.44"],"button":["7.2","17.2","29.19","29.45","29.49"],"img":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5","29.29","40.29"],"layer":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"png":["8.2","8.3","8.5","18.2","18.3","18.5"],"aspectratio":["9.1"],"subtitleoffset":["9.1"],"number":["9.2","17.1","19.2","29.34","40.34","40.37"],"列表宽度":["9.2"],"tooltip":["9.2","9.4","9.5","19.2"],"提示文本":["9.2","9.5"],"元素的图标":["9.4","9.5"],"按钮默认状态":["9.4"],"onswitch":["9.4","19.4"],"function":["9.4","9.5","19.4","19.5","20.5","29.15","29.18","29.47","30.5"],"按钮切换事件":["9.4"],"range":["9.5","15.8","15.36","15.37","29.25"],"array":["9.5","19.5"],"默认状态数组":["9.5"],"onrange":["9.5","19.5"],"完成时触发的事件":["9.5"],"onchange":["9.5","19.5"],"变化时触发的事件":["9.5"],"属性用于切换是否显示全部层":["10.9"],"属性用于切换是否显示全部控制器":["10.10"],"属性用于切换是否显示全部菜单":["10.11"],"update":["10.16"],"方法动态更新设置项":["10.16"],"是指挂载在":["11.0"],"here":["15.0"],"and":["15.3","15.8","15.9","15.12","15.19","15.22","15.26","15.27","15.28","15.30","15.32","15.33","15.34","19.1","29.4","29.40"],"pause":["15.3"],"the":["15.4","15.12","15.13","15.15","15.21","15.23","15.24","15.28","15.31","16.1","18.1","20.0","20.6","29.5","29.9","29.13","29.15","29.16","29.17","29.18","29.19","29.21","29.22","29.23","29.24","29.25","29.28","29.40","29.43","29.48","29.49"],"player":["15.4","15.18","15.19","15.20","15.22","15.25","15.26","15.27","15.28","15.32","15.34","15.38","20.5","29.1","29.3","29.4","29.7","29.8","29.12","29.13","29.23","29.24","29.36","29.48","30.5"],"accept":["15.4"],"a":["15.4","29.45"],"indicating":["15.4"],"whether":["15.4","15.12","15.23","29.10","29.14","29.28"],"jump":["15.5"],"seconds":["15.5","15.7","15.29"],"fast":["15.6"],"rewind":["15.7"],"get":["15.8","15.9","15.12","15.19","15.22","15.26","15.27","15.33"],"set":["15.9","15.22","15.27","15.30","15.31","15.32","15.33","15.34"],"to":["15.10","15.11","15.38","15.39","20.3","29.10","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.28","29.36","29.42","29.45","29.46","29.49"],"that":["15.10"],"of":["15.10","15.13","15.15","15.16","15.17","15.18","15.19","15.20","15.25","15.30","15.31","15.40","20.6","29.3","29.8","29.25","29.36"],"but":["15.10","15.11","15.39"],"some":["15.10","29.36"],"optimization":["15.10"],"operations":["15.10"],"will":["15.10","15.38","29.5","29.12","29.39"],"be":["15.10","29.4","29.41"],"with":["15.11","15.36","15.37","19.1","29.25","29.41","29.44"],"previous":["15.11"],"playback":["15.11","15.27","15.29","15.37","29.16"],"progress":["15.11","29.9","29.26","29.37"],"is":["15.12","15.23","15.24","15.30","15.38","15.39","29.4","29.7","29.27","29.42"],"current":["15.13","15.15","15.16","15.17"],"setting":["15.13","15.24","36.15"],"screenshot":["15.16","15.17"],"screen":["15.18","15.19"],"window":["15.18","29.23","40.36"],"full":["15.19","29.24"],"picture":["15.20","29.21"],"mode":["15.20","29.9","29.27","36.4"],"posters":["15.21"],"you":["15.21","29.27"],"can":["15.21","15.30","29.4"],"only":["15.21","29.5","29.26"],"see":["15.21"],"effect":["15.21"],"adaptive":["15.24"],"size":["15.24"],"after":["15.24","15.30"],"coordinate":["15.25"],"information":["15.25"],"rollover":["15.26"],"support":["15.26"],"speed":["15.27","29.16"],"obtain":["15.28"],"aspect":["15.28","29.17"],"sequential":["15.29"],"automatically":["15.30","29.11"],"calculate":["15.30"],"it":["15.30"],"attributes":["15.31","29.39"],"element":["15.31"],"titles":["15.32"],"dynamically":["15.32","15.33","15.34"],"types":["15.33"],"color":["15.34","29.7","36.4"],"cache":["15.36"],"when":["15.38","29.4","29.5","29.26"],"used":["15.38","17.1"],"process":["15.38"],"similar":["15.39"],"component":["16.1","18.1"],"unique":["16.1","17.1","18.1"],"mark":["17.1"],"class":["17.1"],"panel":["19.1"],"first":["19.1"],"then":["19.1"],"come":["19.1"],"four":["19.1"],"click":["19.2"],"event":["19.2","19.5"],"prompt":["19.2","20.6"],"text":["19.2","40.34"],"default":["19.4","19.5","20.5","30.5"],"state":["19.4","19.5"],"fired":["19.5"],"completion":["19.5"],"english":["20.0"],"bash":["20.1","30.1"],"npm":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"jsdelivr":["20.2","30.2"],"net":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"https":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"const":["20.3","20.5","30.3","30.5"],"path":["20.3"],"template":["20.4","30.4"],"ref":["20.4"],"export":["20.5","30.5"],"option":["20.5","30.5"],"getinstance":["20.5","30.5"],"rest":["20.5","30.5"],"artref":["20.5","30.5"],"lose":["20.6"],"type":["20.6"],"typescript":["20.6"],"last":["20.7"],"major":["20.7"],"version":["20.7","30.7"],"chrome":["20.7"],"for":["20.7"],"older":["20.7"],"data":["21.0","25.4","25.5","31.0","35.4","35.5","36.6","36.8","36.11","36.12","36.13"],"libs":["21.0","22.0","25.4","25.5","31.0","32.0","35.4","35.5","36.6","36.8","36.9","36.11","36.12","36.13","36.14"],"cdnjs":["21.0","22.0","23.0","31.0","32.0","33.0"],"cloudflare":["21.0","22.0","23.0","31.0","32.0","33.0"],"ajax":["21.0","22.0","23.0","31.0","32.0","33.0"],"dashjs":["21.0","31.0"],"all":["21.0","31.0"],"beta":["23.0","33.0"],"install":["24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"uncompiled":["25.4","25.5","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.11","36.12","36.13","36.14"],"plugin":["25.4","25.5","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14"],"里控制跨域":["28.1","39.1"],"head":["28.5","39.5"],"title":["28.5","39.5"],"meta":["28.5","39.5"],"接口":["28.6","28.10","39.6","39.10"],"内部运行":["28.7","39.7"],"同时它也能用于异步获取":["28.7","39.7"],"里的值":["28.7","39.7"],"warning":["28.10","39.10"],"接收来自":["28.11","39.11"],"iframe":["28.12","39.12"],"是不生效的":["28.13","39.13"],"这时候只要监听":["28.13","39.13"],"里的":["28.13","39.13"],"fullscreenweb":["28.13","39.13"],"事件并通知到":["28.13","39.13"],"identifier":["29.3"],"currently":["29.3","29.6","29.7","29.43"],"triggered":["29.4"],"initialized":["29.4"],"successfully":["29.4"],"played":["29.4"],"just":["29.4"],"appear":["29.5"],"which":["29.6","29.39"],"appears":["29.6","29.26"],"using":["29.9","29.36"],"live":["29.9"],"mute":["29.10"],"by":["29.10","29.12"],"fill":["29.12"],"entire":["29.12"],"scrolls":["29.13"],"outside":["29.13"],"display":["29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.43","29.45","29.49"],"bottom":["29.18","29.33"],"control":["29.18","29.33"],"keys":["29.20"],"there":["29.22"],"are":["29.22"],"multiple":["29.22"],"players":["29.22"],"offset":["29.25"],"5s":["29.25","40.25"],"bar":["29.26","29.33","29.34","29.37"],"mount":["29.27"],"useful":["29.27"],"if":["29.27"],"want":["29.27"],"render":["29.27"],"use":["29.28","29.36"],"list":["29.33"],"property":["29.33","29.34","29.37","29.38"],"describe":["29.33","29.34","29.37","29.38"],"native":["29.36"],"functions":["29.36"],"directly":["29.36"],"instead":["29.36"],"this":["29.36"],"thumbnail":["29.37"],"format":["29.38"],"vtt":["29.38"],"srt":["29.38"],"ass":["29.38"],"metadata":["29.39","40.39"],"more":["29.39"],"icon":["29.40"],"supports":["29.40","29.43"],"together":["29.41"],"customtype":["29.41"],"decoding":["29.42"],"right":["29.42"],"handed":["29.42"],"over":["29.42"],"built":["29.44","29.50"],"add":["29.44","29.46"],"language":["29.44"],"long":["29.46"],"press":["29.46"],"rotate":["29.48"],"according":["29.48"],"change":["29.50"],"css":["29.50"],"variables":["29.50"],"from":["30.3"],"的类型提示":["30.6"],"这时候你可以手动导入类型":["30.6"],"变量":["30.6"],"对于古老的浏览器":["30.7"],"可以使用":["30.7"],"legacy":["30.7"],"文件":["30.7"],"弹幕透明度":["36.4"],"fontsize":["36.4"],"字体大小":["36.4"],"支持数字和百分比":["36.4"],"ffffff":["36.4"],"默认字体颜色":["36.4"],"默认模式":["36.4"],"danmuku":["36.5","36.7","36.9","36.10","36.12","36.13","36.14","36.15"],"antioverlap":["36.11"],"synchronousplayback":["36.11"],"filter":["36.11"],"locktime":["36.11"],"beforeemit":["36.11"],"artplayerplugindanmuku":["36.15"],"xml":["36.15"],"容器":["40.1"],"目前只用于记忆播放":["40.3"],"autoplayback":["40.3"],"事件一样":["40.4"],"只会出现在播放器初始化且未播放的状态下":["40.5"],"目前会出现在":["40.6"],"视频截图":["40.6","40.18"],"迷你模式":["40.6"],"下":["40.6"],"播放器主题颜色":["40.7"],"目前用于":["40.7"],"进度条":["40.7"],"播放器的默认音量":["40.8"],"false":["40.9","40.10","40.14","40.19","40.21","40.23","40.24","40.26","40.39","40.46","40.48"],"使用直播模式":["40.9"],"会隐藏进度条和播放时间":["40.9"],"是否默认静音":["40.10"],"播放器的尺寸默认会填充整个":["40.12"],"容器尺寸":["40.12"],"所以经常出现黑边":["40.12"],"该值能自动调整播放器尺寸以隐藏黑边":["40.12"],"当播放器滚动到浏览器视口以外时":["40.13"],"自动进入":["40.13"],"迷你播放":["40.13"],"模式":["40.13","40.28"],"是否循环播放":["40.14"],"是否显示视频翻转功能":["40.15"],"目前只出现在":["40.15"],"设置面板":["40.15","40.16","40.17","40.19","40.25"],"右键菜单":["40.15","40.16","40.17"],"是否显示视频播放速度功能":["40.16"],"会出现在":["40.16","40.17"],"是否显示视频长宽比功能":["40.17"],"是否在底部控制栏里显示":["40.18","40.19","40.21"],"功能":["40.18"],"的开关按钮":["40.19","40.21"],"画中画":["40.21"],"假如页面里同时存在多个播放器":["40.22"],"是否只能让一个播放器播放":["40.22"],"是否在底部控制栏里显示播放器":["40.23","40.24"],"窗口全屏":["40.23"],"按钮":["40.23","40.24","40.49"],"网页全屏":["40.24"],"出现在":["40.25"],"迷你进度条":["40.26"],"只在播放器失去焦点后且正在播放时出现":["40.26"],"挂载模式":["40.27"],"假如你希望在播放器挂载前":["40.27"],"就提前渲染好播放器所需的":["40.27"],"时有用":["40.27"],"你可以通过":["40.27"],"在移动端是否使用":["40.28"],"类型":["40.33"],"描述":["40.33","40.34","40.37","40.38"],"默认画质":["40.33"],"画质名字":["40.33"],"高亮时间":["40.34"],"高亮文本":["40.34"],"白名单是一个数组类型":["40.36"],"分别与":["40.36"],"navigator":["40.36"],"useragent":["40.36"],"进行匹配":["40.36","40.42"],"只要其中一项匹配成功则启用播放器":["40.36"],"预览图地址":["40.37"],"预览图数量":["40.37"],"column":["40.37"],"字幕地址":["40.38"],"字幕类型":["40.38"],"可选":["40.38"],"preload":["40.39"],"更多视频属性":["40.39"],"这些属性将直接写入视频元素里":["40.39"],"字符串和":["40.40"],"htmlelement":["40.40"],"一起使用":["40.41"],"默认视频的格式就是视频地址的后缀":["40.41"],"如":["40.41"],"m3u8":["40.41"],"mkv":["40.41"],"ts":["40.41"],"但有时候视频地地址没有正确的后缀":["40.41"],"把视频解码权交给第三方程序进行处理":["40.42"],"处理的函数能接收三个参数":["40.42"],"视频":["40.42"],"dom":["40.42"],"tolowercase":["40.43"],"默认显示语言":["40.43"],"目前支持":["40.43"],"en":["40.43"],"zh":["40.43"],"cn":["40.43"],"是否在移动端显示一个":["40.45"],"锁定按钮":["40.45"],"用于隐藏底部":["40.45"],"控制栏":["40.45"],"是否在移动端添加长按视频快进功能":["40.46"],"是否在移动端的网页全屏时":["40.48"],"根据视频尺寸和视口尺寸":["40.48"],"旋转播放器":["40.48"],"是否显示":["40.49"],"当前只有部分浏览器支持该功能":["40.49"]},{"0":["9.5"],"1":["9.5","15.8","19.5"],"2":["29.1","40.1"],"4":["29.8","29.11","29.20","29.31","29.32","29.44","40.11","40.20","40.31","40.32","40.40","40.47","40.50"],"5":["9.5","19.5","29.47","40.47"],"6":["2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38"],"7":["2.20","2.22","2.23","2.25","2.26","5.14","5.25","5.30","12.19","12.21","12.22","12.24","12.25","29.4","40.4","40.40"],"8":["2.18","2.21","5.1","5.12","5.19","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.41","12.17","12.20","15.29","28.5","39.5","40.38"],"9":["2.29","2.30","5.18","5.20","5.21","12.28","12.29","15.18","15.20","29.4","29.44","40.4"],"10":["2.7","2.19","2.24","5.35","7.5","9.5","12.2","12.6","12.18","12.23","15.35","17.5","19.5"],"11":["5.2","5.3","5.19","15.2","20.7","30.7"],"12":["29.31","40.31"],"15":["29.35","40.35"],"16":["29.32","40.32"],"17":["4.0","14.0"],"18":["21.0","31.0"],"19":["22.0","32.0"],"21":["21.0","23.0","33.0"],"22":["22.0"],"23":["31.0"],"24":["23.0","32.0"],"25":["21.0"],"26":["22.0","33.0"],"28":["23.0"],"250":["9.2","19.2"],"是指挂载在":["0.0","1.0","5.0","10.0"],"js":["0.1","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","0.16","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.23","5.24","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.1","9.4","9.5","10.1","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.15","10.16","11.1","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.18","15.20","15.25","15.29","15.35","19.5","25.4","25.5","29.4","29.8","29.11","29.20","29.31","29.35","29.44","35.4","35.5","36.6","36.8","36.11","36.13","36.14","40.1","40.8","40.11","40.20","40.31","40.34","40.35","40.40","40.47","40.50"],"var":["0.1","0.2","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","0.17","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.2","5.3","5.12","5.14","5.18","5.20","5.21","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.35","5.41","9.4","10.1","10.2","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","10.17","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.18","15.20","15.29","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","29.47","35.5","36.7","36.8","36.9","36.10","36.11","36.12","36.14","40.1","40.4","40.11","40.20","40.31","40.32","40.40","40.47"],"art":["0.1","0.2","0.3","0.6","0.7","0.8","0.11","0.14","0.16","0.17","2.2","2.3","2.7","2.12","2.13","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","5.14","5.18","5.20","5.21","5.25","5.29","5.41","8.4","9.4","10.1","10.2","10.3","10.6","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.6","12.7","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","12.30","12.38","15.14","15.18","15.20","15.29","18.4","21.0","23.0","28.7","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.5","30.6","31.0","33.0","36.7","36.9","36.10","36.11","36.12","39.7","40.1","40.4","40.20","40.29","40.30","40.31","40.32","40.35","40.40","40.42","40.44","40.47"],"new":["0.1","0.2","0.3","0.7","0.8","0.14","0.16","0.17","2.2","2.7","2.18","2.19","2.21","2.24","2.28","2.29","2.30","2.31","5.21","5.29","5.41","8.2","8.4","8.5","10.1","10.2","10.3","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.6","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","12.30","15.10","15.11","15.14","15.18","15.20","15.29","18.2","18.4","18.5","19.2","20.5","28.7","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.5","36.5","36.7","36.9","36.10","36.11","36.12","39.7","40.1","40.4","40.29","40.30","40.31","40.32","40.44"],"artplayer":["0.2","0.3","0.4","0.8","0.14","0.16","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","5.21","5.29","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.4","10.8","10.10","10.11","10.14","10.16","10.17","12.2","12.7","12.18","12.23","12.27","12.28","12.29","12.30","15.14","15.18","15.29","18.2","18.3","18.4","18.5","19.2","19.6","20.1","24.2","24.3","25.2","25.3","26.3","27.3","28.3","28.4","28.7","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.1","30.6","34.2","34.3","35.2","35.3","36.2","36.3","36.11","37.3","38.3","39.3","39.4","39.7","40.4","40.27","40.29","40.30","40.31","40.32","40.44"],"container":["0.2","0.3","0.4","0.14","0.17","2.2","2.28","2.31","5.29","6.2","6.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.4","10.11","10.14","10.16","10.17","12.7","12.27","12.30","15.14","15.18","15.29","16.2","16.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.5","28.7","29.8","29.11","29.20","29.29","29.30","29.32","29.44","29.47","30.5","36.5","36.9","36.10","36.12","39.7","40.2","40.4","40.29","40.30","40.32","40.44"],"app":["0.2","0.3","0.5","0.14","2.31","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.5","10.14","12.30","15.14","15.18","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.4","28.7","29.1","29.20","29.29","29.30","29.47","30.3","36.5","36.9","36.10","39.7","40.2","40.4","40.29","40.30","40.44"],"url":["0.3","0.5","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.5","9.2","9.6","9.7","10.3","10.5","15.11","15.14","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.5","19.2","19.6","19.7","21.0","22.0","23.0","28.7","29.29","29.30","29.33","29.47","30.3","31.0","32.0","33.0","36.5","36.10","39.7","40.29","40.30","40.33","40.42","40.44"],"classname":["0.4","1.11","5.4","5.10","5.11","5.13","5.26","5.36","5.37","5.38","5.39","9.4","10.4","11.11","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.4","29.6","29.10","29.14","29.18","29.34","29.40","29.50","40.6","40.7","40.9","40.13","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.33","40.34","40.39","40.41","40.45","40.48","40.49"],"run":["0.4","0.9","0.10","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","5.4","5.5","5.6","5.8","5.10","5.11","5.13","5.22","5.24","5.26","5.36","5.37","5.38","5.39","5.40","9.4","10.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.21","15.22","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.4","29.10","29.14","29.18","29.34","29.40","29.50","40.3","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.34","40.39","40.41","40.45","40.46","40.48","40.49"],"code":["0.4","0.9","0.10","0.11","0.12","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.13","5.16","5.17","5.22","5.24","5.26","5.30","5.36","5.37","5.38","5.39","5.40","9.1","9.4","10.4","10.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","15.3","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.20","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.40","19.4","28.13","29.4","29.18","29.34","29.40","29.50","39.13","40.3","40.5","40.6","40.8","40.9","40.10","40.13","40.14","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.34","40.39","40.41","40.45","40.46","40.48","40.49"],"document":["0.4","10.4","20.0","29.1"],"queryselector":["0.4","10.4"],"assets":["0.5","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.6","9.7","10.5","15.14","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.6","19.7","29.30","29.47","36.5","36.10","40.2","40.30","40.44"],"sample":["0.5","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.7","10.5","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.7","29.30","36.5","40.2","40.30","40.44"],"video":["0.5","6.2","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.7","10.5","16.2","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.7","20.3","21.0","22.0","24.4","29.30","29.48","30.3","31.0","32.0","34.4","36.5","40.2","40.44"],"mp4":["0.5","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.3","9.7","9.8","10.5","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.3","19.7","19.8","20.3","24.4","29.2","30.3","34.4","40.2"],"test":["0.5","10.5"],"foo":["0.5","10.5"],"bar":["0.5","10.5","29.7","29.9","29.18"],"const":["0.5","9.5","10.5","19.5"],"console":["1.1","2.0","11.1","12.0","36.15"],"info":["2.0","12.0","36.15"],"只监听一次事件":["2.0","12.0"],"但估计没有足够的数据来支撑播放到结束":["2.40","12.39"],"渲染完成":["2.42","12.41"],"属性的值改变时触发":["2.43","12.42"],"当这个":["2.44","12.43"],"因为":["2.45","12.44"],"或者资源类型不是受支持的媒体格式":["2.46","12.45"],"中的首帧已经完成加载":["2.47","12.46"],"播放准备开始":["2.51","12.50"],"seek":["2.54","2.55","12.53","12.54","15.13"],"user":["2.56","12.55"],"属性指定的时间发生变化":["2.58","12.57"],"播放已停止":["2.60","12.59"],"time":["3.21","3.22","13.21","13.22","20.6","29.9","29.22"],"body":["3.32","13.32","28.5","39.5"],"div":["5.4","5.11","5.36","5.37","5.39","9.4","15.5","15.6","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.33","15.34","15.38","15.40","19.4","29.3","29.4","29.6","29.10","29.14","29.18","29.25","29.34","29.40","29.50","40.6","40.7","40.13","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.25","40.27","40.28","40.33","40.34","40.36","40.39","40.41","40.42","40.45","40.48","40.49"],"组件唯一名称":["6.1","8.1"],"用于标记类名":["6.1","8.1"],"index":["6.1","7.5","8.1","16.1","17.5","18.1","25.4","25.5","28.11","35.4","35.5","36.6","36.8","36.11","36.13","39.11"],"number":["6.1","7.1","8.1","16.1","18.1","29.37"],"contextmenu":["6.4","6.5","16.4","16.5"],"name":["6.5","7.5","9.8","16.5","17.5","19.8","29.33"],"组件索引":["7.1"],"用于显示的优先级":["7.1"],"html":["7.1","7.2","9.3","9.8","15.4","17.1","17.2","19.3","19.8","20.3","24.4","28.9","29.27","29.33","34.4","39.9"],"element":["7.1","17.1"],"position":["7.2","7.5","17.2","17.5"],"left":["7.2","17.2"],"tooltip":["7.2","9.8","17.2","19.4","19.5","19.8"],"style":["7.2","9.2","17.1","17.2","29.38","40.38"],"color":["7.2","17.2"],"red":["7.2","17.2"],"click":["7.2","17.2"],"function":["7.2","17.2","21.0","22.0","23.0","29.16","29.17","29.35","29.42","29.46","31.0","32.0","33.0","40.35"],"args":["7.2","17.2"],"controls":["7.3","7.5","17.3","17.5"],"add":["7.3"],"button1":["7.5","17.5"],"png":["8.4","18.4","29.29","40.29"],"setting":["9.2","9.3","9.7","9.8","19.2","19.3","19.7","19.8","29.15","29.16","29.17"],"true":["9.2","9.3","9.7","9.8","15.24","15.30","19.2","19.3","19.7","19.8","24.4","34.4","36.4"],"settings":["9.2","9.3","9.8","19.2","19.3","19.8","29.25"],"subtitle":["9.2","19.2"],"01":["9.2","9.3","19.2"],"default":["9.2"],"span":["9.2"],"multi":["9.3","19.3"],"level":["9.3","19.3"],"selector":["9.3","19.3"],"提示文本":["9.4"],"value":["9.5","29.12"],"min":["9.5","21.0","22.0","31.0","32.0"],"flip":["9.7","19.1","19.7"],"slider":["9.8","19.8"],"5x":["9.8","19.8"],"icon":["9.8","19.8"],"构造函数":["11.0"],"的":["11.0","40.12"],"refers":["15.0"],"to":["15.0","15.13","15.24","15.30","20.7","28.7","30.3","39.7"],"remove":["15.4"],"s":["15.4"],"after":["15.4"],"seconds":["15.6"],"performed":["15.10"],"supports":["15.10","15.11"],"two":["15.10","15.11"],"parameters":["15.10","15.11"],"first":["15.10","15.11"],"is":["15.11","15.13","15.21","15.36","15.37","29.2","29.5","29.36"],"similar":["15.13"],"but":["15.13","29.41"],"it":["15.13","15.24","15.38","29.13"],"will":["15.13","15.24","15.30","29.9","29.16","29.17"],"frame":["15.15","15.16","15.17"],"and":["15.16","15.17","29.5","29.6","29.7","29.9","29.26","29.48"],"return":["15.16","15.17","20.5"],"a":["15.16","15.17","29.14","29.42"],"promise":["15.16","15.17"],"web":["15.19","29.24"],"page":["15.19","29.22","29.24"],"before":["15.21","29.27"],"played":["15.21","29.5"],"mode":["15.22","29.6","29.28"],"only":["15.24","29.3","29.15","29.49"],"be":["15.24","15.30","29.39"],"executed":["15.24","15.30"],"horizontal":["15.26"],"vertical":["15.26"],"once":["15.30"],"dynamically":["15.31"],"often":["15.36","15.37","29.12"],"used":["15.36","15.37","16.1","18.1","29.3","29.7"],"in":["15.36","15.37","29.15","29.16","29.17","29.19","29.23","29.24","29.25","29.27"],"conjunction":["15.36","15.37"],"also":["15.38"],"automatically":["15.38","29.12","29.13"],"destroy":["15.38"],"destroyed":["15.38"],"queried":["15.39"],"object":["15.39","17.1","40.12"],"limited":["15.39"],"current":["15.39","20.5","30.5"],"player":["15.39","15.40","29.5","29.26","29.27"],"mark":["16.1","18.1"],"class":["16.1","18.1"],"for":["17.1","29.3","29.42"],"display":["17.1"],"priority":["17.1"],"dom":["17.1"],"of":["17.1","29.19"],"built":["19.1"],"items":["19.1"],"playbackrate":["19.1"],"aspectratio":["19.1"],"toggle":["19.4"],"event":["19.4","28.12","29.4","39.12"],"prompt":["19.4","19.5"],"text":["19.4","19.5","29.34"],"change":["19.5"],"has":["20.0"],"not":["20.0","29.2","29.5"],"head":["20.3"],"title":["20.3"],"demo":["20.3"],"artref":["20.4","30.4"],"if":["20.5","23.0","30.5","33.0"],"typeof":["20.5","30.5"],"at":["20.6","29.2","29.22"],"this":["20.6","29.2","29.12"],"you":["20.6"],"can":["20.6","29.12","29.22","29.36"],"manually":["20.6"],"import":["20.6","30.6","30.7"],"use":["20.7"],"legacy":["20.7"],"file":["20.7"],"up":["20.7"],"ie":["20.7","30.7"],"plaympd":["21.0","31.0"],"playflv":["22.0","32.0"],"playm3u8":["23.0","33.0"],"plugin":["24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","34.2","34.3","35.2","35.3","36.2","36.3","36.11","37.2","37.3","38.2","38.3","39.3","39.4"],"ads":["24.2","34.2"],"npm":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"autosize":["24.4","34.4"],"fullscreen":["24.4","34.4"],"fullscreenweb":["24.4","34.4"],"plugins":["24.4","34.4"],"artplayerpluginads":["24.4","34.4"],"html广告":["24.4","34.4"],"假如是视频广告则忽略该值":["24.4","34.4"],"control":["25.2","25.4","25.5","29.36","35.2","35.4","35.5"],"dash":["26.2","26.3","37.2","37.3"],"quality":["26.2","26.3","27.2","27.3","37.2","37.3","38.2","38.3"],"hls":["27.2","27.3","38.2","38.3"],"iframe":["28.1","28.3","28.5","28.8","39.1","39.3","39.5","39.8"],"charset":["28.5","39.5"],"utf":["28.5","39.5","40.38"],"id":["28.5","39.5"],"path":["28.7","30.3","39.7"],"接收来自":["28.8","39.8"],"无法与":["28.9","39.9"],"提示":["28.10","39.10"],"message":["28.12","39.12"],"即可":["28.13","39.13"],"group":["28.13","39.13"],"doctype":["28.13","39.13"],"sometimes":["29.2","29.41"],"the":["29.2","29.26","29.36","29.39","29.45","29.46"],"known":["29.2"],"so":["29.2","29.12"],"quickly":["29.2"],"autoplayback":["29.3"],"like":["29.4"],"ready":["29.4"],"initialized":["29.5"],"screenshot":["29.6"],"mini":["29.6"],"on":["29.7","29.28","29.46","36.15"],"progress":["29.7"],"playback":["29.9"],"black":["29.12"],"edges":["29.12"],"appear":["29.12","29.16","29.17"],"viewport":["29.13","29.48"],"enters":["29.13"],"currently":["29.15","29.49"],"appears":["29.15","29.25"],"bottom":["29.19","29.21","29.23"],"switch":["29.21"],"button":["29.21","29.23","29.24"],"same":["29.22"],"full":["29.23"],"screen":["29.23","29.24"],"loses":["29.26"],"focus":["29.26"],"required":["29.27"],"by":["29.27"],"advance":["29.27"],"mobile":["29.28","29.45"],"end":["29.28","29.45"],"layer":["29.29","40.29"],"boolean":["29.33"],"string":["29.33","29.34"],"myplugin":["29.35","40.35"],"option":["29.36"],"an":["29.36"],"which":["29.36"],"matched":["29.36"],"column":["29.37"],"width":["29.37","40.37"],"encoding":["29.38","40.38"],"directly":["29.39"],"written":["29.39"],"into":["29.39"],"htmlelement":["29.40"],"suffix":["29.41"],"address":["29.41"],"such":["29.41"],"as":["29.41"],"m3u8":["29.41"],"mkv":["29.41"],"ts":["29.41"],"does":["29.41"],"third":["29.42"],"party":["29.42"],"program":["29.42"],"processing":["29.42"],"en":["29.43"],"zh":["29.43"],"cn":["29.43"],"tw":["29.43","40.43"],"cs":["29.43","40.43"],"hide":["29.45"],"fast":["29.46"],"forward":["29.46"],"size":["29.48"],"when":["29.48"],"some":["29.49"],"browsers":["29.49"],"support":["29.49"],"install":["30.1"],"ref":["30.4"],"type":["30.6"],"let":["30.6"],"可以兼容到":["30.7"],"from":["30.7"],"danmuku":["36.2","36.6","36.8"],"滚动":["36.4"],"静止":["36.4"],"margin":["36.4"],"弹幕上下边距":["36.4"],"antioverlap":["36.4"],"是否防重叠":["36.4"],"useworker":["36.4"],"是否使用":["36.4"],"emit":["36.15"],"danmu":["36.15"],"新增弹幕":["36.15"],"loaded":["36.15"],"高亮元素":["40.7"],"上":["40.7"],"类似":["40.12"],"css":["40.12"],"fit":["40.12"],"里":["40.15","40.16","40.17","40.25"],"访问到播放器所需的":["40.27"],"画质地址":["40.33"],"支持":["40.36"],"字符串":["40.36"],"匹配":["40.36"],"函数":["40.36"],"正则":["40.36"],"预览图列数":["40.37"],"预览图宽度":["40.37"],"height":["40.37"],"预览图高度":["40.37"],"字幕样式":["40.38"],"字幕编码":["40.38"],"默认":["40.38"],"escape":["40.38"],"所以需要特别指明":["40.41"],"元素":["40.42"],"视频地址":["40.42"],"当前实例":["40.42"],"pl":["40.43"],"es":["40.43"]},{"0":["19.5"],"1":["9.2","19.2"],"2":["9.5","19.5","40.3"],"3":["9.5"],"4":["9.1","29.18","29.34","29.40","29.50","40.5","40.6","40.8","40.9","40.10","40.14","40.18","40.22","40.25","40.26","40.33","40.34","40.39","40.41","40.46"],"5":["28.7","39.7"],"6":["5.39","5.40"],"7":["5.4","5.5","5.6","5.9","5.15","5.16","5.17","5.22","5.36","5.37","5.38","15.5","15.6","15.9","15.25","15.30","15.38","25.4","29.40","35.4","40.39"],"8":["5.8","5.13","5.23","5.24","5.26","15.1","15.8","15.12","15.19","15.23","15.26","15.27","15.28","15.31","15.32","15.33","15.34","20.3","28.13","29.38","39.13"],"9":["5.10","5.11","15.21"],"10":["5.7","5.38","7.3","7.4","15.7","15.38","17.3","17.4"],"11":["5.30","15.3","15.19","15.30"],"14":["40.33"],"22":["9.8","19.8"],"25":["29.34","40.34"],"50":["36.4"],"111":["36.5"],"150":["9.3","19.3"],"实例":["0.0","5.0","10.0"],"artplayer":["0.1","0.6","0.7","0.9","0.10","0.11","0.12","0.13","0.15","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.1","9.4","10.1","10.6","10.7","10.9","10.12","10.13","10.15","11.1","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.3","15.20","15.25","15.30","15.32","15.35","15.38","19.4","20.2","28.13","29.4","29.18","29.40","30.2","39.13","40.11","40.20","40.34","40.40","40.41","40.47","40.50"],"container":["0.1","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","0.16","2.3","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.2","5.3","5.8","5.10","5.12","5.14","5.18","5.19","5.20","5.21","5.25","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.4","10.1","10.6","10.7","10.8","10.9","10.10","10.12","10.13","10.15","12.2","12.5","12.6","12.12","12.13","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.20","15.25","15.38","19.4","25.5","29.4","29.18","29.31","29.40","35.5","36.7","36.8","36.11","36.13","36.14","40.11","40.20","40.31","40.34","40.40","40.47","40.50"],"app":["0.1","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.16","0.17","2.2","2.7","2.18","2.19","2.21","2.24","2.28","2.29","2.30","5.14","5.18","5.20","5.21","5.25","5.29","5.31","5.41","9.4","10.1","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.16","10.17","12.2","12.6","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","15.20","15.29","15.30","19.4","25.5","29.4","29.8","29.11","29.31","29.32","29.44","30.4","35.5","36.7","36.8","36.11","36.12","36.14","40.1","40.20","40.31","40.32","40.40","40.47"],"url":["0.2","0.4","0.7","0.8","0.10","0.11","0.14","0.16","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","5.18","5.21","5.29","5.41","8.4","9.4","10.2","10.4","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.18","12.23","12.27","12.28","12.29","12.30","15.18","15.20","15.29","15.30","18.4","19.4","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","35.5","36.7","36.8","36.9","36.11","36.12","40.1","40.4","40.31","40.32","40.40","40.47"],"assets":["0.2","0.3","0.4","0.7","0.8","0.11","0.14","0.16","0.17","2.2","2.28","2.31","5.21","5.29","5.41","9.4","10.2","10.3","10.4","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.7","12.27","12.30","15.18","15.20","15.29","15.30","19.4","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","35.5","36.7","36.8","36.9","36.11","36.12","40.1","40.4","40.31","40.32"],"sample":["0.2","0.3","0.4","0.7","0.14","0.16","0.17","2.2","2.28","2.31","5.21","5.29","9.4","9.6","10.2","10.3","10.4","10.7","10.10","10.11","10.14","10.16","10.17","12.7","12.27","12.30","15.14","15.18","15.20","15.29","19.4","19.6","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","29.47","36.7","36.9","36.10","36.11","36.12","40.4","40.31","40.32"],"video":["0.2","0.3","0.4","0.14","0.16","0.17","2.31","5.29","7.4","8.4","9.4","9.6","10.2","10.3","10.4","10.11","10.14","10.16","10.17","12.7","12.30","15.18","15.20","15.29","17.4","18.4","19.6","28.7","29.1","29.8","29.11","29.20","29.29","29.31","29.32","29.44","29.47","36.7","36.9","36.10","36.11","36.12","39.7","40.4","40.29","40.30","40.32"],"mp4":["0.2","0.3","0.14","0.17","2.31","5.29","6.2","7.4","8.4","9.4","9.6","10.2","10.3","10.14","10.16","10.17","12.30","15.14","15.18","15.20","15.29","16.2","17.4","18.4","19.6","28.7","29.1","29.4","29.8","29.11","29.20","29.29","29.30","29.32","29.44","29.47","36.5","36.9","36.10","36.11","36.12","39.7","40.4","40.29","40.30","40.44"],"console":["0.3","0.5","1.6","7.2","10.3","10.5","11.6","15.14","15.29","17.2","28.12","29.35","39.12","40.35"],"info":["0.3","0.5","1.1","7.2","10.3","10.5","11.1","17.2","28.12","29.35","39.12","40.35"],"art":["0.4","0.9","0.10","0.12","0.13","0.15","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","10.4","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","15.1","15.2","15.3","15.7","15.8","15.9","15.12","15.21","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","19.4","22.0","25.5","29.4","29.18","29.34","29.35","29.40","29.50","32.0","35.5","36.6","36.8","36.13","36.14","40.5","40.8","40.11","40.18","40.33","40.34","40.41","40.50"],"new":["0.4","0.6","0.9","0.10","0.11","0.12","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.4","10.4","10.6","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.7","15.8","15.21","15.25","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","19.4","23.0","25.5","29.4","29.18","29.34","29.40","33.0","35.5","36.6","36.8","36.13","36.14","40.8","40.11","40.20","40.34","40.40","40.41","40.47","40.50"],"function":["0.14","6.5","10.14","16.5","17.1","29.49","40.38"],"构造函数":["1.0"],"var":["1.1","5.1","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.30","5.36","5.37","5.38","5.40","9.1","11.1","15.1","15.3","15.7","15.8","15.9","15.12","15.19","15.21","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","15.38","19.4","25.4","29.18","29.34","29.40","29.50","35.4","36.6","36.13","40.3","40.5","40.8","40.18","40.25","40.33","40.34","40.41","40.50"],"js":["1.6","5.4","5.5","5.6","5.11","5.13","5.22","5.26","5.36","5.37","5.39","5.40","11.6","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.18","29.34","29.40","29.50","40.3","40.5","40.6","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.33","40.36","40.39","40.41","40.45","40.46","40.48","40.49"],"code":["1.11","9.5","11.11","15.13","15.16","15.17","15.21","15.22","15.24","15.38","19.1","20.7","29.3","29.5","29.6","29.10","29.14","29.25","29.28","29.33","29.38","29.39","30.7","40.7","40.12","40.15","40.16","40.17","40.27","40.36","40.37","40.42"],"once":["2.0","12.0","15.24"],"subtitle":["2.31","7.2","7.5","12.30","17.2","17.5"],"不必停下来进一步缓冲内容":["2.40","12.39"],"media":["2.44","2.45","12.43","12.44"],"已经加载完成":["2.44","12.43"],"操作完成":["2.54","12.53"],"操作开始":["2.55","12.54"],"agent":["2.56","12.55"],"add":["4.0","6.3","8.3","14.0","24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"例如我想写一个在视频暂停后":["4.0","14.0"],"显示一个图片广告的插件":["4.0","14.0"],"document":["5.38","15.38","40.1"],"queryselector":["5.38","15.38","29.1","40.1"],"组件索引":["6.1","8.1"],"用于显示的优先级":["6.1","8.1"],"html":["6.1","6.2","6.3","6.4","6.5","7.3","7.5","8.1","8.2","8.3","8.5","9.7","15.18","16.1","16.2","16.3","16.4","16.5","17.3","17.5","18.1","18.2","18.3","18.5","19.7","28.11","29.29","29.30","29.38","30.3","39.11","40.29","40.30","40.38"],"contextmenu":["6.2","6.3","16.2","16.3","29.15","29.16","29.17"],"name":["6.2","6.3","6.4","7.3","7.4","8.2","8.3","8.4","8.5","9.7","15.11","16.2","16.3","16.4","17.3","17.4","18.2","18.3","18.4","18.5","19.7","29.29","29.35","40.29","40.35"],"your":["6.2","6.3","6.4","6.5","7.3","16.2","16.3","16.4","16.5","17.3","29.47","40.44"],"menu":["6.2","6.3","6.4","6.5","16.2","16.3","16.4","16.5"],"click":["6.4","6.5","16.4","16.5","17.1"],"args":["6.5","16.5"],"组件的":["7.1"],"dom":["7.1","29.42"],"元素":["7.1"],"style":["7.1","8.2","8.3","8.5","18.2","18.3","18.5","19.2","29.29"],"object":["7.1"],"mounted":["7.2","17.1","17.2","29.27"],"button1":["7.3","7.4","17.3","17.4"],"index":["7.3","7.4","17.3","17.4"],"position":["7.3","15.18","17.3"],"left":["7.3","17.3"],"controls":["7.4","15.18","15.20","17.4"],"right":["7.5","15.18","17.5"],"selector":["7.5","17.5","29.30","40.30"],"default":["7.5","15.4","17.5","19.2"],"true":["7.5","9.6","15.4","17.5","19.6","29.4","29.11","29.30","29.47","36.5","40.4","40.30","40.38"],"01":["7.5","17.5","19.3"],"layers":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"potser":["8.2","8.3","8.5","18.2","18.3","18.5","29.29","40.29"],"width":["8.2","8.3","8.5","9.3","9.8","18.2","18.3","18.5","19.3","19.8","29.29"],"100px":["8.2","8.3","8.5","18.2","18.3","18.5"],"src":["8.2","8.5","9.8","18.2","18.5","19.8","24.4","34.4"],"color":["9.2","19.2"],"red":["9.2","19.2"],"srt":["9.2","19.2"],"id":["9.2","19.2","29.43","29.47","40.43"],"yellow":["9.2"],"02":["9.2"],"setting":["9.4","9.6","19.6","36.5","40.30"],"max":["9.5","19.5"],"step":["9.5","19.5"],"div":["9.5","15.11","15.13","15.24","15.36","15.37","19.1","20.3","20.5","29.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","30.5","40.12","40.37","40.43"],"classname":["9.5","15.13","15.16","15.17","15.24","15.36","15.37","19.1","29.3","29.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","40.12","40.36","40.37","40.42","40.43"],"run":["9.5","15.13","15.16","15.17","15.24","15.36","15.37","19.1","29.3","29.5","29.6","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.23","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.46","29.49","40.12","40.27","40.36","40.37","40.42"],"settings":["9.7","19.7"],"slider":["9.7","19.7"],"tooltip":["9.7","19.7"],"5x":["9.7","19.7"],"icon":["9.7","19.7"],"img":["9.8","19.8","24.4","34.4"],"heigth":["9.8","19.8"],"state":["9.8","19.8"],"svg":["9.8","19.8"],"一级属性":["11.0"],"primary":["15.0"],"destruction":["15.4"],"value":["15.4","19.5"],"is":["15.4","29.26","29.48"],"and":["15.10","15.11","29.15","29.16","29.17"],"second":["15.10","15.11"],"optional":["15.10","15.11"],"not":["15.13","29.41"],"trigger":["15.13"],"additional":["15.13"],"events":["15.13"],"on":["15.14","15.29"],"ready":["15.14","15.29"],"timeupdate":["15.36","15.37"],"event":["15.36","15.37","17.1"],"which":["15.39"],"can":["15.39","29.2","29.27","29.42"],"avoid":["15.39"],"errors":["15.39"],"same":["15.39"],"for":["16.1","18.1"],"display":["16.1","18.1"],"priority":["16.1","18.1"],"element":["16.1","18.1","29.7","29.39","29.42"],"triggered":["17.1"],"after":["17.1"],"subtitleoffset":["19.1"],"span":["19.2"],"min":["19.5"],"yet":["20.0"],"been":["20.0"],"yarn":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"npm":["20.2","30.2"],"dist":["20.2","20.7","24.3","25.3","26.3","27.3","28.4","30.2","30.7","34.3","35.3","36.3","37.3","38.3","39.4"],"meta":["20.3","28.13","39.13"],"charset":["20.3","28.13","39.13"],"utf":["20.3","28.13","29.38","39.13"],"body":["20.3"],"class":["20.3"],"get":["20.4","28.7","39.7"],"instance":["20.4"],"destroy":["20.5","21.0","22.0","23.0","30.5","31.0","32.0","33.0"],"false":["20.5","30.5","36.4"],"ref":["20.5","30.5"],"variable":["20.6"],"import":["20.7"],"from":["20.7"],"group":["20.7","30.7"],"bash":["20.7","30.7"],"jsdelivr":["20.7"],"if":["21.0","22.0","31.0","32.0"],"supportsmediasource":["21.0","31.0"],"const":["21.0","22.0","23.0","31.0","32.0","33.0"],"mediaplayer":["21.0","31.0"],"flvjs":["22.0","32.0"],"issupported":["22.0","23.0","32.0","33.0"],"loadsource":["23.0","33.0"],"ads":["24.3","34.3"],"poster":["24.4","34.4"],"jpg":["24.4","34.4"],"视频广告的地址":["24.4","34.4"],"test1":["24.4","34.4"],"广告跳转网址":["24.4","34.4"],"control":["25.3","29.19","29.21","29.23","29.24","29.45","35.3"],"页面里的播放器":["28.1","39.1"],"如在":["28.1","39.1"],"iframe":["28.4","28.9","39.4","39.9"],"seek":["28.7","39.7"],"the":["28.7","39.7"],"的消息":["28.8","39.8"],"head":["28.13","30.3","39.13"],"title":["28.13","30.3","39.13"],"you":["29.1","29.2"],"may":["29.1"],"time":["29.2"],"set":["29.2"],"asynchronously":["29.2"],"muted":["29.4","40.4"],"highlighted":["29.7"],"be":["29.9","29.36"],"hidden":["29.9"],"adjust":["29.12"],"to":["29.12","29.38"],"hide":["29.12"],"mini":["29.13"],"mode":["29.13"],"bar":["29.19","29.21","29.23","29.24","29.45"],"hotkeys":["29.20"],"only":["29.22"],"one":["29.22","29.36"],"player":["29.22"],"play":["29.22","40.44"],"bottom":["29.24","29.45"],"playing":["29.26"],"access":["29.27"],"setting01":["29.30","40.30"],"return":["29.35","30.5","40.35"],"with":["29.36"],"window":["29.36"],"navigator":["29.36"],"useragent":["29.36"],"respectively":["29.36"],"will":["29.36"],"enabled":["29.36"],"as":["29.36"],"long":["29.36"],"height":["29.37"],"escape":["29.38"],"boolean":["29.38","40.38"],"whether":["29.38"],"tag":["29.38"],"have":["29.41"],"correct":["29.41"],"so":["29.41"],"specially":["29.41"],"specified":["29.41"],"receive":["29.42"],"three":["29.42"],"parameters":["29.42"],"pl":["29.43"],"es":["29.43"],"fa":["29.43","40.43"],"fr":["29.43","40.43"],"ru":["29.43","40.43"],"lang":["29.44","40.44"],"mobile":["29.46","29.48"],"terminal":["29.46"],"warning":["29.47"],"page":["29.48"],"full":["29.48"],"screen":["29.48"],"this":["29.49"],"null":["30.6"],"参数":["30.6"],"param":["30.6"],"create":["31.0"],"danmuku":["36.3"],"web":["36.4"],"worker":["36.4"],"synchronousplayback":["36.4"],"是否同步到播放速度":["36.4"],"filter":["36.4"],"danmu":["36.4"],"text":["36.4","36.5"],"length":["36.4","36.15"],"弹幕过滤函数":["36.4"],"返回":["36.4"],"则可以发送":["36.4"],"plugins":["36.5","36.9","36.10","36.11","36.12"],"artplayerplugindanmuku":["36.5","36.9","36.10","36.11","36.12"],"弹幕数组":["36.5"],"danmus":["36.15"],"加载弹幕":["36.15"],"error":["36.15"],"有时候":["40.2"],"地址没那么快知道":["40.2"],"这时候你可以异步设置":["40.2"],"cover":["40.12"],"是否转义":["40.38"],"标签":["40.38"],"默认为":["40.38"],"onvttload":["40.38"],"用于修改":["40.38"],"文本的函数":["40.38"],"修改现有的语言":["40.44"]},{"1":["9.8","19.8","36.5"],"2":["9.2","19.2","29.3"],"3":["19.5","40.1"],"4":["19.1","29.5","29.6","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.46","29.49","40.7","40.12","40.13","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.28","40.36","40.37","40.38","40.42","40.45","40.48","40.49"],"5":["9.8","15.29","19.8","24.4","29.8","34.4"],"6":["15.40","29.2","40.2"],"7":["15.15","15.16","15.17","15.22","15.36","15.37","29.39","40.27"],"8":["15.13","15.24","29.37","30.3","40.37","40.42"],"9":["15.10","15.11"],"10":["9.8","15.29","19.8"],"11":["40.44"],"12":["40.38"],"14":["29.33"],"22":["9.4"],"60":["36.4"],"100":["36.4"],"200":["36.4"],"500":["36.4"],"的":["0.0","0.5","1.0","5.0","10.0","10.5"],"url":["0.1","0.6","0.9","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.11","5.12","5.13","5.14","5.16","5.17","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.5","10.1","10.6","10.13","10.15","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.7","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","29.18","29.34","29.40","29.41","29.42","36.6","36.13","36.14","40.8","40.11","40.20","40.34","40.41","40.50"],"assets":["0.1","0.6","0.9","0.10","0.12","0.13","0.15","2.3","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.5","10.1","10.6","10.12","10.13","10.15","12.5","12.6","12.12","12.13","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.3","15.8","15.12","15.21","15.25","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","29.18","29.34","29.40","29.41","36.6","36.13","36.14","40.11","40.20","40.33","40.34","40.40","40.41","40.47","40.50"],"sample":["0.1","0.6","0.8","0.9","0.10","0.11","0.12","0.13","0.15","2.3","2.7","2.12","2.13","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.29","2.30","2.39","5.2","5.3","5.8","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.41","9.5","10.1","10.6","10.8","10.9","10.12","10.13","10.15","12.2","12.6","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.28","12.29","12.38","15.2","15.21","15.25","15.28","15.30","15.31","15.32","15.38","25.5","29.18","29.34","29.40","29.41","35.5","36.6","36.8","36.13","36.14","40.1","40.11","40.20","40.33","40.34","40.40","40.41","40.47","40.50"],"video":["0.1","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","2.2","2.3","2.7","2.13","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","5.2","5.3","5.8","5.10","5.11","5.12","5.14","5.18","5.20","5.21","5.25","5.27","5.28","5.30","5.32","5.33","5.34","5.41","10.1","10.6","10.7","10.8","10.9","10.10","10.12","10.13","10.15","12.2","12.6","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","15.25","15.38","19.4","25.5","29.34","29.40","35.5","36.8","36.13","36.14","40.1","40.11","40.20","40.31","40.34","40.40","40.41","40.47"],"ua":["0.2","10.2"],"iphone":["0.2","10.2"],"gi":["0.2","10.2"],"test":["0.2","10.2"],"console":["0.2","0.4","0.7","0.14","0.17","5.29","6.2","6.3","6.4","6.5","9.2","9.3","10.2","10.4","10.7","10.14","10.17","16.2","16.3","16.4","16.5","19.2","19.3","29.30"],"info":["0.2","0.4","0.7","0.14","0.17","1.6","5.29","6.2","6.3","6.4","6.5","9.2","9.3","10.2","10.4","10.7","10.14","10.17","11.6","15.14","15.29","16.2","16.3","16.4","16.5","19.2","19.3","29.30"],"mp4":["0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.16","2.2","2.18","2.19","2.21","2.24","2.28","2.29","2.30","5.10","5.14","5.18","5.20","5.21","5.25","5.28","5.30","5.31","5.32","5.41","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","12.2","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","15.21","15.25","15.30","15.38","19.4","25.5","29.18","29.31","29.40","35.5","36.7","36.8","36.13","36.14","40.1","40.11","40.20","40.31","40.32","40.34","40.40","40.47"],"click":["0.4","0.14","6.2","6.3","7.1","7.3","10.4","10.14","15.18","15.20","16.2","16.3","17.3","29.31","36.10"],"event":["0.4","0.14","9.2","9.3","10.4","10.14","19.3"],"warning":["0.5","10.5","11.0","15.14","15.18","20.3","29.8","29.11"],"提示":["0.5","10.5"],"默认所有播放器实例都是共享同一个":["0.5","10.5"],"localstorage":["0.5","10.5"],"而且默认的":["0.5","10.5"],"是":["0.5","10.5"],"settings":["0.5","9.4","10.5","19.4"],"如果你想不同的播放器使用不同的":["0.5","10.5"],"play":["0.7","10.7","29.4","29.44","40.4"],"on":["0.8","0.9","0.10","0.11","2.2","5.29","5.41","7.5","8.5","9.8","10.8","10.9","10.10","10.11","12.2","12.7","15.30","17.5","18.5","19.8","21.0","23.0","31.0","33.0"],"ready":["0.10","0.11","2.2","5.29","5.41","7.5","10.9","10.10","10.11","12.7","15.30","17.5"],"app":["0.12","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.19","5.23","5.24","5.26","5.27","5.28","5.30","5.32","5.33","5.34","5.35","5.38","9.1","9.5","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.7","15.8","15.9","15.12","15.19","15.21","15.23","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","20.5","29.18","29.34","29.40","29.41","29.50","30.5","36.6","36.13","40.8","40.11","40.18","40.25","40.27","40.33","40.34","40.41","40.50"],"hotkeyevent":["0.14","10.14"],"true":["0.16","2.28","7.2","9.4","10.16","12.27","17.2","19.4","25.5","29.18","29.38","35.5"],"flip":["0.16","10.16"],"playbackrate":["0.16","10.16"],"aspectratio":["0.16","10.16"],"function":["0.17","6.2","6.3","6.4","7.1","7.3","9.3","10.17","15.18","15.20","16.2","16.3","16.4","17.3","19.3","28.7","29.30","29.31","29.36","29.38","30.6","36.10","39.7","40.30"],"myplugin":["0.17","10.17"],"art":["1.1","5.4","5.36","5.37","5.38","5.39","5.40","9.5","11.1","15.5","15.6","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.38","15.40","19.1","19.5","20.6","25.4","29.3","29.5","29.6","29.10","29.14","29.25","29.33","29.37","29.41","29.42","35.4","40.3","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.36","40.37","40.39","40.45","40.46","40.48","40.49"],"new":["1.1","5.4","5.5","5.6","5.22","5.36","5.37","5.38","5.39","5.40","9.5","11.1","15.5","15.6","15.9","15.12","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.26","15.38","15.40","19.1","19.5","25.4","29.6","29.10","29.25","29.33","29.37","29.41","29.50","35.4","40.3","40.5","40.6","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.36","40.37","40.39","40.45","40.46","40.48","40.49"],"container":["1.1","2.1","2.4","2.5","2.15","5.1","5.4","5.5","5.6","5.7","5.9","5.11","5.13","5.15","5.16","5.17","5.22","5.23","5.24","5.26","5.36","5.37","5.39","5.40","9.1","9.5","11.1","12.1","12.3","12.4","12.8","12.9","12.10","12.11","12.15","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.12","15.16","15.17","15.19","15.21","15.23","15.24","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","19.5","25.4","29.25","29.33","29.34","29.41","29.50","35.4","36.6","40.5","40.6","40.8","40.18","40.25","40.27","40.33","40.36","40.37","40.39","40.41"],"js":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","15.10","15.11","15.13","15.24","15.36","15.37","19.1","20.2","24.3","25.3","26.3","27.3","28.4","28.8","28.11","29.3","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","30.2","34.3","35.3","36.3","37.3","38.3","39.4","39.8","39.11","40.7","40.12","40.37","40.38","40.42","40.43"],"artplayer":["1.6","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.39","5.40","9.5","11.6","15.1","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.31","15.33","15.34","15.40","19.1","19.5","20.6","29.25","29.27","29.33","29.34","29.41","29.50","40.3","40.5","40.6","40.8","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.25","40.26","40.33","40.36","40.37","40.39","40.46"],"手动触发事件":["2.0","12.0"],"subtitle":["2.28","2.29","2.30","12.27","12.28","12.29"],"srt":["2.31","12.30"],"或者部分加载完成":["2.44","12.43"],"则发送此事件":["2.44","12.43"],"已经到达结束点":["2.45","12.44"],"正在尝试获取媒体数据":["2.56","12.55"],"adsplugin":["4.0","14.0"],"option":["4.0","14.0","20.4","21.0","30.4","31.0","36.15"],"layers":["4.0","14.0"],"ads":["4.0","14.0"],"html":["4.0","7.4","8.4","9.6","14.0","15.20","17.4","18.4","19.6","29.31","29.32","36.9","36.10","36.11","36.12","40.31","40.32"],"img":["4.0","9.4","9.7","14.0","19.4","19.7","40.40"],"style":["4.0","6.1","7.3","8.1","8.4","14.0","16.1","17.3","18.1","18.4","20.4","40.29"],"width":["4.0","8.4","9.4","9.7","14.0","18.4","19.7","40.29"],"100px":["4.0","8.4","14.0","18.4","29.29","40.29"],"src":["4.0","8.3","8.4","9.7","14.0","18.3","18.4","19.7","29.29","40.29"],"display":["4.0","14.0"],"none":["4.0","14.0"],"position":["4.0","5.18","7.4","8.2","8.3","8.5","14.0","15.20","17.1","17.4","18.2","18.3","18.5","29.29","29.32","36.9","36.10","36.11","36.12","40.29","40.32"],"absolute":["4.0","8.2","8.3","8.5","14.0","18.2","18.3","18.5","29.29","40.29"],"top":["4.0","8.2","8.3","8.5","14.0","18.2","18.3","18.5","29.29","40.29"],"20px":["4.0","14.0","29.29","40.29"],"right":["4.0","7.2","7.4","8.2","8.5","14.0","15.20","17.2","17.4","18.2","18.5","29.29","36.9","36.10","36.11","36.12"],"var":["5.4","5.39","9.5","15.5","15.6","15.10","15.11","15.13","15.15","15.16","15.17","15.22","15.24","15.36","15.37","15.40","19.1","19.5","29.3","29.5","29.6","29.10","29.14","29.25","29.28","29.33","29.37","29.39","29.41","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.27","40.28","40.36","40.37","40.38","40.39","40.42","40.45","40.46","40.48","40.49"],"controls":["5.18","5.20","25.5","35.5","36.9","36.10","36.11","36.12"],"jpg":["5.21"],"element":["6.1","8.1"],"组件的":["6.1","8.1"],"dom":["6.1","8.1","9.3","16.1","18.1","19.3"],"元素":["6.1","8.1"],"args":["6.2","6.3","6.4","16.2","16.3","16.4","29.30","29.31","40.30"],"show":["6.5","9.6","9.8","16.5","19.6","19.8"],"false":["6.5","16.5","36.5"],"组件样式对象":["7.1"],"组件点击事件":["7.1"],"mounted":["7.1"],"selector":["7.2","17.2"],"default":["7.2","17.2"],"span":["7.2","17.2"],"01":["7.2","17.2","29.30","40.30"],"button":["7.3","7.4","17.3","17.4"],"tooltip":["7.3","7.4","8.2","8.3","17.1","17.3","17.4","18.2","18.3","29.32"],"color":["7.3","17.3","36.5"],"red":["7.3","17.3"],"your":["7.4","17.4","29.31","29.32","40.31","40.32","40.47"],"02":["7.5","9.3","17.5","19.2","19.3","29.30","40.30"],"settimeout":["7.5","17.5","29.2"],"update":["7.5"],"the":["7.5","17.5","20.3","29.8","29.47"],"tip":["8.2","8.3","15.14","15.18","18.2","18.3","20.3","29.8","29.11","29.47"],"50px":["8.2","8.3","8.5","18.2","18.3","18.5"],"potser":["8.4","18.4"],"item":["9.2","9.3","19.2","19.3"],"onselect":["9.3","19.3","29.30","40.30"],"pip":["9.4","19.4"],"mode":["9.4","19.4"],"close":["9.4","19.4"],"heigth":["9.4","9.7","19.7"],"add":["9.6","20.1","30.1"],"slider":["9.6","19.6"],"state":["9.7","19.7"],"range":["9.8","19.8","36.11"],"非常少使用":["11.0"],"attached":["15.0"],"div":["15.4","15.10","15.39","19.5","29.27","29.36","29.38","29.42","29.43","29.48","40.38"],"classname":["15.4","15.10","15.11","15.39","19.5","29.22","29.27","29.36","29.38","29.42","29.43","29.48","40.38"],"run":["15.4","15.10","15.11","15.39","19.5","29.22","29.24","29.27","29.36","29.38","29.42","29.43","29.45","29.48","40.38","40.43"],"code":["15.4","15.10","15.11","15.36","15.37","15.39","19.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.36","29.37","29.41","29.43","29.45","29.46","29.48","29.49","40.38","40.43"],"name":["15.10","15.39"],"some":["15.14"],"videos":["15.14"],"have":["15.14"],"switch":["15.18"],"resize":["15.30"],"class":["15.39"],"of":["16.1","18.1","20.3","29.1"],"object":["16.1","18.1","29.12"],"is":["17.1","20.0"],"text":["17.1","29.38","36.10"],"left":["17.1","29.32","40.32"],"yellow":["19.2"],"setting":["19.4","36.14"],"completed":["20.0"],"everything":["20.0"],"unpkg":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"size":["20.3","29.1"],"getinstance":["20.4","30.4","30.6"],"let":["20.6"],"null":["20.6"],"parameters":["20.6"],"net":["20.7","30.7"],"https":["20.7","30.7"],"cdn":["20.7","30.7"],"npm":["20.7","30.7"],"create":["21.0"],"initialize":["21.0","29.1","31.0"],"autoplay":["21.0","31.0"],"createplayer":["22.0","32.0"],"type":["22.0","32.0","36.11"],"attachmediaelement":["22.0","32.0"],"load":["22.0","32.0"],"attachmedia":["23.0","33.0"],"else":["23.0","33.0"],"canplaytype":["23.0","33.0"],"com":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"为空则不跳转":["24.4","34.4"],"http":["24.4","34.4"],"org":["24.4","34.4"],"必须观看的时长":["24.4","34.4"],"期间不能被跳过":["24.4","34.4"],"单位为秒":["24.4","34.4"],"当该值大于或等于totalduration时":["24.4","34.4"],"不能提前关闭广告":["24.4","34.4"],"当该值等于或小于0时":["24.4","34.4"],"则随时都可以关闭广告":["24.4","34.4"],"playduration":["24.4","34.4"],"fullscreen":["25.5","35.5"],"fullscreenweb":["25.5","35.5"],"里通过代码控制":["28.1","39.1"],"value":["28.7","39.7"],"from":["28.7","39.7"],"async":["28.7","39.7"],"use":["28.7","39.7"],"通信":["28.9","39.9"],"只能运行在":["28.10","39.10"],"的消息":["28.11","39.11"],"commit":["28.12","39.12"],"artplayerpluginiframe":["28.12","39.12"],"body":["28.13","30.3","39.13"],"id":["28.13","39.13","40.47"],"need":["29.1"],"elements":["29.1"],"such":["29.1"],"as":["29.1","29.47"],"css":["29.1","40.1"],"this":["29.4","40.4"],"equivalent":["29.4"],"to":["29.4"],"will":["29.8"],"cache":["29.8"],"muted":["29.11"],"if":["29.11"],"you":["29.11"],"want":["29.11"],"similar":["29.12"],"fit":["29.12"],"contain":["29.12"],"sescribe":["29.20"],"volume":["29.20"],"up":["29.20"],"down":["29.20"],"fast":["29.20"],"forward":["29.20"],"rewind":["29.20"],"through":["29.27"],"opacity":["29.29"],"menu":["29.31","40.31"],"control":["29.32","40.32"],"something":["29.35","40.35"],"dosomething":["29.35","40.35"],"matches":["29.36"],"successful":["29.36"],"support":["29.36"],"string":["29.36"],"matching":["29.36"],"regular":["29.36"],"onvttload":["29.38"],"functions":["29.38"],"for":["29.38"],"modifying":["29.38"],"loading":["29.40","40.40"],"player":["29.42","29.47"],"instance":["29.42","30.4"],"modify":["29.44"],"existing":["29.44"],"because":["29.47"],"uses":["29.47"],"key":["29.47"],"by":["29.47"],"demo":["30.3"],"meta":["30.3"],"charset":["30.3"],"utf":["30.3"],"get":["30.4"],"jsdelivr":["30.7"],"application":["33.0"],"locktime":["36.4"],"输入框锁定时间":["36.4"],"maxlength":["36.4"],"输入框最大可输入的字数":["36.4"],"minwidth":["36.4"],"弹幕文本":["36.5"],"time":["36.5"],"发送时间":["36.5"],"单位秒":["36.5"],"fff":["36.5"],"弹幕局部颜色":["36.5"],"border":["36.5"],"plugins":["36.7","36.8"],"artplayerplugindanmuku":["36.7","36.8"],"使用":["36.7"],"promise":["36.7"],"异步返回":["36.7"],"xml":["36.9","36.10","36.11","36.12"],"隐藏弹幕":["36.9"],"发送弹幕":["36.10"],"弹幕大小":["36.11"],"input":["36.11"],"重载弹幕":["36.12"],"加载错误":["36.15"],"config":["36.15"],"配置变化":["36.15"],"您可能需要初始化容器元素的大小":["40.1"],"如":["40.1"],"等同于":["40.4"],"document":["40.27"],"queryselector":["40.27"]},{"0":["36.5"],"1":["9.7","19.7","36.11"],"3":["29.1"],"4":["29.7","29.21","29.22","29.23","29.24","29.36","29.38","29.42","29.43","29.45","29.48","40.43"],"5":["5.29","9.7","19.7"],"6":["15.39"],"7":["15.4","29.27"],"8":["29.42"],"9":["29.29","40.29"],"10":["5.10","5.29","9.7","19.7","24.4","34.4"],"11":["29.44"],"12":["29.38","36.11"],"22":["9.5","9.6","19.4","19.6"],"25":["36.11"],"32":["0.14","10.14"],"50":["36.11"],"60":["29.34","40.34"],"120":["40.34"],"150":["9.2","19.2"],"222":["36.5"],"400":["36.4"],"404":["2.12","12.12"],"1000":["29.2"],"二级属性":["0.0","10.0"],"mp4":["0.1","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.7","5.8","5.9","5.11","5.12","5.13","5.16","5.17","5.19","5.23","5.24","5.26","5.27","5.33","5.34","5.35","5.38","9.1","9.5","10.1","10.13","10.15","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.7","15.8","15.9","15.11","15.12","15.16","15.17","15.19","15.23","15.24","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","19.5","20.5","29.33","29.34","29.37","29.50","30.5","36.6","40.8","40.25","40.33","40.36","40.37","40.50"],"console":["0.1","0.6","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","5.8","5.12","5.13","5.14","5.21","5.24","5.25","5.26","5.27","5.28","5.31","5.32","5.33","5.34","5.41","7.3","8.2","8.3","10.1","10.6","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.8","15.25","15.28","15.31","15.32","15.38","17.3","18.2","18.3","29.29","29.31","29.32","40.29","40.30","40.31"],"info":["0.1","0.6","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","5.8","5.12","5.14","5.21","5.25","5.27","5.28","5.31","5.32","5.33","5.34","7.3","8.2","8.3","10.1","10.6","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","15.25","15.31","15.38","17.3","18.2","18.3","29.29","29.31","29.32","40.29","40.30","40.31"],"warning":["0.2","0.3","1.6","5.29","10.2","10.3","11.6","15.20","15.29","15.30","15.38","20.4","29.2","29.4","29.18","29.20","29.41","30.4","40.11","40.41","40.47","40.50"],"提示":["0.2","0.3","10.2","10.3","11.0","15.30","40.47"],"在上面这个例子中":["0.2","10.2"],"为了方便区别":["0.3","10.3"],"元素和普通对象":["0.3","10.3"],"播放器里的所有":["0.3","10.3"],"mouseenter":["0.4","10.4"],"你可以修改":["0.5","10.5"],"即可":["0.5","10.5"],"zh":["0.7","10.7"],"cn":["0.7","10.7"],"your":["0.7","10.7","15.30","29.3","40.3"],"ready":["0.8","0.9","0.12","0.13","0.14","0.15","0.16","2.7","2.19","2.24","2.31","5.8","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.21","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","6.5","8.5","9.8","10.8","10.12","10.13","10.14","10.15","10.16","12.2","12.6","12.18","12.23","12.30","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","16.5","18.5","19.8"],"html":["0.9","0.10","0.11","5.18","5.20","10.9","10.10","10.11","25.5","35.5","36.8"],"some":["0.9","0.10","0.11","10.9","10.10","10.11"],"text":["0.9","0.10","0.11","10.9","10.10","10.11"],"position":["0.10","5.20","5.35","7.1","8.4","10.10","18.4","25.5","35.5","36.8"],"on":["0.12","0.13","0.14","0.15","0.16","2.3","2.7","2.12","2.13","2.19","2.24","2.31","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.19","5.21","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","6.4","6.5","7.4","10.12","10.13","10.14","10.15","10.16","12.6","12.12","12.18","12.23","12.30","15.7","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","16.4","16.5","17.4","20.3","22.0","29.4","32.0"],"subtitleoffset":["0.16","10.16"],"return":["0.17","9.2","9.3","10.17","19.2","19.3","28.7","36.7","36.10","39.7"],"name":["0.17","10.17"],"something":["0.17","10.17"],"dosomething":["0.17","10.17"],"一级属性":["1.0","5.0"],"app":["1.1","5.4","5.5","5.6","5.22","5.36","5.37","5.39","5.40","11.1","15.5","15.6","15.10","15.11","15.13","15.15","15.16","15.17","15.22","15.24","15.36","15.37","15.40","19.1","19.5","25.4","29.5","29.6","29.10","29.14","29.25","29.33","29.36","29.37","29.38","29.39","35.4","40.5","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.36","40.37","40.38","40.39","40.42","40.45","40.46","40.48","40.49"],"url":["1.1","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.38","5.39","5.40","11.1","15.5","15.6","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.36","15.37","15.40","19.1","19.5","20.5","25.4","29.3","29.6","29.25","29.36","29.50","30.5","35.4","40.3","40.5","40.6","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.25","40.26","40.36","40.39","40.46"],"assets":["1.1","2.1","2.4","2.5","2.15","5.1","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.38","5.39","5.40","11.1","12.1","12.3","12.4","12.8","12.9","12.10","12.11","12.15","15.1","15.5","15.6","15.7","15.9","15.10","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.26","19.1","19.5","20.5","25.4","29.6","29.25","29.33","29.36","29.37","29.50","30.5","35.4","40.5","40.6","40.8","40.18","40.25","40.36","40.37","40.38","40.39"],"全部工具函数请参考以下地址":["1.6","11.6"],"js":["1.11","11.11","15.4","15.39","28.9","29.22","29.27","29.36","29.38","29.42","29.43","29.48","39.9"],"emit":["2.0","12.0"],"focus":["2.0","12.0"],"移除事件":["2.0","12.0"],"sample":["2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","5.1","5.5","5.6","5.7","5.9","5.15","5.22","5.23","5.35","5.36","5.37","5.38","5.39","9.1","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.16","15.17","15.19","15.23","15.24","15.26","15.27","15.33","15.34","15.35","19.1","19.5","20.5","25.4","29.25","29.33","29.36","29.37","29.50","30.5","35.4","40.5","40.6","40.8","40.18","40.25","40.36","40.37","40.38","40.39"],"video":["2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.5","5.6","5.7","5.9","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.35","5.38","9.1","9.5","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.19","15.26","15.27","15.28","15.32","15.34","15.35","19.5","20.5","29.25","29.33","29.37","29.50","30.5","36.6","40.8","40.18","40.25","40.33","40.36","40.37","40.38","40.50"],"true":["2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.39","5.2","5.3","5.19","6.2","6.4","6.5","9.1","9.5","10.11","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.38","15.2","15.3","15.19","16.2","16.4","16.5","19.5","36.13","36.14","40.11","40.33","40.47"],"setting":["2.18","2.21","2.28","9.1","9.5","12.17","12.20","12.27","19.5","36.13"],"srt":["2.28","2.29","2.30","12.27","12.28","12.29"],"并调用":["2.44","12.43"],"但数据意外未出现":["2.56","12.55"],"show":["4.0","6.2","6.3","6.4","14.0","16.2","16.3","16.4","21.0","22.0","23.0","29.29","29.31","31.0","32.0","33.0"],"block":["4.0","14.0"],"hide":["4.0","14.0"],"controls":["4.0","5.35","14.0","15.35","36.8"],"tooltip":["4.0","7.1","9.6","14.0","19.6","40.32"],"muted":["5.2","5.3","5.23","15.2","15.3","24.4","34.4","40.11"],"seek":["5.10","5.11"],"settimeout":["5.10","6.5","8.5","9.8","10.9","16.5","18.5","19.8","40.2"],"right":["5.18","5.20","8.3","8.4","17.1","18.3","18.4","25.5","35.5","36.8","40.29"],"switch":["5.18","25.5","35.5"],"click":["5.18","5.20","6.1","8.1","8.2","8.3","15.38","16.1","18.1","18.2","18.3","29.29","29.32","36.8","36.9","36.12","40.29","40.31","40.32"],"function":["5.18","5.20","6.1","8.1","8.2","8.3","16.1","18.1","18.2","18.3","20.6","29.29","29.32","36.7","36.9","36.12","40.29","40.31"],"log":["5.41"],"theme":["5.41"],"object":["6.1","8.1"],"组件样式对象":["6.1","8.1"],"false":["6.2","6.3","6.4","9.4","16.2","16.3","16.4","19.4","24.4","34.4"],"update":["6.5","8.5","9.8"],"组件挂载后触发":["7.1"],"组件的提示文本":["7.1"],"yellow":["7.2","17.2"],"02":["7.2","17.2"],"onselect":["7.2","17.2"],"item":["7.2","9.4","17.2"],"dom":["7.2","17.2"],"args":["7.3","8.2","8.3","17.3","18.2","18.3","29.29","29.32","40.29","40.31"],"mounted":["7.3","8.2","8.3","16.1","17.3","18.1","18.2","18.3"],"style":["7.4","17.4","20.5","29.32","30.4","30.5","36.11","40.32"],"color":["7.4","17.4","29.32","40.32"],"red":["7.4","17.4"],"control":["7.5","17.1","17.5"],"by":["7.5","8.5","9.8","17.5","18.5","19.8","29.11"],"absolute":["8.4","18.4"],"top":["8.4","18.4"],"50px":["8.4","18.4"],"the":["8.5","9.8","15.18","18.5","19.8","29.11"],"quality":["9.2","19.2"],"1080p":["9.2","19.2"],"src":["9.4","19.4","23.0","29.40","33.0","40.40"],"state":["9.4","29.40","40.40"],"svg":["9.4","9.7","19.4","19.7"],"settings":["9.5","19.5"],"slider":["9.5"],"5x":["9.5","9.6","19.5","19.6"],"img":["9.5","9.6","19.5","19.6","29.40"],"width":["9.5","9.6","19.4","19.6","20.5","29.1","40.1"],"icon":["9.6","19.6"],"range":["9.7","19.7"],"left":["10.10"],"有些属性是全大写的":["11.0"],"t":["12.7"],"which":["15.0"],"var":["15.4","15.39","21.0","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.35","29.36","29.38","29.42","29.43","29.45","29.46","29.48","29.49","31.0","40.12","40.35","40.43"],"art":["15.4","15.10","15.36","15.37","15.39","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.36","29.38","29.39","29.43","29.45","29.46","29.48","29.49","40.12","40.27","40.38","40.43"],"new":["15.4","15.36","15.37","15.39","21.0","29.3","29.5","29.7","29.9","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.36","29.38","29.39","29.43","29.45","29.46","29.48","29.49","31.0","40.7","40.12","40.35","40.38","40.42","40.43"],"artplayer":["15.4","15.10","15.11","15.13","15.36","15.37","15.39","21.0","29.3","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.36","29.37","29.38","29.39","29.45","29.46","29.49","31.0","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.28","40.35","40.38","40.42","40.43","40.45","40.48","40.49"],"container":["15.4","15.10","15.11","15.13","15.15","15.22","15.36","15.37","15.40","19.1","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.26","29.27","29.28","29.36","29.37","29.38","29.39","29.46","29.49","40.3","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.38","40.42","40.45","40.46","40.48","40.49"],"no":["15.14"],"such":["15.14"],"as":["15.14"],"live":["15.14"],"or":["15.14","29.1"],"due":["15.18","15.20","29.18"],"to":["15.18","15.20","15.29","20.0"],"browser":["15.18","15.20","29.18"],"security":["15.18","15.20","29.18"],"mechanism":["15.18","15.20"],"page":["15.18","29.11"],"must":["15.18"],"have":["15.18"],"tip":["15.20","15.29","15.38","20.4","29.2","29.4","29.18","29.20"],"before":["15.20"],"jpg":["15.21"],"json":["15.25"],"stringify":["15.25"],"delete":["15.29"],"looping":["15.29"],"just":["15.29"],"useful":["15.30"],"but":["15.30","29.47"],"if":["15.38","20.7","29.47","36.9","36.10"],"you":["15.38","20.7"],"event":["16.1","18.1","28.8","36.9","39.8"],"and":["17.1","29.8"],"positions":["17.1"],"where":["17.1"],"controller":["17.1"],"appears":["17.1"],"selector":["17.1"],"heigth":["19.4"],"subject":["20.0"],"pnpm":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"com":["20.2","20.7","30.2","30.7"],"player":["20.3","29.41"],"depends":["20.3"],"so":["20.3"],"modifying":["20.4"],"https":["20.5","30.5"],"org":["20.5","30.5"],"600px":["20.5"],"height":["20.5","29.1","40.1"],"param":["20.6"],"getinstance":["20.6"],"unpkg":["20.7","30.7"],"else":["21.0","22.0","31.0","32.0"],"notice":["21.0","22.0","23.0","31.0","32.0","33.0"],"unsupported":["21.0","22.0","23.0","31.0","32.0","33.0"],"playback":["21.0","22.0","23.0","31.0","32.0","33.0"],"format":["21.0","22.0","23.0","31.0","32.0","33.0"],"mpd":["21.0","31.0"],"application":["23.0"],"vnd":["23.0","33.0"],"apple":["23.0","33.0"],"mpegurl":["23.0","33.0"],"m3u8":["23.0","33.0"],"广告总时长":["24.4","34.4"],"totalduration":["24.4","34.4"],"视频广告是否默认静音":["24.4","34.4"],"多语言支持":["24.4","34.4"],"i18n":["24.4","34.4"],"close":["24.4","34.4"],"关闭广告":["24.4","34.4"],"countdown":["24.4","34.4"],"s秒":["24.4","34.4"],"button":["25.5","35.5"],"ui":["25.5","35.5"],"播放器的功能":["28.1","39.1"],"keyword":["28.7","39.7"],"currenttime":["28.7","39.7"],"await":["28.7","39.7"],"artplayerpluginiframe":["28.11","39.11"],"type":["28.12","39.12"],"400px":["29.1","40.1"],"300px":["29.1","40.1"],"use":["29.1"],"three":["29.2"],"file":["29.2"],"formats":["29.2"],"are":["29.2"],"supported":["29.2"],"size":["29.8"],"last":["29.8"],"enter":["29.11"],"css":["29.12"],"div":["29.12","30.3"],"classname":["29.12"],"run":["29.12"],"code":["29.12","29.42"],"policy":["29.18"],"space":["29.20"],"toggle":["29.20"],"play":["29.20"],"pause":["29.20"],"these":["29.20"],"document":["29.27"],"queryselector":["29.27"],"setting02":["29.30","40.30"],"green":["29.32","40.32"],"one":["29.34","40.34"],"more":["29.34","40.34"],"chance":["29.34","40.34"],"ploading":["29.40","40.40"],"gif":["29.40","40.40"],"identification":["29.41"],"can":["29.41"],"only":["29.41"],"resolve":["29.41"],"this":["29.41"],"cache":["29.47"],"progress":["29.47"],"of":["29.47"],"class":["30.3"],"属性":["30.6"],"export":["30.6"],"输入框最小宽度":["36.4"],"填":["36.4"],"则为无限制":["36.4"],"maxwidth":["36.4"],"输入框最大宽度":["36.4"],"infinity":["36.4"],"是否显示描边":["36.5"],"mode":["36.5"],"弹幕模式":["36.5"],"0表示滚动":["36.5"],"1静止":["36.5"],"plugins":["36.6","36.13","36.14"],"artplayerplugindanmuku":["36.6","36.13","36.14"],"弹幕":["36.6"],"resovle":["36.7"],"xml":["36.8"],"隐藏弹幕":["36.8"],"prompt":["36.10"],"请输入弹幕文本":["36.10"],"弹幕测试文本":["36.10"],"trim":["36.10"],"min":["36.11"],"max":["36.11"],"step":["36.11"],"value":["36.11"],"display":["36.11"],"flex":["36.11"],"alignitems":["36.11"],"stop":["36.15"],"弹幕停止":["36.15"],"start":["36.15"],"或者使用":["40.1"],"aspect":["40.1"],"热键":["40.20"],"描述":["40.20"],"增加音量":["40.20"],"降低音量":["40.20"],"innerhtml":["40.27"],"opacity":["40.29"],"sd":["40.33"],"ua":["40.36"],"后缀的识别":["40.41"],"播放器只能解析这种后缀":["40.41"],"因为播放器默认使用":["40.47"]},{"0":["12.7","20.5","30.5"],"1":["36.7"],"2":["5.27","36.5"],"4":["29.12"],"5":["5.7","5.8","5.13","15.7","40.8"],"8":["2.0","12.0"],"9":["5.28","29.1"],"10":["5.11","15.10","15.11","29.37"],"16":["5.28","15.28","29.1","36.10","40.1"],"22":["19.5"],"100":["28.5","29.37","39.5","40.37"],"111":["36.7"],"120":["29.34"],"180":["29.34","40.34"],"222":["36.7"],"240":["40.34"],"333":["36.5"],"360":["9.2"],"720":["9.2","19.2"],"1000":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","40.2"],"1080":["9.2","19.2"],"5000":["0.14","10.14"],"比较少用":["0.0","10.0"],"warning":["0.1","0.6","0.7","0.8","0.9","5.14","5.18","5.20","5.25","5.30","5.38","10.1","10.6","10.7","10.8","10.9","10.10","10.11","15.25","29.29","29.30","29.31","29.32","29.36","29.40","29.50","30.3","40.2","40.4","40.8","40.18","40.20","40.31","40.32","40.40"],"提示":["0.1","5.14","5.18","5.20","5.29","5.30","10.1","30.3","40.2","40.8","40.11","40.18"],"假如直接修改这个":["0.1","10.1"],"当使用":["0.2","10.2"],"访问播放器时":["0.2","10.2"],"会返回":["0.2","10.2"],"元素都是以":["0.3","10.3"],"开头命名的":["0.3","10.3"],"这是所有":["0.3","10.3"],"元素的定义":["0.3","10.3"],"mouseleave":["0.4","10.4"],"poster":["0.4","10.4"],"jpg":["0.4","10.4"],"then":["0.4","10.4"],"img":["0.4","10.4"],"loading":["0.6","10.6"],"这是所有图标的定义":["0.6","10.6"],"types":["0.6","1.6","10.6","11.6","29.50","40.50"],"使用":["0.7","10.7"],"只能更新实例化之后的":["0.7","10.7"],"to":["0.8","10.8","29.2","29.30","29.31","29.32"],"play":["0.8","4.0","5.2","10.8","14.0","15.2","29.2"],"如果想马上隐藏":["0.8","10.8"],"settimeout":["0.9","0.10","0.11","0.13","0.14","0.15","0.16","5.2","5.3","5.7","5.11","5.19","6.4","7.4","8.4","9.7","10.10","10.11","10.13","10.14","10.15","10.16","15.2","15.7","15.10","15.11","16.4","17.4","18.4","19.7"],"false":["0.9","0.10","0.11","0.15","0.16","10.9","10.10","10.11","10.15","10.16","29.29","29.31","40.29","40.31"],"left":["0.10","7.1"],"true":["0.11","0.13","2.20","5.1","5.12","5.23","5.31","6.3","10.13","12.19","15.1","15.23","15.31","16.3","19.1","25.4","29.25","29.33","35.4","40.18","40.25"],"srt":["0.12","10.12"],"on":["0.17","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.1","5.2","5.3","5.4","5.5","5.6","5.15","5.22","5.23","5.36","5.37","8.4","9.7","10.17","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.27","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.1","15.2","15.3","15.5","15.6","15.9","15.10","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.36","15.37","18.4","19.7","24.4","34.4","36.13","36.14","40.4"],"非常少使用":["1.0"],"sample":["1.1","5.4","5.40","11.1","15.4","15.15","15.22","15.36","15.37","15.39","15.40","22.0","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.38","29.39","29.42","29.45","29.46","29.49","32.0","40.7","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.35","40.42","40.43","40.45","40.46","40.48","40.49"],"video":["1.1","5.4","5.39","11.1","15.4","15.22","15.39","19.1","25.4","29.10","29.14","29.28","29.36","35.4","40.5","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.39","40.45","40.46","40.48","40.49"],"mp4":["1.1","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.39","5.40","11.1","15.4","15.5","15.6","15.10","15.13","15.15","15.22","15.36","15.37","15.39","15.40","19.1","25.4","29.5","29.6","29.15","29.16","29.17","29.25","29.36","29.38","29.39","35.4","40.5","40.6","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.26","40.38","40.39","40.46"],"artplayer":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","22.0","23.0","29.12","29.42","29.43","29.48","32.0","33.0"],"d":["1.6","11.6"],"info":["1.11","2.3","2.13","5.13","5.24","5.26","5.38","5.39","9.4","11.11","15.8","15.12","15.13","15.21","15.24","15.26","15.27","15.28","15.32","15.33","15.34","19.4","20.5","28.8","30.5","39.8","40.32"],"const":["2.0","5.16","5.17","9.4","12.0","15.16","15.17","19.4","25.5","35.5","36.11"],"onready":["2.0","12.0"],"console":["2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","5.23","5.38","5.39","5.40","9.4","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","15.12","15.13","15.21","15.24","15.26","15.27","15.33","15.34","15.40","19.4","20.5","24.4","28.8","30.5","34.4","36.14","39.8","40.32"],"start":["2.3"],"end":["2.3"],"event":["2.6","2.8","2.9","2.10","2.11","2.13","2.14","5.38","9.4","12.5","12.14"],"reconnecttime":["2.12","12.12"],"state":["2.13","2.16","2.17","2.22","2.23","2.24","2.25","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","9.5","9.6","12.13","12.16","12.21","12.22","12.23","12.24","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","19.6"],"height":["2.19","12.18","30.5"],"datauri":["2.26","12.25"],"currenttime":["2.27","12.26","28.12","39.12"],"offset":["2.28","12.27"],"text":["2.29","12.28","36.7"],"ass":["2.31","12.30"],"load":["2.44","12.43"],"方法重新加载它":["2.44","12.43"],"click":["4.0","5.35","5.38","14.0","15.35","24.4","25.5","34.4","35.5"],"marginright":["4.0","14.0"],"比较常用":["5.0"],"muted":["5.1","15.1","15.23"],"ready":["5.2","5.3","5.5","5.6","5.7","5.9","5.15","5.19","5.22","5.23","6.4","7.4","8.4","9.7","15.2","15.3","15.5","15.6","15.7","15.9","15.10","15.11","15.13","15.16","15.17","15.19","15.23","15.24","16.4","17.4","18.4","19.7","36.14"],"seek":["5.7","15.7","15.10","15.11"],"t":["5.10","5.21"],"有的视频是没有时长的":["5.14"],"async":["5.16","5.17","15.16","15.17"],"await":["5.16","5.17","15.16","15.17"],"json":["5.25"],"stringify":["5.25"],"删除区间循环播放":["5.29"],"只需要设置":["5.29"],"为":["5.29"],"即可":["5.29"],"resize":["5.30","36.13"],"playsinline":["5.31","15.31","40.39"],"m3u8":["5.33","29.2","40.42"],"000":["5.34"],"right":["5.35","7.1","15.35"],"html":["5.35","15.35","20.1","30.1"],"green":["5.41"],"组件点击事件":["6.1","8.1"],"mounted":["6.1","8.1","29.29","36.11","40.29"],"组件挂载后触发":["6.1","8.1"],"get":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"the":["6.2","6.3","6.4","6.5","7.2","7.3","7.4","8.2","8.3","8.4","9.7","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","18.2","18.3","18.4","19.7","29.20"],"element":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"of":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3","29.40"],"by":["6.2","6.3","6.4","6.5","7.2","7.4","8.4","16.2","16.3","16.4","16.5","17.2","17.4","18.4","29.2"],"delete":["6.4","7.4","8.4","9.7","16.4","17.4","18.4","19.7"],"和":["7.1","36.6"],"控制控制器出现的左右位置":["7.1"],"selector":["7.1"],"array":["7.1","17.1"],"return":["7.2","17.2","20.6","30.6"],"control":["7.2","7.3","7.4","17.2","17.3","17.4"],"200px":["8.5","18.5"],"720p":["9.2","19.2"],"360p":["9.2","19.2"],"nextstate":["9.4","19.4"],"heigth":["9.5","9.6","19.5","19.6"],"src":["9.5","9.6","19.5","19.6"],"svg":["9.5","9.6","19.5","19.6"],"show":["9.7","19.7","36.9","40.29","40.31"],"pip":["9.8","19.8"],"mode":["9.8","19.8"],"close":["9.8","19.8"],"说明这些属性是不稳定的":["11.0"],"可能会在将来被更改":["11.0"],"is":["15.0","16.1","18.1","24.4","29.47","34.4"],"more":["15.0","29.11"],"commonly":["15.0"],"app":["15.4","15.39","21.0","22.0","23.0","28.5","28.13","29.3","29.7","29.9","29.12","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.28","29.35","29.42","29.43","29.45","29.46","29.48","29.49","31.0","32.0","33.0","39.5","39.13","40.3","40.12","40.35","40.43"],"url":["15.4","15.39","29.5","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.39","29.43","29.45","29.46","29.48","29.49","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.27","40.28","40.35","40.43","40.45","40.48","40.49"],"assets":["15.4","15.36","15.37","15.39","15.40","22.0","29.5","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.38","29.39","29.42","29.43","29.45","29.46","29.48","29.49","32.0","40.3","40.7","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.27","40.28","40.35","40.42","40.43","40.45","40.46","40.48","40.49"],"that":["15.14","17.1"],"not":["15.14","15.30"],"been":["15.14"],"decoded":["15.14"],"obtained":["15.14"],"interaction":["15.18","15.20"],"before":["15.18"],"triggering":["15.18","15.20"],"for":["15.18","15.20","29.11"],"page":["15.20"],"must":["15.20","20.3","29.11"],"have":["15.20","20.3"],"tip":["15.25","29.36"],"dimension":["15.25"],"option":["15.29"],"aer":["15.29"],"two":["15.29"],"does":["15.30"],"know":["15.30"],"specific":["15.30"],"position":["15.35"],"need":["15.38","29.2","29.47"],"some":["15.38"],"events":["15.38"],"only":["15.38","29.20"],"exist":["15.38"],"in":["15.38","20.4","29.4"],"life":["15.38"],"cycle":["15.38"],"container":["15.39","21.0","22.0","23.0","29.3","29.22","29.24","29.35","29.42","29.43","29.45","29.48","31.0","32.0","33.0","40.35","40.43"],"triggered":["16.1","18.1"],"after":["16.1","18.1","29.20"],"tooltip":["16.1","18.1"],"objects":["17.1"],"select":["17.1"],"list":["17.1"],"onselect":["17.1"],"a":["17.1","20.3"],"setting":["19.1","36.11"],"item":["19.4"],"width":["19.5","28.5","30.5","39.5"],"chinese":["20.0"],"your":["20.3","29.6","40.6"],"following":["20.3","20.7","29.31","29.32"],"links":["20.3"],"directly":["20.4"],"will":["20.4","29.20"],"400px":["20.5","30.5"],"margin":["20.5","30.5"],"60px":["20.5","30.5"],"auto":["20.5","30.5"],"properties":["20.6"],"export":["20.6"],"default":["20.6","30.6"],"data":["20.6","28.12","30.6","39.12"],"want":["20.7"],"be":["20.7","29.11"],"please":["20.7","29.29","29.30","29.31","29.32"],"modify":["20.7"],"configuration":["20.7"],"akamaized":["21.0","31.0"],"net":["21.0","31.0"],"akamai":["21.0","31.0"],"bbb":["21.0","31.0"],"30fps":["21.0","31.0"],"var":["22.0","23.0","29.12","32.0","33.0"],"new":["22.0","29.12","29.27","29.42","32.0","40.27"],"test":["23.0","29.36","33.0","40.36"],"streams":["23.0","33.0"],"mux":["23.0","33.0"],"x36xhzz":["23.0","33.0"],"detail":["24.4","34.4"],"查看详情":["24.4","34.4"],"canbeclosed":["24.4","34.4"],"s秒后可关闭广告":["24.4","34.4"],"ad":["24.4","34.4"],"clicked":["24.4","34.4"],"fullscreen":["25.4","35.4"],"fullscreenweb":["25.4","35.4"],"function":["25.5","35.5","36.8","36.11","40.32"],"plugins":["25.5","35.5"],"artplayerplugincontrol":["25.5","35.5"],"或者获取":["28.1","39.1"],"div":["28.5","28.13","39.5","39.13"],"class":["28.5","28.13","39.5","39.13"],"style":["28.5","39.5"],"or":["28.7","29.2","39.7"],"resolve":["28.7","39.7"],"method":["28.7","39.7"],"currenttime2":["28.7","39.7"],"里":["28.10","39.10"],"art":["28.12","29.12","29.27","39.12"],"aspect":["29.1"],"ratio":["29.1","40.1"],"ogg":["29.2","40.2"],"and":["29.2","29.18"],"webm":["29.2","40.2"],"if":["29.2","29.4","29.18"],"callback":["29.4"],"instance":["29.4"],"but":["29.4"],"read":["29.8"],"value":["29.8"],"at":["29.8"],"js":["29.12"],"source":["29.18"],"address":["29.18"],"website":["29.18"],"are":["29.18"],"take":["29.20"],"effect":["29.20"],"player":["29.20"],"gets":["29.20"],"innerhtml":["29.27"],"refer":["29.29","29.30","29.31","29.32"],"sd":["29.33"],"480p":["29.33","40.33"],"谁でもいいはずなのに":["29.34","40.34"],"夏の想い出がまわる":["29.34","40.34"],"ua":["29.36"],"iphone":["29.36","40.36"],"gi":["29.36","40.36"],"png":["29.37","29.40","40.37","40.40"],"definition":["29.40"],"however":["29.41"],"cannot":["29.41"],"resolved":["29.41"],"zh":["29.44","40.44"],"cn":["29.44","40.44"],"tw":["29.44","40.44"],"same":["29.47"],"different":["29.47"],"you":["29.47"],"definitions":["29.50"],"播放器的尺寸依赖于容器":["30.3"],"的尺寸":["30.3"],"所以你的容器":["30.3"],"非响应式":["30.4"],"在":["30.4"],"600px":["30.5"],"假如你要兼容更古老的浏览器时":["30.7"],"则为":["36.4"],"宽度":["36.4"],"theme":["36.4"],"dark":["36.4"],"输入框自定义挂载时的主题色":["36.4"],"默认为":["36.4"],"可以选填亮色":["36.4"],"light":["36.4"],"beforeemit":["36.4"],"trim":["36.4"],"red":["36.5"],"文件":["36.6"],"bilibili":["36.6"],"网站的弹幕格式一致":["36.6"],"time":["36.7"],"target":["36.9"],"innertext":["36.9"],"else":["36.9"],"color":["36.10"],"math":["36.10"],"floor":["36.10"],"random":["36.10"],"0xffffff":["36.10"],"tostring":["36.10"],"center":["36.11"],"queryselector":["36.11"],"切换弹幕":["36.12"],"config":["36.12"],"xml":["36.13","36.14"],"弹幕开始":["36.15"],"hide":["36.15"],"弹幕隐藏":["36.15"],"默认支持三种视频文件格式":["40.2"],"播放器会缓存最后一次音量的大小":["40.8"],"假如希望默认进入页面就能自动播放视频":["40.11"],"必需为":["40.11"],"视频快进":["40.20"],"视频快退":["40.20"],"space":["40.20"],"切换播放":["40.20"],"暂停":["40.20"],"subtitle":["40.25"],"组件配置":["40.31"],"args":["40.32"],"hd":["40.33"],"webkit":["40.39"],"全部图标的定义":["40.40"],"但无法解析这种后缀":["40.41"],"作为":["40.47"],"key":["40.47"],"来缓存播放进度的":["40.47"],"但假如你的同一个视频的":["40.47"],"写法参考":["40.50"]},{"0":["5.9","5.10","5.11","5.14","5.21","15.9","15.10","15.11","15.14","15.21"],"1":["9.6","19.6"],"2":["5.7","15.7","15.27","36.7"],"3":["36.5","36.7"],"5":["5.5","5.6","9.6","15.5","15.6","15.8","15.13","19.6"],"9":["15.28","40.1"],"10":["9.6","19.6","40.37"],"100":["28.13","39.13"],"240":["29.34"],"300":["29.34","40.34"],"333":["36.7"],"360":["19.2"],"1000":["0.13","0.15","10.13","10.15","28.7","39.7"],"3000":["5.2","5.3","5.7","5.10","5.11","5.19","6.4","6.5","7.4","7.5","8.4","8.5","9.7","9.8","15.2","15.3","15.7","15.10","15.11","15.19","16.4","16.5","17.4","17.5","18.4","18.5","19.7","19.8"],"对象":["0.1","10.1"],"播放器不会马上做出响应":["0.1","10.1"],"false":["0.2","0.13","5.19","9.8","10.2","10.13","15.19","19.8"],"即使用原生的播放器":["0.2","10.2"],"而不是":["0.2","10.2"],"播放器":["0.2","10.2"],"types":["0.3","2.0","10.3","12.0","29.40","29.44","40.40","40.44"],"d":["0.3","0.6","2.0","10.3","10.6","12.0","29.40","29.44","29.50","40.40","40.44","40.50"],"ts":["0.3","0.6","1.6","2.0","10.3","10.6","11.6","12.0","29.40","29.44","29.50","40.40","40.44","40.50"],"warning":["0.4","0.10","0.11","0.14","0.16","2.0","10.4","10.14","10.16","12.0","20.5","29.1","29.37","29.44","30.5","40.1","40.29","40.30","40.36","40.37","40.44"],"提示":["0.4","0.14","5.25","5.38","10.4","10.14","40.1","40.4","40.20","40.36"],"假如你需要一些":["0.4","5.38","10.4"],"事件只存在于播放器的生命周期上时":["0.4","5.38","10.4"],"强烈建议使用这些函数":["0.4","10.4"],"以避免造成内存泄漏":["0.4","5.38","10.4"],"your":["0.5","10.5"],"假如想在实例化之前更新":["0.7","10.7"],"请使用基础选项的":["0.7","10.7"],"来更新":["0.7","10.7"],"的显示":["0.8","10.8"],"组件配置":["0.9","0.10","0.11","10.9","10.10","10.11","40.29","40.32"],"请参考以下地址":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","40.29","40.30","40.31","40.32"],"component":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","29.29","29.30","29.31","29.32","40.29","40.30","40.31","40.32"],"color":["0.12","10.12","29.38","40.38"],"red":["0.12","10.12"],"只在播放器获得焦点后":["0.14","10.14","40.20"],"如点击了播放器后":["0.14","10.14","40.20"],"这些快捷键才会生效":["0.14","10.14","40.20"],"true":["0.15","5.22","10.15","15.12","15.22","29.6","29.9","29.10","29.12","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.26","29.27","29.39","29.45","29.46","29.48","29.49","36.10","40.6","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.26","40.27","40.39","40.45","40.46","40.48","40.49"],"设置面板":["0.16","10.16"],"html":["0.16","10.16","24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"ready":["0.17","2.0","5.1","5.4","10.17","12.0","15.1","15.4","15.15","15.22","21.0","22.0","23.0","31.0","32.0","33.0"],"off":["2.0","12.0"],"全部事件请参考以下地址":["2.0","12.0"],"events":["2.0","12.0"],"info":["2.1","2.2","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","5.16","5.17","5.23","5.36","5.37","5.40","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","15.16","15.17","15.23","15.36","15.37","15.39","15.40","19.5","21.0","22.0","23.0","24.4","31.0","32.0","33.0","34.4","36.14"],"console":["2.2","2.7","2.20","2.28","2.31","2.39","5.16","5.17","5.36","5.37","9.5","12.2","12.6","12.7","12.19","12.27","12.30","12.38","15.16","15.17","15.23","15.36","15.37","15.39","19.5","21.0","22.0","23.0","31.0","32.0","33.0"],"log":["2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38"],"pause":["4.0","14.0"],"layer":["4.0","14.0"],"png":["4.0","14.0"],"t":["5.9","5.11","15.9","15.10","15.11","15.21","15.29"],"name":["5.10"],"新视频地址":["5.11"],"例如直播中的视频或者没被解码完成的视频":["5.14"],"这个时候获取的时长会是":["5.14"],"由于浏览器安全机制":["5.18","5.20","40.18"],"触发窗口全屏前":["5.18"],"页面必须先存在交互":["5.18","5.20"],"例如用户点击过页面":["5.18","5.20"],"触发画中画前":["5.20"],"尺寸和坐标信息是通过":["5.25"],"getboundingclientrect":["5.25","15.25"],"获取的":["5.25"],"与":["5.29"],"option":["5.29"],"是两个不同的东西":["5.29"],"请勿弄乱":["5.29"],"当你的容器只有宽度":["5.30"],"但不知道具体高度时":["5.30"],"这个属性很有用":["5.30"],"它能自动计算出视频的高度":["5.30"],"但你需要确定设置这个属性的时机":["5.30"],"强烈建议使用该函数":["5.38"],"tooltip":["6.1","8.1"],"组件的提示文本":["6.1","8.1"],"remove":["6.4","7.4","8.4","9.7"],"选择列表的对象数组":["7.1"],"onselect":["7.1"],"选择列表的元素被点击时触发的函数":["7.1"],"by":["7.3","8.2","8.3","9.7","17.3","18.2","18.3","19.7","29.36"],"left":["8.5","18.5","29.2"],"switchquality":["9.2","19.2"],"open":["9.4","19.4"],"return":["9.4","9.5","19.4","19.5"],"item":["9.5","19.5"],"event":["9.5"],"x":["9.5","19.5"],"range":["9.6","19.6"],"switch":["9.8","19.8"],"used":["15.0","29.36"],"settimeout":["15.3","15.19","28.7","39.7"],"on":["15.4","15.18","15.20","29.2"],"at":["15.14","29.41"],"this":["15.14","15.38"],"time":["15.14","15.30","29.41"],"will":["15.14","20.5","29.4"],"be":["15.14"],"example":["15.18","15.20"],"user":["15.18","15.20"],"has":["15.18","15.20"],"clicked":["15.18","15.20","17.1"],"are":["15.25"],"obtained":["15.25"],"through":["15.25"],"different":["15.29"],"things":["15.29"],"please":["15.29","29.2","29.11"],"don":["15.29"],"mix":["15.29"],"them":["15.29"],"up":["15.29"],"you":["15.30","29.41"],"need":["15.30"],"determine":["15.30"],"m3u8":["15.33","29.42","40.2"],"000":["15.34"],"we":["15.38"],"strongly":["15.38"],"recommend":["15.38"],"using":["15.38"],"avoid":["15.38"],"memory":["15.38"],"leakage":["15.38"],"text":["16.1","18.1"],"when":["17.1"],"an":["17.1"],"install":["20.0"],"script":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"can":["20.3"],"see":["20.3"],"more":["20.3"],"examples":["20.3"],"packages":["20.3","30.3"],"template":["20.3","30.3"],"not":["20.4","20.5","29.4","29.36"],"change":["20.4","20.5","36.11"],"the":["20.4","20.5"],"player":["20.4"],"tip":["20.5","29.1","30.3"],"modifying":["20.5"],"directly":["20.5"],"in":["20.5","29.36"],"and":["20.7"],"build":["20.7","30.7"],"it":["20.7"],"yourself":["20.7"],"scripts":["20.7","30.7"],"reference":["20.7"],"documents":["20.7"],"browserslist":["20.7","30.7"],"type":["21.0","23.0","31.0","33.0"],"customtype":["21.0","22.0","23.0","31.0","32.0","33.0"],"skipped":["24.4","34.4"],"skip":["24.4","34.4"],"plugins":["25.4","35.4"],"artplayerplugincontrol":["25.4","35.4"],"播放器的值":["28.1","39.1"],"height":["28.5","28.13","39.5","39.13"],"style":["28.13","39.13"],"width":["28.13","39.13"],"all":["29.1","29.40"],"options":["29.1"],"only":["29.1"],"is":["29.1"],"required":["29.1"],"flv":["29.2","40.2"],"other":["29.2"],"refer":["29.2"],"libraries":["29.2"],"assets":["29.3","29.12","29.27"],"sample":["29.3","29.12","29.27","29.43","29.48","40.3","40.27"],"video":["29.3","29.7","29.9","29.12","29.13","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.35","29.43","29.45","29.49","40.3","40.12","40.27","40.35","40.43"],"mp4":["29.3","29.7","29.9","29.10","29.12","29.13","29.14","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.28","29.35","29.43","29.45","29.46","29.48","29.49","40.3","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.27","40.28","40.35","40.43","40.45","40.48","40.49"],"uses":["29.4"],"arrow":["29.4"],"point":["29.4"],"jpg":["29.5","40.5"],"ffad00":["29.7","40.7"],"next":["29.8"],"initialization":["29.8"],"such":["29.8","29.20"],"as":["29.8","29.20"],"refreshing":["29.8"],"page":["29.8"],"information":["29.11"],"read":["29.11"],"policy":["29.11","40.11"],"changes":["29.11","40.11"],"url":["29.12","29.27"],"cross":["29.18"],"domain":["29.18"],"may":["29.18"],"fail":["29.18"],"focus":["29.20"],"clicking":["29.20"],"srt":["29.25","40.25"],"setting":["29.25","29.32","40.15","40.16","40.17","40.25"],"to":["29.29"],"following":["29.29","29.30"],"address":["29.29","29.30","29.31","29.32"],"for":["29.29","29.30","29.31","29.32"],"hd":["29.33"],"720p":["29.33","40.33"],"こんなとこにあるはずもないのに":["29.34","40.34"],"终わり":["29.34","40.34"],"if":["29.36","29.41"],"filled":["29.36"],"generate":["29.37"],"preview":["29.37"],"online":["29.37"],"tool":["29.37","40.37"],"03a9f4":["29.38","40.38"],"font":["29.38","40.38"],"size":["29.38","40.38"],"30px":["29.38","40.38"],"webkit":["29.39"],"playsinline":["29.39"],"use":["29.41"],"better":["29.41"],"specify":["29.41"],"same":["29.41"],"definitions":["29.44"],"identify":["29.47"],"unique":["29.47"],"必须是有尺寸的":["30.3"],"以下链接可以看到更多的使用例子":["30.3"],"里直接修改":["30.4","30.5"],"是不会改变播放器的":["30.4","30.5"],"非响应式":["30.5"],"在":["30.5"],"请修改以下配置然后自行构建":["30.7"],"构建配置":["30.7"],"参考文档":["30.7"],"发送弹幕前的自定义校验":["36.4"],"通过":["36.4"],"mount":["36.4"],"选项可以自定义输入框挂载的位置":["36.4"],"默认挂载于播放器底部":["36.4"],"仅在当宽度小于最小值时生效":["36.4"],"document":["36.4"],"queryselector":["36.4"],"artplayer":["36.4"],"green":["36.5"],"显示弹幕":["36.8","36.9"],"hide":["36.9"],"border":["36.10"],"addeventlistener":["36.11"],"number":["36.11"],"v2":["36.12"],"show":["36.15"],"弹幕显示":["36.15"],"destroy":["36.15"],"弹幕销毁":["36.15"],"全部选项里":["40.1"],"只有":["40.1"],"是必填的":["40.1"],"如需要播放":["40.2"],"或者":["40.2"],"等其它格式":["40.2"],"请参考左侧的":["40.2"],"第三方库":["40.2"],"回调函数里的":["40.4"],"就是播放器实例":["40.4"],"但回调函数假如使用了箭头函数":["40.4"],"则不会指向播放器实例":["40.4"],"screenshot":["40.6"],"下次初始化时":["40.8"],"如刷新页面":["40.8"],"播放器会读取该缓存值":["40.8"],"更多信息请阅读":["40.11"],"假如视频源地址和网站是跨域的":["40.18"],"可能会出现截图失败":["40.18"],"假如该选项不填":["40.36"],"则默认使用本播放器":["40.36"],"在线生成预览图":["40.37"],"thumbnail":["40.37"],"所以假如你使用了":["40.41"],"最好同时要指明":["40.41"],"function":["40.42"],"写法参考":["40.44"],"是不同的话":["40.47"],"那么你需要使用":["40.47"],"来标识视频的唯一":["40.47"]}]'},e={"0.0":{t:"# 高级属性",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用
-`,l:"advanced/built-in.html",a:"高级属性"},"0.1":{t:"`option`",p:`播放器的选项
-<div className="run-code">▶ Run Code< ...`,l:"advanced/built-in.html#option",a:"option"},"0.2":{t:"`whitelist`",p:`管理移动设备的白名单功能,只有一个属性 state 返回是否启用播放器功能
-<div className=" ...`,l:"advanced/built-in.html#whitelist",a:"whitelist"},"0.3":{t:"`template`",p:`管理播放器所有的 DOM 元素
-<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#template",a:"template"},"0.4":{t:"`events`",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"advanced/built-in.html#events",a:"events"},"0.5":{t:"`storage`",p:`管理播放器的本地存储
-
-name 属性用于设置缓存的 key
-set 方法用于设置缓存
-get 方法用于获取缓存
-del 方 ...`,l:"advanced/built-in.html#storage",a:"storage"},"0.6":{t:"`icons`",p:`管理播放器所有的 svg 图标
-<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#icons",a:"icons"},"0.7":{t:"`i18n`",p:`管理播放器的 i18n
-
-get 方法用于获取 i18n 的值
-update 方法用于更新 i18n 对象
-
-<div ...`,l:"advanced/built-in.html#i18n",a:"i18n"},"0.8":{t:"`notice`",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语
-<div className="run-code ...`,l:"advanced/built-in.html#notice",a:"notice"},"0.9":{t:"`layers`",p:`管理播放器的层
-
-add 方法用于动态添加层
-remove 方法用于动态删除层
-update 方法用于动态更新层
-show  ...`,l:"advanced/built-in.html#layers",a:"layers"},"0.10":{t:"`controls`",p:`管理播放器的控制器
-
-add 方法用于动态添加控制器
-remove 方法用于动态删除控制器
-update 方法用于动态更新控 ...`,l:"advanced/built-in.html#controls",a:"controls"},"0.11":{t:"`contextmenu`",p:`管理播放器的右键菜单
-
-add 方法用于动态添加菜单
-remove 方法用于动态删除菜单
-update 方法用于动态更新菜单 ...`,l:"advanced/built-in.html#contextmenu",a:"contextmenu"},"0.12":{t:"`subtitle`",p:`管理播放器的字幕功能
-
-url 属性设置和返回当前字幕地址
-style 方法设置当前字幕的样式
-switch 方法设置当前字 ...`,l:"advanced/built-in.html#subtitle",a:"subtitle"},"0.13":{t:"`loading`",p:`管理播放器的加载层
-
-show 属性用于设置是否显示加载层
-toggle 属性用于切换是否显示加载层
-
-<div cl ...`,l:"advanced/built-in.html#loading",a:"loading"},"0.14":{t:"`hotkey`",p:`管理播放器的快捷键功能
-
-add 方法用于添加快捷键
-remove 方法用于删除快捷键
-
-<div className ...`,l:"advanced/built-in.html#hotkey",a:"hotkey"},"0.15":{t:"`mask`",p:`管理播放器的遮罩层
-
-show 属性用于设置是否显示遮罩层
-toggle 属性用于切换是否显示遮罩层
-
-<div cl ...`,l:"advanced/built-in.html#mask",a:"mask"},"0.16":{t:"`setting`",p:`管理播放器的设置面板
-
-add 方法用于动态添加设置项
-remove 方法用于动态删除设置项
-update 方法用于动态更新 ...`,l:"advanced/built-in.html#setting",a:"setting"},"0.17":{t:"`plugins`",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件
-<div className="run-cod ...`,l:"advanced/built-in.html#plugins",a:"plugins"},"1.0":{t:"# 静态属性",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用
-`,l:"advanced/class.html",a:"静态属性"},"1.1":{t:"`instances`",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性
-<div className=" ...`,l:"advanced/class.html#instances",a:"instances"},"1.2":{t:"`version`",p:`返回播放器的版本信息
-<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#version",a:"version"},"1.3":{t:"`env`",p:`返回播放器的环境变量
-<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#env",a:"env"},"1.4":{t:"`build`",p:`返回播放器的打包时间
-<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#build",a:"build"},"1.5":{t:"`config`",p:`返回视频的默认配置
-<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#config",a:"config"},"1.6":{t:"`utils`",p:`返回播放器的工具函数集合
-<div className="run-code">▶ Run C ...`,l:"advanced/class.html#utils",a:"utils"},"1.7":{t:"`scheme`",p:`返回播放器选项的校验方案
-<div className="run-code">▶ Run C ...`,l:"advanced/class.html#scheme",a:"scheme"},"1.8":{t:"`Emitter`",p:`返回事件分发器的构造函数
-<div className="run-code">▶ Run C ...`,l:"advanced/class.html#emitter",a:"emitter"},"1.9":{t:"`validator`",p:`返回选项的校验函数
-<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#validator",a:"validator"},"1.10":{t:"`kindOf`",p:`返回类型检测的函数工具
-<div className="run-code">▶ Run Co ...`,l:"advanced/class.html#kindof",a:"kindof"},"1.11":{t:"`html`",p:`返回播放器所需的 html 字符串
-<div className="run-code">▶  ...`,l:"advanced/class.html#html",a:"html"},"1.12":{t:"`option`",p:`返回播放器的默认选项
-<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#option",a:"option"},"2.0":{t:"# 实例事件",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件
-监听事件:
-<div cl ...`,l:"advanced/event.html",a:"实例事件"},"2.1":{t:"`ready`",p:`当播放器首次可以播放器时触发
-<div className="run-code">▶ Run ...`,l:"advanced/event.html#ready",a:"ready"},"2.2":{t:"`restart`",p:`当播放器切换地址后并可以播放时触发
-<div className="run-code">▶  ...`,l:"advanced/event.html#restart",a:"restart"},"2.3":{t:"`loop`",p:`当出现区间循环时触发
-<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#loop",a:"loop"},"2.4":{t:"`pause`",p:`当播放器暂停时触发
-<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#pause",a:"pause"},"2.5":{t:"`play`",p:`当播放器播放时触发
-<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#play",a:"play"},"2.6":{t:"`hotkey`",p:`当播放器热键被按下时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#hotkey",a:"hotkey"},"2.7":{t:"`destroy`",p:`当播放器销毁时触发
-<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#destroy",a:"destroy"},"2.8":{t:"`focus`",p:`当播放器获得焦点时触发
-<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#focus",a:"focus"},"2.9":{t:"`blur`",p:`当播放器失去焦点时触发
-<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#blur",a:"blur"},"2.10":{t:"`dblclick`",p:`当播放器被双击时触发
-<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#dblclick",a:"dblclick"},"2.11":{t:"`click`",p:`当播放器被单击时触发
-<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#click",a:"click"},"2.12":{t:"`error`",p:`当播放器加载视频发生错误时触发
-<div className="run-code">▶ Ru ...`,l:"advanced/event.html#error",a:"error"},"2.13":{t:"`hover`",p:`当播放器被鼠标移出或者移入时触发
-<div className="run-code">▶ R ...`,l:"advanced/event.html#hover",a:"hover"},"2.14":{t:"`mousemove`",p:`当播放器被鼠标经过时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mousemove",a:"mousemove"},"2.15":{t:"`resize`",p:`当播放器尺寸变化时触发
-<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#resize",a:"resize"},"2.16":{t:"`view`",p:`当播放器出现在视口时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#view",a:"view"},"2.17":{t:"`lock`",p:`在移动端,当锁定的状态发生变化时触发
-<div className="run-code">▶ ...`,l:"advanced/event.html#lock",a:"lock"},"2.18":{t:"`aspectRatio`",p:`当播放器长宽比变化时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#aspectratio",a:"aspectratio"},"2.19":{t:"`autoHeight`",p:`当播放器自动设置高度时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#autoheight",a:"autoheight"},"2.20":{t:"`autoSize`",p:`当播放器自动设置尺寸时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#autosize",a:"autosize"},"2.21":{t:"`flip`",p:`当播放器发生翻转时触发
-<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#flip",a:"flip"},"2.22":{t:"`fullscreen`",p:`当播放器发生窗口全屏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#fullscreen",a:"fullscreen"},"2.23":{t:"`fullscreenWeb`",p:`当播放器发生网页全屏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#fullscreenweb",a:"fullscreenweb"},"2.24":{t:"`mini`",p:`当播放器进入迷你模式时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#mini",a:"mini"},"2.25":{t:"`pip`",p:`当播放器进入画中画时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#pip",a:"pip"},"2.26":{t:"`screenshot`",p:`当播放器被截图时触发
-<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#screenshot",a:"screenshot"},"2.27":{t:"`seek`",p:`当播放器发生时间跳转时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#seek",a:"seek"},"2.28":{t:"`subtitleOffset`",p:`当播放器发生字幕偏移时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#subtitleoffset",a:"subtitleoffset"},"2.29":{t:"`subtitleUpdate`",p:`当字幕更新时触发
-<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleupdate",a:"subtitleupdate"},"2.30":{t:"`subtitleLoad`",p:`当字幕加载时触发
-<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleload",a:"subtitleload"},"2.31":{t:"`subtitleSwitch`",p:`当字幕切换时触发
-<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleswitch",a:"subtitleswitch"},"2.32":{t:"`info`",p:`当信息面板显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#info",a:"info"},"2.33":{t:"`layer`",p:`当自定义层显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#layer",a:"layer"},"2.34":{t:"`loading`",p:`当加载器显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#loading",a:"loading"},"2.35":{t:"`mask`",p:`当遮罩层显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mask",a:"mask"},"2.36":{t:"`subtitle`",p:`当字幕层显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#subtitle",a:"subtitle"},"2.37":{t:"`contextmenu`",p:`当右键菜单显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#contextmenu",a:"contextmenu"},"2.38":{t:"`control`",p:`当控制器显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"advanced/event.html#control",a:"control"},"2.39":{t:"`setting`",p:`当设置面板显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"advanced/event.html#setting",a:"setting"},"2.40":{t:"`video:canplay`",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容
-`,l:"advanced/event.html#video-canplay",a:"video-canplay"},"2.41":{t:"`video:canplaythrough`",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束
-`,l:"advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"2.42":{t:"`video:complete`",p:`OfflineAudioContext 渲染完成
-`,l:"advanced/event.html#video-complete",a:"video-complete"},"2.43":{t:"`video:durationchange`",p:`duration 属性的值改变时触发
-`,l:"advanced/event.html#video-durationchange",a:"video-durationchange"},"2.44":{t:"`video:emptied`",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"advanced/event.html#video-emptied",a:"video-emptied"},"2.45":{t:"`video:ended`",p:`视频停止播放,因为 media 已经到达结束点
-`,l:"advanced/event.html#video-ended",a:"video-ended"},"2.46":{t:"`video:error`",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式
-`,l:"advanced/event.html#video-error",a:"video-error"},"2.47":{t:"`video:loadeddata`",p:`media 中的首帧已经完成加载
-`,l:"advanced/event.html#video-loadeddata",a:"video-loadeddata"},"2.48":{t:"`video:loadedmetadata`",p:`已加载元数据
-`,l:"advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"2.49":{t:"`video:pause`",p:`播放已暂停
-`,l:"advanced/event.html#video-pause",a:"video-pause"},"2.50":{t:"`video:play`",p:`播放已开始
-`,l:"advanced/event.html#video-play",a:"video-play"},"2.51":{t:"`video:playing`",p:`由于缺乏数据而暂停或延迟后,播放准备开始
-`,l:"advanced/event.html#video-playing",a:"video-playing"},"2.52":{t:"`video:progress`",p:`在浏览器加载资源时周期性触发
-`,l:"advanced/event.html#video-progress",a:"video-progress"},"2.53":{t:"`video:ratechange`",p:`播放速率发生变化
-`,l:"advanced/event.html#video-ratechange",a:"video-ratechange"},"2.54":{t:"`video:seeked`",p:`跳帧(seek)操作完成
-`,l:"advanced/event.html#video-seeked",a:"video-seeked"},"2.55":{t:"`video:seeking`",p:`跳帧(seek)操作开始
-`,l:"advanced/event.html#video-seeking",a:"video-seeking"},"2.56":{t:"`video:stalled`",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现
-`,l:"advanced/event.html#video-stalled",a:"video-stalled"},"2.57":{t:"`video:suspend`",p:`媒体数据加载已暂停
-`,l:"advanced/event.html#video-suspend",a:"video-suspend"},"2.58":{t:"`video:timeupdate`",p:`currentTime 属性指定的时间发生变化
-`,l:"advanced/event.html#video-timeupdate",a:"video-timeupdate"},"2.59":{t:"`video:volumechange`",p:`音量发生变化
-`,l:"advanced/event.html#video-volumechange",a:"video-volumechange"},"2.60":{t:"`video:waiting`",p:`由于暂时缺少数据,播放已停止
-`,l:"advanced/event.html#video-waiting",a:"video-waiting"},"3.0":{t:"# 全局属性",p:"",l:"advanced/global.html",a:"全局属性"},"3.1":{t:"DEBUG",p:"",l:"advanced/global.html#debug",a:"debug"},"3.2":{t:"CONTEXTMENU",p:"",l:"advanced/global.html#contextmenu",a:"contextmenu"},"3.3":{t:"NOTICE_TIME",p:"",l:"advanced/global.html#notice-time",a:"notice-time"},"3.4":{t:"SETTING_WIDTH",p:"",l:"advanced/global.html#setting-width",a:"setting-width"},"3.5":{t:"SETTING_ITEM_WIDTH",p:"",l:"advanced/global.html#setting-item-width",a:"setting-item-width"},"3.6":{t:"SETTING_ITEM_HEIGHT",p:"",l:"advanced/global.html#setting-item-height",a:"setting-item-height"},"3.7":{t:"RESIZE_TIME",p:"",l:"advanced/global.html#resize-time",a:"resize-time"},"3.8":{t:"SCROLL_TIME",p:"",l:"advanced/global.html#scroll-time",a:"scroll-time"},"3.9":{t:"SCROLL_GAP",p:"",l:"advanced/global.html#scroll-gap",a:"scroll-gap"},"3.10":{t:"AUTO_PLAYBACK_MAX",p:"",l:"advanced/global.html#auto-playback-max",a:"auto-playback-max"},"3.11":{t:"AUTO_PLAYBACK_MIN",p:"",l:"advanced/global.html#auto-playback-min",a:"auto-playback-min"},"3.12":{t:"AUTO_PLAYBACK_TIMEOUT",p:"",l:"advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"3.13":{t:"RECONNECT_TIME_MAX",p:"",l:"advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"3.14":{t:"RECONNECT_SLEEP_TIME",p:"",l:"advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"3.15":{t:"CONTROL_HIDE_TIME",p:"",l:"advanced/global.html#control-hide-time",a:"control-hide-time"},"3.16":{t:"DBCLICK_TIME",p:"",l:"advanced/global.html#dbclick-time",a:"dbclick-time"},"3.17":{t:"DBCLICK_FULLSCREEN",p:"",l:"advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"3.18":{t:"MOBILE_DBCLICK_PLAY",p:"",l:"advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"3.19":{t:"MOBILE_CLICK_PLAY",p:"",l:"advanced/global.html#mobile-click-play",a:"mobile-click-play"},"3.20":{t:"MOBILE_AUTO_PLAYBACKRATE",p:"",l:"advanced/global.html#mobile-auto-playbackrate",a:"mobile-auto-playbackrate"},"3.21":{t:"MOBILE_AUTO_PLAYBACKRATE_TIME",p:"",l:"advanced/global.html#mobile-auto-playbackrate-time",a:"mobile-auto-playbackrate-time"},"3.22":{t:"MOBILE_AUTO_ORIENTATION_TIME",p:"",l:"advanced/global.html#mobile-auto-orientation-time",a:"mobile-auto-orientation-time"},"3.23":{t:"INFO_LOOP_TIME",p:"",l:"advanced/global.html#info-loop-time",a:"info-loop-time"},"3.24":{t:"FAST_FORWARD_VALUE",p:"",l:"advanced/global.html#fast-forward-value",a:"fast-forward-value"},"3.25":{t:"FAST_FORWARD_TIME",p:"",l:"advanced/global.html#fast-forward-time",a:"fast-forward-time"},"3.26":{t:"TOUCH_MOVE_RATIO",p:"",l:"advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"3.27":{t:"VOLUME_STEP",p:"",l:"advanced/global.html#volume-step",a:"volume-step"},"3.28":{t:"SEEK_STEP",p:"",l:"advanced/global.html#seek-step",a:"seek-step"},"3.29":{t:"PLAYBACK_RATE",p:"",l:"advanced/global.html#playback-rate",a:"playback-rate"},"3.30":{t:"ASPECT_RATIO",p:"",l:"advanced/global.html#aspect-ratio",a:"aspect-ratio"},"3.31":{t:"FLIP",p:"",l:"advanced/global.html#flip",a:"flip"},"3.32":{t:"FULLSCREEN_WEB_IN_BODY",p:"",l:"advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"4.0":{t:"# 编写插件",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事
-可以在实例化的时候加载插件的函数
-<div cla ...`,l:"advanced/plugin.html",a:"编写插件"},"5.0":{t:"# 实例属性",p:`这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用
-`,l:"advanced/property.html",a:"实例属性"},"5.1":{t:"`play`",p:`
-Type: Function
-
-播放视频
-<div className="run-code"&g ...`,l:"advanced/property.html#play",a:"play"},"5.2":{t:"`pause`",p:`
-Type: Function
-
-暂停视频
-<div className="run-code"&g ...`,l:"advanced/property.html#pause",a:"pause"},"5.3":{t:"`toggle`",p:`
-Type: Function
-
-切换视频的播放和暂停
-<div className="run-code&q ...`,l:"advanced/property.html#toggle",a:"toggle"},"5.4":{t:"`destroy`",p:`
-Type: Function
-Parameter: Boolean
-
-销毁播放器,接受一个参数表示是否销毁后同时移除播放器 ...`,l:"advanced/property.html#destroy",a:"destroy"},"5.5":{t:"`seek`",p:`
-Type: Setter
-Parameter: Number
-
-视频时间跳转,单位秒
-<div className= ...`,l:"advanced/property.html#seek",a:"seek"},"5.6":{t:"`forward`",p:`
-Type: Setter
-Parameter: Number
-
-视频时间快进,单位秒
-<div className= ...`,l:"advanced/property.html#forward",a:"forward"},"5.7":{t:"`backward`",p:`
-Type: Setter
-Parameter: Number
-
-视频时间快退,单位秒
-<div className= ...`,l:"advanced/property.html#backward",a:"backward"},"5.8":{t:"`volume`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-设置和获取视频音量,范围在:[0, 1]
-& ...`,l:"advanced/property.html#volume",a:"volume"},"5.9":{t:"`url`",p:`
-Type: Setter/Getter
-Parameter: String
-
-设置和获取视频地址
-<div clas ...`,l:"advanced/property.html#url",a:"url"},"5.10":{t:"`switchUrl`",p:`
-Type: Function
-Parameter: String
-
-设置视频地址,设置时和 url 类似,但会执行一些优化 ...`,l:"advanced/property.html#switchurl",a:"switchurl"},"5.11":{t:"`switchQuality`",p:`
-Type: Function
-Parameter: String
-
-设置视频画质地址,和 switchUrl 类似,但会带 ...`,l:"advanced/property.html#switchquality",a:"switchquality"},"5.12":{t:"`muted`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置和获取视频是否静音
-<div c ...`,l:"advanced/property.html#muted",a:"muted"},"5.13":{t:"`currentTime`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-设置和获取视频当前时间,设置时间时和 see ...`,l:"advanced/property.html#currenttime",a:"currenttime"},"5.14":{t:"`duration`",p:`
-Type: Getter
-
-获取视频时长
-<div className="run-code"&g ...`,l:"advanced/property.html#duration",a:"duration"},"5.15":{t:"`screenshot`",p:`
-Type: Function
-
-下载当前视频帧的截图
-<div className="run-code&q ...`,l:"advanced/property.html#screenshot",a:"screenshot"},"5.16":{t:"`getDataURL`",p:`
-Type: Function
-
-获取当前视频帧的截图的base64地址,返回的是一个 Promise
-<div cl ...`,l:"advanced/property.html#getdataurl",a:"getdataurl"},"5.17":{t:"`getBlobUrl`",p:`
-Type: Function
-
-获取当前视频帧的截图的blob地址,返回的是一个 Promise
-<div clas ...`,l:"advanced/property.html#getbloburl",a:"getbloburl"},"5.18":{t:"`fullscreen`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置和获取播放器窗口全屏
-<div  ...`,l:"advanced/property.html#fullscreen",a:"fullscreen"},"5.19":{t:"`fullscreenWeb`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置和获取播放器网页全屏
-<div  ...`,l:"advanced/property.html#fullscreenweb",a:"fullscreenweb"},"5.20":{t:"`pip`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置和获取播放器画中画模式
-<div ...`,l:"advanced/property.html#pip",a:"pip"},"5.21":{t:"`poster`",p:`
-Type: Setter/Getter
-Parameter: String
-
-设置和获取视频海报,只有在视频播放前才能看到 ...`,l:"advanced/property.html#poster",a:"poster"},"5.22":{t:"`mini`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置和获取播放器迷你模式
-<div  ...`,l:"advanced/property.html#mini",a:"mini"},"5.23":{t:"`playing`",p:`
-Type: Getter
-Parameter: Boolean
-
-获取视频是否正在播放中
-<div classNam ...`,l:"advanced/property.html#playing",a:"playing"},"5.24":{t:"`autoSize`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-设置视频是否自适应尺寸,设置为 true  ...`,l:"advanced/property.html#autosize",a:"autosize"},"5.25":{t:"`rect`",p:`
-Type: Getter
-
-获取播放器的尺寸和坐标信息
-<div className="run-code& ...`,l:"advanced/property.html#rect",a:"rect"},"5.26":{t:"`flip`",p:`
-Type: Setter/Getter
-Parameter: String
-
-设置和获取播放器翻转,支持normal,   ...`,l:"advanced/property.html#flip",a:"flip"},"5.27":{t:"`playbackRate`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-设置和获取播放器播放速度
-<div c ...`,l:"advanced/property.html#playbackrate",a:"playbackrate"},"5.28":{t:"`aspectRatio`",p:`
-Type: Setter/Getter
-Parameter: String
-
-设置和获取播放器长宽比
-<div cl ...`,l:"advanced/property.html#aspectratio",a:"aspectratio"},"5.29":{t:"`loop`",p:`
-Type: Setter/Getter
-Parameter: Array
-
-设置和获取区间循序播放,单位秒
-<div ...`,l:"advanced/property.html#loop",a:"loop"},"5.30":{t:"`autoHeight`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-当容器只有宽度,该属性可以自动计算出并设置 ...`,l:"advanced/property.html#autoheight",a:"autoheight"},"5.31":{t:"`attr`",p:`
-Type: Function
-Parameter: String
-
-动态获取和设置 video 元素的属性
-<div ...`,l:"advanced/property.html#attr",a:"attr"},"5.32":{t:"`title`",p:`
-Type: Setter/Getter
-Parameter: String
-
-动态获取和设置播放器标题
-<div c ...`,l:"advanced/property.html#title",a:"title"},"5.33":{t:"`type`",p:`
-Type: Setter/Getter
-Parameter: String
-
-动态获取和设置视频类型
-<div cl ...`,l:"advanced/property.html#type",a:"type"},"5.34":{t:"`theme`",p:`
-Type: Setter/Getter
-Parameter: String
-
-动态获取和设置播放器主题颜色
-<div ...`,l:"advanced/property.html#theme",a:"theme"},"5.35":{t:"`airplay`",p:`
-Type: Function
-
-开启隔空播放
-<div className="run-code" ...`,l:"advanced/property.html#airplay",a:"airplay"},"5.36":{t:"`loaded`",p:`
-Type: Getter
-
-视频缓存的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用
-&l ...`,l:"advanced/property.html#loaded",a:"loaded"},"5.37":{t:"`played`",p:`
-Type: Getter
-
-视频播放的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用
-&l ...`,l:"advanced/property.html#played",a:"played"},"5.38":{t:"`proxy`",p:`
-Type: Function
-
-DOM 事件的代理函数,实质上代理了 addEventListener 和 removeE ...`,l:"advanced/property.html#proxy",a:"proxy"},"5.39":{t:"`query`",p:`
-Type: Function
-
-DOM 的查询函数,类似 document.querySelector,但被查询的对象局限 ...`,l:"advanced/property.html#query",a:"query"},"5.40":{t:"`video`",p:`
-Type: Element
-
-快捷返回播放器的 video 元素
-<div className="run- ...`,l:"advanced/property.html#video",a:"video"},"5.41":{t:"`cssVar`",p:`
-Type: Function
-
-动态获取或设置 css 变量
-<div className="run-co ...`,l:"advanced/property.html#cssvar",a:"cssvar"},"6.0":{t:"# 右键菜单",p:"",l:"component/contextmenu.html",a:"右键菜单"},"6.1":{t:"配置",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-disable
-Boolean
-是否禁用组件
-
-
-name
-String
-组件唯一名称,用于 ...`,l:"component/contextmenu.html#配置",a:"配置"},"6.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#创建",a:"创建"},"6.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#添加",a:"添加"},"6.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#删除",a:"删除"},"6.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#更新",a:"更新"},"7.0":{t:"# 控制器",p:"",l:"component/controls.html",a:"控制器"},"7.1":{t:"配置",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-disable
-Boolean
-是否禁用组件
-
-
-name
-String
-组件唯一名称,用于 ...`,l:"component/controls.html#配置",a:"配置"},"7.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#创建",a:"创建"},"7.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#添加",a:"添加"},"7.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#删除",a:"删除"},"7.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#更新",a:"更新"},"8.0":{t:"# 业务层",p:"",l:"component/layers.html",a:"业务层"},"8.1":{t:"配置",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-disable
-Boolean
-是否禁用组件
-
-
-name
-String
-组件唯一名称,用于 ...`,l:"component/layers.html#配置",a:"配置"},"8.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#创建",a:"创建"},"8.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#添加",a:"添加"},"8.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#删除",a:"删除"},"8.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#更新",a:"更新"},"9.0":{t:"# 设置面板",p:"",l:"component/setting.html",a:"设置面板"},"9.1":{t:"内置",p:"须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOf ...",l:"component/setting.html#内置",a:"内置"},"9.2":{t:"创建 - 选择列表",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-html
-String, Element
-元素的 DOM
-
-
-icon
-String, El ...`,l:"component/setting.html#创建-选择列表",a:"创建-选择列表"},"9.3":{t:"创建 - 列表嵌套",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#创建-列表嵌套",a:"创建-列表嵌套"},"9.4":{t:"创建 - 切换按钮",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-html
-String, Element
-元素的 DOM 元素
-
-
-icon
-String, ...`,l:"component/setting.html#创建-切换按钮",a:"创建-切换按钮"},"9.5":{t:"创建 - 范围滑块",p:`
-
-
-属性
-类型
-描述
-
-
-
-
-html
-String, Element
-元素的 DOM 元素
-
-
-icon
-String, ...`,l:"component/setting.html#创建-范围滑块",a:"创建-范围滑块"},"9.6":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#添加",a:"添加"},"9.7":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#删除",a:"删除"},"9.8":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#更新",a:"更新"},"10.0":{t:"# 高级属性",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用
-`,l:"en/advanced/built-in.html",a:"高级属性"},"10.1":{t:"`option`",p:`播放器的选项
-<div className="run-code">▶ Run Code< ...`,l:"en/advanced/built-in.html#option",a:"option"},"10.2":{t:"`whitelist`",p:`管理移动设备的白名单功能,只有一个属性 state 返回是否启用播放器功能
-<div className=" ...`,l:"en/advanced/built-in.html#whitelist",a:"whitelist"},"10.3":{t:"`template`",p:`管理播放器所有的 DOM 元素
-<div className="run-code">▶ Ru ...`,l:"en/advanced/built-in.html#template",a:"template"},"10.4":{t:"`events`",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"en/advanced/built-in.html#events",a:"events"},"10.5":{t:"`storage`",p:`管理播放器的本地存储
-
-name 属性用于设置缓存的 key
-set 方法用于设置缓存
-get 方法用于获取缓存
-del 方 ...`,l:"en/advanced/built-in.html#storage",a:"storage"},"10.6":{t:"`icons`",p:`管理播放器所有的 svg 图标
-<div className="run-code">▶ Ru ...`,l:"en/advanced/built-in.html#icons",a:"icons"},"10.7":{t:"`i18n`",p:`管理播放器的 i18n
-
-get 方法用于获取 i18n 的值
-update 方法用于更新 i18n 对象
-
-<div ...`,l:"en/advanced/built-in.html#i18n",a:"i18n"},"10.8":{t:"`notice`",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语
-<div className="run-code ...`,l:"en/advanced/built-in.html#notice",a:"notice"},"10.9":{t:"`layers`",p:`管理播放器的层
-
-add 方法用于动态添加层
-show 属性用于设置是否显示全部层
-toggle 属性用于切换是否显示全部层 ...`,l:"en/advanced/built-in.html#layers",a:"layers"},"10.10":{t:"`controls`",p:`管理播放器的控制器
-
-add 方法用于动态添加控制器
-show 属性用于设置是否显示全部控制器
-toggle 属性用于切换是 ...`,l:"en/advanced/built-in.html#controls",a:"controls"},"10.11":{t:"`contextmenu`",p:`管理播放器的右键菜单
-
-add 方法用于动态添加菜单
-show 属性用于设置是否显示全部菜单
-toggle 属性用于切换是否 ...`,l:"en/advanced/built-in.html#contextmenu",a:"contextmenu"},"10.12":{t:"`subtitle`",p:`管理播放器的字幕功能
-
-url 属性设置和返回当前字幕地址
-style 方法设置当前字幕的样式
-switch 方法设置当前字 ...`,l:"en/advanced/built-in.html#subtitle",a:"subtitle"},"10.13":{t:"`loading`",p:`管理播放器的加载层
-
-show 属性用于设置是否显示加载层
-toggle 属性用于切换是否显示加载层
-
-<div cl ...`,l:"en/advanced/built-in.html#loading",a:"loading"},"10.14":{t:"`hotkey`",p:`管理播放器的快捷键功能
-
-add 方法用于添加快捷键
-remove 方法用于删除快捷键
-
-<div className ...`,l:"en/advanced/built-in.html#hotkey",a:"hotkey"},"10.15":{t:"`mask`",p:`管理播放器的遮罩层
-
-show 属性用于设置是否显示遮罩层
-toggle 属性用于切换是否显示遮罩层
-
-<div cl ...`,l:"en/advanced/built-in.html#mask",a:"mask"},"10.16":{t:"`setting`",p:`管理播放器的设置面板
-
-add 方法用于动态添加设置项
-show 属性用于设置是否显示全部设置项
-toggle 属性用于切换 ...`,l:"en/advanced/built-in.html#setting",a:"setting"},"10.17":{t:"`plugins`",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件
-<div className="run-cod ...`,l:"en/advanced/built-in.html#plugins",a:"plugins"},"11.0":{t:"# 静态属性",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用
-:::warning 提示
-有些属性是全大写的,说明这些属 ...`,l:"en/advanced/class.html",a:"静态属性"},"11.1":{t:"`instances`",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性
-<div className=" ...`,l:"en/advanced/class.html#instances",a:"instances"},"11.2":{t:"`version`",p:`返回播放器的版本信息
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#version",a:"version"},"11.3":{t:"`env`",p:`返回播放器的环境变量
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#env",a:"env"},"11.4":{t:"`build`",p:`返回播放器的打包时间
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#build",a:"build"},"11.5":{t:"`config`",p:`返回视频的默认配置
-<div className="run-code">▶ Run Code ...`,l:"en/advanced/class.html#config",a:"config"},"11.6":{t:"`utils`",p:`返回播放器的工具函数集合
-<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#utils",a:"utils"},"11.7":{t:"`scheme`",p:`返回播放器选项的校验方案
-<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#scheme",a:"scheme"},"11.8":{t:"`Emitter`",p:`返回事件分发器的构造函数
-<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#emitter",a:"emitter"},"11.9":{t:"`validator`",p:`返回选项的校验函数
-<div className="run-code">▶ Run Code ...`,l:"en/advanced/class.html#validator",a:"validator"},"11.10":{t:"`kindOf`",p:`返回类型检测的函数工具
-<div className="run-code">▶ Run Co ...`,l:"en/advanced/class.html#kindof",a:"kindof"},"11.11":{t:"`html`",p:`返回播放器所需的 html 字符串
-<div className="run-code">▶  ...`,l:"en/advanced/class.html#html",a:"html"},"11.12":{t:"`option`",p:`返回播放器的默认选项
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#option",a:"option"},"12.0":{t:"# 实例事件",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件
-监听事件:
-<div cl ...`,l:"en/advanced/event.html",a:"实例事件"},"12.1":{t:"`ready`",p:`当播放器首次可以播放器时触发
-<div className="run-code">▶ Run ...`,l:"en/advanced/event.html#ready",a:"ready"},"12.2":{t:"`restart`",p:`当播放器切换地址后并可以播放时触发
-<div className="run-code">▶  ...`,l:"en/advanced/event.html#restart",a:"restart"},"12.3":{t:"`pause`",p:`当播放器暂停时触发
-<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#pause",a:"pause"},"12.4":{t:"`play`",p:`当播放器播放时触发
-<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#play",a:"play"},"12.5":{t:"`hotkey`",p:`当播放器热键被按下时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#hotkey",a:"hotkey"},"12.6":{t:"`destroy`",p:`当播放器销毁时触发
-<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#destroy",a:"destroy"},"12.7":{t:"`url`",p:`当视频地址变化时触发
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#url",a:"url"},"12.8":{t:"`focus`",p:`当播放器获得焦点时触发
-<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#focus",a:"focus"},"12.9":{t:"`blur`",p:`当播放器失去焦点时触发
-<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#blur",a:"blur"},"12.10":{t:"`dblclick`",p:`当播放器被双击时触发
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#dblclick",a:"dblclick"},"12.11":{t:"`click`",p:`当播放器被单击时触发
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#click",a:"click"},"12.12":{t:"`error`",p:`当播放器加载视频发生错误时触发
-<div className="run-code">▶ Ru ...`,l:"en/advanced/event.html#error",a:"error"},"12.13":{t:"`hover`",p:`当播放器被鼠标移出或者移入时触发
-<div className="run-code">▶ R ...`,l:"en/advanced/event.html#hover",a:"hover"},"12.14":{t:"`mousemove`",p:`当播放器被鼠标经过时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#mousemove",a:"mousemove"},"12.15":{t:"`resize`",p:`当播放器尺寸变化时触发
-<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#resize",a:"resize"},"12.16":{t:"`view`",p:`当播放器出现在视口时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#view",a:"view"},"12.17":{t:"`aspectRatio`",p:`当播放器长宽比变化时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#aspectratio",a:"aspectratio"},"12.18":{t:"`autoHeight`",p:`当播放器自动设置高度时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#autoheight",a:"autoheight"},"12.19":{t:"`autoSize`",p:`当播放器自动设置尺寸时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#autosize",a:"autosize"},"12.20":{t:"`flip`",p:`当播放器发生翻转时触发
-<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#flip",a:"flip"},"12.21":{t:"`fullscreen`",p:`当播放器发生窗口全屏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#fullscreen",a:"fullscreen"},"12.22":{t:"`fullscreenWeb`",p:`当播放器发生网页全屏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#fullscreenweb",a:"fullscreenweb"},"12.23":{t:"`mini`",p:`当播放器进入迷你模式时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#mini",a:"mini"},"12.24":{t:"`pip`",p:`当播放器进入画中画时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#pip",a:"pip"},"12.25":{t:"`screenshot`",p:`当播放器被截图时触发
-<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#screenshot",a:"screenshot"},"12.26":{t:"`seek`",p:`当播放器发生时间跳转时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#seek",a:"seek"},"12.27":{t:"`subtitleOffset`",p:`当播放器发生字幕偏移时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#subtitleoffset",a:"subtitleoffset"},"12.28":{t:"`subtitleUpdate`",p:`当字幕更新时触发
-<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleupdate",a:"subtitleupdate"},"12.29":{t:"`subtitleLoad`",p:`当字幕加载时触发
-<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleload",a:"subtitleload"},"12.30":{t:"`subtitleSwitch`",p:`当字幕切换时触发
-<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleswitch",a:"subtitleswitch"},"12.31":{t:"`info`",p:`当信息面板显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#info",a:"info"},"12.32":{t:"`layer`",p:`当自定义层显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#layer",a:"layer"},"12.33":{t:"`loading`",p:`当加载器显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#loading",a:"loading"},"12.34":{t:"`mask`",p:`当遮罩层显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#mask",a:"mask"},"12.35":{t:"`subtitle`",p:`当字幕层显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#subtitle",a:"subtitle"},"12.36":{t:"`contextmenu`",p:`当右键菜单显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#contextmenu",a:"contextmenu"},"12.37":{t:"`control`",p:`当控制器显示或隐藏时触发
-<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#control",a:"control"},"12.38":{t:"`setting`",p:`当设置面板显示或隐藏时触发
-<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#setting",a:"setting"},"12.39":{t:"`video:canplay`",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容
-`,l:"en/advanced/event.html#video-canplay",a:"video-canplay"},"12.40":{t:"`video:canplaythrough`",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束
-`,l:"en/advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"12.41":{t:"`video:complete`",p:`OfflineAudioContext 渲染完成
-`,l:"en/advanced/event.html#video-complete",a:"video-complete"},"12.42":{t:"`video:durationchange`",p:`duration 属性的值改变时触发
-`,l:"en/advanced/event.html#video-durationchange",a:"video-durationchange"},"12.43":{t:"`video:emptied`",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"en/advanced/event.html#video-emptied",a:"video-emptied"},"12.44":{t:"`video:ended`",p:`视频停止播放,因为 media 已经到达结束点
-`,l:"en/advanced/event.html#video-ended",a:"video-ended"},"12.45":{t:"`video:error`",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式
-`,l:"en/advanced/event.html#video-error",a:"video-error"},"12.46":{t:"`video:loadeddata`",p:`media 中的首帧已经完成加载
-`,l:"en/advanced/event.html#video-loadeddata",a:"video-loadeddata"},"12.47":{t:"`video:loadedmetadata`",p:`已加载元数据
-`,l:"en/advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"12.48":{t:"`video:pause`",p:`播放已暂停
-`,l:"en/advanced/event.html#video-pause",a:"video-pause"},"12.49":{t:"`video:play`",p:`播放已开始
-`,l:"en/advanced/event.html#video-play",a:"video-play"},"12.50":{t:"`video:playing`",p:`由于缺乏数据而暂停或延迟后,播放准备开始
-`,l:"en/advanced/event.html#video-playing",a:"video-playing"},"12.51":{t:"`video:progress`",p:`在浏览器加载资源时周期性触发
-`,l:"en/advanced/event.html#video-progress",a:"video-progress"},"12.52":{t:"`video:ratechange`",p:`播放速率发生变化
-`,l:"en/advanced/event.html#video-ratechange",a:"video-ratechange"},"12.53":{t:"`video:seeked`",p:`跳帧(seek)操作完成
-`,l:"en/advanced/event.html#video-seeked",a:"video-seeked"},"12.54":{t:"`video:seeking`",p:`跳帧(seek)操作开始
-`,l:"en/advanced/event.html#video-seeking",a:"video-seeking"},"12.55":{t:"`video:stalled`",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现
-`,l:"en/advanced/event.html#video-stalled",a:"video-stalled"},"12.56":{t:"`video:suspend`",p:`媒体数据加载已暂停
-`,l:"en/advanced/event.html#video-suspend",a:"video-suspend"},"12.57":{t:"`video:timeupdate`",p:`currentTime 属性指定的时间发生变化
-`,l:"en/advanced/event.html#video-timeupdate",a:"video-timeupdate"},"12.58":{t:"`video:volumechange`",p:`音量发生变化
-`,l:"en/advanced/event.html#video-volumechange",a:"video-volumechange"},"12.59":{t:"`video:waiting`",p:`由于暂时缺少数据,播放已停止
-`,l:"en/advanced/event.html#video-waiting",a:"video-waiting"},"13.0":{t:"# Global Property",p:"",l:"en/advanced/global.html",a:"global-property"},"13.1":{t:"DEBUG",p:"",l:"en/advanced/global.html#debug",a:"debug"},"13.2":{t:"CONTEXTMENU",p:"",l:"en/advanced/global.html#contextmenu",a:"contextmenu"},"13.3":{t:"NOTICE_TIME",p:"",l:"en/advanced/global.html#notice-time",a:"notice-time"},"13.4":{t:"SETTING_WIDTH",p:"",l:"en/advanced/global.html#setting-width",a:"setting-width"},"13.5":{t:"SETTING_ITEM_WIDTH",p:"",l:"en/advanced/global.html#setting-item-width",a:"setting-item-width"},"13.6":{t:"SETTING_ITEM_HEIGHT",p:"",l:"en/advanced/global.html#setting-item-height",a:"setting-item-height"},"13.7":{t:"RESIZE_TIME",p:"",l:"en/advanced/global.html#resize-time",a:"resize-time"},"13.8":{t:"SCROLL_TIME",p:"",l:"en/advanced/global.html#scroll-time",a:"scroll-time"},"13.9":{t:"SCROLL_GAP",p:"",l:"en/advanced/global.html#scroll-gap",a:"scroll-gap"},"13.10":{t:"AUTO_PLAYBACK_MAX",p:"",l:"en/advanced/global.html#auto-playback-max",a:"auto-playback-max"},"13.11":{t:"AUTO_PLAYBACK_MIN",p:"",l:"en/advanced/global.html#auto-playback-min",a:"auto-playback-min"},"13.12":{t:"AUTO_PLAYBACK_TIMEOUT",p:"",l:"en/advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"13.13":{t:"RECONNECT_TIME_MAX",p:"",l:"en/advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"13.14":{t:"RECONNECT_SLEEP_TIME",p:"",l:"en/advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"13.15":{t:"CONTROL_HIDE_TIME",p:"",l:"en/advanced/global.html#control-hide-time",a:"control-hide-time"},"13.16":{t:"DBCLICK_TIME",p:"",l:"en/advanced/global.html#dbclick-time",a:"dbclick-time"},"13.17":{t:"DBCLICK_FULLSCREEN",p:"",l:"en/advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"13.18":{t:"MOBILE_DBCLICK_PLAY",p:"",l:"en/advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"13.19":{t:"MOBILE_CLICK_PLAY",p:"",l:"en/advanced/global.html#mobile-click-play",a:"mobile-click-play"},"13.20":{t:"MOBILE_AUTO_PLAYBACKRATE",p:"",l:"en/advanced/global.html#mobile-auto-playbackrate",a:"mobile-auto-playbackrate"},"13.21":{t:"MOBILE_AUTO_PLAYBACKRATE_TIME",p:"",l:"en/advanced/global.html#mobile-auto-playbackrate-time",a:"mobile-auto-playbackrate-time"},"13.22":{t:"MOBILE_AUTO_ORIENTATION_TIME",p:"",l:"en/advanced/global.html#mobile-auto-orientation-time",a:"mobile-auto-orientation-time"},"13.23":{t:"INFO_LOOP_TIME",p:"",l:"en/advanced/global.html#info-loop-time",a:"info-loop-time"},"13.24":{t:"FAST_FORWARD_VALUE",p:"",l:"en/advanced/global.html#fast-forward-value",a:"fast-forward-value"},"13.25":{t:"FAST_FORWARD_TIME",p:"",l:"en/advanced/global.html#fast-forward-time",a:"fast-forward-time"},"13.26":{t:"TOUCH_MOVE_RATIO",p:"",l:"en/advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"13.27":{t:"VOLUME_STEP",p:"",l:"en/advanced/global.html#volume-step",a:"volume-step"},"13.28":{t:"SEEK_STEP",p:"",l:"en/advanced/global.html#seek-step",a:"seek-step"},"13.29":{t:"PLAYBACK_RATE",p:"",l:"en/advanced/global.html#playback-rate",a:"playback-rate"},"13.30":{t:"ASPECT_RATIO",p:"",l:"en/advanced/global.html#aspect-ratio",a:"aspect-ratio"},"13.31":{t:"FLIP",p:"",l:"en/advanced/global.html#flip",a:"flip"},"13.32":{t:"FULLSCREEN_WEB_IN_BODY",p:"",l:"en/advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"14.0":{t:"# 编写插件",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事
-可以在实例化的时候加载插件的函数
-<div cla ...`,l:"en/advanced/plugin.html",a:"编写插件"},"15.0":{t:"# Instance Property",p:"The Instance Property here refers to the Primary Property atta ...",l:"en/advanced/property.html",a:"instance-property"},"15.1":{t:"`play`",p:`
-Type: Function
-
-Play video
-<div className="run-code&q ...`,l:"en/advanced/property.html#play",a:"play"},"15.2":{t:"`pause`",p:`
-Type: Function
-
-Pause video
-<div className="run-code& ...`,l:"en/advanced/property.html#pause",a:"pause"},"15.3":{t:"`toggle`",p:`
-Type: Function
-
-Toggle video playback and pause
-<div class ...`,l:"en/advanced/property.html#toggle",a:"toggle"},"15.4":{t:"`destroy`",p:`
-Type: Function
-Parameter: Boolean
-
-To destroy the player, acc ...`,l:"en/advanced/property.html#destroy",a:"destroy"},"15.5":{t:"`seek`",p:`
-Type: Setter
-Parameter: Number
-
-Video time jump in seconds
-&l ...`,l:"en/advanced/property.html#seek",a:"seek"},"15.6":{t:"`forward`",p:`
-Type: Setter
-Parameter: Number
-
-Video time fast forward in se ...`,l:"en/advanced/property.html#forward",a:"forward"},"15.7":{t:"`backward`",p:`
-Type: Setter
-Parameter: Number
-
-Video time rewind in seconds
- ...`,l:"en/advanced/property.html#backward",a:"backward"},"15.8":{t:"`volume`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-Set and get video volu ...`,l:"en/advanced/property.html#volume",a:"volume"},"15.9":{t:"`url`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Set and get video url
- ...`,l:"en/advanced/property.html#url",a:"url"},"15.10":{t:"`switchUrl`",p:`
-Type: Function
-Parameter: String
-
-Setting the video url is si ...`,l:"en/advanced/property.html#switchurl",a:"switchurl"},"15.11":{t:"`switchQuality`",p:`
-Type: Function
-Parameter: String
-
-Set the video quality addre ...`,l:"en/advanced/property.html#switchquality",a:"switchquality"},"15.12":{t:"`muted`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set and get whether t ...`,l:"en/advanced/property.html#muted",a:"muted"},"15.13":{t:"`currentTime`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-Set and get the curren ...`,l:"en/advanced/property.html#currenttime",a:"currenttime"},"15.14":{t:"`duration`",p:`
-Type: Getter
-
-Get video duration
-<div className="run- ...`,l:"en/advanced/property.html#duration",a:"duration"},"15.15":{t:"`screenshot`",p:`
-Type: Function
-
-Download a screenshot of the current video fr ...`,l:"en/advanced/property.html#screenshot",a:"screenshot"},"15.16":{t:"`getDataURL`",p:`
-Type: Function
-
-Get the base64 address of the screenshot of t ...`,l:"en/advanced/property.html#getdataurl",a:"getdataurl"},"15.17":{t:"`getBlobUrl`",p:`
-Type: Function
-
-Get the blob address of the screenshot of the ...`,l:"en/advanced/property.html#getbloburl",a:"getbloburl"},"15.18":{t:"`fullscreen`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set and get full scre ...`,l:"en/advanced/property.html#fullscreen",a:"fullscreen"},"15.19":{t:"`fullscreenWeb`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set and get full scre ...`,l:"en/advanced/property.html#fullscreenweb",a:"fullscreenweb"},"15.20":{t:"`pip`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set and get the pictu ...`,l:"en/advanced/property.html#pip",a:"pip"},"15.21":{t:"`poster`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Set and obtain video p ...`,l:"en/advanced/property.html#poster",a:"poster"},"15.22":{t:"`mini`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set and get player mi ...`,l:"en/advanced/property.html#mini",a:"mini"},"15.23":{t:"`playing`",p:`
-Type: Getter
-Parameter: Boolean
-
-Get whether the video is pla ...`,l:"en/advanced/property.html#playing",a:"playing"},"15.24":{t:"`autoSize`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-Set whether the video ...`,l:"en/advanced/property.html#autosize",a:"autosize"},"15.25":{t:"`rect`",p:`
-Type: Getter
-
-Get the size and coordinate information of the  ...`,l:"en/advanced/property.html#rect",a:"rect"},"15.26":{t:"`flip`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Set and get player rol ...`,l:"en/advanced/property.html#flip",a:"flip"},"15.27":{t:"`playbackRate`",p:`
-Type: Setter/Getter
-Parameter: Number
-
-Set and get player pla ...`,l:"en/advanced/property.html#playbackrate",a:"playbackrate"},"15.28":{t:"`aspectRatio`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Set and obtain the pla ...`,l:"en/advanced/property.html#aspectratio",a:"aspectratio"},"15.29":{t:"`loop`",p:`
-Type: Setter/Getter
-Parameter: Array
-
-Set and obtain interval ...`,l:"en/advanced/property.html#loop",a:"loop"},"15.30":{t:"`autoHeight`",p:`
-Type: Setter/Getter
-Parameter: Boolean
-
-When the container ha ...`,l:"en/advanced/property.html#autoheight",a:"autoheight"},"15.31":{t:"`attr`",p:`
-Type: Function
-Parameter: String
-
-Get and set the attributes  ...`,l:"en/advanced/property.html#attr",a:"attr"},"15.32":{t:"`title`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Get and set player tit ...`,l:"en/advanced/property.html#title",a:"title"},"15.33":{t:"`type`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Get and set video type ...`,l:"en/advanced/property.html#type",a:"type"},"15.34":{t:"`theme`",p:`
-Type: Setter/Getter
-Parameter: String
-
-Get and set player the ...`,l:"en/advanced/property.html#theme",a:"theme"},"15.35":{t:"`airplay`",p:`
-Type: Function
-
-Enable airplay
-<div className="run-co ...`,l:"en/advanced/property.html#airplay",a:"airplay"},"15.36":{t:"`loaded`",p:`
-Type: Getter
-
-The proportion of video cache, with the range o ...`,l:"en/advanced/property.html#loaded",a:"loaded"},"15.37":{t:"`played`",p:`
-Type: Getter
-
-The proportion of video playback, with the rang ...`,l:"en/advanced/property.html#played",a:"played"},"15.38":{t:"`proxy`",p:`
-Type: Function
-
-The proxy function of DOM event essentially p ...`,l:"en/advanced/property.html#proxy",a:"proxy"},"15.39":{t:"`query`",p:`
-Type: Function
-
-The query function of DOM is similar to docum ...`,l:"en/advanced/property.html#query",a:"query"},"15.40":{t:"`video`",p:`
-Type: Element
-
-Return the video element of the player
-<div ...`,l:"en/advanced/property.html#video",a:"video"},"16.0":{t:"# Contextmenu",p:"",l:"en/component/contextmenu.html",a:"contextmenu"},"16.1":{t:"Config",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-disable
-Boolean
-Whether to disab ...`,l:"en/component/contextmenu.html#config",a:"config"},"16.2":{t:"Init",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#init",a:"init"},"16.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#add",a:"add"},"16.4":{t:"Remove",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#remove",a:"remove"},"16.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#update",a:"update"},"17.0":{t:"# Controls",p:"",l:"en/component/controls.html",a:"controls"},"17.1":{t:"Config",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-disable
-Boolean
-Whether to disab ...`,l:"en/component/controls.html#config",a:"config"},"17.2":{t:"Init",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#init",a:"init"},"17.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#add",a:"add"},"17.4":{t:"Remove",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#remove",a:"remove"},"17.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#update",a:"update"},"18.0":{t:"# Layers",p:"",l:"en/component/layers.html",a:"layers"},"18.1":{t:"Config",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-disable
-Boolean
-Whether to disab ...`,l:"en/component/layers.html#config",a:"config"},"18.2":{t:"Init",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#init",a:"init"},"18.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#add",a:"add"},"18.4":{t:"Remove",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#remove",a:"remove"},"18.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#update",a:"update"},"19.0":{t:"# Setting",p:"",l:"en/component/setting.html",a:"setting"},"19.1":{t:"Build-in",p:"You must open the settings panel first, and then come with fou ...",l:"en/component/setting.html#build-in",a:"build-in"},"19.2":{t:"Init - Select list",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-html
-String, Element
-Element DOM ...`,l:"en/component/setting.html#init-select-list",a:"init-select-list"},"19.3":{t:"Init - list nesting",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#init-list-nesting",a:"init-list-nesting"},"19.4":{t:"Init - Switch button",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-html
-String, Element
-Element DOM ...`,l:"en/component/setting.html#init-switch-button",a:"init-switch-button"},"19.5":{t:"Init - Range slider",p:`
-
-
-Property
-Type
-Describe
-
-
-
-
-html
-String, Element
-Element DOM ...`,l:"en/component/setting.html#init-range-slider",a:"init-range-slider"},"19.6":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#add",a:"add"},"19.7":{t:"Remove",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#remove",a:"remove"},"19.8":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#update",a:"update"},"20.0":{t:"::: danger Important Note",p:"The English document has not yet been completed, everything is ...",l:"en/index.html",a:"danger-important-note"},"20.1":{t:"Install",p:`::: code-group
-npm install artplayer
-
-yarn add artplayer
-
-pnpm ...`,l:"en/index.html#install",a:"install"},"20.2":{t:"`CDN`",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"en/index.html#cdn",a:"cdn"},"20.3":{t:"Use",p:`::: code-group
-import Artplayer from 'artplayer';
-
-const art = ...`,l:"en/index.html#use",a:"use"},"20.4":{t:"`Vue.js`",p:`::: code-group
-<template>
-  <div ref="artRef&quo ...`,l:"en/index.html#vue-js",a:"vue-js"},"20.5":{t:"`React.js`",p:`::: code-group
-import { useEffect, useRef } from 'react';
-impo ...`,l:"en/index.html#react-js",a:"react-js"},"20.6":{t:"Syntax hint",p:"Sometimes your js file will lose the type prompt of TypeScript ...",l:"en/index.html#syntax-hint",a:"syntax-hint"},"20.7":{t:"Old browsers",p:"Production builds of artplayer.js are only compatible with the ...",l:"en/index.html#old-browsers",a:"old-browsers"},"21.0":{t:"# dash.js",p:`👉 https://github.com/Dash-Industry-Forum/dash.js
-<div clas ...`,l:"en/library/dash.html",a:"dash-js"},"22.0":{t:"# flv.js",p:`👉 https://github.com/Bilibili/flv.js
-<div className=" ...`,l:"en/library/flv.html",a:"flv-js"},"23.0":{t:"# hls.js",p:`👉 https://github.com/video-dev/hls.js
-<div className=" ...`,l:"en/library/hls.html",a:"hls-js"},"24.0":{t:"# 视频广告",p:"",l:"en/plugin/ads.html",a:"视频广告"},"24.1":{t:"演示",p:`👉 查看完整演示
-`,l:"en/plugin/ads.html#演示",a:"演示"},"24.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-ads
-
-yarn add artp ...`,l:"en/plugin/ads.html#安装",a:"安装"},"24.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"en/plugin/ads.html#cdn",a:"cdn"},"24.4":{t:"使用",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/ads.html#使用",a:"使用"},"25.0":{t:"# 控制器皮肤",p:"",l:"en/plugin/control-ui.html",a:"控制器皮肤"},"25.1":{t:"演示",p:`👉 查看完整演示
-`,l:"en/plugin/control-ui.html#演示",a:"演示"},"25.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-control
-
-yarn add  ...`,l:"en/plugin/control-ui.html#安装",a:"安装"},"25.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-c ...`,l:"en/plugin/control-ui.html#cdn",a:"cdn"},"25.4":{t:"使用",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/control-ui.html#使用",a:"使用"},"25.5":{t:"`enable`",p:`
-Type: Getter/Setter
-Parameter: Boolean
-
-是否启用新的控制器皮肤
-<div c ...`,l:"en/plugin/control-ui.html#enable",a:"enable"},"26.0":{t:"# Dash 画质",p:"",l:"en/plugin/dash-quality.html",a:"dash-画质"},"26.1":{t:"演示",p:`👉 查看完整演示
-`,l:"en/plugin/dash-quality.html#演示",a:"演示"},"26.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-dash-quality
-
-yarn ...`,l:"en/plugin/dash-quality.html#安装",a:"安装"},"26.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"en/plugin/dash-quality.html#cdn",a:"cdn"},"27.0":{t:"# HLS 画质",p:"",l:"en/plugin/hls-quality.html",a:"hls-画质"},"27.1":{t:"演示",p:`👉 查看完整演示
-`,l:"en/plugin/hls-quality.html#演示",a:"演示"},"27.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-hls-quality
-
-yarn  ...`,l:"en/plugin/hls-quality.html#安装",a:"安装"},"27.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"en/plugin/hls-quality.html#cdn",a:"cdn"},"28.0":{t:"# Iframe 控制",p:"",l:"en/plugin/iframe.html",a:"iframe-控制"},"28.1":{t:"说明",p:"通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.htm ...",l:"en/plugin/iframe.html#说明",a:"说明"},"28.2":{t:"演示",p:`👉 查看完整演示
-`,l:"en/plugin/iframe.html#演示",a:"演示"},"28.3":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-iframe
-
-yarn add a ...`,l:"en/plugin/iframe.html#安装",a:"安装"},"28.4":{t:"`CDN`",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"en/plugin/iframe.html#cdn",a:"cdn"},"28.5":{t:"使用",p:`::: code-group
-<!DOCTYPE html>
-<html>
-    <head ...`,l:"en/plugin/iframe.html#使用",a:"使用"},"28.6":{t:"`index.html` 接口",p:"",l:"en/plugin/iframe.html#index-html-接口",a:"index-html-接口"},"28.7":{t:"`commit`",p:"从 index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于 ...",l:"en/plugin/iframe.html#commit",a:"commit"},"28.8":{t:"`message`",p:`在 index.html 接收来自 iframe.html 的消息
-iframe.message((event) => ...`,l:"en/plugin/iframe.html#message",a:"message"},"28.9":{t:"`destroy`",p:`销毁后 index.html 无法与 iframe.html 通信
-iframe.destroy();
-
-`,l:"en/plugin/iframe.html#destroy",a:"destroy"},"28.10":{t:"`iframe.html` 接口",p:`:::warning 提示
-iframe.html 接口 只能运行在 iframe.html 里
-:::
-`,l:"en/plugin/iframe.html#iframe-html-接口",a:"iframe-html-接口"},"28.11":{t:"`inject`",p:`注入脚本,接收来自 index.html 的消息
-ArtplayerPluginIframe.inject();
-
-`,l:"en/plugin/iframe.html#inject",a:"inject"},"28.12":{t:"`postMessage`",p:`将消息推送到 index.html
-iframe.message((event) => {
-    console.i ...`,l:"en/plugin/iframe.html#postmessage",a:"postmessage"},"28.13":{t:"例子",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听  ...",l:"en/plugin/iframe.html#例子",a:"例子"},"29.0":{t:"# Option",p:"",l:"en/start/option.html",a:"option"},"29.1":{t:"`container`",p:`
-Type: String, Element
-Default: #artplayer
-
-The DOM container  ...`,l:"en/start/option.html#container",a:"container"},"29.2":{t:"`url`",p:`
-Type: String
-Default: ''
-
-Video source address
-<div classN ...`,l:"en/start/option.html#url",a:"url"},"29.3":{t:"`id`",p:`
-Type: String
-Default: ''
-
-The unique identifier of the player ...`,l:"en/start/option.html#id",a:"id"},"29.4":{t:"`onReady`",p:`
-Type: Function
-Default: undefined
-
-The constructor accepts a  ...`,l:"en/start/option.html#onready",a:"onready"},"29.5":{t:"`poster`",p:`
-Type: String
-Default: ''
-
-Video posters will only appear when ...`,l:"en/start/option.html#poster",a:"poster"},"29.6":{t:"`title`",p:`
-Type: String
-Default: ''
-
-Video title, which currently appear ...`,l:"en/start/option.html#title",a:"title"},"29.7":{t:"`theme`",p:`
-Type: String
-Default: #f00
-
-The player theme color is current ...`,l:"en/start/option.html#theme",a:"theme"},"29.8":{t:"`volume`",p:`
-Type: Number
-Default: 0.7
-
-Default volume of player
-<div c ...`,l:"en/start/option.html#volume",a:"volume"},"29.9":{t:"`isLive`",p:`
-Type: Boolean
-Default: false
-
-When using live mode, the progr ...`,l:"en/start/option.html#islive",a:"islive"},"29.10":{t:"`muted`",p:`
-Type: Boolean
-Default: false
-
-Whether to mute by default
-< ...`,l:"en/start/option.html#muted",a:"muted"},"29.11":{t:"`autoplay`",p:`
-Type: Boolean
-Default: false
-
-Whether to play automatically
-& ...`,l:"en/start/option.html#autoplay",a:"autoplay"},"29.12":{t:"`autoSize`",p:`
-Type: Boolean
-Default: false
-
-The size of the player will fil ...`,l:"en/start/option.html#autosize",a:"autosize"},"29.13":{t:"`autoMini`",p:`
-Type: Boolean
-Default: false
-
-When the player scrolls outside ...`,l:"en/start/option.html#automini",a:"automini"},"29.14":{t:"`loop`",p:`
-Type: Boolean
-Default: false
-
-Whether to play in a loop
-<d ...`,l:"en/start/option.html#loop",a:"loop"},"29.15":{t:"`flip`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the video fl ...`,l:"en/start/option.html#flip",a:"flip"},"29.16":{t:"`playbackRate`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the video pl ...`,l:"en/start/option.html#playbackrate",a:"playbackrate"},"29.17":{t:"`aspectRatio`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the video as ...`,l:"en/start/option.html#aspectratio",a:"aspectratio"},"29.18":{t:"`screenshot`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the video sc ...`,l:"en/start/option.html#screenshot",a:"screenshot"},"29.19":{t:"`setting`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the switch b ...`,l:"en/start/option.html#setting",a:"setting"},"29.20":{t:"`hotkey`",p:`
-Type: Boolean
-Default: true
-
-Whether to use shortcut keys
-< ...`,l:"en/start/option.html#hotkey",a:"hotkey"},"29.21":{t:"`pip`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the picture  ...`,l:"en/start/option.html#pip",a:"pip"},"29.22":{t:"`mutex`",p:`
-Type: Boolean
-Default: true
-
-If there are multiple players in ...`,l:"en/start/option.html#mutex",a:"mutex"},"29.23":{t:"`fullscreen`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the player w ...`,l:"en/start/option.html#fullscreen",a:"fullscreen"},"29.24":{t:"`fullscreenWeb`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the player f ...`,l:"en/start/option.html#fullscreenweb",a:"fullscreenweb"},"29.25":{t:"`subtitleOffset`",p:`
-Type: Boolean
-Default: false
-
-Subtitle time offset, with the  ...`,l:"en/start/option.html#subtitleoffset",a:"subtitleoffset"},"29.26":{t:"`miniProgressBar`",p:`
-Type: Boolean
-Default: false
-
-Mini progress bar, only appears ...`,l:"en/start/option.html#miniprogressbar",a:"miniprogressbar"},"29.27":{t:"`useSSR`",p:`
-Type: Boolean
-Default: false
-
-Whether to use the SSR mount mo ...`,l:"en/start/option.html#usessr",a:"usessr"},"29.28":{t:"`playsInline`",p:`
-Type: Boolean
-Default: true
-
-Whether to use the playsInline m ...`,l:"en/start/option.html#playsinline",a:"playsinline"},"29.29":{t:"`layers`",p:`
-Type: Array
-Default: []
-
-Initialize the customized layers
-< ...`,l:"en/start/option.html#layers",a:"layers"},"29.30":{t:"`settings`",p:`
-Type: Array
-Default: []
-
-Initialize the customized Setting
-&l ...`,l:"en/start/option.html#settings",a:"settings"},"29.31":{t:"`contextmenu`",p:`
-Type: Array
-Default: []
-
-Initialize the customized Contextmen ...`,l:"en/start/option.html#contextmenu",a:"contextmenu"},"29.32":{t:"`controls`",p:`
-Type: Array
-Default: []
-
-Initialize the customized Controls
-& ...`,l:"en/start/option.html#controls",a:"controls"},"29.33":{t:"`quality`",p:`
-Type: Array
-Default: []
-
-Whether to display the Quality list  ...`,l:"en/start/option.html#quality",a:"quality"},"29.34":{t:"`highlight`",p:`
-Type: Array
-Default: []
-
-Display highlight on the progress ba ...`,l:"en/start/option.html#highlight",a:"highlight"},"29.35":{t:"`plugins`",p:`
-Type: Array
-Default: []
-
-Initialize customized plugins
-<di ...`,l:"en/start/option.html#plugins",a:"plugins"},"29.36":{t:"`whitelist`",p:`
-Type: Array
-Default: []
-
-Because different mobile devices hav ...`,l:"en/start/option.html#whitelist",a:"whitelist"},"29.37":{t:"`thumbnails`",p:`
-Type: Object
-Default: {}
-
-Set the thumbnails image on the pro ...`,l:"en/start/option.html#thumbnails",a:"thumbnails"},"29.38":{t:"`subtitle`",p:`
-Type: Object
-Default: {}
-
-Set the subtitle of the video and s ...`,l:"en/start/option.html#subtitle",a:"subtitle"},"29.39":{t:"`moreVideoAttr`",p:`
-Type: Object
-Default: {'controls': false,'preload': 'metadata ...`,l:"en/start/option.html#morevideoattr",a:"morevideoattr"},"29.40":{t:"`icons`",p:`
-Type: Object
-Default: {}
-
-It is used to replace the default i ...`,l:"en/start/option.html#icons",a:"icons"},"29.41":{t:"`type`",p:`
-Type: String
-Default: ''
-
-It is used to indicate the format o ...`,l:"en/start/option.html#type",a:"type"},"29.42":{t:"`customType`",p:`
-Type: Object
-Default: {}
-
-By matching the video's type, the v ...`,l:"en/start/option.html#customtype",a:"customtype"},"29.43":{t:"`lang`",p:`
-Type: String
-Default: navigator.language.toLowerCase()
-
-The d ...`,l:"en/start/option.html#lang",a:"lang"},"29.44":{t:"`i18n`",p:`
-Type: Object
-Default: {}
-
-Customize the i18n configuration, w ...`,l:"en/start/option.html#i18n",a:"i18n"},"29.45":{t:"`lock`",p:`
-Type: Boolean
-Default: false
-
-Whether to display a lock butto ...`,l:"en/start/option.html#lock",a:"lock"},"29.46":{t:"`fastForward`",p:`
-Type: Boolean
-Default: false
-
-Whether to add long-press video ...`,l:"en/start/option.html#fastforward",a:"fastforward"},"29.47":{t:"`autoPlayback`",p:`
-Type: Boolean
-Default: false
-
-Whether to use automatic playba ...`,l:"en/start/option.html#autoplayback",a:"autoplayback"},"29.48":{t:"`autoOrientation`",p:`
-Type: Boolean
-Default: false
-
-Whether to rotate the player ac ...`,l:"en/start/option.html#autoorientation",a:"autoorientation"},"29.49":{t:"`airplay`",p:`
-Type: Boolean
-Default: false
-
-Whether to display the airplay  ...`,l:"en/start/option.html#airplay",a:"airplay"},"29.50":{t:"`cssVar`",p:`
-Type: Object
-Default: {}
-
-Used to change built-in CSS variabl ...`,l:"en/start/option.html#cssvar",a:"cssvar"},"30.0":{t:"# 安装使用",p:"",l:"index.html",a:"安装使用"},"30.1":{t:"安装",p:`::: code-group
-npm install artplayer
-
-yarn add artplayer
-
-pnpm ...`,l:"index.html#安装",a:"安装"},"30.2":{t:"`CDN`",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"index.html#cdn",a:"cdn"},"30.3":{t:"使用",p:`::: code-group
-import Artplayer from 'artplayer';
-
-const art = ...`,l:"index.html#使用",a:"使用"},"30.4":{t:"`Vue.js`",p:`::: code-group
-<template>
-  <div ref="artRef&quo ...`,l:"index.html#vue-js",a:"vue-js"},"30.5":{t:"`React.js`",p:`::: code-group
-import { useEffect, useRef } from 'react';
-impo ...`,l:"index.html#react-js",a:"react-js"},"30.6":{t:"语法提示",p:`有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型
-变量:
-/**
- * @type { ...`,l:"index.html#语法提示",a:"语法提示"},"30.7":{t:"古老的浏览器",p:`生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version
-对于 ...`,l:"index.html#古老的浏览器",a:"古老的浏览器"},"31.0":{t:"# dash.js",p:`👉 https://github.com/Dash-Industry-Forum/dash.js
-<div clas ...`,l:"library/dash.html",a:"dash-js"},"32.0":{t:"# flv.js",p:`👉 https://github.com/Bilibili/flv.js
-<div className=" ...`,l:"library/flv.html",a:"flv-js"},"33.0":{t:"# hls.js",p:`👉 https://github.com/video-dev/hls.js
-<div className=" ...`,l:"library/hls.html",a:"hls-js"},"34.0":{t:"# 视频广告",p:"",l:"plugin/ads.html",a:"视频广告"},"34.1":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/ads.html#演示",a:"演示"},"34.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-ads
-
-yarn add artp ...`,l:"plugin/ads.html#安装",a:"安装"},"34.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"plugin/ads.html#cdn",a:"cdn"},"34.4":{t:"使用",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/ads.html#使用",a:"使用"},"35.0":{t:"# 控制器皮肤",p:"",l:"plugin/control-ui.html",a:"控制器皮肤"},"35.1":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/control-ui.html#演示",a:"演示"},"35.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-control
-
-yarn add  ...`,l:"plugin/control-ui.html#安装",a:"安装"},"35.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-c ...`,l:"plugin/control-ui.html#cdn",a:"cdn"},"35.4":{t:"使用",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/control-ui.html#使用",a:"使用"},"35.5":{t:"`enable`",p:`
-Type: Getter/Setter
-Parameter: Boolean
-
-是否启用新的控制器皮肤
-<div c ...`,l:"plugin/control-ui.html#enable",a:"enable"},"36.0":{t:"# 弹幕库",p:"",l:"plugin/danmuku.html",a:"弹幕库"},"36.1":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/danmuku.html#演示",a:"演示"},"36.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-danmuku
-
-yarn add  ...`,l:"plugin/danmuku.html#安装",a:"安装"},"36.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/danmuku.html#cdn",a:"cdn"},"36.4":{t:"选项",p:`{
-    danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
-    speed: ...`,l:"plugin/danmuku.html#选项",a:"选项"},"36.5":{t:"使用弹幕数组",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕数组",a:"使用弹幕数组"},"36.6":{t:"使用弹幕 XML",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕-xml",a:"使用弹幕-xml"},"36.7":{t:"使用异步调用",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用异步调用",a:"使用异步调用"},"36.8":{t:"`hide/show`",p:`通过方法 hide 和 show 进行隐藏或者显示弹幕
-<div className="run-code&q ...`,l:"plugin/danmuku.html#hide-show",a:"hide-show"},"36.9":{t:"`isHide`",p:`通过属性 isHide 判断当前弹幕是隐藏或者显示
-<div className="run-code&quo ...`,l:"plugin/danmuku.html#ishide",a:"ishide"},"36.10":{t:"`emit`",p:`通过方法 emit 发送一条实时弹幕
-<div className="run-code" data ...`,l:"plugin/danmuku.html#emit",a:"emit"},"36.11":{t:"`config`",p:`通过方法 config 实时改变弹幕配置,支持属性有:
-
-danmuku
-speed
-opacity
-fontSize
-co ...`,l:"plugin/danmuku.html#config",a:"config"},"36.12":{t:"`load`",p:`通过 load 方法可以重载弹幕源,或者切换新弹幕
-<div className="run-code&quo ...`,l:"plugin/danmuku.html#load",a:"load"},"36.13":{t:"`reset`",p:`用于清空当前显示的弹幕
-<div className="run-code" data-libs=& ...`,l:"plugin/danmuku.html#reset",a:"reset"},"36.14":{t:"`option`",p:`用于获取当前弹幕配置
-<div className="run-code" data-libs=&q ...`,l:"plugin/danmuku.html#option",a:"option"},"36.15":{t:"事件",p:`var art = new Artplayer({
-    container: '.artplayer-app',
-    ...`,l:"plugin/danmuku.html#事件",a:"事件"},"37.0":{t:"# Dash 画质",p:"",l:"plugin/dash-quality.html",a:"dash-画质"},"37.1":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/dash-quality.html#演示",a:"演示"},"37.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-dash-quality
-
-yarn ...`,l:"plugin/dash-quality.html#安装",a:"安装"},"37.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/dash-quality.html#cdn",a:"cdn"},"38.0":{t:"# HLS 画质",p:"",l:"plugin/hls-quality.html",a:"hls-画质"},"38.1":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/hls-quality.html#演示",a:"演示"},"38.2":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-hls-quality
-
-yarn  ...`,l:"plugin/hls-quality.html#安装",a:"安装"},"38.3":{t:"CDN",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"plugin/hls-quality.html#cdn",a:"cdn"},"39.0":{t:"# Iframe 控制",p:"",l:"plugin/iframe.html",a:"iframe-控制"},"39.1":{t:"说明",p:"通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.htm ...",l:"plugin/iframe.html#说明",a:"说明"},"39.2":{t:"演示",p:`👉 查看完整演示
-`,l:"plugin/iframe.html#演示",a:"演示"},"39.3":{t:"安装",p:`::: code-group
-npm install artplayer-plugin-iframe
-
-yarn add a ...`,l:"plugin/iframe.html#安装",a:"安装"},"39.4":{t:"`CDN`",p:`::: code-group
-https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"plugin/iframe.html#cdn",a:"cdn"},"39.5":{t:"使用",p:`::: code-group
-<!DOCTYPE html>
-<html>
-    <head ...`,l:"plugin/iframe.html#使用",a:"使用"},"39.6":{t:"`index.html` 接口",p:"",l:"plugin/iframe.html#index-html-接口",a:"index-html-接口"},"39.7":{t:"`commit`",p:"从 index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于 ...",l:"plugin/iframe.html#commit",a:"commit"},"39.8":{t:"`message`",p:`在 index.html 接收来自 iframe.html 的消息
-iframe.message((event) => ...`,l:"plugin/iframe.html#message",a:"message"},"39.9":{t:"`destroy`",p:`销毁后 index.html 无法与 iframe.html 通信
-iframe.destroy();
-
-`,l:"plugin/iframe.html#destroy",a:"destroy"},"39.10":{t:"`iframe.html` 接口",p:`:::warning 提示
-iframe.html 接口 只能运行在 iframe.html 里
-:::
-`,l:"plugin/iframe.html#iframe-html-接口",a:"iframe-html-接口"},"39.11":{t:"`inject`",p:`注入脚本,接收来自 index.html 的消息
-ArtplayerPluginIframe.inject();
-
-`,l:"plugin/iframe.html#inject",a:"inject"},"39.12":{t:"`postMessage`",p:`将消息推送到 index.html
-iframe.message((event) => {
-    console.i ...`,l:"plugin/iframe.html#postmessage",a:"postmessage"},"39.13":{t:"例子",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听  ...",l:"plugin/iframe.html#例子",a:"例子"},"40.0":{t:"# 基础选项",p:"",l:"start/option.html",a:"基础选项"},"40.1":{t:"`container`",p:`
-Type: String, Element
-Default: #artplayer
-
-播放器挂载的 DOM 容器
-< ...`,l:"start/option.html#container",a:"container"},"40.2":{t:"`url`",p:`
-Type: String
-Default: ''
-
-视频源地址
-<div className="run-c ...`,l:"start/option.html#url",a:"url"},"40.3":{t:"`id`",p:`
-Type: String
-Default: ''
-
-播放器的唯一标识,目前只用于记忆播放 autoplayback
-< ...`,l:"start/option.html#id",a:"id"},"40.4":{t:"`onReady`",p:`
-Type: Function
-Default: undefined
-
-构造函数接受一个函数作为第二个参数,播放器初始化成功 ...`,l:"start/option.html#onready",a:"onready"},"40.5":{t:"`poster`",p:`
-Type: String
-Default: ''
-
-视频的海报,只会出现在播放器初始化且未播放的状态下
-<div c ...`,l:"start/option.html#poster",a:"poster"},"40.6":{t:"`title`",p:`
-Type: String
-Default: ''
-
-视频标题,目前会出现在 视频截图 和 迷你模式 下
-<div c ...`,l:"start/option.html#title",a:"title"},"40.7":{t:"`theme`",p:`
-Type: String
-Default: #f00
-
-播放器主题颜色,目前用于 进度条 和 高亮元素 上
-<div ...`,l:"start/option.html#theme",a:"theme"},"40.8":{t:"`volume`",p:`
-Type: Number
-Default: 0.7
-
-播放器的默认音量
-<div className="r ...`,l:"start/option.html#volume",a:"volume"},"40.9":{t:"`isLive`",p:`
-Type: Boolean
-Default: false
-
-使用直播模式,会隐藏进度条和播放时间
-<div clas ...`,l:"start/option.html#islive",a:"islive"},"40.10":{t:"`muted`",p:`
-Type: Boolean
-Default: false
-
-是否默认静音
-<div className=" ...`,l:"start/option.html#muted",a:"muted"},"40.11":{t:"`autoplay`",p:`
-Type: Boolean
-Default: false
-
-是否自动播放
-<div className=" ...`,l:"start/option.html#autoplay",a:"autoplay"},"40.12":{t:"`autoSize`",p:`
-Type: Boolean
-Default: false
-
-播放器的尺寸默认会填充整个 container 容器尺寸,所以 ...`,l:"start/option.html#autosize",a:"autosize"},"40.13":{t:"`autoMini`",p:`
-Type: Boolean
-Default: false
-
-当播放器滚动到浏览器视口以外时,自动进入 迷你播放 模式
-&l ...`,l:"start/option.html#automini",a:"automini"},"40.14":{t:"`loop`",p:`
-Type: Boolean
-Default: false
-
-是否循环播放
-<div className=" ...`,l:"start/option.html#loop",a:"loop"},"40.15":{t:"`flip`",p:`
-Type: Boolean
-Default: false
-
-是否显示视频翻转功能,目前只出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#flip",a:"flip"},"40.16":{t:"`playbackRate`",p:`
-Type: Boolean
-Default: false
-
-是否显示视频播放速度功能,会出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#playbackrate",a:"playbackrate"},"40.17":{t:"`aspectRatio`",p:`
-Type: Boolean
-Default: false
-
-是否显示视频长宽比功能,会出现在 设置面板 和 右键菜单 里
- ...`,l:"start/option.html#aspectratio",a:"aspectratio"},"40.18":{t:"`screenshot`",p:`
-Type: Boolean
-Default: false
-
-是否在底部控制栏里显示 视频截图 功能
-<div cla ...`,l:"start/option.html#screenshot",a:"screenshot"},"40.19":{t:"`setting`",p:`
-Type: Boolean
-Default: false
-
-是否在底部控制栏里显示 设置面板 的开关按钮
-<div  ...`,l:"start/option.html#setting",a:"setting"},"40.20":{t:"`hotkey`",p:`
-Type: Boolean
-Default: true
-
-是否使用快捷键
-<div className=" ...`,l:"start/option.html#hotkey",a:"hotkey"},"40.21":{t:"`pip`",p:`
-Type: Boolean
-Default: false
-
-是否在底部控制栏里显示 画中画 的开关按钮
-<div c ...`,l:"start/option.html#pip",a:"pip"},"40.22":{t:"`mutex`",p:`
-Type: Boolean
-Default: true
-
-假如页面里同时存在多个播放器,是否只能让一个播放器播放
-< ...`,l:"start/option.html#mutex",a:"mutex"},"40.23":{t:"`fullscreen`",p:`
-Type: Boolean
-Default: false
-
-是否在底部控制栏里显示播放器 窗口全屏 按钮
-<div  ...`,l:"start/option.html#fullscreen",a:"fullscreen"},"40.24":{t:"`fullscreenWeb`",p:`
-Type: Boolean
-Default: false
-
-是否在底部控制栏里显示播放器 网页全屏 按钮
-<div  ...`,l:"start/option.html#fullscreenweb",a:"fullscreenweb"},"40.25":{t:"`subtitleOffset`",p:`
-Type: Boolean
-Default: false
-
-字幕时间偏移,范围在 [-5s, 5s],出现在 设置面板 里 ...`,l:"start/option.html#subtitleoffset",a:"subtitleoffset"},"40.26":{t:"`miniProgressBar`",p:`
-Type: Boolean
-Default: false
-
-迷你进度条,只在播放器失去焦点后且正在播放时出现
-<di ...`,l:"start/option.html#miniprogressbar",a:"miniprogressbar"},"40.27":{t:"`useSSR`",p:`
-Type: Boolean
-Default: false
-
-是否使用 SSR 挂载模式,假如你希望在播放器挂载前,就提前渲 ...`,l:"start/option.html#usessr",a:"usessr"},"40.28":{t:"`playsInline`",p:`
-Type: Boolean
-Default: true
-
-在移动端是否使用 playsInline 模式
-<div  ...`,l:"start/option.html#playsinline",a:"playsinline"},"40.29":{t:"`layers`",p:`
-Type: Array
-Default: []
-
-初始化自定义的 层
-<div className="ru ...`,l:"start/option.html#layers",a:"layers"},"40.30":{t:"`settings`",p:`
-Type: Array
-Default: []
-
-初始化自定义的 设置面板
-<div className=" ...`,l:"start/option.html#settings",a:"settings"},"40.31":{t:"`contextmenu`",p:`
-Type: Array
-Default: []
-
-初始化自定义的 右键菜单
-<div className=" ...`,l:"start/option.html#contextmenu",a:"contextmenu"},"40.32":{t:"`controls`",p:`
-Type: Array
-Default: []
-
-初始化自定义的底部 控制栏
-<div className=&quo ...`,l:"start/option.html#controls",a:"controls"},"40.33":{t:"`quality`",p:`
-Type: Array
-Default: []
-
-是否在底部控制栏里显示 画质选择 列表
-
-
-
-属性
-类型
-描述
-
-
-
-
- ...`,l:"start/option.html#quality",a:"quality"},"40.34":{t:"`highlight`",p:`
-Type: Array
-Default: []
-
-在进度条上显示 高亮信息
-
-
-
-属性
-类型
-描述
-
-
-
-
-time
-Nu ...`,l:"start/option.html#highlight",a:"highlight"},"40.35":{t:"`plugins`",p:`
-Type: Array
-Default: []
-
-初始化自定义的 插件
-<div className="r ...`,l:"start/option.html#plugins",a:"plugins"},"40.36":{t:"`whitelist`",p:`
-Type: Array
-Default: []
-
-因为不同的移动设备存在多种差异和限制,有时候你希望在某些移动设备上不使用 ...`,l:"start/option.html#whitelist",a:"whitelist"},"40.37":{t:"`thumbnails`",p:`
-Type: Object
-Default: {}
-
-在进度条上设置 预览图
-
-
-
-属性
-类型
-描述
-
-
-
-
-url
-Str ...`,l:"start/option.html#thumbnails",a:"thumbnails"},"40.38":{t:"`subtitle`",p:`
-Type: Object
-Default: {}
-
-设置视频的字幕,支持字幕格式:vtt, srt, ass
-
-
-
-属性
- ...`,l:"start/option.html#subtitle",a:"subtitle"},"40.39":{t:"`moreVideoAttr`",p:`
-Type: Object
-Default: {'controls': false,'preload': 'metadata ...`,l:"start/option.html#morevideoattr",a:"morevideoattr"},"40.40":{t:"`icons`",p:`
-Type: Object
-Default: {}
-
-用于替换默认图标,支持 Html 字符串和 HTMLElement
-& ...`,l:"start/option.html#icons",a:"icons"},"40.41":{t:"`type`",p:`
-Type: String
-Default: ''
-
-用于指明视频的格式,需要配合 customType 一起使用,默认视频 ...`,l:"start/option.html#type",a:"type"},"40.42":{t:"`customType`",p:`
-Type: Object
-Default: {}
-
-通过视频的 type 进行匹配,把视频解码权交给第三方程序进行处理,处 ...`,l:"start/option.html#customtype",a:"customtype"},"40.43":{t:"`lang`",p:`
-Type: String
-Default: navigator.language.toLowerCase()
-
-默认显示语 ...`,l:"start/option.html#lang",a:"lang"},"40.44":{t:"`i18n`",p:`
-Type: Object
-Default: {}
-
-自定义 i18n 配置,该配置会和自带的 i18n 进行深度合并
-新增 ...`,l:"start/option.html#i18n",a:"i18n"},"40.45":{t:"`lock`",p:`
-Type: Boolean
-Default: false
-
-是否在移动端显示一个 锁定按钮 ,用于隐藏底部 控制栏
-< ...`,l:"start/option.html#lock",a:"lock"},"40.46":{t:"`fastForward`",p:`
-Type: Boolean
-Default: false
-
-是否在移动端添加长按视频快进功能
-<div classN ...`,l:"start/option.html#fastforward",a:"fastforward"},"40.47":{t:"`autoPlayback`",p:`
-Type: Boolean
-Default: false
-
-是否使用自动 回放功能
-<div className=& ...`,l:"start/option.html#autoplayback",a:"autoplayback"},"40.48":{t:"`autoOrientation`",p:`
-Type: Boolean
-Default: false
-
-是否在移动端的网页全屏时,根据视频尺寸和视口尺寸,旋转播放器
- ...`,l:"start/option.html#autoorientation",a:"autoorientation"},"40.49":{t:"`airplay`",p:`
-Type: Boolean
-Default: false
-
-是否显示 airplay 按钮,当前只有部分浏览器支持该功能
- ...`,l:"start/option.html#airplay",a:"airplay"},"40.50":{t:"`cssVar`",p:`
-Type: Object
-Default: {}
-
-用于改变内置的css变量
-<div className=&quo ...`,l:"start/option.html#cssvar",a:"cssvar"}},n={previewLength:62,buttonLabel:"Search",placeholder:"Search docs",allow:[],ignore:[]},a={INDEX_DATA:t,PREVIEW_LOOKUP:e,Options:n};export{a as default};
diff --git a/docs/document/assets/chunks/virtual_search-data.9f4788ba.js b/docs/document/assets/chunks/virtual_search-data.9f4788ba.js
new file mode 100644
index 000000000..a05082aed
--- /dev/null
+++ b/docs/document/assets/chunks/virtual_search-data.9f4788ba.js
@@ -0,0 +1,1455 @@
+const t={map:'[{"高级属性":["0.0","10.0"],"option":["0.1","1.12","10.1","11.12","29.0","36.14"],"whitelist":["0.2","10.2","29.36","40.36"],"template":["0.3","10.3"],"events":["0.4","10.4"],"storage":["0.5","10.5"],"icons":["0.6","10.6","29.40","40.40"],"i18n":["0.7","10.7","29.44","40.44"],"notice":["0.8","3.3","10.8","13.3"],"layers":["0.9","10.9","18.0","29.29","40.29"],"controls":["0.10","10.10","17.0","29.32","40.32"],"contextmenu":["0.11","2.37","3.2","10.11","12.36","13.2","16.0","29.31","40.31"],"subtitle":["0.12","2.36","10.12","12.35","29.38","40.38"],"loading":["0.13","2.34","10.13","12.33"],"hotkey":["0.14","2.6","10.14","12.5","29.20","40.20"],"mask":["0.15","2.35","10.15","12.34"],"setting":["0.16","2.39","3.4","3.5","3.6","10.16","12.38","13.4","13.5","13.6","19.0","29.19","40.19"],"plugins":["0.17","10.17","29.35","40.35"],"静态属性":["1.0","11.0"],"instances":["1.1","11.1"],"version":["1.2","11.2"],"env":["1.3","11.3"],"build":["1.4","11.4","19.1"],"config":["1.5","11.5","16.1","17.1","18.1","36.11"],"utils":["1.6","11.6"],"scheme":["1.7","11.7"],"emitter":["1.8","11.8"],"validator":["1.9","11.9"],"kindof":["1.10","11.10"],"html":["1.11","11.11"],"实例事件":["2.0","12.0"],"ready":["2.1","12.1"],"restart":["2.2","12.2"],"loop":["2.3","5.29","15.29","29.14","40.14"],"pause":["2.4","5.2","12.3","15.2"],"play":["2.5","5.1","12.4","15.1"],"destroy":["2.7","5.4","12.6","15.4","28.9","39.9"],"focus":["2.8","12.8"],"blur":["2.9","12.9"],"dblclick":["2.10","12.10"],"click":["2.11","12.11"],"error":["2.12","12.12"],"hover":["2.13","12.13"],"mousemove":["2.14","12.14"],"resize":["2.15","3.7","12.15","13.7"],"view":["2.16","12.16"],"lock":["2.17","29.45","40.45"],"aspectratio":["2.18","5.28","12.17","15.28","29.17","40.17"],"autoheight":["2.19","5.30","12.18","15.30"],"autosize":["2.20","5.24","12.19","15.24","29.12","40.12"],"flip":["2.21","3.29","5.26","12.20","13.29","15.26","29.15","40.15"],"fullscreen":["2.22","3.30","5.18","12.21","13.30","15.18","29.23","40.23"],"fullscreenweb":["2.23","5.19","12.22","15.19","29.24","40.24"],"mini":["2.24","5.22","12.23","15.22"],"pip":["2.25","5.20","12.24","15.20","29.21","40.21"],"screenshot":["2.26","5.15","12.25","15.15","29.18","40.18"],"seek":["2.27","3.26","5.5","12.26","13.26","15.5"],"subtitleoffset":["2.28","12.27","29.25","40.25"],"subtitleupdate":["2.29","12.28"],"subtitleload":["2.30","12.29"],"subtitleswitch":["2.31","12.30"],"info":["2.32","3.21","12.31","13.21"],"layer":["2.33","12.32"],"control":["2.38","3.15","12.37","13.15"],"video":["2.40","2.41","2.42","2.43","2.44","2.45","2.46","2.47","2.48","2.49","2.50","2.51","2.52","2.53","2.54","2.55","2.56","2.57","2.58","2.59","2.60","5.40","12.39","12.40","12.41","12.42","12.43","12.44","12.45","12.46","12.47","12.48","12.49","12.50","12.51","12.52","12.53","12.54","12.55","12.56","12.57","12.58","12.59","15.40"],"全局属性":["3.0","13.0"],"debug":["3.1","13.1"],"scroll":["3.8","3.9","13.8","13.9"],"auto":["3.10","3.11","3.12","3.20","13.10","13.11","13.12","13.20"],"reconnect":["3.13","3.14","13.13","13.14"],"dbclick":["3.16","3.17","13.16","13.17"],"mobile":["3.18","3.19","13.18","13.19"],"fast":["3.22","3.23","13.22","13.23"],"touch":["3.24","13.24"],"volume":["3.25","5.8","13.25","15.8","29.8","40.8"],"playback":["3.27","13.27"],"aspect":["3.28","13.28"],"编写插件":["4.0","14.0"],"实例属性":["5.0"],"toggle":["5.3","15.3"],"forward":["5.6","15.6"],"backward":["5.7","15.7"],"url":["5.9","12.7","15.9","29.2","40.2"],"switchurl":["5.10","15.10"],"switchquality":["5.11","15.11"],"muted":["5.12","15.12","29.10","40.10"],"currenttime":["5.13","15.13"],"duration":["5.14","15.14"],"getdataurl":["5.16","15.16"],"getbloburl":["5.17","15.17"],"poster":["5.21","15.21","29.5","40.5"],"playing":["5.23","15.23"],"rect":["5.25","15.25"],"playbackrate":["5.27","15.27","29.16","40.16"],"attr":["5.31","15.31"],"title":["5.32","15.32","29.6","40.6"],"type":["5.33","15.33","29.41","40.41"],"theme":["5.34","15.34","29.7","40.7"],"airplay":["5.35","15.35","29.49","40.49"],"loaded":["5.36","15.36"],"played":["5.37","15.37"],"proxy":["5.38","15.38"],"query":["5.39","15.39"],"cssvar":["5.41","29.50","40.50"],"右键菜单":["6.0"],"配置":["6.1","7.1","8.1"],"创建":["6.2","7.2","8.2","9.2","9.3","9.4","9.5"],"添加":["6.3","7.3","8.3","9.6"],"删除":["6.4","7.4","8.4","9.7"],"更新":["6.5","7.5","8.5","9.8"],"控制器":["7.0"],"业务层":["8.0"],"设置面板":["9.0"],"内置":["9.1"],"instance":["15.0"],"init":["16.2","17.2","18.2","19.2","19.3","19.4","19.5"],"add":["16.3","17.3","18.3","19.6"],"remove":["16.4","17.4","18.4","19.7"],"update":["16.5","17.5","18.5","19.8"],"danger":["20.0"],"install":["20.1"],"cdn":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"use":["20.3"],"vue":["20.4","30.4"],"react":["20.5","30.5"],"syntax":["20.6"],"old":["20.7"],"dash":["21.0","26.0","31.0","37.0"],"flv":["22.0","32.0"],"hls":["23.0","27.0","33.0","38.0"],"视频广告":["24.0","34.0"],"演示":["24.1","25.1","26.1","27.1","28.2","34.1","35.1","36.1","37.1","38.1","39.2"],"安装":["24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"使用":["24.4","25.4","28.5","30.3","34.4","35.4","39.5"],"控制器皮肤":["25.0","35.0"],"enable":["25.5","35.5"],"iframe":["28.0","28.10","39.0","39.10"],"说明":["28.1","39.1"],"index":["28.6","39.6"],"commit":["28.7","39.7"],"message":["28.8","39.8"],"inject":["28.11","39.11"],"postmessage":["28.12","39.12"],"例子":["28.13","39.13"],"container":["29.1","40.1"],"id":["29.3","40.3"],"onready":["29.4","40.4"],"islive":["29.9","40.9"],"autoplay":["29.11","40.11"],"automini":["29.13","40.13"],"mutex":["29.22","40.22"],"miniprogressbar":["29.26","40.26"],"usessr":["29.27","40.27"],"playsinline":["29.28","40.28"],"settings":["29.30","40.30"],"quality":["29.33","40.33"],"highlight":["29.34","40.34"],"thumbnails":["29.37","40.37"],"morevideoattr":["29.39","40.39"],"customtype":["29.42","40.42"],"lang":["29.43","40.43"],"fastforward":["29.46","40.46"],"autoplayback":["29.47","40.47"],"autoorientation":["29.48","40.48"],"安装使用":["30.0"],"语法提示":["30.6"],"古老的浏览器":["30.7"],"弹幕库":["36.0"],"选项":["36.4"],"使用弹幕数组":["36.5"],"使用弹幕":["36.6"],"使用异步调用":["36.7"],"hide":["36.8"],"ishide":["36.9"],"emit":["36.10"],"load":["36.12"],"reset":["36.13"],"事件":["36.15"],"基础选项":["40.0"]},{"0":["3.27","5.36","5.37","13.27","29.8","40.8"],"1":["30.7","36.4"],"3":["3.28","13.28"],"4":["3.28","13.28"],"5":["3.27","8.2","13.27","18.2","36.4"],"7":["8.3","18.3","29.8"],"10":["36.4"],"15":["4.0","14.0"],"21":["8.5","9.8","18.5","19.8"],"26":["7.5","17.5"],"27":["9.8","19.8"],"75":["3.27","13.27"],"250":["3.4","13.4"],"这里的":["0.0","1.0","3.0","5.0","10.0","11.0","13.0"],"播放器的选项":["0.1","10.1"],"div":["0.1","0.2","0.3","0.5","0.6","0.8","0.14","0.17","1.1","1.6","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.2","4.0","5.1","5.2","5.3","5.14","5.25","5.35","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.2","10.3","10.5","10.6","10.8","10.14","10.17","11.1","11.6","12.0","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.2","14.0","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","25.5","29.2","29.29","29.30","31.0","32.0","33.0","34.4","35.4","35.5","36.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30","40.31","40.32"],"classname":["0.1","0.2","0.3","0.17","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.2","10.3","10.17","12.0","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","14.0","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","29.2","29.29","29.30","31.0","32.0","33.0","34.4","35.4","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30"],"run":["0.1","0.3","2.0","2.2","2.3","2.7","2.12","2.13","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","10.3","12.0","12.2","12.6","12.7","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","12.30","12.38","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.4","29.2","29.29","31.0","32.0","33.0","34.4","35.4","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","40.2","40.29","40.30"],"管理移动设备的白名单功能":["0.2","10.2"],"只有一个属性":["0.2","10.2"],"state":["0.2","10.2"],"返回是否启用播放器功能":["0.2","10.2"],"管理播放器所有的":["0.3","0.4","0.6","10.3","10.4","10.6"],"dom":["0.3","0.4","5.38","5.39","9.2","9.4","9.5","10.3","10.4","15.38","15.39","19.2","19.4","19.5","29.1","40.1"],"元素":["0.3","9.4","9.5","10.3"],"事件":["0.4","4.0","10.4","14.0"],"实质上是代理了":["0.4","10.4"],"addeventlistener":["0.4","5.38","10.4","15.38"],"和":["0.4","4.0","5.11","10.4","14.0","36.8","40.4"],"removeeventlistener":["0.4","10.4"],"当使用以下方法来处理事件":["0.4","10.4"],"播放器销毁时也会自动销毁该事件":["0.4","10.4"],"proxy":["0.4","10.4"],"方法用于代理":["0.4","10.4"],"管理播放器的本地存储":["0.5","10.5"],"name":["0.5","4.0","10.5","14.0","17.1"],"属性用于设置缓存的":["0.5","10.5"],"key":["0.5","10.5"],"set":["0.5","10.5","15.8","15.11","15.12","15.13","15.18","15.19","15.20","15.21","15.24","15.26","15.28","15.29","29.37","29.38"],"方法用于设置缓存":["0.5","10.5"],"get":["0.5","0.7","10.5","10.7","15.13","15.14","15.16","15.17","15.18","15.20","15.23","15.25","15.31","15.32","15.34"],"方法用于获取缓存":["0.5","10.5"],"del":["0.5","10.5"],"方法用于删除缓存":["0.5","10.5"],"clear":["0.5","10.5"],"方法用于清空缓存":["0.5","10.5"],"svg":["0.6","10.6"],"图标":["0.6","10.6"],"管理播放器的":["0.7","10.7"],"方法用于获取":["0.7","10.7"],"的值":["0.7","10.7"],"update":["0.7","0.9","0.10","0.11","0.16","10.7"],"管理播放器的提示语":["0.8","10.8"],"只有一个":["0.8","10.8"],"show":["0.8","0.13","0.15","10.8","10.9","10.10","10.11","10.13","10.15","10.16","36.8"],"属性用于显示提示语":["0.8","10.8"],"管理播放器的层":["0.9","10.9"],"add":["0.9","0.10","0.11","0.14","0.16","0.17","10.9","10.10","10.11","10.14","10.16","10.17"],"方法用于动态添加层":["0.9","10.9"],"remove":["0.9","0.10","0.11","0.14","0.16","10.14"],"方法用于动态删除层":["0.9"],"管理播放器的控制器":["0.10","10.10"],"方法用于动态添加控制器":["0.10","10.10"],"方法用于动态删除控制器":["0.10"],"管理播放器的右键菜单":["0.11","10.11"],"方法用于动态添加菜单":["0.11","10.11"],"方法用于动态删除菜单":["0.11"],"方法用于动态更新菜单":["0.11"],"管理播放器的字幕功能":["0.12","10.12"],"url":["0.12","10.12","15.10","36.15"],"属性设置和返回当前字幕地址":["0.12","10.12"],"style":["0.12","10.12"],"方法设置当前字幕的样式":["0.12","10.12"],"管理播放器的加载层":["0.13","10.13"],"属性用于设置是否显示加载层":["0.13","10.13"],"toggle":["0.13","0.15","10.9","10.10","10.11","10.13","10.15","10.16"],"管理播放器的快捷键功能":["0.14","10.14"],"方法用于添加快捷键":["0.14","10.14"],"方法用于删除快捷键":["0.14","10.14"],"管理播放器的遮罩层":["0.15","10.15"],"属性用于设置是否显示遮罩层":["0.15","10.15"],"管理播放器的设置面板":["0.16","10.16"],"方法用于动态添加设置项":["0.16","10.16"],"方法用于动态删除设置项":["0.16"],"方法用于动态更新设置项":["0.16"],"管理播放器的插件功能":["0.17","10.17"],"只有一个方法":["0.17","10.17"],"用于动态添加插件":["0.17","10.17"],"返回全部播放器实例的数组":["1.1","11.1"],"假如你想同时管理多个播放器的时候":["1.1","11.1"],"可以用到该属性":["1.1","11.1"],"返回播放器的版本信息":["1.2","11.2"],"返回播放器的环境变量":["1.3","11.3"],"返回播放器的打包时间":["1.4","11.4"],"返回视频的默认配置":["1.5","11.5"],"返回播放器的工具函数集合":["1.6","11.6"],"返回播放器选项的校验方案":["1.7","11.7"],"返回事件分发器的构造函数":["1.8","11.8"],"返回选项的校验函数":["1.9","11.9"],"返回类型检测的函数工具":["1.10","11.10"],"返回播放器所需的":["1.11","11.11"],"返回播放器的默认选项":["1.12","11.12"],"播放器的事件分为两种":["2.0","12.0"],"一种视频的":["2.0","12.0"],"原生事件":["2.0","12.0"],"前缀":["2.0","12.0"],"video":["2.0","12.0","15.1","15.2","15.3","15.7","15.10","15.11","15.14","15.36","15.37","23.0","29.2","29.5","29.6","29.38","29.41","29.42","33.0"],"另外一种是":["2.0","12.0"],"自定义事件":["2.0","12.0"],"监听事件":["2.0","12.0"],"code":["2.0","2.2","2.28","2.31","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","12.0","12.7","12.27","12.30","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","20.1","20.2","20.3","20.4","20.5","21.0","22.0","23.0","24.2","24.3","24.4","25.2","25.3","25.4","26.2","26.3","27.2","27.3","28.3","28.4","28.5","29.2","30.1","30.2","30.3","30.4","30.5","31.0","32.0","33.0","34.2","34.3","34.4","35.2","35.3","35.4","36.2","36.3","36.5","36.6","36.7","36.9","36.10","36.12","36.13","36.14","37.2","37.3","38.2","38.3","39.3","39.4","39.5","40.2","40.29"],"js":["2.0","4.0","6.5","7.2","7.3","7.5","8.2","8.3","8.5","9.3","9.7","9.8","12.0","14.0","16.5","17.2","17.3","17.5","18.2","18.3","18.5","19.3","19.7","19.8","20.3","20.4","20.5","20.6","20.7","21.0","22.0","23.0","24.4","30.3","30.4","30.5","30.6","30.7","31.0","32.0","33.0","34.4","36.4","36.15"],"当播放器首次可以播放器时触发":["2.1","12.1"],"当播放器切换地址后并可以播放时触发":["2.2","12.2"],"当出现区间循环时触发":["2.3"],"当播放器暂停时触发":["2.4","12.3"],"当播放器播放时触发":["2.5","12.4"],"当播放器热键被按下时触发":["2.6","12.5"],"当播放器销毁时触发":["2.7","12.6"],"当播放器获得焦点时触发":["2.8","12.8"],"当播放器失去焦点时触发":["2.9","12.9"],"当播放器被双击时触发":["2.10","12.10"],"当播放器被单击时触发":["2.11","12.11"],"当播放器加载视频发生错误时触发":["2.12","12.12"],"当播放器被鼠标移出或者移入时触发":["2.13","12.13"],"当播放器被鼠标经过时触发":["2.14","12.14"],"当播放器尺寸变化时触发":["2.15","12.15"],"当播放器出现在视口时触发":["2.16","12.16"],"在移动端":["2.17","3.18","3.19","3.20","3.22","3.23","3.24","13.18","13.19","13.20","13.22","13.23","13.24"],"当锁定的状态发生变化时触发":["2.17"],"当播放器长宽比变化时触发":["2.18","12.17"],"当播放器自动设置高度时触发":["2.19","12.18"],"当播放器自动设置尺寸时触发":["2.20","12.19"],"当播放器发生翻转时触发":["2.21","12.20"],"当播放器发生窗口全屏时触发":["2.22","12.21"],"当播放器发生网页全屏时触发":["2.23","12.22"],"当播放器进入迷你模式时触发":["2.24","12.23"],"当播放器进入画中画时触发":["2.25","12.24"],"当播放器被截图时触发":["2.26","12.25"],"当播放器发生时间跳转时触发":["2.27","12.26"],"当播放器发生字幕偏移时触发":["2.28","12.27"],"当字幕更新时触发":["2.29","12.28"],"当字幕加载时触发":["2.30","12.29"],"当字幕切换时触发":["2.31","12.30"],"当信息面板显示或隐藏时触发":["2.32","12.31"],"当自定义层显示或隐藏时触发":["2.33","12.32"],"当加载器显示或隐藏时触发":["2.34","12.33"],"当遮罩层显示或隐藏时触发":["2.35","12.34"],"当字幕层显示或隐藏时触发":["2.36","12.35"],"当右键菜单显示或隐藏时触发":["2.37","12.36"],"当控制器显示或隐藏时触发":["2.38","12.37"],"当设置面板显示或隐藏时触发":["2.39","12.38"],"canplay":["2.40","12.39"],"canplaythrough":["2.41","12.40"],"complete":["2.42","12.41"],"durationchange":["2.43","12.42"],"emptied":["2.44","12.43"],"ended":["2.45","12.44"],"error":["2.46","12.45"],"loadeddata":["2.47","12.46"],"loadedmetadata":["2.48","12.47"],"pause":["2.49","12.48"],"play":["2.50","3.18","3.19","12.49","13.18","13.19","29.11"],"playing":["2.51","12.50"],"progress":["2.52","12.51","29.34"],"ratechange":["2.53","12.52"],"seeked":["2.54","12.53"],"seeking":["2.55","12.54"],"stalled":["2.56","12.55"],"suspend":["2.57","12.56"],"timeupdate":["2.58","12.57"],"volumechange":["2.59","12.58"],"waiting":["2.60","12.59"],"是否开始":["3.1","13.1"],"模式":["3.1","13.1"],"是否开启右键菜单":["3.2","13.2"],"默认开启":["3.2","13.2"],"time":["3.3","3.7","3.8","3.13","3.14","3.15","3.16","3.20","3.21","3.23","13.3","13.7","13.8","13.13","13.14","13.15","13.16","13.20","13.21","13.23","29.25"],"提示信息的显示时长":["3.3","13.3"],"单位为毫秒":["3.3","3.7","3.8","3.12","3.15","3.16","3.21","13.3","13.7","13.8","13.12","13.15","13.16","13.21"],"width":["3.4","3.5","9.2","13.4","13.5","15.30"],"设置面板的默认宽度":["3.4","13.4"],"单位为像素":["3.4","3.5","3.6","3.9","13.4","13.5","13.6","13.9"],"默认为":["3.4","3.5","3.6","3.10","3.16","3.25","3.27","3.28","3.29","13.4","13.5","13.6","13.10","13.16","13.25","13.27","13.28","13.29"],"item":["3.5","3.6","13.5","13.6"],"设置面板的设置项的默认宽度":["3.5","13.5"],"height":["3.6","13.6"],"设置面板的设置项的默认高度":["3.6","13.6"],"事件的节流时间":["3.7","3.8","13.7","13.8"],"gap":["3.9","13.9"],"view":["3.9","13.9"],"事件的边界容差距离":["3.9","13.9"],"playback":["3.10","3.11","3.12","13.10","13.11","13.12","15.3","29.47"],"max":["3.10","3.13","13.10","13.13"],"自动回放功能的最大记录数":["3.10","13.10"],"min":["3.11","13.11"],"自动回放功能的最小记录时长":["3.11","13.11"],"单位为秒":["3.11","3.26","13.11","13.26"],"timeout":["3.12","13.12"],"自动回放功能的隐藏延迟时长":["3.12","13.12"],"发生连接错误时":["3.13","3.14","13.13","13.14"],"自动连接的最大次数":["3.13","13.13"],"sleep":["3.14","13.14"],"自动连接的延迟时间":["3.14","13.14"],"hide":["3.15","13.15"],"底部控制栏的自动隐藏的延迟时间":["3.15","13.15"],"双击事件的延迟事件":["3.16","13.16"],"fullscreen":["3.17","13.17"],"在桌面端":["3.17","13.17"],"是否双击切换全屏":["3.17","13.17"],"dbclick":["3.18","13.18"],"是否双击切换播放暂停":["3.18","13.18"],"click":["3.19","13.19"],"是否单击切换播放暂停":["3.19","13.19"],"orientation":["3.20","13.20"],"自动旋屏的延迟时间":["3.20","13.20"],"loop":["3.21","13.21"],"信息面板的刷新时间":["3.21","13.21"],"forward":["3.22","3.23","13.22","13.23"],"value":["3.22","13.22"],"长按加速的速率倍数":["3.22","13.22"],"长按加速的延迟时间":["3.23","13.23"],"move":["3.24","13.24"],"ratio":["3.24","3.28","13.24","13.28"],"左右滑动进度的速率倍数":["3.24","13.24"],"step":["3.25","3.26","13.25","13.26"],"快捷键调节音量的幅度比例":["3.25","13.25"],"快捷键调节播放进度的幅度":["3.26","13.26"],"rate":["3.27","13.27"],"内置播放速率的列表":["3.27","13.27"],"内置视频长宽比的列表":["3.28","13.28"],"default":["3.28","13.28","29.1","29.2","29.3","29.4","29.5","29.6","29.7","29.8","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","29.37","29.38","29.39","29.40","29.41","29.42","29.43","29.44","29.45","29.46","29.47","29.48","29.49","29.50","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36","40.37","40.38","40.39","40.40","40.41","40.42","40.43","40.44","40.45","40.46","40.47","40.48","40.49","40.50"],"内置视频翻转的列表":["3.29","13.29"],"normal":["3.29","13.29"],"horizontal":["3.29","13.29"],"vertical":["3.29","13.29"],"web":["3.30","13.30"],"in":["3.30","13.30","19.1"],"body":["3.30","13.30"],"网页全屏时":["3.30","13.30"],"但你已经知道播放器的":["4.0","14.0"],"属性":["4.0","6.1","7.1","8.1","9.2","9.4","9.5","14.0","40.33","40.34","40.37","40.38"],"方法":["4.0","14.0"],"后":["4.0","14.0"],"再编写插件是非常简单的事":["4.0","14.0"],"可以在实例化的时候加载插件的函数":["4.0","14.0"],"function":["4.0","5.1","5.2","5.3","5.4","5.10","5.11","5.15","5.16","5.17","5.31","5.35","5.38","5.39","5.41","9.2","14.0","15.1","15.2","15.3","15.4","15.10","15.11","15.15","15.16","15.17","15.31","15.35","15.38","15.39","19.2","29.4","40.4"],"myplugin":["4.0","14.0"],"art":["4.0","7.2","14.0","17.2","36.15"],"console":["4.0","14.0"],"info":["4.0","14.0"],"return":["4.0","14.0","15.40"],"something":["4.0","14.0"],"type":["5.1","5.2","5.3","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.34","5.35","5.36","5.37","5.38","5.39","5.40","5.41","15.1","15.2","15.3","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.15","15.16","15.17","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.34","15.35","15.36","15.37","15.38","15.39","15.40","16.1","17.1","18.1","19.2","19.4","19.5","25.5","29.1","29.2","29.3","29.4","29.5","29.6","29.7","29.8","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","29.37","29.38","29.39","29.40","29.42","29.43","29.44","29.45","29.46","29.47","29.48","29.49","29.50","35.5","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36","40.37","40.38","40.39","40.40","40.42","40.43","40.44","40.45","40.46","40.47","40.48","40.49","40.50"],"播放视频":["5.1"],"暂停视频":["5.2"],"切换视频的播放和暂停":["5.3"],"parameter":["5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.34","25.5","29.4","35.5"],"boolean":["5.4","5.12","5.18","5.19","5.20","5.23","5.24","5.30","7.1","15.4","15.12","15.18","15.19","15.20","15.23","15.24","15.30","16.1","17.1","18.1","25.5","29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.22","29.23","29.24","29.25","29.26","29.27","29.28","29.45","29.46","29.47","29.48","29.49","35.5","40.9","40.10","40.11","40.12","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.20","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.45","40.46","40.47","40.48","40.49"],"setter":["5.5","5.6","5.7","5.8","5.9","5.12","5.13","5.18","5.19","5.20","5.21","5.22","5.24","5.26","5.27","5.28","5.29","5.30","5.32","5.33","5.34","15.5","15.6","15.7","15.8","15.9","15.12","15.13","15.18","15.19","15.20","15.21","15.22","15.24","15.26","15.27","15.28","15.29","15.30","15.32","15.33","15.34","25.5","35.5"],"number":["5.5","5.6","5.7","5.8","5.13","5.27","15.5","15.6","15.7","15.8","15.13","15.27","29.8","40.8"],"getter":["5.8","5.9","5.12","5.13","5.14","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.32","5.33","5.34","5.36","5.37","15.8","15.9","15.12","15.13","15.14","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.32","15.33","15.34","15.36","15.37","25.5","35.5"],"string":["5.10","5.11","5.21","5.26","5.28","5.31","5.32","5.33","5.34","9.2","9.4","9.5","15.9","15.10","15.11","15.21","15.26","15.28","15.31","15.32","15.33","15.34","17.1","19.2","19.4","19.5","29.1","29.2","29.3","29.5","29.6","29.7","29.41","29.43","40.1","40.2","40.3","40.5","40.6","40.7","40.41","40.43"],"设置视频地址":["5.10"],"设置时和":["5.10"],"设置视频画质地址":["5.11"],"获取视频时长":["5.14"],"下载当前视频帧的截图":["5.15"],"获取当前视频帧的截图的":["5.16","5.17"],"base64":["5.16","15.16"],"地址":["5.16","5.17","36.4"],"blob":["5.17","15.17"],"设置和获取视频海报":["5.21"],"获取播放器的尺寸和坐标信息":["5.25"],"array":["5.29","9.2","15.29","19.2","29.29","29.30","29.31","29.32","29.33","29.34","29.35","29.36","40.29","40.30","40.31","40.32","40.33","40.34","40.35","40.36"],"设置和获取区间循序播放":["5.29"],"单位秒":["5.29","36.4"],"当容器只有宽度":["5.30"],"动态获取和设置":["5.31"],"开启隔空播放":["5.35"],"视频缓存的比例":["5.36"],"范围是":["5.36","5.37"],"视频播放的比例":["5.37"],"事件的代理函数":["5.38"],"实质上代理了":["5.38"],"的查询函数":["5.39"],"element":["5.40","9.2","9.4","9.5","15.40","19.2","19.4","19.5","29.1","40.1"],"快捷返回播放器的":["5.40"],"动态获取或设置":["5.41"],"css":["5.41"],"变量":["5.41"],"类型":["6.1","7.1","8.1","9.2","9.4","9.5","40.34","40.37","40.38"],"描述":["6.1","7.1","8.1","9.2","9.4","9.5"],"disable":["6.1","7.1","8.1","16.1","17.1","18.1"],"var":["7.2","9.3","17.2","36.15"],"new":["7.2","17.2","36.15"],"artplayer":["7.2","17.2","20.3","20.5","20.7","24.4","29.1","30.3","30.5","30.7","34.4","36.5","36.15","40.1"],"container":["7.2","15.30","17.2","36.15"],"须先打开设置面板":["9.1"],"然后自带四个内置项":["9.1"],"flip":["9.1"],"playbackrate":["9.1"],"选择列表":["9.2"],"html":["9.2","9.4","9.5","19.2","19.4","19.5","28.5","28.6","28.7","28.10","28.13","39.5","39.6","39.7","39.10","39.13","40.40"],"元素的":["9.2","9.4","9.5"],"icon":["9.2","9.4","9.5","19.2","19.4","19.5"],"元素的图标":["9.2"],"selector":["9.2","19.2"],"元素列表":["9.2"],"onselect":["9.2","19.2"],"元素点击事件":["9.2"],"列表嵌套":["9.3"],"切换按钮":["9.4"],"范围滑块":["9.5"],"属性用于设置是否显示全部层":["10.9"],"属性用于设置是否显示全部控制器":["10.10"],"属性用于设置是否显示全部菜单":["10.11"],"属性用于设置是否显示全部设置项":["10.16"],"属性用于切换是否显示全部设置项":["10.16"],"当视频地址变化时触发":["12.7"],"property":["15.0","16.1","17.1","18.1","19.2","19.4","19.5"],"the":["15.0","15.10","15.11","15.16","15.17","15.20","15.25","15.30","15.36","15.37","15.38","15.39","15.40","17.1","19.1","20.7","29.1","29.3","29.4","29.7","29.12","29.27","29.29","29.30","29.31","29.32","29.33","29.34","29.37","29.38","29.41","29.42","29.44"],"to":["15.4","16.1","17.1","18.1","29.1","29.11","29.18","29.20","29.27","29.33","29.40","29.41","29.47","29.48","29.50"],"setting":["15.10","29.30"],"is":["15.10","29.40","29.41"],"similar":["15.10","15.11"],"quality":["15.11"],"address":["15.11","15.16","15.17","29.2"],"and":["15.13","15.18","15.20","15.21","15.25","15.29","15.31","15.38","29.36","29.38"],"download":["15.15"],"a":["15.15","29.4"],"full":["15.18"],"obtain":["15.21","15.29"],"whether":["15.24","16.1","17.1","18.1","29.11","29.15","29.16","29.17","29.18","29.19","29.20","29.21","29.23","29.24","29.27","29.33","29.45","29.46","29.47","29.48","29.49"],"size":["15.25","29.12"],"interval":["15.29"],"when":["15.30","29.9","29.13"],"has":["15.30"],"only":["15.30","20.7"],"this":["15.30"],"attribute":["15.30"],"enable":["15.35"],"proportion":["15.36","15.37"],"of":["15.36","15.37","15.38","15.39","20.7","29.12","29.38","29.41"],"event":["15.38"],"essentially":["15.38"],"proxies":["15.38"],"describe":["16.1","17.1","18.1","19.2","19.4","19.5"],"component":["17.1"],"you":["19.1","29.36"],"must":["19.1"],"open":["19.1"],"settings":["19.1"],"select":["19.2"],"list":["19.2","19.3"],"nesting":["19.3"],"switch":["19.4"],"button":["19.4"],"range":["19.5"],"slider":["19.5"],"important":["20.0"],"note":["20.0"],"group":["20.1","20.2","20.3","20.4","20.5","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","28.5","30.1","30.2","30.3","30.4","30.5","34.2","34.3","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4","39.5"],"bash":["20.2","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","30.2","34.2","34.3","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4"],"index":["20.3","24.4","28.5","28.7","28.12","28.13","30.3","34.4","39.5","39.7","39.12","39.13"],"import":["20.3","20.5","30.3","30.5"],"from":["20.3","20.5","30.5"],"jsx":["20.5","30.5"],"useeffect":["20.5","30.5"],"useref":["20.5","30.5"],"hint":["20.6"],"sometimes":["20.6","29.36"],"your":["20.6"],"file":["20.6"],"will":["20.6","29.44"],"browsers":["20.7"],"production":["20.7"],"builds":["20.7"],"are":["20.7"],"compatible":["20.7"],"with":["20.7"],"https":["21.0","22.0","23.0","31.0","32.0","33.0"],"github":["21.0","22.0","23.0","31.0","32.0","33.0"],"com":["21.0","22.0","23.0","31.0","32.0","33.0"],"industry":["21.0","31.0"],"forum":["21.0","31.0"],"bilibili":["22.0","32.0"],"data":["22.0","23.0","24.4","32.0","33.0","34.4","36.5","36.7","36.9","36.10","36.14"],"dev":["23.0","33.0"],"libs":["23.0","24.4","33.0","34.4","36.5","36.7","36.10"],"查看完整演示":["24.1","25.1","26.1","27.1","28.2","34.1","35.1","36.1","37.1","38.1","39.2"],"jsdelivr":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"uncompiled":["24.4","34.4","36.5"],"plugin":["24.4","34.4","36.5"],"ads":["24.4","34.4"],"是否启用新的控制器皮肤":["25.5","35.5"],"画质":["26.0","27.0","37.0","38.0"],"控制":["28.0","39.0"],"通过该插件":["28.1","39.1"],"你可以轻松在":["28.1","39.1"],"doctype":["28.5","39.5"],"从":["28.7","39.7"],"将消息推送到":["28.7","28.12","39.7","39.12"],"iframe":["28.7","28.13","39.7","39.13"],"该函数将在":["28.7","39.7"],"在":["28.8","39.8"],"销毁后":["28.9","39.9"],"注入脚本":["28.11","39.11"],"最常遇到的问题是":["28.13","39.13"],"播放器在":["28.13","39.13"],"里进行网页全屏":["28.13","39.13"],"但在":["28.13","39.13"],"attached":["29.1"],"source":["29.2"],"unique":["29.3"],"undefined":["29.4","40.4"],"constructor":["29.4"],"accepts":["29.4"],"as":["29.4"],"second":["29.4"],"which":["29.4","29.44"],"posters":["29.5"],"f00":["29.7","40.7"],"false":["29.9","29.10","29.11","29.12","29.13","29.14","29.15","29.16","29.17","29.18","29.19","29.21","29.23","29.24","29.25","29.26","29.27","29.39","29.45","29.46","29.47","29.48","29.49","40.11","40.12","40.13","40.15","40.16","40.17","40.18","40.25","40.27","40.45","40.47","40.49"],"display":["29.18","29.33","29.34"],"true":["29.20","29.22","29.28","40.20"],"use":["29.20","29.27","29.47"],"shortcut":["29.20"],"if":["29.22"],"subtitle":["29.25"],"mini":["29.26"],"ssr":["29.27","40.27"],"initialize":["29.29","29.30","29.31","29.32","29.35"],"customized":["29.29","29.30","29.31","29.32","29.35"],"on":["29.34","29.37"],"because":["29.36"],"different":["29.36"],"mobile":["29.36"],"devices":["29.36"],"have":["29.36"],"many":["29.36"],"differences":["29.36"],"limitations":["29.36"],"want":["29.36"],"object":["29.37","29.38","29.39","29.40","29.42","29.44","29.50","40.37","40.38","40.39","40.40","40.42","40.44","40.50"],"image":["29.37"],"support":["29.38"],"controls":["29.39","40.39"],"preload":["29.39"],"it":["29.40","29.41"],"used":["29.40","29.41","29.50"],"replace":["29.40"],"indicate":["29.41"],"format":["29.41"],"needs":["29.41"],"by":["29.42"],"matching":["29.42"],"s":["29.42"],"navigator":["29.43","40.43"],"language":["29.43","40.43"],"tolowercase":["29.43"],"customize":["29.44"],"configuration":["29.44"],"be":["29.44"],"deeply":["29.44"],"merged":["29.44"],"automatic":["29.47"],"有时你的":["30.6"],"文件会丢失":["30.6"],"typescript":["30.6"],"生产构建的":["30.7"],"只兼容最新一个主版本的":["30.7"],"chrome":["30.7"],"last":["30.7"],"danmuku":["36.4","36.11"],"弹幕库":["36.4"],"支持数组":["36.4"],"xml":["36.4","36.6"],"promise返回数组":["36.4"],"speed":["36.4","36.11"],"弹幕持续时间":["36.4"],"范围在":["36.4"],"opacity":["36.4","36.11"],"通过方法":["36.8","36.10","36.11"],"进行隐藏或者显示弹幕":["36.8"],"通过属性":["36.9"],"判断当前弹幕是隐藏或者显示":["36.9"],"发送一条实时弹幕":["36.10"],"实时改变弹幕配置":["36.11"],"支持属性有":["36.11"],"fontsize":["36.11"],"color":["36.11"],"mode":["36.11"],"margin":["36.11"],"通过":["36.12"],"方法可以重载弹幕源":["36.12"],"或者切换新弹幕":["36.12"],"用于清空当前显示的弹幕":["36.13"],"用于获取当前弹幕配置":["36.14"],"app":["36.15"],"assets":["36.15"],"sample":["36.15"],"播放器挂载的":["40.1"],"视频源地址":["40.2"],"播放器的唯一标识":["40.3"],"构造函数接受一个函数作为第二个参数":["40.4"],"播放器初始化成功且视频可以播放时触发":["40.4"],"ready":["40.4"],"视频的海报":["40.5"],"视频标题":["40.6"],"是否自动播放":["40.11"],"是否使用快捷键":["40.20"],"字幕时间偏移":["40.25"],"是否使用":["40.27"],"初始化自定义的":["40.29","40.30","40.31","40.35"],"层":["40.29"],"设置面板":["40.30"],"右键菜单":["40.31"],"初始化自定义的底部":["40.32"],"控制栏":["40.32"],"是否在底部控制栏里显示":["40.33"],"画质选择":["40.33"],"列表":["40.33"],"在进度条上显示":["40.34"],"高亮信息":["40.34"],"插件":["40.35"],"因为不同的移动设备存在多种差异和限制":["40.36"],"有时候你希望在某些移动设备上不使用本播放器":["40.36"],"而是直接使用原生的功能时":["40.36"],"可以通过该选项控制":["40.36"],"在进度条上设置":["40.37"],"预览图":["40.37"],"设置视频的字幕":["40.38"],"支持字幕格式":["40.38"],"vtt":["40.38"],"srt":["40.38"],"ass":["40.38"],"用于替换默认图标":["40.40"],"支持":["40.40"],"用于指明视频的格式":["40.41"],"需要配合":["40.41"],"customtype":["40.41"],"通过视频的":["40.42"],"自定义":["40.44"],"配置":["40.44"],"该配置会和自带的":["40.44"],"进行深度合并":["40.44"],"新增你的语言":["40.44"],"是否使用自动":["40.47"],"回放功能":["40.47"],"用于改变内置的css变量":["40.50"]},{"0":["3.24","3.25","5.8","13.24","13.25","15.8","15.36","15.37","23.0","33.0","36.4"],"1":["3.25","3.27","5.8","5.36","5.37","13.25","13.27","15.36","15.37","20.7","22.0","32.0"],"2":["3.27","13.27","21.0","22.0","31.0","32.0"],"3":["3.22","13.22","23.0","29.2","33.0","40.2"],"4":["6.2","16.2","21.0","29.47","31.0","40.44"],"5":["3.11","3.13","3.24","3.26","13.11","13.13","13.24","13.26","21.0","29.29","29.30","31.0","40.29","40.30"],"6":["2.0","6.3","7.3","12.0","16.3","17.3","22.0","32.0"],"7":["15.14","40.8"],"8":["23.0","33.0"],"9":["3.28","9.6","13.28","19.6","40.44"],"10":["2.2","3.10","7.2","12.7","13.10","17.2"],"11":["2.28","12.27"],"13":["2.31","6.2","6.3","12.30","16.2","16.3"],"14":["9.6","19.6"],"16":["3.28","13.28"],"21":["6.4","6.5","7.3","7.4","8.4","16.4","16.5","17.3","17.4","18.4"],"22":["8.2","8.3","9.7","18.2","18.3","19.7"],"23":["29.29","40.29"],"24":["6.5","16.5"],"25":["3.27","13.27","36.4"],"29":["8.5","18.5"],"34":["29.30","40.30"],"35":["3.6","13.6"],"40":["7.5","17.5"],"50":["3.9","13.9"],"200":["3.5","3.8","3.20","13.5","13.8","13.20"],"300":["3.16","13.16"],"500":["3.7","13.7"],"1000":["3.14","3.21","3.23","13.14","13.21","13.23"],"2000":["3.3","13.3"],"3000":["3.12","3.15","13.12","13.15"],"code":["0.1","0.2","0.3","0.5","0.6","0.7","0.8","0.13","0.14","0.15","0.16","0.17","1.1","1.6","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.2","3.4","3.5","3.6","3.16","3.28","3.29","5.1","5.2","5.3","5.12","5.14","5.15","5.18","5.19","5.20","5.21","5.23","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.35","5.41","9.2","10.1","10.2","10.3","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.13","10.14","10.15","10.16","10.17","11.1","11.6","12.1","12.2","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.2","13.4","13.5","13.6","13.16","13.28","13.29","15.1","15.2","15.14","15.18","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.4","40.11","40.20","40.30","40.31","40.32","40.35","40.40","40.44","40.47","40.50"],"run":["0.2","0.5","0.6","0.7","0.8","0.11","0.12","0.13","0.14","0.15","0.16","0.17","1.1","1.6","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","3.2","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.16","3.21","3.28","3.29","5.1","5.2","5.3","5.7","5.9","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.23","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.41","9.1","9.2","10.2","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","10.17","11.1","11.6","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","13.2","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.16","13.21","13.28","13.29","15.1","15.2","15.3","15.14","15.18","15.20","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.30","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.4","40.5","40.8","40.11","40.20","40.31","40.32","40.35","40.40","40.44","40.47","40.50"],"js":["0.2","0.3","0.5","0.14","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","6.2","6.3","6.4","7.4","8.4","9.2","9.6","10.2","10.3","10.5","10.14","10.17","12.2","12.7","12.18","12.23","12.27","12.28","12.29","12.30","15.14","16.2","16.3","16.4","17.4","18.4","19.2","19.6","28.7","28.12","29.1","29.2","29.29","29.30","29.32","29.47","36.5","36.7","36.9","36.10","36.12","39.7","39.12","40.2","40.4","40.29","40.30","40.32","40.44"],"var":["0.3","0.5","2.0","2.31","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.2","9.6","9.7","9.8","10.3","10.5","12.0","12.30","14.0","15.14","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.2","19.3","19.6","19.7","19.8","24.4","28.7","29.2","29.29","29.30","34.4","36.5","39.7","40.2","40.29","40.30","40.44"],"hover":["0.4","10.4"],"方法用于代理自定义的":["0.4","10.4"],"loadimg":["0.4","10.4"],"方法用于监听图片的":["0.4","10.4"],"load":["0.4","10.4"],"加载事件":["0.4","10.4"],"div":["0.4","0.7","0.9","0.10","0.11","0.12","0.13","0.15","0.16","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.3","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.29","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.38","5.40","5.41","9.1","9.2","10.4","10.7","10.9","10.10","10.11","10.12","10.13","10.15","10.16","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.16","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.28","13.29","15.1","15.2","15.3","15.7","15.18","15.20","15.25","15.29","15.32","15.35","19.2","20.4","29.1","29.8","29.11","29.20","29.31","29.32","29.35","29.44","29.47","30.4","36.11","40.1","40.3","40.4","40.5","40.8","40.9","40.10","40.11","40.14","40.18","40.20","40.22","40.26","40.35","40.40","40.44","40.46","40.47","40.50"],"classname":["0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","1.10","1.12","3.1","3.2","3.3","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.15","3.16","3.17","3.18","3.19","3.21","3.22","3.25","3.26","3.28","3.29","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.40","5.41","9.1","9.2","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.1","11.2","11.3","11.4","11.5","11.6","11.7","11.8","11.9","11.10","11.12","13.1","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.15","13.16","13.17","13.18","13.19","13.21","13.22","13.25","13.26","13.28","13.29","15.1","15.2","15.3","15.18","15.20","15.25","15.29","15.35","19.2","25.5","29.1","29.8","29.11","29.20","29.31","29.32","29.35","29.44","29.47","35.5","36.8","36.11","40.1","40.3","40.4","40.5","40.8","40.10","40.11","40.14","40.18","40.20","40.31","40.32","40.35","40.40","40.44","40.46","40.47","40.50"],"art":["0.5","2.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.5","9.2","9.3","9.6","9.7","9.8","10.5","12.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.5","19.2","19.3","19.6","19.7","19.8","20.3","20.5","24.4","29.2","30.3","34.4","36.5","40.2"],"new":["0.5","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.3","9.2","9.3","9.6","9.7","9.8","10.5","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.3","19.3","19.6","19.7","19.8","20.3","24.4","29.2","30.3","34.4","40.2"],"artplayer":["0.5","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.3","9.7","9.8","10.5","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.3","19.7","19.8","20.4","25.4","25.5","26.2","27.2","28.5","29.2","30.4","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14","37.2","38.2","39.5","40.2"],"container":["0.5","2.0","4.0","6.4","6.5","7.3","7.5","9.2","9.3","9.7","9.8","10.5","12.0","14.0","16.4","16.5","17.3","17.5","19.3","19.7","19.8","20.3","24.4","29.2","29.12","30.3","34.4","40.12"],"方法用于更新":["0.7","10.7"],"对象":["0.7","10.7"],"方法用于动态更新层":["0.9"],"show":["0.9","0.10","0.11","0.16"],"属性用于设置是否显示全部层":["0.9"],"toggle":["0.9","0.10","0.11","0.16"],"方法用于切换是否显示全部层":["0.9"],"方法用于动态更新控制器":["0.10"],"属性用于设置是否显示全部控制器":["0.10"],"方法用于切换是否显示全部控制器":["0.10"],"属性用于设置是否显示全部菜单":["0.11"],"方法用于切换是否显示全部菜单":["0.11"],"switch":["0.12","9.4","10.12","29.19"],"方法设置当前字幕地址和选项":["0.12","10.12"],"属性用于切换是否显示加载层":["0.13","10.13"],"属性用于切换是否显示遮罩层":["0.15","10.15"],"属性用于设置是否显示全部设置项":["0.16"],"方法用于切换是否显示全部设置项":["0.16"],"字符串":["1.11","11.11"],"app":["2.0","4.0","7.2","7.5","9.2","9.3","9.7","9.8","12.0","14.0","17.2","17.5","19.3","19.7","19.8","20.3","24.4","29.2","34.4"],"url":["2.0","4.0","5.10","7.2","7.5","9.3","9.8","12.0","14.0","17.2","17.5","19.3","19.8","20.3","24.4","29.37","29.38","34.4","40.37","40.38"],"assets":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","29.2","29.29","34.4","40.29"],"sample":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","29.2","29.29","34.4","40.29"],"mp4":["2.0","4.0","7.2","12.0","14.0","17.2","36.15"],"on":["2.0","4.0","12.0","14.0","19.5","29.36","29.45"],"canplay":["2.0","12.0"],"浏览器可以播放媒体文件了":["2.40","12.39"],"浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束":["2.41","12.40"],"offlineaudiocontext":["2.42","12.41"],"duration":["2.43","12.42"],"媒体内容变为空":["2.44","12.43"],"例如":["2.44","12.43"],"视频停止播放":["2.45","12.44"],"获取媒体数据时出错":["2.46","12.45"],"media":["2.47","12.46"],"已加载元数据":["2.48","12.47"],"播放已暂停":["2.49","12.48"],"播放已开始":["2.50","12.49"],"由于缺乏数据而暂停或延迟后":["2.51","12.50"],"在浏览器加载资源时周期性触发":["2.52","12.51"],"播放速率发生变化":["2.53","12.52"],"跳帧":["2.54","2.55","12.53","12.54"],"用户代理":["2.56","12.55"],"媒体数据加载已暂停":["2.57","12.56"],"currenttime":["2.58","12.57"],"音量发生变化":["2.59","12.58"],"由于暂时缺少数据":["2.60","12.59"],"可以打印出视频全部的内置事件":["3.1","13.1"],"默认关闭":["3.1","13.1"],"默认为":["3.3","3.7","3.8","3.9","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.26","3.30","5.4","13.3","13.7","13.8","13.9","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.26","13.30"],"单位为毫秒":["3.14","3.20","3.23","13.14","13.20","13.23"],"true":["3.17","3.18","5.4","5.24","5.30","13.17","13.18","36.15","40.22","40.28"],"false":["3.19","3.30","13.19","13.30","40.9","40.10","40.14","40.19","40.21","40.23","40.24","40.26","40.39","40.46","40.48"],"是否把播放器挂在在":["3.30","13.30"],"元素下":["3.30","13.30"],"dosomething":["4.0","14.0"],"video":["4.0","5.31","5.36","5.37","7.2","9.3","9.8","14.0","15.5","15.6","15.8","15.9","15.12","15.13","15.15","15.16","15.17","15.21","15.23","15.24","15.30","15.31","15.33","17.2","19.3","19.8","29.4","29.15","29.16","29.17","29.18","29.39","29.46","36.15","40.42"],"plugins":["4.0","14.0","36.15"],"ready":["4.0","14.0"],"可以在实例化之后再加载插件的函数":["4.0","14.0"],"销毁播放器":["5.4"],"接受一个参数表示是否销毁后同时移除播放器的":["5.4"],"html":["5.4","28.1","28.8","28.12","29.40","39.1","39.8","39.12","40.27","40.33"],"视频时间跳转":["5.5"],"单位秒":["5.5","5.6","5.7","40.34"],"视频时间快进":["5.6"],"视频时间快退":["5.7"],"设置和获取视频音量":["5.8"],"范围在":["5.8","40.25"],"string":["5.9","6.1","7.1","8.1","16.1","18.1","29.37","29.38","29.40","40.33","40.34","40.37","40.38"],"设置和获取视频地址":["5.9"],"类似":["5.10","5.11","5.13","5.39"],"但会执行一些优化操作":["5.10"],"函数支持两个参数":["5.10","5.11"],"第一个为新的视频地址":["5.10","5.11"],"第二个为可选新的视频名字":["5.10","5.11"],"switchurl":["5.11","15.11"],"但会带上之前的播放进度":["5.11"],"设置和获取视频是否静音":["5.12"],"设置和获取视频当前时间":["5.13"],"设置时间时和":["5.13"],"seek":["5.13"],"但它不会触发额外的事件":["5.13"],"返回的是一个":["5.16","5.17"],"promise":["5.16","5.17"],"设置和获取播放器窗口全屏":["5.18"],"设置和获取播放器网页全屏":["5.19"],"设置和获取播放器画中画模式":["5.20"],"只有在视频播放前才能看到海报效果":["5.21"],"boolean":["5.22","6.1","8.1","9.4","15.22","19.4","40.33"],"设置和获取播放器迷你模式":["5.22"],"获取视频是否正在播放中":["5.23"],"设置视频是否自适应尺寸":["5.24"],"设置为":["5.24","5.30"],"之后它会只执行一次":["5.24","5.30"],"设置和获取播放器翻转":["5.26"],"支持":["5.26"],"normal":["5.26","15.26"],"horizontal":["5.26"],"vertical":["5.26"],"设置和获取播放器播放速度":["5.27"],"设置和获取播放器长宽比":["5.28"],"该属性可以自动计算出并设置视频的高度":["5.30"],"元素的属性":["5.31"],"动态获取和设置播放器标题":["5.32"],"动态获取和设置视频类型":["5.33"],"动态获取和设置播放器主题颜色":["5.34"],"常配合":["5.36","5.37"],"timeupdate":["5.36","5.37"],"事件使用":["5.36","5.37"],"和":["5.38","40.6","40.7","40.15","40.16","40.17"],"removeeventlistener":["5.38","15.38"],"当使用":["5.38"],"来处理事件":["5.38"],"播放器销毁时也会自动销毁该事件":["5.38"],"document":["5.39","15.39"],"queryselector":["5.39","15.39"],"但被查询的对象局限于当前播放器内":["5.39"],"可以避免同类名的错误":["5.39"],"元素":["5.40"],"是否禁用组件":["6.1","7.1","8.1"],"name":["6.1","7.1","7.2","8.1","16.1","17.2","18.1"],"组件唯一名称":["7.1"],"用于标记类名":["7.1"],"index":["7.1","7.2","17.1","17.2","28.1","28.8","28.9","36.5","36.7","36.9","36.10","36.12","36.14","39.1","39.8","39.9"],"controls":["7.2","17.2"],"your":["7.2","17.2","29.44"],"button":["7.2","17.2","29.19","29.45","29.49"],"img":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5","29.29","40.29"],"layer":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"png":["8.2","8.3","8.5","18.2","18.3","18.5"],"aspectratio":["9.1"],"subtitleoffset":["9.1"],"number":["9.2","17.1","19.2","29.34","40.34","40.37"],"列表宽度":["9.2"],"tooltip":["9.2","9.4","9.5","19.2"],"提示文本":["9.2","9.5"],"元素的图标":["9.4","9.5"],"按钮默认状态":["9.4"],"onswitch":["9.4","19.4"],"function":["9.4","9.5","19.4","19.5","20.5","29.15","29.18","29.47","30.5"],"按钮切换事件":["9.4"],"range":["9.5","15.8","15.36","15.37","29.25"],"array":["9.5","19.5"],"默认状态数组":["9.5"],"onrange":["9.5","19.5"],"完成时触发的事件":["9.5"],"onchange":["9.5","19.5"],"变化时触发的事件":["9.5"],"属性用于切换是否显示全部层":["10.9"],"属性用于切换是否显示全部控制器":["10.10"],"属性用于切换是否显示全部菜单":["10.11"],"update":["10.16"],"方法动态更新设置项":["10.16"],"是指挂载在":["11.0"],"here":["15.0"],"and":["15.3","15.8","15.9","15.12","15.19","15.22","15.26","15.27","15.28","15.30","15.32","15.33","15.34","19.1","29.4","29.40"],"pause":["15.3"],"the":["15.4","15.12","15.13","15.15","15.21","15.23","15.24","15.28","15.31","16.1","18.1","20.0","20.6","29.5","29.9","29.13","29.15","29.16","29.17","29.18","29.19","29.21","29.22","29.23","29.24","29.25","29.28","29.40","29.43","29.48","29.49"],"player":["15.4","15.18","15.19","15.20","15.22","15.25","15.26","15.27","15.28","15.32","15.34","15.38","20.5","29.1","29.3","29.4","29.7","29.8","29.12","29.13","29.23","29.24","29.36","29.48","30.5"],"accept":["15.4"],"a":["15.4","29.45"],"indicating":["15.4"],"whether":["15.4","15.12","15.23","29.10","29.14","29.28"],"time":["15.5","15.6","15.7","15.13","29.34","40.34"],"jump":["15.5"],"in":["15.5","15.6","15.7","15.20","15.29","29.6","29.14","29.18","29.21","29.22","29.33","29.44","29.50"],"seconds":["15.5","15.7","15.29"],"fast":["15.6"],"rewind":["15.7"],"get":["15.8","15.9","15.12","15.19","15.22","15.26","15.27","15.33"],"set":["15.9","15.22","15.27","15.30","15.31","15.32","15.33","15.34"],"to":["15.10","15.11","15.38","15.39","20.3","29.10","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.28","29.36","29.42","29.45","29.46","29.49"],"that":["15.10"],"of":["15.10","15.13","15.15","15.16","15.17","15.18","15.19","15.20","15.25","15.30","15.31","15.40","20.6","29.3","29.8","29.25","29.36"],"but":["15.10","15.11","15.39"],"some":["15.10","29.36"],"optimization":["15.10"],"operations":["15.10"],"will":["15.10","15.38","29.5","29.12","29.39"],"be":["15.10","29.4","29.41"],"with":["15.11","15.36","15.37","19.1","29.25","29.41","29.44"],"previous":["15.11"],"playback":["15.11","15.27","15.29","15.37","29.16"],"progress":["15.11","29.9","29.26","29.37"],"is":["15.12","15.23","15.24","15.30","15.38","15.39","29.4","29.7","29.27","29.42"],"current":["15.13","15.15","15.16","15.17"],"setting":["15.13","15.24","36.15"],"screenshot":["15.16","15.17"],"screen":["15.18","15.19"],"window":["15.18","29.23","40.36"],"full":["15.19","29.24"],"picture":["15.20","29.21"],"mode":["15.20","29.9","29.27","36.4"],"posters":["15.21"],"you":["15.21","29.27"],"can":["15.21","15.30","29.4"],"only":["15.21","29.5","29.26"],"see":["15.21"],"effect":["15.21"],"adaptive":["15.24"],"size":["15.24"],"after":["15.24","15.30"],"coordinate":["15.25"],"information":["15.25"],"rollover":["15.26"],"support":["15.26"],"speed":["15.27","29.16"],"obtain":["15.28"],"aspect":["15.28","29.17"],"ratio":["15.28","29.17"],"sequential":["15.29"],"automatically":["15.30","29.11"],"calculate":["15.30"],"height":["15.30"],"it":["15.30"],"attributes":["15.31","29.39"],"element":["15.31"],"titles":["15.32"],"dynamically":["15.32","15.33","15.34"],"types":["15.33"],"color":["15.34","29.7","36.4"],"cache":["15.36"],"when":["15.38","29.4","29.5","29.26"],"used":["15.38","17.1"],"process":["15.38"],"similar":["15.39"],"component":["16.1","18.1"],"unique":["16.1","17.1","18.1"],"mark":["17.1"],"class":["17.1"],"panel":["19.1"],"first":["19.1"],"then":["19.1"],"come":["19.1"],"four":["19.1"],"click":["19.2"],"event":["19.2","19.5"],"width":["19.2"],"prompt":["19.2","20.6"],"text":["19.2","40.34"],"default":["19.4","19.5","20.5","30.5"],"state":["19.4","19.5"],"fired":["19.5"],"completion":["19.5"],"english":["20.0"],"bash":["20.1","30.1"],"npm":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"jsdelivr":["20.2","30.2"],"net":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"https":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"const":["20.3","20.5","30.3","30.5"],"path":["20.3"],"template":["20.4","30.4"],"ref":["20.4"],"export":["20.5","30.5"],"option":["20.5","30.5"],"getinstance":["20.5","30.5"],"rest":["20.5","30.5"],"artref":["20.5","30.5"],"lose":["20.6"],"type":["20.6"],"typescript":["20.6"],"last":["20.7"],"major":["20.7"],"version":["20.7","30.7"],"chrome":["20.7"],"for":["20.7"],"older":["20.7"],"data":["21.0","25.4","25.5","31.0","35.4","35.5","36.6","36.8","36.11","36.12","36.13"],"libs":["21.0","22.0","25.4","25.5","31.0","32.0","35.4","35.5","36.6","36.8","36.9","36.11","36.12","36.13","36.14"],"cdnjs":["21.0","22.0","23.0","31.0","32.0","33.0"],"cloudflare":["21.0","22.0","23.0","31.0","32.0","33.0"],"ajax":["21.0","22.0","23.0","31.0","32.0","33.0"],"dashjs":["21.0","31.0"],"all":["21.0","31.0"],"beta":["23.0","33.0"],"min":["23.0","33.0"],"install":["24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"uncompiled":["25.4","25.5","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.11","36.12","36.13","36.14"],"plugin":["25.4","25.5","35.4","35.5","36.6","36.7","36.8","36.9","36.10","36.12","36.13","36.14"],"里控制跨域":["28.1","39.1"],"head":["28.5","39.5"],"title":["28.5","39.5"],"meta":["28.5","39.5"],"接口":["28.6","28.10","39.6","39.10"],"内部运行":["28.7","39.7"],"同时它也能用于异步获取":["28.7","39.7"],"里的值":["28.7","39.7"],"warning":["28.10","39.10"],"接收来自":["28.11","39.11"],"iframe":["28.12","39.12"],"是不生效的":["28.13","39.13"],"这时候只要监听":["28.13","39.13"],"里的":["28.13","39.13"],"fullscreenweb":["28.13","39.13"],"事件并通知到":["28.13","39.13"],"identifier":["29.3"],"currently":["29.3","29.6","29.7","29.43"],"triggered":["29.4"],"initialized":["29.4"],"successfully":["29.4"],"played":["29.4"],"just":["29.4"],"appear":["29.5"],"which":["29.6","29.39"],"appears":["29.6","29.26"],"using":["29.9","29.36"],"live":["29.9"],"mute":["29.10"],"by":["29.10","29.12"],"fill":["29.12"],"entire":["29.12"],"scrolls":["29.13"],"outside":["29.13"],"play":["29.14"],"display":["29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.43","29.45","29.49"],"bottom":["29.18","29.33"],"control":["29.18","29.33"],"keys":["29.20"],"there":["29.22"],"are":["29.22"],"multiple":["29.22"],"players":["29.22"],"offset":["29.25"],"5s":["29.25","40.25"],"bar":["29.26","29.33","29.34","29.37"],"mount":["29.27"],"useful":["29.27"],"if":["29.27"],"want":["29.27"],"render":["29.27"],"use":["29.28","29.36"],"list":["29.33"],"property":["29.33","29.34","29.37","29.38"],"describe":["29.33","29.34","29.37","29.38"],"native":["29.36"],"functions":["29.36"],"directly":["29.36"],"instead":["29.36"],"this":["29.36"],"thumbnail":["29.37"],"format":["29.38"],"vtt":["29.38"],"srt":["29.38"],"ass":["29.38"],"metadata":["29.39","40.39"],"more":["29.39"],"icon":["29.40"],"supports":["29.40","29.43"],"together":["29.41"],"customtype":["29.41"],"decoding":["29.42"],"right":["29.42"],"handed":["29.42"],"over":["29.42"],"built":["29.44","29.50"],"add":["29.44","29.46"],"language":["29.44"],"long":["29.46"],"press":["29.46"],"rotate":["29.48"],"according":["29.48"],"change":["29.50"],"css":["29.50"],"variables":["29.50"],"from":["30.3"],"的类型提示":["30.6"],"这时候你可以手动导入类型":["30.6"],"变量":["30.6"],"对于古老的浏览器":["30.7"],"可以使用":["30.7"],"legacy":["30.7"],"文件":["30.7"],"弹幕透明度":["36.4"],"fontsize":["36.4"],"字体大小":["36.4"],"支持数字和百分比":["36.4"],"ffffff":["36.4"],"默认字体颜色":["36.4"],"默认模式":["36.4"],"danmuku":["36.5","36.7","36.9","36.10","36.12","36.13","36.14","36.15"],"antioverlap":["36.11"],"synchronousplayback":["36.11"],"filter":["36.11"],"locktime":["36.11"],"beforeemit":["36.11"],"artplayerplugindanmuku":["36.15"],"xml":["36.15"],"容器":["40.1"],"目前只用于记忆播放":["40.3"],"autoplayback":["40.3"],"事件一样":["40.4"],"只会出现在播放器初始化且未播放的状态下":["40.5"],"目前会出现在":["40.6"],"视频截图":["40.6","40.18"],"迷你模式":["40.6"],"下":["40.6"],"播放器主题颜色":["40.7"],"目前用于":["40.7"],"进度条":["40.7"],"播放器的默认音量":["40.8"],"使用直播模式":["40.9"],"会隐藏进度条和播放时间":["40.9"],"是否默认静音":["40.10"],"播放器的尺寸默认会填充整个":["40.12"],"容器尺寸":["40.12"],"所以经常出现黑边":["40.12"],"该值能自动调整播放器尺寸以隐藏黑边":["40.12"],"当播放器滚动到浏览器视口以外时":["40.13"],"自动进入":["40.13"],"迷你播放":["40.13"],"模式":["40.13","40.28"],"是否循环播放":["40.14"],"是否显示视频翻转功能":["40.15"],"目前只出现在":["40.15"],"设置面板":["40.15","40.16","40.17","40.19","40.25"],"右键菜单":["40.15","40.16","40.17"],"是否显示视频播放速度功能":["40.16"],"会出现在":["40.16","40.17"],"是否显示视频长宽比功能":["40.17"],"是否在底部控制栏里显示":["40.18","40.19","40.21"],"功能":["40.18"],"的开关按钮":["40.19","40.21"],"画中画":["40.21"],"假如页面里同时存在多个播放器":["40.22"],"是否只能让一个播放器播放":["40.22"],"是否在底部控制栏里显示播放器":["40.23","40.24"],"窗口全屏":["40.23"],"按钮":["40.23","40.24","40.49"],"网页全屏":["40.24"],"出现在":["40.25"],"迷你进度条":["40.26"],"只在播放器失去焦点后且正在播放时出现":["40.26"],"挂载模式":["40.27"],"假如你希望在播放器挂载前":["40.27"],"就提前渲染好播放器所需的":["40.27"],"时有用":["40.27"],"你可以通过":["40.27"],"在移动端是否使用":["40.28"],"类型":["40.33"],"描述":["40.33","40.34","40.37","40.38"],"默认画质":["40.33"],"画质名字":["40.33"],"高亮时间":["40.34"],"高亮文本":["40.34"],"白名单是一个数组类型":["40.36"],"分别与":["40.36"],"navigator":["40.36"],"useragent":["40.36"],"进行匹配":["40.36","40.42"],"只要其中一项匹配成功则启用播放器":["40.36"],"预览图地址":["40.37"],"预览图数量":["40.37"],"column":["40.37"],"字幕地址":["40.38"],"字幕类型":["40.38"],"可选":["40.38"],"preload":["40.39"],"更多视频属性":["40.39"],"这些属性将直接写入视频元素里":["40.39"],"字符串和":["40.40"],"htmlelement":["40.40"],"一起使用":["40.41"],"默认视频的格式就是视频地址的后缀":["40.41"],"如":["40.41"],"m3u8":["40.41"],"mkv":["40.41"],"ts":["40.41"],"但有时候视频地地址没有正确的后缀":["40.41"],"把视频解码权交给第三方程序进行处理":["40.42"],"处理的函数能接收三个参数":["40.42"],"视频":["40.42"],"dom":["40.42"],"tolowercase":["40.43"],"默认显示语言":["40.43"],"目前支持":["40.43"],"en":["40.43"],"zh":["40.43"],"cn":["40.43"],"是否在移动端显示一个":["40.45"],"锁定按钮":["40.45"],"用于隐藏底部":["40.45"],"控制栏":["40.45"],"是否在移动端添加长按视频快进功能":["40.46"],"是否在移动端的网页全屏时":["40.48"],"根据视频尺寸和视口尺寸":["40.48"],"旋转播放器":["40.48"],"是否显示":["40.49"],"当前只有部分浏览器支持该功能":["40.49"]},{"0":["9.5"],"1":["9.5","15.8","19.5"],"2":["29.1","40.1"],"4":["29.8","29.11","29.20","29.31","29.32","29.44","40.11","40.20","40.31","40.32","40.40","40.47","40.50"],"5":["9.5","19.5","29.47","40.47"],"6":["2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38"],"7":["2.20","2.22","2.23","2.25","2.26","5.14","5.25","5.30","12.19","12.21","12.22","12.24","12.25","29.4","40.4","40.40"],"8":["2.18","2.21","5.1","5.12","5.19","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.41","12.17","12.20","15.29","28.5","39.5","40.38"],"9":["2.29","2.30","5.18","5.20","5.21","12.28","12.29","15.18","15.20","29.4","29.44","40.4"],"10":["2.7","2.19","2.24","5.35","7.5","9.5","12.2","12.6","12.18","12.23","15.35","17.5","19.5"],"11":["5.2","5.3","5.19","15.2","20.7","30.7"],"12":["29.31","40.31"],"15":["29.35","40.35"],"16":["29.32","40.32"],"17":["4.0","14.0"],"18":["21.0","31.0"],"19":["22.0","32.0"],"21":["21.0","23.0","33.0"],"22":["22.0"],"23":["31.0"],"24":["23.0","32.0"],"25":["21.0"],"26":["22.0","33.0"],"28":["23.0"],"250":["9.2","19.2"],"是指挂载在":["0.0","1.0","5.0","10.0"],"js":["0.1","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","0.16","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.2","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.23","5.24","5.25","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.1","9.4","9.5","10.1","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.15","10.16","11.1","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.2","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.27","13.28","13.29","15.1","15.2","15.3","15.18","15.20","15.25","15.29","15.35","19.5","25.4","25.5","29.4","29.8","29.11","29.20","29.31","29.35","29.44","35.4","35.5","36.6","36.8","36.11","36.13","36.14","40.1","40.8","40.11","40.20","40.31","40.34","40.35","40.40","40.47","40.50"],"var":["0.1","0.2","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","0.17","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.2","5.3","5.12","5.14","5.18","5.20","5.21","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.35","5.41","9.4","10.1","10.2","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","10.17","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.18","15.20","15.29","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","29.47","35.5","36.7","36.8","36.9","36.10","36.11","36.12","36.14","40.1","40.4","40.11","40.20","40.31","40.32","40.40","40.47"],"art":["0.1","0.2","0.3","0.6","0.7","0.8","0.11","0.14","0.16","0.17","2.2","2.3","2.7","2.12","2.13","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","5.14","5.18","5.20","5.21","5.25","5.29","5.41","8.4","9.4","10.1","10.2","10.3","10.6","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.6","12.7","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","12.30","12.38","15.14","15.18","15.20","15.29","18.4","21.0","23.0","28.7","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.5","30.6","31.0","33.0","36.7","36.9","36.10","36.11","36.12","39.7","40.1","40.4","40.20","40.29","40.30","40.31","40.32","40.35","40.40","40.42","40.44","40.47"],"new":["0.1","0.2","0.3","0.7","0.8","0.14","0.16","0.17","2.2","2.7","2.18","2.19","2.21","2.24","2.28","2.29","2.30","2.31","5.21","5.29","5.41","8.2","8.4","8.5","10.1","10.2","10.3","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.6","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","12.30","15.10","15.11","15.14","15.18","15.20","15.29","18.2","18.4","18.5","19.2","20.5","28.7","29.1","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.5","36.5","36.7","36.9","36.10","36.11","36.12","39.7","40.1","40.4","40.29","40.30","40.31","40.32","40.44"],"artplayer":["0.2","0.3","0.4","0.8","0.14","0.16","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","3.4","3.5","3.6","3.28","3.29","5.21","5.29","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.4","10.8","10.10","10.11","10.14","10.16","10.17","12.2","12.7","12.18","12.23","12.27","12.28","12.29","12.30","13.4","13.5","13.6","13.28","13.29","15.14","15.18","15.29","18.2","18.3","18.4","18.5","19.2","19.6","20.1","24.2","24.3","25.2","25.3","26.3","27.3","28.3","28.4","28.7","29.8","29.11","29.20","29.29","29.30","29.31","29.32","29.44","29.47","30.1","30.6","34.2","34.3","35.2","35.3","36.2","36.3","36.11","37.3","38.3","39.3","39.4","39.7","40.4","40.27","40.29","40.30","40.31","40.32","40.44"],"container":["0.2","0.3","0.4","0.14","0.17","2.2","2.28","2.31","5.29","6.2","6.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.4","10.11","10.14","10.16","10.17","12.7","12.27","12.30","15.14","15.18","15.29","16.2","16.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.5","28.7","29.8","29.11","29.20","29.29","29.30","29.32","29.44","29.47","30.5","36.5","36.9","36.10","36.12","39.7","40.2","40.4","40.29","40.30","40.32","40.44"],"app":["0.2","0.3","0.5","0.14","2.31","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","10.3","10.5","10.14","12.30","15.14","15.18","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.4","28.7","29.1","29.20","29.29","29.30","29.47","30.3","36.5","36.9","36.10","39.7","40.2","40.4","40.29","40.30","40.44"],"url":["0.3","0.5","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.5","9.2","9.6","9.7","10.3","10.5","15.11","15.14","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.5","19.2","19.6","19.7","21.0","22.0","23.0","28.7","29.29","29.30","29.33","29.47","30.3","31.0","32.0","33.0","36.5","36.10","39.7","40.29","40.30","40.33","40.42","40.44"],"classname":["0.4","1.11","3.14","3.20","3.23","3.24","3.27","3.30","5.4","5.10","5.11","5.13","5.26","5.36","5.37","5.38","5.39","9.4","10.4","11.11","13.14","13.20","13.23","13.24","13.27","13.30","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.4","29.6","29.10","29.14","29.18","29.34","29.40","29.50","40.6","40.7","40.9","40.13","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.33","40.34","40.39","40.41","40.45","40.48","40.49"],"run":["0.4","0.9","0.10","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.3","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.27","3.30","5.4","5.5","5.6","5.8","5.10","5.11","5.13","5.22","5.24","5.26","5.36","5.37","5.38","5.39","5.40","9.4","10.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.3","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.22","13.23","13.24","13.25","13.26","13.27","13.30","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.21","15.22","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.4","29.10","29.14","29.18","29.34","29.40","29.50","40.3","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.34","40.39","40.41","40.45","40.46","40.48","40.49"],"code":["0.4","0.9","0.10","0.11","0.12","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","3.1","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.13","5.16","5.17","5.22","5.24","5.26","5.30","5.36","5.37","5.38","5.39","5.40","9.1","9.4","10.4","10.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","13.1","13.3","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.30","15.3","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.19","15.20","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.40","19.4","28.13","29.4","29.18","29.34","29.40","29.50","39.13","40.3","40.5","40.6","40.8","40.9","40.10","40.13","40.14","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.34","40.39","40.41","40.45","40.46","40.48","40.49"],"document":["0.4","10.4","20.0","29.1"],"queryselector":["0.4","10.4"],"assets":["0.5","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.6","9.7","10.5","15.14","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.6","19.7","29.30","29.47","36.5","36.10","40.2","40.30","40.44"],"sample":["0.5","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.7","10.5","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.7","29.30","36.5","40.2","40.30","40.44"],"video":["0.5","6.2","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.7","10.5","16.2","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.7","20.3","21.0","22.0","24.4","29.30","29.48","30.3","31.0","32.0","34.4","36.5","40.2","40.44"],"mp4":["0.5","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.3","9.7","9.8","10.5","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.3","19.7","19.8","20.3","24.4","29.2","30.3","34.4","40.2"],"test":["0.5","10.5"],"foo":["0.5","10.5"],"bar":["0.5","10.5","29.7","29.9","29.18"],"const":["0.5","9.5","10.5","19.5"],"console":["1.1","2.0","11.1","12.0","36.15"],"info":["2.0","12.0","36.15"],"只监听一次事件":["2.0","12.0"],"但估计没有足够的数据来支撑播放到结束":["2.40","12.39"],"渲染完成":["2.42","12.41"],"属性的值改变时触发":["2.43","12.42"],"当这个":["2.44","12.43"],"因为":["2.45","12.44"],"或者资源类型不是受支持的媒体格式":["2.46","12.45"],"中的首帧已经完成加载":["2.47","12.46"],"播放准备开始":["2.51","12.50"],"seek":["2.54","2.55","12.53","12.54","15.13"],"user":["2.56","12.55"],"属性指定的时间发生变化":["2.58","12.57"],"播放已停止":["2.60","12.59"],"也是指挂载在":["3.0","13.0"],"构造函数":["3.0","11.0","13.0"],"div":["3.30","5.4","5.11","5.36","5.37","5.39","9.4","13.30","15.5","15.6","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.33","15.34","15.38","15.40","19.4","29.3","29.4","29.6","29.10","29.14","29.18","29.25","29.34","29.40","29.50","40.6","40.7","40.13","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.25","40.27","40.28","40.33","40.34","40.36","40.39","40.41","40.42","40.45","40.48","40.49"],"组件唯一名称":["6.1","8.1"],"用于标记类名":["6.1","8.1"],"index":["6.1","7.5","8.1","16.1","17.5","18.1","25.4","25.5","28.11","35.4","35.5","36.6","36.8","36.11","36.13","39.11"],"number":["6.1","7.1","8.1","16.1","18.1","29.37"],"contextmenu":["6.4","6.5","16.4","16.5"],"name":["6.5","7.5","9.8","16.5","17.5","19.8","29.33"],"组件索引":["7.1"],"用于显示的优先级":["7.1"],"html":["7.1","7.2","9.3","9.8","15.4","17.1","17.2","19.3","19.8","20.3","24.4","28.9","29.27","29.33","34.4","39.9"],"element":["7.1","17.1"],"position":["7.2","7.5","17.2","17.5"],"left":["7.2","17.2"],"tooltip":["7.2","9.8","17.2","19.4","19.5","19.8"],"style":["7.2","9.2","17.1","17.2","29.38","40.38"],"color":["7.2","17.2"],"red":["7.2","17.2"],"click":["7.2","17.2"],"function":["7.2","17.2","21.0","22.0","23.0","29.16","29.17","29.35","29.42","29.46","31.0","32.0","33.0","40.35"],"args":["7.2","17.2"],"controls":["7.3","7.5","17.3","17.5"],"add":["7.3"],"button1":["7.5","17.5"],"png":["8.4","18.4","29.29","40.29"],"setting":["9.2","9.3","9.7","9.8","19.2","19.3","19.7","19.8","29.15","29.16","29.17"],"true":["9.2","9.3","9.7","9.8","15.24","15.30","19.2","19.3","19.7","19.8","24.4","34.4","36.4"],"settings":["9.2","9.3","9.8","19.2","19.3","19.8","29.25"],"subtitle":["9.2","19.2"],"01":["9.2","9.3","19.2"],"default":["9.2"],"span":["9.2"],"multi":["9.3","19.3"],"level":["9.3","19.3"],"selector":["9.3","19.3"],"提示文本":["9.4"],"value":["9.5","29.12"],"min":["9.5","21.0","22.0","31.0","32.0"],"flip":["9.7","19.1","19.7"],"slider":["9.8","19.8"],"5x":["9.8","19.8"],"icon":["9.8","19.8"],"的":["11.0","40.12"],"refers":["15.0"],"to":["15.0","15.13","15.24","15.30","20.7","28.7","30.3","39.7"],"remove":["15.4"],"s":["15.4"],"after":["15.4"],"seconds":["15.6"],"performed":["15.10"],"supports":["15.10","15.11"],"two":["15.10","15.11"],"parameters":["15.10","15.11"],"first":["15.10","15.11"],"is":["15.11","15.13","15.21","15.36","15.37","29.2","29.5","29.36"],"similar":["15.13"],"but":["15.13","29.41"],"it":["15.13","15.24","15.38","29.13"],"will":["15.13","15.24","15.30","29.9","29.16","29.17"],"frame":["15.15","15.16","15.17"],"and":["15.16","15.17","29.5","29.6","29.7","29.9","29.26","29.48"],"return":["15.16","15.17","20.5"],"a":["15.16","15.17","29.14","29.42"],"promise":["15.16","15.17"],"web":["15.19","29.24"],"page":["15.19","29.22","29.24"],"before":["15.21","29.27"],"played":["15.21","29.5"],"mode":["15.22","29.6","29.28"],"only":["15.24","29.3","29.15","29.49"],"be":["15.24","15.30","29.39"],"executed":["15.24","15.30"],"horizontal":["15.26"],"vertical":["15.26"],"once":["15.30"],"dynamically":["15.31"],"often":["15.36","15.37","29.12"],"used":["15.36","15.37","16.1","18.1","29.3","29.7"],"in":["15.36","15.37","29.15","29.16","29.17","29.19","29.23","29.24","29.25","29.27"],"conjunction":["15.36","15.37"],"also":["15.38"],"automatically":["15.38","29.12","29.13"],"destroy":["15.38"],"destroyed":["15.38"],"queried":["15.39"],"object":["15.39","17.1","40.12"],"limited":["15.39"],"current":["15.39","20.5","30.5"],"player":["15.39","15.40","29.5","29.26","29.27"],"mark":["16.1","18.1"],"class":["16.1","18.1"],"for":["17.1","29.3","29.42"],"display":["17.1"],"priority":["17.1"],"dom":["17.1"],"of":["17.1","29.19"],"built":["19.1"],"items":["19.1"],"playbackrate":["19.1"],"aspectratio":["19.1"],"toggle":["19.4"],"event":["19.4","28.12","29.4","39.12"],"prompt":["19.4","19.5"],"text":["19.4","19.5","29.34"],"change":["19.5"],"has":["20.0"],"not":["20.0","29.2","29.5"],"head":["20.3"],"title":["20.3"],"demo":["20.3"],"artref":["20.4","30.4"],"if":["20.5","23.0","30.5","33.0"],"typeof":["20.5","30.5"],"at":["20.6","29.2","29.22"],"this":["20.6","29.2","29.12"],"time":["20.6","29.9","29.22"],"you":["20.6"],"can":["20.6","29.12","29.22","29.36"],"manually":["20.6"],"import":["20.6","30.6","30.7"],"use":["20.7"],"legacy":["20.7"],"file":["20.7"],"up":["20.7"],"ie":["20.7","30.7"],"plaympd":["21.0","31.0"],"playflv":["22.0","32.0"],"playm3u8":["23.0","33.0"],"plugin":["24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","34.2","34.3","35.2","35.3","36.2","36.3","36.11","37.2","37.3","38.2","38.3","39.3","39.4"],"ads":["24.2","34.2"],"npm":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"autosize":["24.4","34.4"],"fullscreen":["24.4","34.4"],"fullscreenweb":["24.4","34.4"],"plugins":["24.4","34.4"],"artplayerpluginads":["24.4","34.4"],"html广告":["24.4","34.4"],"假如是视频广告则忽略该值":["24.4","34.4"],"control":["25.2","25.4","25.5","29.36","35.2","35.4","35.5"],"dash":["26.2","26.3","37.2","37.3"],"quality":["26.2","26.3","27.2","27.3","37.2","37.3","38.2","38.3"],"hls":["27.2","27.3","38.2","38.3"],"iframe":["28.1","28.3","28.5","28.8","39.1","39.3","39.5","39.8"],"charset":["28.5","39.5"],"utf":["28.5","39.5","40.38"],"body":["28.5","39.5"],"id":["28.5","39.5"],"path":["28.7","30.3","39.7"],"接收来自":["28.8","39.8"],"无法与":["28.9","39.9"],"提示":["28.10","39.10"],"message":["28.12","39.12"],"即可":["28.13","39.13"],"group":["28.13","39.13"],"doctype":["28.13","39.13"],"sometimes":["29.2","29.41"],"the":["29.2","29.26","29.36","29.39","29.45","29.46"],"known":["29.2"],"so":["29.2","29.12"],"quickly":["29.2"],"autoplayback":["29.3"],"like":["29.4"],"ready":["29.4"],"initialized":["29.5"],"screenshot":["29.6"],"mini":["29.6"],"on":["29.7","29.28","29.46","36.15"],"progress":["29.7"],"playback":["29.9"],"black":["29.12"],"edges":["29.12"],"appear":["29.12","29.16","29.17"],"viewport":["29.13","29.48"],"enters":["29.13"],"currently":["29.15","29.49"],"appears":["29.15","29.25"],"bottom":["29.19","29.21","29.23"],"switch":["29.21"],"button":["29.21","29.23","29.24"],"same":["29.22"],"full":["29.23"],"screen":["29.23","29.24"],"loses":["29.26"],"focus":["29.26"],"required":["29.27"],"by":["29.27"],"advance":["29.27"],"mobile":["29.28","29.45"],"end":["29.28","29.45"],"layer":["29.29","40.29"],"boolean":["29.33"],"string":["29.33","29.34"],"myplugin":["29.35","40.35"],"option":["29.36"],"an":["29.36"],"which":["29.36"],"matched":["29.36"],"column":["29.37"],"width":["29.37","40.37"],"encoding":["29.38","40.38"],"directly":["29.39"],"written":["29.39"],"into":["29.39"],"htmlelement":["29.40"],"suffix":["29.41"],"address":["29.41"],"such":["29.41"],"as":["29.41"],"m3u8":["29.41"],"mkv":["29.41"],"ts":["29.41"],"does":["29.41"],"third":["29.42"],"party":["29.42"],"program":["29.42"],"processing":["29.42"],"en":["29.43"],"zh":["29.43"],"cn":["29.43"],"tw":["29.43","40.43"],"cs":["29.43","40.43"],"hide":["29.45"],"fast":["29.46"],"forward":["29.46"],"size":["29.48"],"when":["29.48"],"some":["29.49"],"browsers":["29.49"],"support":["29.49"],"install":["30.1"],"ref":["30.4"],"type":["30.6"],"let":["30.6"],"可以兼容到":["30.7"],"from":["30.7"],"danmuku":["36.2","36.6","36.8"],"滚动":["36.4"],"静止":["36.4"],"margin":["36.4"],"弹幕上下边距":["36.4"],"antioverlap":["36.4"],"是否防重叠":["36.4"],"useworker":["36.4"],"是否使用":["36.4"],"emit":["36.15"],"danmu":["36.15"],"新增弹幕":["36.15"],"loaded":["36.15"],"高亮元素":["40.7"],"上":["40.7"],"类似":["40.12"],"css":["40.12"],"fit":["40.12"],"里":["40.15","40.16","40.17","40.25"],"访问到播放器所需的":["40.27"],"画质地址":["40.33"],"支持":["40.36"],"字符串":["40.36"],"匹配":["40.36"],"函数":["40.36"],"正则":["40.36"],"预览图列数":["40.37"],"预览图宽度":["40.37"],"height":["40.37"],"预览图高度":["40.37"],"字幕样式":["40.38"],"字幕编码":["40.38"],"默认":["40.38"],"escape":["40.38"],"所以需要特别指明":["40.41"],"元素":["40.42"],"视频地址":["40.42"],"当前实例":["40.42"],"pl":["40.43"],"es":["40.43"]},{"0":["19.5"],"1":["3.28","9.2","13.28","19.2"],"2":["3.28","9.5","13.28","19.5","40.3"],"3":["9.5"],"4":["9.1","29.18","29.34","29.40","29.50","40.5","40.6","40.8","40.9","40.10","40.14","40.18","40.22","40.25","40.26","40.33","40.34","40.39","40.41","40.46"],"5":["28.7","39.7"],"6":["5.39","5.40"],"7":["5.4","5.5","5.6","5.9","5.15","5.16","5.17","5.22","5.36","5.37","5.38","15.5","15.6","15.9","15.25","15.30","15.38","25.4","29.40","35.4","40.39"],"8":["5.8","5.13","5.23","5.24","5.26","15.1","15.8","15.12","15.19","15.23","15.26","15.27","15.28","15.31","15.32","15.33","15.34","20.3","28.13","29.38","39.13"],"9":["5.10","5.11","15.21"],"10":["5.7","5.38","7.3","7.4","15.7","15.38","17.3","17.4"],"11":["5.30","15.3","15.19","15.30"],"14":["40.33"],"22":["9.8","19.8"],"25":["29.34","40.34"],"40":["3.6","13.6"],"50":["36.4"],"100":["3.9","13.9"],"111":["36.5"],"150":["9.3","19.3"],"300":["3.4","3.5","13.4","13.5"],"500":["3.8","3.16","13.8","13.16"],"1000":["3.7","13.7"],"实例":["0.0","5.0","10.0"],"artplayer":["0.1","0.6","0.7","0.9","0.10","0.11","0.12","0.13","0.15","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.1","9.4","10.1","10.6","10.7","10.9","10.12","10.13","10.15","11.1","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.1","13.2","13.3","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.16","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.30","15.2","15.3","15.20","15.25","15.30","15.32","15.35","15.38","19.4","20.2","28.13","29.4","29.18","29.40","30.2","39.13","40.11","40.20","40.34","40.40","40.41","40.47","40.50"],"container":["0.1","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","0.16","2.3","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","5.2","5.3","5.8","5.10","5.12","5.14","5.18","5.19","5.20","5.21","5.25","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","5.38","5.41","9.4","10.1","10.6","10.7","10.8","10.9","10.10","10.12","10.13","10.15","12.2","12.5","12.6","12.12","12.13","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","15.2","15.20","15.25","15.38","19.4","25.5","29.4","29.18","29.31","29.40","35.5","36.7","36.8","36.11","36.13","36.14","40.11","40.20","40.31","40.34","40.40","40.47","40.50"],"app":["0.1","0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.16","0.17","2.2","2.7","2.18","2.19","2.21","2.24","2.28","2.29","2.30","5.14","5.18","5.20","5.21","5.25","5.29","5.31","5.41","9.4","10.1","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.16","10.17","12.2","12.6","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","15.20","15.29","15.30","19.4","25.5","29.4","29.8","29.11","29.31","29.32","29.44","30.4","35.5","36.7","36.8","36.11","36.12","36.14","40.1","40.20","40.31","40.32","40.40","40.47"],"url":["0.2","0.4","0.7","0.8","0.10","0.11","0.14","0.16","0.17","2.2","2.19","2.24","2.28","2.29","2.30","2.31","5.18","5.21","5.29","5.41","8.4","9.4","10.2","10.4","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.18","12.23","12.27","12.28","12.29","12.30","15.18","15.20","15.29","15.30","18.4","19.4","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","35.5","36.7","36.8","36.9","36.11","36.12","40.1","40.4","40.31","40.32","40.40","40.47"],"assets":["0.2","0.3","0.4","0.7","0.8","0.11","0.14","0.16","0.17","2.2","2.28","2.31","5.21","5.29","5.41","9.4","10.2","10.3","10.4","10.7","10.8","10.9","10.10","10.11","10.14","10.16","10.17","12.2","12.7","12.27","12.30","15.18","15.20","15.29","15.30","19.4","25.5","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","35.5","36.7","36.8","36.9","36.11","36.12","40.1","40.4","40.31","40.32"],"sample":["0.2","0.3","0.4","0.7","0.14","0.16","0.17","2.2","2.28","2.31","5.21","5.29","9.4","9.6","10.2","10.3","10.4","10.7","10.10","10.11","10.14","10.16","10.17","12.7","12.27","12.30","15.14","15.18","15.20","15.29","19.4","19.6","29.1","29.4","29.8","29.11","29.20","29.31","29.32","29.44","29.47","36.7","36.9","36.10","36.11","36.12","40.4","40.31","40.32"],"video":["0.2","0.3","0.4","0.14","0.16","0.17","2.31","5.29","7.4","8.4","9.4","9.6","10.2","10.3","10.4","10.11","10.14","10.16","10.17","12.7","12.30","15.18","15.20","15.29","17.4","18.4","19.6","28.7","29.1","29.8","29.11","29.20","29.29","29.31","29.32","29.44","29.47","36.7","36.9","36.10","36.11","36.12","39.7","40.4","40.29","40.30","40.32"],"mp4":["0.2","0.3","0.14","0.17","2.31","5.29","6.2","7.4","8.4","9.4","9.6","10.2","10.3","10.14","10.16","10.17","12.30","15.14","15.18","15.20","15.29","16.2","17.4","18.4","19.6","28.7","29.1","29.4","29.8","29.11","29.20","29.29","29.30","29.32","29.44","29.47","36.5","36.9","36.10","36.11","36.12","39.7","40.4","40.29","40.30","40.44"],"console":["0.3","0.5","1.6","7.2","10.3","10.5","11.6","15.14","15.29","17.2","28.12","29.35","39.12","40.35"],"info":["0.3","0.5","1.1","7.2","10.3","10.5","11.1","17.2","28.12","29.35","39.12","40.35"],"art":["0.4","0.9","0.10","0.12","0.13","0.15","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","3.4","3.5","3.6","3.29","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","10.4","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","13.4","13.5","13.6","13.29","15.1","15.2","15.3","15.7","15.8","15.9","15.12","15.21","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","19.4","22.0","25.5","29.4","29.18","29.34","29.35","29.40","29.50","32.0","35.5","36.6","36.8","36.13","36.14","40.5","40.8","40.11","40.18","40.33","40.34","40.41","40.50"],"new":["0.4","0.6","0.9","0.10","0.11","0.12","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.4","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.4","10.4","10.6","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.29","15.1","15.2","15.3","15.7","15.8","15.21","15.25","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","19.4","23.0","25.5","29.4","29.18","29.34","29.40","33.0","35.5","36.6","36.8","36.13","36.14","40.8","40.11","40.20","40.34","40.40","40.41","40.47","40.50"],"function":["0.14","6.5","10.14","16.5","17.1","29.49","40.38"],"构造函数":["1.0"],"var":["1.1","3.4","3.5","3.6","3.16","3.29","5.1","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.30","5.36","5.37","5.38","5.40","9.1","11.1","13.4","13.5","13.6","13.16","13.29","15.1","15.3","15.7","15.8","15.9","15.12","15.19","15.21","15.23","15.25","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.35","15.38","19.4","25.4","29.18","29.34","29.40","29.50","35.4","36.6","36.13","40.3","40.5","40.8","40.18","40.25","40.33","40.34","40.41","40.50"],"js":["1.6","3.1","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.30","5.4","5.5","5.6","5.11","5.13","5.22","5.26","5.36","5.37","5.39","5.40","11.6","13.1","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.30","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.26","15.27","15.28","15.30","15.31","15.32","15.33","15.34","15.38","15.40","19.4","29.18","29.34","29.40","29.50","40.3","40.5","40.6","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.27","40.28","40.33","40.36","40.39","40.41","40.45","40.46","40.48","40.49"],"code":["1.11","9.5","11.11","15.13","15.16","15.17","15.21","15.22","15.24","15.38","19.1","20.7","29.3","29.5","29.6","29.10","29.14","29.25","29.28","29.33","29.38","29.39","30.7","40.7","40.12","40.15","40.16","40.17","40.27","40.36","40.37","40.42"],"once":["2.0","12.0","15.24"],"subtitle":["2.31","7.2","7.5","12.30","17.2","17.5"],"不必停下来进一步缓冲内容":["2.40","12.39"],"media":["2.44","2.45","12.43","12.44"],"已经加载完成":["2.44","12.43"],"操作完成":["2.54","12.53"],"操作开始":["2.55","12.54"],"agent":["2.56","12.55"],"的":["3.0","13.0"],"false":["3.2","13.2","20.5","30.5","36.4"],"add":["4.0","6.3","8.3","14.0","24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"例如我想写一个在视频暂停后":["4.0","14.0"],"显示一个图片广告的插件":["4.0","14.0"],"document":["5.38","15.38","40.1"],"queryselector":["5.38","15.38","29.1","40.1"],"组件索引":["6.1","8.1"],"用于显示的优先级":["6.1","8.1"],"html":["6.1","6.2","6.3","6.4","6.5","7.3","7.5","8.1","8.2","8.3","8.5","9.7","15.18","16.1","16.2","16.3","16.4","16.5","17.3","17.5","18.1","18.2","18.3","18.5","19.7","28.11","29.29","29.30","29.38","30.3","39.11","40.29","40.30","40.38"],"contextmenu":["6.2","6.3","16.2","16.3","29.15","29.16","29.17"],"name":["6.2","6.3","6.4","7.3","7.4","8.2","8.3","8.4","8.5","9.7","15.11","16.2","16.3","16.4","17.3","17.4","18.2","18.3","18.4","18.5","19.7","29.29","29.35","40.29","40.35"],"your":["6.2","6.3","6.4","6.5","7.3","16.2","16.3","16.4","16.5","17.3","29.47","40.44"],"menu":["6.2","6.3","6.4","6.5","16.2","16.3","16.4","16.5"],"click":["6.4","6.5","16.4","16.5","17.1"],"args":["6.5","16.5"],"组件的":["7.1"],"dom":["7.1","29.42"],"元素":["7.1"],"style":["7.1","8.2","8.3","8.5","18.2","18.3","18.5","19.2","29.29"],"object":["7.1"],"mounted":["7.2","17.1","17.2","29.27"],"button1":["7.3","7.4","17.3","17.4"],"index":["7.3","7.4","17.3","17.4"],"position":["7.3","15.18","17.3"],"left":["7.3","17.3"],"controls":["7.4","15.18","15.20","17.4"],"right":["7.5","15.18","17.5"],"selector":["7.5","17.5","29.30","40.30"],"default":["7.5","15.4","17.5","19.2"],"true":["7.5","9.6","15.4","17.5","19.6","29.4","29.11","29.30","29.47","36.5","40.4","40.30","40.38"],"01":["7.5","17.5","19.3"],"layers":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"potser":["8.2","8.3","8.5","18.2","18.3","18.5","29.29","40.29"],"width":["8.2","8.3","8.5","9.3","9.8","18.2","18.3","18.5","19.3","19.8","29.29"],"100px":["8.2","8.3","8.5","18.2","18.3","18.5"],"src":["8.2","8.5","9.8","18.2","18.5","19.8","24.4","34.4"],"color":["9.2","19.2"],"red":["9.2","19.2"],"srt":["9.2","19.2"],"id":["9.2","19.2","29.43","29.47","40.43"],"yellow":["9.2"],"02":["9.2"],"setting":["9.4","9.6","19.6","36.5","40.30"],"max":["9.5","19.5"],"step":["9.5","19.5"],"div":["9.5","15.11","15.13","15.24","15.36","15.37","19.1","20.3","20.5","29.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","30.5","40.12","40.37","40.43"],"classname":["9.5","15.13","15.16","15.17","15.24","15.36","15.37","19.1","29.3","29.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","40.12","40.36","40.37","40.42","40.43"],"run":["9.5","15.13","15.16","15.17","15.24","15.36","15.37","19.1","29.3","29.5","29.6","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.23","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.46","29.49","40.12","40.27","40.36","40.37","40.42"],"settings":["9.7","19.7"],"slider":["9.7","19.7"],"tooltip":["9.7","19.7"],"5x":["9.7","19.7"],"icon":["9.7","19.7"],"img":["9.8","19.8","24.4","34.4"],"heigth":["9.8","19.8"],"state":["9.8","19.8"],"svg":["9.8","19.8"],"一级属性":["11.0"],"primary":["15.0"],"destruction":["15.4"],"value":["15.4","19.5"],"is":["15.4","29.26","29.48"],"and":["15.10","15.11","29.15","29.16","29.17"],"second":["15.10","15.11"],"optional":["15.10","15.11"],"not":["15.13","29.41"],"trigger":["15.13"],"additional":["15.13"],"events":["15.13"],"on":["15.14","15.29"],"ready":["15.14","15.29"],"timeupdate":["15.36","15.37"],"event":["15.36","15.37","17.1"],"which":["15.39"],"can":["15.39","29.2","29.27","29.42"],"avoid":["15.39"],"errors":["15.39"],"same":["15.39"],"for":["16.1","18.1"],"display":["16.1","18.1"],"priority":["16.1","18.1"],"element":["16.1","18.1","29.7","29.39","29.42"],"triggered":["17.1"],"after":["17.1"],"subtitleoffset":["19.1"],"span":["19.2"],"min":["19.5"],"yet":["20.0"],"been":["20.0"],"yarn":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"npm":["20.2","30.2"],"dist":["20.2","20.7","24.3","25.3","26.3","27.3","28.4","30.2","30.7","34.3","35.3","36.3","37.3","38.3","39.4"],"meta":["20.3","28.13","39.13"],"charset":["20.3","28.13","39.13"],"utf":["20.3","28.13","29.38","39.13"],"body":["20.3"],"class":["20.3"],"get":["20.4","28.7","39.7"],"instance":["20.4"],"destroy":["20.5","21.0","22.0","23.0","30.5","31.0","32.0","33.0"],"ref":["20.5","30.5"],"variable":["20.6"],"import":["20.7"],"from":["20.7"],"group":["20.7","30.7"],"bash":["20.7","30.7"],"jsdelivr":["20.7"],"if":["21.0","22.0","31.0","32.0"],"supportsmediasource":["21.0","31.0"],"const":["21.0","22.0","23.0","31.0","32.0","33.0"],"mediaplayer":["21.0","31.0"],"flvjs":["22.0","32.0"],"issupported":["22.0","23.0","32.0","33.0"],"loadsource":["23.0","33.0"],"ads":["24.3","34.3"],"poster":["24.4","34.4"],"jpg":["24.4","34.4"],"视频广告的地址":["24.4","34.4"],"test1":["24.4","34.4"],"广告跳转网址":["24.4","34.4"],"control":["25.3","29.19","29.21","29.23","29.24","29.45","35.3"],"页面里的播放器":["28.1","39.1"],"如在":["28.1","39.1"],"iframe":["28.4","28.9","39.4","39.9"],"seek":["28.7","39.7"],"the":["28.7","39.7"],"的消息":["28.8","39.8"],"head":["28.13","30.3","39.13"],"title":["28.13","30.3","39.13"],"you":["29.1","29.2"],"may":["29.1"],"time":["29.2"],"set":["29.2"],"asynchronously":["29.2"],"muted":["29.4","40.4"],"highlighted":["29.7"],"be":["29.9","29.36"],"hidden":["29.9"],"adjust":["29.12"],"to":["29.12","29.38"],"hide":["29.12"],"mini":["29.13"],"mode":["29.13"],"bar":["29.19","29.21","29.23","29.24","29.45"],"hotkeys":["29.20"],"only":["29.22"],"one":["29.22","29.36"],"player":["29.22"],"play":["29.22","40.44"],"bottom":["29.24","29.45"],"playing":["29.26"],"access":["29.27"],"setting01":["29.30","40.30"],"return":["29.35","30.5","40.35"],"with":["29.36"],"window":["29.36"],"navigator":["29.36"],"useragent":["29.36"],"respectively":["29.36"],"will":["29.36"],"enabled":["29.36"],"as":["29.36"],"long":["29.36"],"height":["29.37"],"escape":["29.38"],"boolean":["29.38","40.38"],"whether":["29.38"],"tag":["29.38"],"have":["29.41"],"correct":["29.41"],"so":["29.41"],"specially":["29.41"],"specified":["29.41"],"receive":["29.42"],"three":["29.42"],"parameters":["29.42"],"pl":["29.43"],"es":["29.43"],"fa":["29.43","40.43"],"fr":["29.43","40.43"],"ru":["29.43","40.43"],"lang":["29.44","40.44"],"mobile":["29.46","29.48"],"terminal":["29.46"],"warning":["29.47"],"page":["29.48"],"full":["29.48"],"screen":["29.48"],"this":["29.49"],"null":["30.6"],"参数":["30.6"],"param":["30.6"],"create":["31.0"],"danmuku":["36.3"],"web":["36.4"],"worker":["36.4"],"synchronousplayback":["36.4"],"是否同步到播放速度":["36.4"],"filter":["36.4"],"danmu":["36.4"],"text":["36.4","36.5"],"length":["36.4","36.15"],"弹幕过滤函数":["36.4"],"返回":["36.4"],"则可以发送":["36.4"],"plugins":["36.5","36.9","36.10","36.11","36.12"],"artplayerplugindanmuku":["36.5","36.9","36.10","36.11","36.12"],"弹幕数组":["36.5"],"danmus":["36.15"],"加载弹幕":["36.15"],"error":["36.15"],"有时候":["40.2"],"地址没那么快知道":["40.2"],"这时候你可以异步设置":["40.2"],"cover":["40.12"],"是否转义":["40.38"],"标签":["40.38"],"默认为":["40.38"],"onvttload":["40.38"],"用于修改":["40.38"],"文本的函数":["40.38"],"修改现有的语言":["40.44"]},{"1":["3.24","9.8","13.24","19.8","36.5"],"2":["3.25","9.2","13.25","19.2","29.3"],"3":["3.27","13.27","19.5","40.1"],"4":["3.27","13.27","19.1","29.5","29.6","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.46","29.49","40.7","40.12","40.13","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.28","40.36","40.37","40.38","40.42","40.45","40.48","40.49"],"5":["3.22","3.28","9.8","13.22","13.28","15.29","19.8","24.4","29.8","34.4"],"6":["3.28","13.28","15.40","29.2","40.2"],"7":["15.15","15.16","15.17","15.22","15.36","15.37","29.39","40.27"],"8":["15.13","15.24","29.37","30.3","40.37","40.42"],"9":["15.10","15.11"],"10":["3.11","3.13","3.26","9.8","13.11","13.13","13.26","15.29","19.8"],"11":["40.44"],"12":["40.38"],"14":["29.33"],"20":["3.10","13.10"],"22":["9.4"],"60":["36.4"],"100":["36.4"],"200":["36.4"],"500":["3.20","13.20","36.4"],"2000":["3.21","3.23","13.21","13.23"],"3000":["3.14","13.14"],"5000":["3.3","3.12","3.15","13.3","13.12","13.15"],"的":["0.0","0.5","1.0","5.0","10.0","10.5"],"url":["0.1","0.6","0.9","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.4","3.29","5.1","5.2","5.3","5.7","5.8","5.11","5.12","5.13","5.14","5.16","5.17","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.5","10.1","10.6","10.13","10.15","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.29","15.1","15.2","15.3","15.7","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","29.18","29.34","29.40","29.41","29.42","36.6","36.13","36.14","40.8","40.11","40.20","40.34","40.41","40.50"],"assets":["0.1","0.6","0.9","0.10","0.12","0.13","0.15","2.3","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.29","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.23","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.35","9.1","9.5","10.1","10.6","10.12","10.13","10.15","12.5","12.6","12.12","12.13","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.29","15.2","15.3","15.8","15.12","15.21","15.25","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","29.18","29.34","29.40","29.41","36.6","36.13","36.14","40.11","40.20","40.33","40.34","40.40","40.41","40.47","40.50"],"sample":["0.1","0.6","0.8","0.9","0.10","0.11","0.12","0.13","0.15","2.3","2.7","2.12","2.13","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.29","2.30","2.39","5.2","5.3","5.8","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","5.41","9.5","10.1","10.6","10.8","10.9","10.12","10.13","10.15","12.2","12.6","12.12","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.28","12.29","12.38","15.2","15.21","15.25","15.28","15.30","15.31","15.32","15.38","25.5","29.18","29.34","29.40","29.41","35.5","36.6","36.8","36.13","36.14","40.1","40.11","40.20","40.33","40.34","40.40","40.41","40.47","40.50"],"video":["0.1","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.15","2.2","2.3","2.7","2.13","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","5.2","5.3","5.8","5.10","5.11","5.12","5.14","5.18","5.20","5.21","5.25","5.27","5.28","5.30","5.32","5.33","5.34","5.41","10.1","10.6","10.7","10.8","10.9","10.10","10.12","10.13","10.15","12.2","12.6","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.27","12.28","12.29","15.25","15.38","19.4","25.5","29.34","29.40","35.5","36.8","36.13","36.14","40.1","40.11","40.20","40.31","40.34","40.40","40.41","40.47"],"ua":["0.2","10.2"],"iphone":["0.2","10.2"],"gi":["0.2","10.2"],"test":["0.2","10.2"],"console":["0.2","0.4","0.7","0.14","0.17","5.29","6.2","6.3","6.4","6.5","9.2","9.3","10.2","10.4","10.7","10.14","10.17","16.2","16.3","16.4","16.5","19.2","19.3","29.30"],"info":["0.2","0.4","0.7","0.14","0.17","1.6","5.29","6.2","6.3","6.4","6.5","9.2","9.3","10.2","10.4","10.7","10.14","10.17","11.6","15.14","15.29","16.2","16.3","16.4","16.5","19.2","19.3","29.30"],"mp4":["0.4","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.16","2.2","2.18","2.19","2.21","2.24","2.28","2.29","2.30","5.10","5.14","5.18","5.20","5.21","5.25","5.28","5.30","5.31","5.32","5.41","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","12.2","12.7","12.17","12.18","12.20","12.23","12.27","12.28","12.29","15.21","15.25","15.30","15.38","19.4","25.5","29.18","29.31","29.40","35.5","36.7","36.8","36.13","36.14","40.1","40.11","40.20","40.31","40.32","40.34","40.40","40.47"],"click":["0.4","0.14","6.2","6.3","7.1","7.3","10.4","10.14","15.18","15.20","16.2","16.3","17.3","29.31","36.10"],"event":["0.4","0.14","9.2","9.3","10.4","10.14","19.3"],"warning":["0.5","10.5","11.0","15.14","15.18","20.3","29.8","29.11"],"提示":["0.5","10.5"],"默认所有播放器实例都是共享同一个":["0.5","10.5"],"localstorage":["0.5","10.5"],"而且默认的":["0.5","10.5"],"是":["0.5","10.5"],"settings":["0.5","9.4","10.5","19.4"],"如果你想不同的播放器使用不同的":["0.5","10.5"],"play":["0.7","10.7","29.4","29.44","40.4"],"on":["0.8","0.9","0.10","0.11","2.2","5.29","5.41","7.5","8.5","9.8","10.8","10.9","10.10","10.11","12.2","12.7","15.30","17.5","18.5","19.8","21.0","23.0","31.0","33.0"],"ready":["0.10","0.11","2.2","5.29","5.41","7.5","10.9","10.10","10.11","12.7","15.30","17.5"],"app":["0.12","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.4","3.5","3.6","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.19","5.23","5.24","5.26","5.27","5.28","5.30","5.32","5.33","5.34","5.35","5.38","9.1","9.5","10.12","10.13","10.15","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.5","13.6","13.29","15.1","15.2","15.3","15.7","15.8","15.9","15.12","15.19","15.21","15.23","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","15.38","20.5","29.18","29.34","29.40","29.41","29.50","30.5","36.6","36.13","40.8","40.11","40.18","40.25","40.27","40.33","40.34","40.41","40.50"],"hotkeyevent":["0.14","10.14"],"true":["0.16","2.28","3.1","3.19","3.30","7.2","9.4","10.16","12.27","13.1","13.19","13.30","17.2","19.4","25.5","29.18","29.38","35.5"],"flip":["0.16","10.16"],"playbackrate":["0.16","10.16"],"aspectratio":["0.16","10.16"],"function":["0.17","6.2","6.3","6.4","7.1","7.3","9.3","10.17","15.18","15.20","16.2","16.3","16.4","17.3","19.3","28.7","29.30","29.31","29.36","29.38","30.6","36.10","39.7","40.30"],"myplugin":["0.17","10.17"],"art":["1.1","3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.17","3.20","3.21","3.22","3.23","3.26","3.27","3.28","5.4","5.36","5.37","5.38","5.39","5.40","9.5","11.1","13.1","13.2","13.3","13.7","13.8","13.9","13.10","13.11","13.12","13.16","13.17","13.20","13.21","13.22","13.23","13.26","13.27","13.28","15.5","15.6","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.38","15.40","19.1","19.5","20.6","25.4","29.3","29.5","29.6","29.10","29.14","29.25","29.33","29.37","29.41","29.42","35.4","40.3","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.36","40.37","40.39","40.45","40.46","40.48","40.49"],"new":["1.1","3.2","3.5","3.6","3.7","3.8","3.9","3.10","3.16","3.21","3.27","3.28","5.4","5.5","5.6","5.22","5.36","5.37","5.38","5.39","5.40","9.5","11.1","13.2","13.5","13.6","13.7","13.8","13.9","13.10","13.16","13.21","13.27","13.28","15.5","15.6","15.9","15.12","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.26","15.38","15.40","19.1","19.5","25.4","29.6","29.10","29.25","29.33","29.37","29.41","29.50","35.4","40.3","40.5","40.6","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.18","40.19","40.21","40.22","40.23","40.24","40.25","40.26","40.28","40.33","40.36","40.37","40.39","40.45","40.46","40.48","40.49"],"container":["1.1","2.1","2.4","2.5","2.15","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.28","3.29","5.1","5.4","5.5","5.6","5.7","5.9","5.11","5.13","5.15","5.16","5.17","5.22","5.23","5.24","5.26","5.36","5.37","5.39","5.40","9.1","9.5","11.1","12.1","12.3","12.4","12.8","12.9","12.10","12.11","12.15","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.28","13.29","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.12","15.16","15.17","15.19","15.21","15.23","15.24","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","19.5","25.4","29.25","29.33","29.34","29.41","29.50","35.4","36.6","40.5","40.6","40.8","40.18","40.25","40.27","40.33","40.36","40.37","40.39","40.41"],"js":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","15.10","15.11","15.13","15.24","15.36","15.37","19.1","20.2","24.3","25.3","26.3","27.3","28.4","28.8","28.11","29.3","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.25","29.26","29.28","29.33","29.37","29.39","29.41","29.45","29.46","29.49","30.2","34.3","35.3","36.3","37.3","38.3","39.4","39.8","39.11","40.7","40.12","40.37","40.38","40.42","40.43"],"artplayer":["1.6","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.39","5.40","9.5","11.6","15.1","15.5","15.6","15.7","15.8","15.9","15.12","15.15","15.16","15.17","15.19","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.31","15.33","15.34","15.40","19.1","19.5","20.6","29.25","29.27","29.33","29.34","29.41","29.50","40.3","40.5","40.6","40.8","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.25","40.26","40.33","40.36","40.37","40.39","40.46"],"手动触发事件":["2.0","12.0"],"subtitle":["2.28","2.29","2.30","12.27","12.28","12.29"],"srt":["2.31","12.30"],"或者部分加载完成":["2.44","12.43"],"则发送此事件":["2.44","12.43"],"已经到达结束点":["2.45","12.44"],"正在尝试获取媒体数据":["2.56","12.55"],"一级属性":["3.0","13.0"],"var":["3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.30","5.4","5.39","9.5","13.1","13.2","13.3","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.28","13.30","15.5","15.6","15.10","15.11","15.13","15.15","15.16","15.17","15.22","15.24","15.36","15.37","15.40","19.1","19.5","29.3","29.5","29.6","29.10","29.14","29.25","29.28","29.33","29.37","29.39","29.41","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.27","40.28","40.36","40.37","40.38","40.39","40.42","40.45","40.46","40.48","40.49"],"false":["3.17","3.18","6.5","13.17","13.18","16.5","36.5"],"adsplugin":["4.0","14.0"],"option":["4.0","14.0","20.4","21.0","30.4","31.0","36.15"],"layers":["4.0","14.0"],"ads":["4.0","14.0"],"html":["4.0","7.4","8.4","9.6","14.0","15.20","17.4","18.4","19.6","29.31","29.32","36.9","36.10","36.11","36.12","40.31","40.32"],"img":["4.0","9.4","9.7","14.0","19.4","19.7","40.40"],"style":["4.0","6.1","7.3","8.1","8.4","14.0","16.1","17.3","18.1","18.4","20.4","40.29"],"width":["4.0","8.4","9.4","9.7","14.0","18.4","19.7","40.29"],"100px":["4.0","8.4","14.0","18.4","29.29","40.29"],"src":["4.0","8.3","8.4","9.7","14.0","18.3","18.4","19.7","29.29","40.29"],"display":["4.0","14.0"],"none":["4.0","14.0"],"position":["4.0","5.18","7.4","8.2","8.3","8.5","14.0","15.20","17.1","17.4","18.2","18.3","18.5","29.29","29.32","36.9","36.10","36.11","36.12","40.29","40.32"],"absolute":["4.0","8.2","8.3","8.5","14.0","18.2","18.3","18.5","29.29","40.29"],"top":["4.0","8.2","8.3","8.5","14.0","18.2","18.3","18.5","29.29","40.29"],"20px":["4.0","14.0","29.29","40.29"],"right":["4.0","7.2","7.4","8.2","8.5","14.0","15.20","17.2","17.4","18.2","18.5","29.29","36.9","36.10","36.11","36.12"],"controls":["5.18","5.20","25.5","35.5","36.9","36.10","36.11","36.12"],"jpg":["5.21"],"element":["6.1","8.1"],"组件的":["6.1","8.1"],"dom":["6.1","8.1","9.3","16.1","18.1","19.3"],"元素":["6.1","8.1"],"args":["6.2","6.3","6.4","16.2","16.3","16.4","29.30","29.31","40.30"],"show":["6.5","9.6","9.8","16.5","19.6","19.8"],"组件样式对象":["7.1"],"组件点击事件":["7.1"],"mounted":["7.1"],"selector":["7.2","17.2"],"default":["7.2","17.2"],"span":["7.2","17.2"],"01":["7.2","17.2","29.30","40.30"],"button":["7.3","7.4","17.3","17.4"],"tooltip":["7.3","7.4","8.2","8.3","17.1","17.3","17.4","18.2","18.3","29.32"],"color":["7.3","17.3","36.5"],"red":["7.3","17.3"],"your":["7.4","17.4","29.31","29.32","40.31","40.32","40.47"],"02":["7.5","9.3","17.5","19.2","19.3","29.30","40.30"],"settimeout":["7.5","17.5","29.2"],"update":["7.5"],"the":["7.5","17.5","20.3","29.8","29.47"],"tip":["8.2","8.3","15.14","15.18","18.2","18.3","20.3","29.8","29.11","29.47"],"50px":["8.2","8.3","8.5","18.2","18.3","18.5"],"potser":["8.4","18.4"],"item":["9.2","9.3","19.2","19.3"],"onselect":["9.3","19.3","29.30","40.30"],"pip":["9.4","19.4"],"mode":["9.4","19.4"],"close":["9.4","19.4"],"heigth":["9.4","9.7","19.7"],"add":["9.6","20.1","30.1"],"slider":["9.6","19.6"],"state":["9.7","19.7"],"range":["9.8","19.8","36.11"],"非常少使用":["11.0"],"attached":["15.0"],"div":["15.4","15.10","15.39","19.5","29.27","29.36","29.38","29.42","29.43","29.48","40.38"],"classname":["15.4","15.10","15.11","15.39","19.5","29.22","29.27","29.36","29.38","29.42","29.43","29.48","40.38"],"run":["15.4","15.10","15.11","15.39","19.5","29.22","29.24","29.27","29.36","29.38","29.42","29.43","29.45","29.48","40.38","40.43"],"code":["15.4","15.10","15.11","15.36","15.37","15.39","19.5","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.36","29.37","29.41","29.43","29.45","29.46","29.48","29.49","40.38","40.43"],"name":["15.10","15.39"],"some":["15.14"],"videos":["15.14"],"have":["15.14"],"switch":["15.18"],"resize":["15.30"],"class":["15.39"],"of":["16.1","18.1","20.3","29.1"],"object":["16.1","18.1","29.12"],"is":["17.1","20.0"],"text":["17.1","29.38","36.10"],"left":["17.1","29.32","40.32"],"yellow":["19.2"],"setting":["19.4","36.14"],"completed":["20.0"],"everything":["20.0"],"unpkg":["20.2","24.3","25.3","26.3","27.3","28.4","30.2","34.3","35.3","36.3","37.3","38.3","39.4"],"size":["20.3","29.1"],"getinstance":["20.4","30.4","30.6"],"let":["20.6"],"null":["20.6"],"parameters":["20.6"],"net":["20.7","30.7"],"https":["20.7","30.7"],"cdn":["20.7","30.7"],"npm":["20.7","30.7"],"create":["21.0"],"initialize":["21.0","29.1","31.0"],"autoplay":["21.0","31.0"],"createplayer":["22.0","32.0"],"type":["22.0","32.0","36.11"],"attachmediaelement":["22.0","32.0"],"load":["22.0","32.0"],"attachmedia":["23.0","33.0"],"else":["23.0","33.0"],"canplaytype":["23.0","33.0"],"com":["24.3","25.3","26.3","27.3","28.4","34.3","35.3","36.3","37.3","38.3","39.4"],"为空则不跳转":["24.4","34.4"],"http":["24.4","34.4"],"org":["24.4","34.4"],"必须观看的时长":["24.4","34.4"],"期间不能被跳过":["24.4","34.4"],"单位为秒":["24.4","34.4"],"当该值大于或等于totalduration时":["24.4","34.4"],"不能提前关闭广告":["24.4","34.4"],"当该值等于或小于0时":["24.4","34.4"],"则随时都可以关闭广告":["24.4","34.4"],"playduration":["24.4","34.4"],"fullscreen":["25.5","35.5"],"fullscreenweb":["25.5","35.5"],"里通过代码控制":["28.1","39.1"],"value":["28.7","39.7"],"from":["28.7","39.7"],"async":["28.7","39.7"],"use":["28.7","39.7"],"通信":["28.9","39.9"],"只能运行在":["28.10","39.10"],"的消息":["28.11","39.11"],"commit":["28.12","39.12"],"artplayerpluginiframe":["28.12","39.12"],"body":["28.13","30.3","39.13"],"id":["28.13","39.13","40.47"],"need":["29.1"],"elements":["29.1"],"such":["29.1"],"as":["29.1","29.47"],"css":["29.1","40.1"],"this":["29.4","40.4"],"equivalent":["29.4"],"to":["29.4"],"will":["29.8"],"cache":["29.8"],"muted":["29.11"],"if":["29.11"],"you":["29.11"],"want":["29.11"],"similar":["29.12"],"fit":["29.12"],"contain":["29.12"],"sescribe":["29.20"],"volume":["29.20"],"up":["29.20"],"down":["29.20"],"fast":["29.20"],"forward":["29.20"],"rewind":["29.20"],"through":["29.27"],"opacity":["29.29"],"menu":["29.31","40.31"],"control":["29.32","40.32"],"something":["29.35","40.35"],"dosomething":["29.35","40.35"],"matches":["29.36"],"successful":["29.36"],"support":["29.36"],"string":["29.36"],"matching":["29.36"],"regular":["29.36"],"onvttload":["29.38"],"functions":["29.38"],"for":["29.38"],"modifying":["29.38"],"loading":["29.40","40.40"],"player":["29.42","29.47"],"instance":["29.42","30.4"],"modify":["29.44"],"existing":["29.44"],"because":["29.47"],"uses":["29.47"],"key":["29.47"],"by":["29.47"],"demo":["30.3"],"meta":["30.3"],"charset":["30.3"],"utf":["30.3"],"get":["30.4"],"jsdelivr":["30.7"],"application":["33.0"],"locktime":["36.4"],"输入框锁定时间":["36.4"],"maxlength":["36.4"],"输入框最大可输入的字数":["36.4"],"minwidth":["36.4"],"弹幕文本":["36.5"],"time":["36.5"],"发送时间":["36.5"],"单位秒":["36.5"],"fff":["36.5"],"弹幕局部颜色":["36.5"],"border":["36.5"],"plugins":["36.7","36.8"],"artplayerplugindanmuku":["36.7","36.8"],"使用":["36.7"],"promise":["36.7"],"异步返回":["36.7"],"xml":["36.9","36.10","36.11","36.12"],"隐藏弹幕":["36.9"],"发送弹幕":["36.10"],"弹幕大小":["36.11"],"input":["36.11"],"重载弹幕":["36.12"],"加载错误":["36.15"],"config":["36.15"],"配置变化":["36.15"],"您可能需要初始化容器元素的大小":["40.1"],"如":["40.1"],"等同于":["40.4"],"document":["40.27"],"queryselector":["40.27"]},{"0":["36.5"],"1":["9.7","19.7","36.11"],"3":["29.1"],"4":["29.7","29.21","29.22","29.23","29.24","29.36","29.38","29.42","29.43","29.45","29.48","40.43"],"5":["5.29","9.7","19.7"],"6":["15.39"],"7":["15.4","29.27"],"8":["29.42"],"9":["29.29","40.29"],"10":["5.10","5.29","9.7","19.7","24.4","34.4"],"11":["29.44"],"12":["29.38","36.11"],"22":["9.5","9.6","19.4","19.6"],"25":["36.11"],"32":["0.14","10.14"],"50":["36.11"],"60":["29.34","40.34"],"120":["40.34"],"150":["9.2","19.2"],"222":["36.5"],"400":["36.4"],"404":["2.12","12.12"],"1000":["29.2"],"二级属性":["0.0","10.0"],"mp4":["0.1","0.13","0.15","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.20","2.22","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.4","3.5","3.6","3.28","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.11","5.12","5.13","5.16","5.17","5.19","5.23","5.24","5.26","5.27","5.33","5.34","5.35","5.38","9.1","9.5","10.1","10.13","10.15","12.1","12.3","12.4","12.5","12.6","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.22","12.24","12.25","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.5","13.6","13.28","13.29","15.1","15.2","15.3","15.7","15.8","15.9","15.11","15.12","15.16","15.17","15.19","15.23","15.24","15.26","15.27","15.28","15.31","15.32","15.33","15.34","15.35","19.5","20.5","29.33","29.34","29.37","29.50","30.5","36.6","40.8","40.25","40.33","40.36","40.37","40.50"],"console":["0.1","0.6","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","5.8","5.12","5.13","5.14","5.21","5.24","5.25","5.26","5.27","5.28","5.31","5.32","5.33","5.34","5.41","7.3","8.2","8.3","10.1","10.6","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.8","15.25","15.28","15.31","15.32","15.38","17.3","18.2","18.3","29.29","29.31","29.32","40.29","40.30","40.31"],"info":["0.1","0.6","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","5.8","5.12","5.14","5.21","5.25","5.27","5.28","5.31","5.32","5.33","5.34","7.3","8.2","8.3","10.1","10.6","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.12","15.25","15.31","15.38","17.3","18.2","18.3","29.29","29.31","29.32","40.29","40.30","40.31"],"warning":["0.2","0.3","1.6","5.29","10.2","10.3","11.6","15.20","15.29","15.30","15.38","20.4","29.2","29.4","29.18","29.20","29.41","30.4","40.11","40.41","40.47","40.50"],"提示":["0.2","0.3","10.2","10.3","11.0","15.30","40.47"],"在上面这个例子中":["0.2","10.2"],"为了方便区别":["0.3","10.3"],"元素和普通对象":["0.3","10.3"],"播放器里的所有":["0.3","10.3"],"mouseenter":["0.4","10.4"],"你可以修改":["0.5","10.5"],"即可":["0.5","10.5"],"zh":["0.7","10.7"],"cn":["0.7","10.7"],"your":["0.7","10.7","15.30","29.3","40.3"],"ready":["0.8","0.9","0.12","0.13","0.14","0.15","0.16","2.7","2.19","2.24","2.31","5.8","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.21","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","6.5","8.5","9.8","10.8","10.12","10.13","10.14","10.15","10.16","12.2","12.6","12.18","12.23","12.30","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","16.5","18.5","19.8"],"html":["0.9","0.10","0.11","5.18","5.20","10.9","10.10","10.11","25.5","35.5","36.8"],"some":["0.9","0.10","0.11","10.9","10.10","10.11"],"text":["0.9","0.10","0.11","10.9","10.10","10.11"],"position":["0.10","5.20","5.35","7.1","8.4","10.10","18.4","25.5","35.5","36.8"],"on":["0.12","0.13","0.14","0.15","0.16","2.3","2.7","2.12","2.13","2.19","2.24","2.31","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.19","5.21","5.24","5.25","5.26","5.27","5.28","5.30","5.31","5.32","5.33","5.34","6.4","6.5","7.4","10.12","10.13","10.14","10.15","10.16","12.6","12.12","12.18","12.23","12.30","15.7","15.8","15.12","15.21","15.25","15.26","15.27","15.28","15.31","15.32","15.33","15.34","16.4","16.5","17.4","20.3","22.0","29.4","32.0"],"subtitleoffset":["0.16","10.16"],"return":["0.17","9.2","9.3","10.17","19.2","19.3","28.7","36.7","36.10","39.7"],"name":["0.17","10.17"],"something":["0.17","10.17"],"dosomething":["0.17","10.17"],"一级属性":["1.0","5.0"],"app":["1.1","3.2","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.21","3.22","3.27","3.28","5.4","5.5","5.6","5.22","5.36","5.37","5.39","5.40","11.1","13.2","13.7","13.8","13.9","13.10","13.11","13.12","13.16","13.21","13.22","13.27","13.28","15.5","15.6","15.10","15.11","15.13","15.15","15.16","15.17","15.22","15.24","15.36","15.37","15.40","19.1","19.5","25.4","29.5","29.6","29.10","29.14","29.25","29.33","29.36","29.37","29.38","29.39","35.4","40.5","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.36","40.37","40.38","40.39","40.42","40.45","40.46","40.48","40.49"],"url":["1.1","3.5","3.6","3.7","3.8","3.9","3.16","3.21","3.27","3.28","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.38","5.39","5.40","11.1","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","15.5","15.6","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.36","15.37","15.40","19.1","19.5","20.5","25.4","29.3","29.6","29.25","29.36","29.50","30.5","35.4","40.3","40.5","40.6","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.25","40.26","40.36","40.39","40.46"],"assets":["1.1","2.1","2.4","2.5","2.15","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","5.1","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.38","5.39","5.40","11.1","12.1","12.3","12.4","12.8","12.9","12.10","12.11","12.15","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.27","13.28","15.1","15.5","15.6","15.7","15.9","15.10","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.26","19.1","19.5","20.5","25.4","29.6","29.25","29.33","29.36","29.37","29.50","30.5","35.4","40.5","40.6","40.8","40.18","40.25","40.36","40.37","40.38","40.39"],"全部工具函数请参考以下地址":["1.6","11.6"],"js":["1.11","11.11","15.4","15.39","28.9","29.22","29.27","29.36","29.38","29.42","29.43","29.48","39.9"],"emit":["2.0","12.0"],"focus":["2.0","12.0"],"移除事件":["2.0","12.0"],"sample":["2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","3.29","5.1","5.5","5.6","5.7","5.9","5.15","5.22","5.23","5.35","5.36","5.37","5.38","5.39","9.1","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.27","13.28","13.29","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.16","15.17","15.19","15.23","15.24","15.26","15.27","15.33","15.34","15.35","19.1","19.5","20.5","25.4","29.25","29.33","29.36","29.37","29.50","30.5","35.4","40.5","40.6","40.8","40.18","40.25","40.36","40.37","40.38","40.39"],"video":["2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.20","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.4","3.5","3.6","3.27","3.28","3.29","5.1","5.5","5.6","5.7","5.9","5.13","5.15","5.16","5.17","5.19","5.22","5.23","5.24","5.26","5.35","5.38","9.1","9.5","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.19","12.26","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.5","13.6","13.27","13.28","13.29","15.19","15.26","15.27","15.28","15.32","15.34","15.35","19.5","20.5","29.25","29.33","29.37","29.50","30.5","36.6","40.8","40.18","40.25","40.33","40.36","40.37","40.38","40.50"],"true":["2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.39","3.29","5.2","5.3","5.19","6.2","6.4","6.5","9.1","9.5","10.11","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.38","13.29","15.2","15.3","15.19","16.2","16.4","16.5","19.5","36.13","36.14","40.11","40.33","40.47"],"setting":["2.18","2.21","2.28","3.29","9.1","9.5","12.17","12.20","12.27","13.29","19.5","36.13"],"srt":["2.28","2.29","2.30","12.27","12.28","12.29"],"并调用":["2.44","12.43"],"但数据意外未出现":["2.56","12.55"],"属性名字全部都是大写的形式":["3.0","13.0"],"未来容易发生变动":["3.0","13.0"],"new":["3.1","3.3","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","13.1","13.3","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.22","13.23","13.24","13.25","13.26","13.30","15.4","15.36","15.37","15.39","21.0","29.3","29.5","29.7","29.9","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.36","29.38","29.39","29.43","29.45","29.46","29.48","29.49","31.0","40.7","40.12","40.35","40.38","40.42","40.43"],"container":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.30","15.4","15.10","15.11","15.13","15.15","15.22","15.36","15.37","15.40","19.1","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.26","29.27","29.28","29.36","29.37","29.38","29.39","29.46","29.49","40.3","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.38","40.42","40.45","40.46","40.48","40.49"],"art":["3.13","3.14","3.15","3.18","3.19","3.24","3.25","3.30","13.13","13.14","13.15","13.18","13.19","13.24","13.25","13.30","15.4","15.10","15.36","15.37","15.39","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.36","29.38","29.39","29.43","29.45","29.46","29.48","29.49","40.12","40.27","40.38","40.43"],"show":["4.0","6.2","6.3","6.4","14.0","16.2","16.3","16.4","21.0","22.0","23.0","29.29","29.31","31.0","32.0","33.0"],"block":["4.0","14.0"],"hide":["4.0","14.0"],"controls":["4.0","5.35","14.0","15.35","36.8"],"tooltip":["4.0","7.1","9.6","14.0","19.6","40.32"],"muted":["5.2","5.3","5.23","15.2","15.3","24.4","34.4","40.11"],"seek":["5.10","5.11"],"settimeout":["5.10","6.5","8.5","9.8","10.9","16.5","18.5","19.8","40.2"],"right":["5.18","5.20","8.3","8.4","17.1","18.3","18.4","25.5","35.5","36.8","40.29"],"switch":["5.18","25.5","35.5"],"click":["5.18","5.20","6.1","8.1","8.2","8.3","15.38","16.1","18.1","18.2","18.3","29.29","29.32","36.8","36.9","36.12","40.29","40.31","40.32"],"function":["5.18","5.20","6.1","8.1","8.2","8.3","16.1","18.1","18.2","18.3","20.6","29.29","29.32","36.7","36.9","36.12","40.29","40.31"],"log":["5.41"],"theme":["5.41"],"object":["6.1","8.1"],"组件样式对象":["6.1","8.1"],"false":["6.2","6.3","6.4","9.4","16.2","16.3","16.4","19.4","24.4","34.4"],"update":["6.5","8.5","9.8"],"组件挂载后触发":["7.1"],"组件的提示文本":["7.1"],"yellow":["7.2","17.2"],"02":["7.2","17.2"],"onselect":["7.2","17.2"],"item":["7.2","9.4","17.2"],"dom":["7.2","17.2"],"args":["7.3","8.2","8.3","17.3","18.2","18.3","29.29","29.32","40.29","40.31"],"mounted":["7.3","8.2","8.3","16.1","17.3","18.1","18.2","18.3"],"style":["7.4","17.4","20.5","29.32","30.4","30.5","36.11","40.32"],"color":["7.4","17.4","29.32","40.32"],"red":["7.4","17.4"],"control":["7.5","17.1","17.5"],"by":["7.5","8.5","9.8","17.5","18.5","19.8","29.11"],"absolute":["8.4","18.4"],"top":["8.4","18.4"],"50px":["8.4","18.4"],"the":["8.5","9.8","15.18","18.5","19.8","29.11"],"quality":["9.2","19.2"],"1080p":["9.2","19.2"],"src":["9.4","19.4","23.0","29.40","33.0","40.40"],"state":["9.4","29.40","40.40"],"svg":["9.4","9.7","19.4","19.7"],"settings":["9.5","19.5"],"slider":["9.5"],"5x":["9.5","9.6","19.5","19.6"],"img":["9.5","9.6","19.5","19.6","29.40"],"width":["9.5","9.6","19.4","19.6","20.5","29.1","40.1"],"icon":["9.6","19.6"],"range":["9.7","19.7"],"left":["10.10"],"有些属性是全大写的":["11.0"],"t":["12.7"],"which":["15.0"],"var":["15.4","15.39","21.0","29.7","29.9","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.35","29.36","29.38","29.42","29.43","29.45","29.46","29.48","29.49","31.0","40.12","40.35","40.43"],"artplayer":["15.4","15.10","15.11","15.13","15.36","15.37","15.39","21.0","29.3","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.36","29.37","29.38","29.39","29.45","29.46","29.49","31.0","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.28","40.35","40.38","40.42","40.43","40.45","40.48","40.49"],"no":["15.14"],"such":["15.14"],"as":["15.14"],"live":["15.14"],"or":["15.14","29.1"],"due":["15.18","15.20","29.18"],"to":["15.18","15.20","15.29","20.0"],"browser":["15.18","15.20","29.18"],"security":["15.18","15.20","29.18"],"mechanism":["15.18","15.20"],"page":["15.18","29.11"],"must":["15.18"],"have":["15.18"],"tip":["15.20","15.29","15.38","20.4","29.2","29.4","29.18","29.20"],"before":["15.20"],"jpg":["15.21"],"json":["15.25"],"stringify":["15.25"],"delete":["15.29"],"looping":["15.29"],"just":["15.29"],"useful":["15.30"],"but":["15.30","29.47"],"if":["15.38","20.7","29.47","36.9","36.10"],"you":["15.38","20.7"],"event":["16.1","18.1","28.8","36.9","39.8"],"and":["17.1","29.8"],"positions":["17.1"],"where":["17.1"],"controller":["17.1"],"appears":["17.1"],"selector":["17.1"],"heigth":["19.4"],"subject":["20.0"],"pnpm":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"com":["20.2","20.7","30.2","30.7"],"player":["20.3","29.41"],"depends":["20.3"],"so":["20.3"],"modifying":["20.4"],"https":["20.5","30.5"],"org":["20.5","30.5"],"600px":["20.5"],"height":["20.5","29.1","40.1"],"param":["20.6"],"getinstance":["20.6"],"unpkg":["20.7","30.7"],"else":["21.0","22.0","31.0","32.0"],"notice":["21.0","22.0","23.0","31.0","32.0","33.0"],"unsupported":["21.0","22.0","23.0","31.0","32.0","33.0"],"playback":["21.0","22.0","23.0","31.0","32.0","33.0"],"format":["21.0","22.0","23.0","31.0","32.0","33.0"],"mpd":["21.0","31.0"],"application":["23.0"],"vnd":["23.0","33.0"],"apple":["23.0","33.0"],"mpegurl":["23.0","33.0"],"m3u8":["23.0","33.0"],"广告总时长":["24.4","34.4"],"totalduration":["24.4","34.4"],"视频广告是否默认静音":["24.4","34.4"],"多语言支持":["24.4","34.4"],"i18n":["24.4","34.4"],"close":["24.4","34.4"],"关闭广告":["24.4","34.4"],"countdown":["24.4","34.4"],"s秒":["24.4","34.4"],"button":["25.5","35.5"],"ui":["25.5","35.5"],"播放器的功能":["28.1","39.1"],"keyword":["28.7","39.7"],"currenttime":["28.7","39.7"],"await":["28.7","39.7"],"artplayerpluginiframe":["28.11","39.11"],"type":["28.12","39.12"],"400px":["29.1","40.1"],"300px":["29.1","40.1"],"use":["29.1"],"three":["29.2"],"file":["29.2"],"formats":["29.2"],"are":["29.2"],"supported":["29.2"],"size":["29.8"],"last":["29.8"],"enter":["29.11"],"css":["29.12"],"div":["29.12","30.3"],"classname":["29.12"],"run":["29.12"],"code":["29.12","29.42"],"policy":["29.18"],"space":["29.20"],"toggle":["29.20"],"play":["29.20"],"pause":["29.20"],"these":["29.20"],"document":["29.27"],"queryselector":["29.27"],"setting02":["29.30","40.30"],"green":["29.32","40.32"],"one":["29.34","40.34"],"more":["29.34","40.34"],"chance":["29.34","40.34"],"ploading":["29.40","40.40"],"gif":["29.40","40.40"],"identification":["29.41"],"can":["29.41"],"only":["29.41"],"resolve":["29.41"],"this":["29.41"],"cache":["29.47"],"progress":["29.47"],"of":["29.47"],"class":["30.3"],"属性":["30.6"],"export":["30.6"],"输入框最小宽度":["36.4"],"填":["36.4"],"则为无限制":["36.4"],"maxwidth":["36.4"],"输入框最大宽度":["36.4"],"infinity":["36.4"],"是否显示描边":["36.5"],"mode":["36.5"],"弹幕模式":["36.5"],"0表示滚动":["36.5"],"1静止":["36.5"],"plugins":["36.6","36.13","36.14"],"artplayerplugindanmuku":["36.6","36.13","36.14"],"弹幕":["36.6"],"resovle":["36.7"],"xml":["36.8"],"隐藏弹幕":["36.8"],"prompt":["36.10"],"请输入弹幕文本":["36.10"],"弹幕测试文本":["36.10"],"trim":["36.10"],"min":["36.11"],"max":["36.11"],"step":["36.11"],"value":["36.11"],"display":["36.11"],"flex":["36.11"],"alignitems":["36.11"],"stop":["36.15"],"弹幕停止":["36.15"],"start":["36.15"],"或者使用":["40.1"],"aspect":["40.1"],"热键":["40.20"],"描述":["40.20"],"增加音量":["40.20"],"降低音量":["40.20"],"innerhtml":["40.27"],"opacity":["40.29"],"sd":["40.33"],"ua":["40.36"],"后缀的识别":["40.41"],"播放器只能解析这种后缀":["40.41"],"因为播放器默认使用":["40.47"]},{"0":["12.7","20.5","30.5"],"1":["36.7"],"2":["5.27","36.5"],"4":["29.12"],"5":["5.7","5.8","5.13","15.7","40.8"],"8":["2.0","12.0"],"9":["5.28","29.1"],"10":["5.11","15.10","15.11","29.37"],"16":["5.28","15.28","29.1","36.10","40.1"],"22":["19.5"],"100":["28.5","29.37","39.5","40.37"],"111":["36.7"],"120":["29.34"],"180":["29.34","40.34"],"222":["36.7"],"240":["40.34"],"333":["36.5"],"360":["9.2"],"720":["9.2","19.2"],"1000":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","40.2"],"1080":["9.2","19.2"],"5000":["0.14","10.14"],"比较少用":["0.0","10.0"],"warning":["0.1","0.6","0.7","0.8","0.9","5.14","5.18","5.20","5.25","5.30","5.38","10.1","10.6","10.7","10.8","10.9","10.10","10.11","15.25","29.29","29.30","29.31","29.32","29.36","29.40","29.50","30.3","40.2","40.4","40.8","40.18","40.20","40.31","40.32","40.40"],"提示":["0.1","5.14","5.18","5.20","5.29","5.30","10.1","30.3","40.2","40.8","40.11","40.18"],"假如直接修改这个":["0.1","10.1"],"当使用":["0.2","10.2"],"访问播放器时":["0.2","10.2"],"会返回":["0.2","10.2"],"元素都是以":["0.3","10.3"],"开头命名的":["0.3","10.3"],"这是所有":["0.3","10.3"],"元素的定义":["0.3","10.3"],"mouseleave":["0.4","10.4"],"poster":["0.4","10.4"],"jpg":["0.4","10.4"],"then":["0.4","10.4"],"img":["0.4","10.4"],"loading":["0.6","10.6"],"这是所有图标的定义":["0.6","10.6"],"types":["0.6","1.6","10.6","11.6","29.50","40.50"],"使用":["0.7","10.7"],"只能更新实例化之后的":["0.7","10.7"],"to":["0.8","10.8","29.2","29.30","29.31","29.32"],"play":["0.8","4.0","5.2","10.8","14.0","15.2","29.2"],"如果想马上隐藏":["0.8","10.8"],"settimeout":["0.9","0.10","0.11","0.13","0.14","0.15","0.16","5.2","5.3","5.7","5.11","5.19","6.4","7.4","8.4","9.7","10.10","10.11","10.13","10.14","10.15","10.16","15.2","15.7","15.10","15.11","16.4","17.4","18.4","19.7"],"false":["0.9","0.10","0.11","0.15","0.16","10.9","10.10","10.11","10.15","10.16","29.29","29.31","40.29","40.31"],"left":["0.10","7.1"],"true":["0.11","0.13","2.20","3.4","3.5","3.6","3.27","3.28","5.1","5.12","5.23","5.31","6.3","10.13","12.19","13.4","13.5","13.6","13.27","13.28","15.1","15.23","15.31","16.3","19.1","25.4","29.25","29.33","35.4","40.18","40.25"],"srt":["0.12","10.12"],"on":["0.17","2.1","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.7","3.8","3.9","3.16","5.1","5.2","5.3","5.4","5.5","5.6","5.15","5.22","5.23","5.36","5.37","8.4","9.7","10.17","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.13","12.14","12.15","12.16","12.17","12.19","12.20","12.21","12.22","12.24","12.25","12.26","12.27","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.7","13.8","13.9","13.16","15.1","15.2","15.3","15.5","15.6","15.9","15.10","15.11","15.13","15.15","15.16","15.17","15.19","15.22","15.23","15.24","15.36","15.37","18.4","19.7","24.4","34.4","36.13","36.14","40.4"],"非常少使用":["1.0"],"sample":["1.1","3.1","3.2","3.3","3.10","3.11","3.12","3.17","3.20","3.21","3.22","3.23","3.26","3.30","5.4","5.40","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.17","13.20","13.21","13.22","13.23","13.26","13.30","15.4","15.15","15.22","15.36","15.37","15.39","15.40","22.0","29.5","29.6","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.38","29.39","29.42","29.45","29.46","29.49","32.0","40.7","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.35","40.42","40.43","40.45","40.46","40.48","40.49"],"video":["1.1","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.20","3.21","3.22","3.23","3.30","5.4","5.39","11.1","13.7","13.8","13.9","13.10","13.11","13.12","13.16","13.20","13.21","13.22","13.23","13.30","15.4","15.22","15.39","19.1","25.4","29.10","29.14","29.28","29.36","35.4","40.5","40.6","40.7","40.9","40.10","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.28","40.39","40.45","40.46","40.48","40.49"],"mp4":["1.1","3.7","3.8","3.9","3.16","3.21","3.27","5.4","5.5","5.6","5.15","5.22","5.36","5.37","5.39","5.40","11.1","13.7","13.8","13.9","13.16","13.21","13.27","15.4","15.5","15.6","15.10","15.13","15.15","15.22","15.36","15.37","15.39","15.40","19.1","25.4","29.5","29.6","29.15","29.16","29.17","29.25","29.36","29.38","29.39","35.4","40.5","40.6","40.9","40.10","40.14","40.15","40.16","40.17","40.18","40.22","40.26","40.38","40.39","40.46"],"artplayer":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","22.0","23.0","29.12","29.42","29.43","29.48","32.0","33.0"],"d":["1.6","11.6"],"info":["1.11","2.3","2.13","5.13","5.24","5.26","5.38","5.39","9.4","11.11","15.8","15.12","15.13","15.21","15.24","15.26","15.27","15.28","15.32","15.33","15.34","19.4","20.5","28.8","30.5","39.8","40.32"],"const":["2.0","5.16","5.17","9.4","12.0","15.16","15.17","19.4","25.5","35.5","36.11"],"onready":["2.0","12.0"],"console":["2.1","2.3","2.4","2.5","2.6","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","5.23","5.38","5.39","5.40","9.4","12.1","12.3","12.4","12.5","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.31","12.32","12.33","12.34","12.35","12.36","12.37","15.12","15.13","15.21","15.24","15.26","15.27","15.33","15.34","15.40","19.4","20.5","24.4","28.8","30.5","34.4","36.14","39.8","40.32"],"start":["2.3"],"end":["2.3"],"event":["2.6","2.8","2.9","2.10","2.11","2.13","2.14","5.38","9.4","12.5","12.14"],"reconnecttime":["2.12","12.12"],"state":["2.13","2.16","2.17","2.22","2.23","2.24","2.25","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","9.5","9.6","12.13","12.16","12.21","12.22","12.23","12.24","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","19.6"],"height":["2.19","12.18","30.5"],"datauri":["2.26","12.25"],"currenttime":["2.27","12.26","28.12","39.12"],"offset":["2.28","12.27"],"text":["2.29","12.28","36.7"],"ass":["2.31","12.30"],"load":["2.44","12.43"],"方法重新加载它":["2.44","12.43"],"基本上用不到":["3.0","13.0"],"app":["3.1","3.3","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.23","3.24","3.25","3.26","3.30","13.1","13.3","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.23","13.24","13.25","13.26","13.30","15.4","15.39","21.0","22.0","23.0","28.5","28.13","29.3","29.7","29.9","29.12","29.13","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.28","29.35","29.42","29.43","29.45","29.46","29.48","29.49","31.0","32.0","33.0","39.5","39.13","40.3","40.12","40.35","40.43"],"url":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.22","13.23","13.24","13.25","13.26","13.30","15.4","15.39","29.5","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.39","29.43","29.45","29.46","29.48","29.49","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.27","40.28","40.35","40.43","40.45","40.48","40.49"],"assets":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.30","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.30","15.4","15.36","15.37","15.39","15.40","22.0","29.5","29.7","29.9","29.10","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.22","29.23","29.24","29.26","29.28","29.35","29.38","29.39","29.42","29.43","29.45","29.46","29.48","29.49","32.0","40.3","40.7","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.22","40.23","40.24","40.26","40.27","40.28","40.35","40.42","40.43","40.45","40.46","40.48","40.49"],"loop":["3.4","3.5","3.6","13.4","13.5","13.6"],"flip":["3.4","3.5","3.6","13.4","13.5","13.6"],"dblclick":["3.16","13.16"],"setting":["3.27","3.28","13.27","13.28","19.1","36.11"],"playbackrate":["3.27","13.27"],"contextmenu":["3.27","3.28","3.29","13.27","13.28","13.29"],"aspectratio":["3.28","13.28"],"show":["3.28","3.29","9.7","13.28","13.29","19.7","36.9","40.29","40.31"],"click":["4.0","5.35","5.38","14.0","15.35","24.4","25.5","34.4","35.5"],"marginright":["4.0","14.0"],"比较常用":["5.0"],"muted":["5.1","15.1","15.23"],"ready":["5.2","5.3","5.5","5.6","5.7","5.9","5.15","5.19","5.22","5.23","6.4","7.4","8.4","9.7","15.2","15.3","15.5","15.6","15.7","15.9","15.10","15.11","15.13","15.16","15.17","15.19","15.23","15.24","16.4","17.4","18.4","19.7","36.14"],"seek":["5.7","15.7","15.10","15.11"],"t":["5.10","5.21"],"有的视频是没有时长的":["5.14"],"async":["5.16","5.17","15.16","15.17"],"await":["5.16","5.17","15.16","15.17"],"json":["5.25"],"stringify":["5.25"],"删除区间循环播放":["5.29"],"只需要设置":["5.29"],"为":["5.29"],"即可":["5.29"],"resize":["5.30","36.13"],"playsinline":["5.31","15.31","40.39"],"m3u8":["5.33","29.2","40.42"],"000":["5.34"],"right":["5.35","7.1","15.35"],"html":["5.35","15.35","20.1","30.1"],"green":["5.41"],"组件点击事件":["6.1","8.1"],"mounted":["6.1","8.1","29.29","36.11","40.29"],"组件挂载后触发":["6.1","8.1"],"get":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"the":["6.2","6.3","6.4","6.5","7.2","7.3","7.4","8.2","8.3","8.4","9.7","15.14","16.2","16.3","16.4","16.5","17.2","17.3","17.4","18.2","18.3","18.4","19.7","29.20"],"element":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"of":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3","29.40"],"by":["6.2","6.3","6.4","6.5","7.2","7.4","8.4","16.2","16.3","16.4","16.5","17.2","17.4","18.4","29.2"],"delete":["6.4","7.4","8.4","9.7","16.4","17.4","18.4","19.7"],"和":["7.1","36.6"],"控制控制器出现的左右位置":["7.1"],"selector":["7.1"],"array":["7.1","17.1"],"return":["7.2","17.2","20.6","30.6"],"control":["7.2","7.3","7.4","17.2","17.3","17.4"],"200px":["8.5","18.5"],"720p":["9.2","19.2"],"360p":["9.2","19.2"],"nextstate":["9.4","19.4"],"heigth":["9.5","9.6","19.5","19.6"],"src":["9.5","9.6","19.5","19.6"],"svg":["9.5","9.6","19.5","19.6"],"pip":["9.8","19.8"],"mode":["9.8","19.8"],"close":["9.8","19.8"],"说明这些属性是不稳定的":["11.0"],"可能会在将来被更改":["11.0"],"is":["15.0","16.1","18.1","24.4","29.47","34.4"],"more":["15.0","29.11"],"commonly":["15.0"],"that":["15.14","17.1"],"not":["15.14","15.30"],"been":["15.14"],"decoded":["15.14"],"obtained":["15.14"],"interaction":["15.18","15.20"],"before":["15.18"],"triggering":["15.18","15.20"],"for":["15.18","15.20","29.11"],"page":["15.20"],"must":["15.20","20.3","29.11"],"have":["15.20","20.3"],"tip":["15.25","29.36"],"dimension":["15.25"],"option":["15.29"],"aer":["15.29"],"two":["15.29"],"does":["15.30"],"know":["15.30"],"specific":["15.30"],"position":["15.35"],"need":["15.38","29.2","29.47"],"some":["15.38"],"events":["15.38"],"only":["15.38","29.20"],"exist":["15.38"],"in":["15.38","20.4","29.4"],"life":["15.38"],"cycle":["15.38"],"container":["15.39","21.0","22.0","23.0","29.3","29.22","29.24","29.35","29.42","29.43","29.45","29.48","31.0","32.0","33.0","40.35","40.43"],"triggered":["16.1","18.1"],"after":["16.1","18.1","29.20"],"tooltip":["16.1","18.1"],"objects":["17.1"],"select":["17.1"],"list":["17.1"],"onselect":["17.1"],"a":["17.1","20.3"],"item":["19.4"],"width":["19.5","28.5","30.5","39.5"],"chinese":["20.0"],"your":["20.3","29.6","40.6"],"following":["20.3","20.7","29.31","29.32"],"links":["20.3"],"directly":["20.4"],"will":["20.4","29.20"],"400px":["20.5","30.5"],"margin":["20.5","30.5"],"60px":["20.5","30.5"],"auto":["20.5","30.5"],"properties":["20.6"],"export":["20.6"],"default":["20.6","30.6"],"data":["20.6","28.12","30.6","39.12"],"want":["20.7"],"be":["20.7","29.11"],"please":["20.7","29.29","29.30","29.31","29.32"],"modify":["20.7"],"configuration":["20.7"],"akamaized":["21.0","31.0"],"net":["21.0","31.0"],"akamai":["21.0","31.0"],"bbb":["21.0","31.0"],"30fps":["21.0","31.0"],"var":["22.0","23.0","29.12","32.0","33.0"],"new":["22.0","29.12","29.27","29.42","32.0","40.27"],"test":["23.0","29.36","33.0","40.36"],"streams":["23.0","33.0"],"mux":["23.0","33.0"],"x36xhzz":["23.0","33.0"],"detail":["24.4","34.4"],"查看详情":["24.4","34.4"],"canbeclosed":["24.4","34.4"],"s秒后可关闭广告":["24.4","34.4"],"ad":["24.4","34.4"],"clicked":["24.4","34.4"],"fullscreen":["25.4","35.4"],"fullscreenweb":["25.4","35.4"],"function":["25.5","35.5","36.8","36.11","40.32"],"plugins":["25.5","35.5"],"artplayerplugincontrol":["25.5","35.5"],"或者获取":["28.1","39.1"],"div":["28.5","28.13","39.5","39.13"],"class":["28.5","28.13","39.5","39.13"],"style":["28.5","39.5"],"or":["28.7","29.2","39.7"],"resolve":["28.7","39.7"],"method":["28.7","39.7"],"currenttime2":["28.7","39.7"],"里":["28.10","39.10"],"art":["28.12","29.12","29.27","39.12"],"aspect":["29.1"],"ratio":["29.1","40.1"],"ogg":["29.2","40.2"],"and":["29.2","29.18"],"webm":["29.2","40.2"],"if":["29.2","29.4","29.18"],"callback":["29.4"],"instance":["29.4"],"but":["29.4"],"read":["29.8"],"value":["29.8"],"at":["29.8"],"js":["29.12"],"source":["29.18"],"address":["29.18"],"website":["29.18"],"are":["29.18"],"take":["29.20"],"effect":["29.20"],"player":["29.20"],"gets":["29.20"],"innerhtml":["29.27"],"refer":["29.29","29.30","29.31","29.32"],"sd":["29.33"],"480p":["29.33","40.33"],"谁でもいいはずなのに":["29.34","40.34"],"夏の想い出がまわる":["29.34","40.34"],"ua":["29.36"],"iphone":["29.36","40.36"],"gi":["29.36","40.36"],"png":["29.37","29.40","40.37","40.40"],"definition":["29.40"],"however":["29.41"],"cannot":["29.41"],"resolved":["29.41"],"zh":["29.44","40.44"],"cn":["29.44","40.44"],"tw":["29.44","40.44"],"same":["29.47"],"different":["29.47"],"you":["29.47"],"definitions":["29.50"],"播放器的尺寸依赖于容器":["30.3"],"的尺寸":["30.3"],"所以你的容器":["30.3"],"非响应式":["30.4"],"在":["30.4"],"600px":["30.5"],"假如你要兼容更古老的浏览器时":["30.7"],"则为":["36.4"],"宽度":["36.4"],"theme":["36.4"],"dark":["36.4"],"输入框自定义挂载时的主题色":["36.4"],"默认为":["36.4"],"可以选填亮色":["36.4"],"light":["36.4"],"beforeemit":["36.4"],"trim":["36.4"],"red":["36.5"],"文件":["36.6"],"bilibili":["36.6"],"网站的弹幕格式一致":["36.6"],"time":["36.7"],"target":["36.9"],"innertext":["36.9"],"else":["36.9"],"color":["36.10"],"math":["36.10"],"floor":["36.10"],"random":["36.10"],"0xffffff":["36.10"],"tostring":["36.10"],"center":["36.11"],"queryselector":["36.11"],"切换弹幕":["36.12"],"config":["36.12"],"xml":["36.13","36.14"],"弹幕开始":["36.15"],"hide":["36.15"],"弹幕隐藏":["36.15"],"默认支持三种视频文件格式":["40.2"],"播放器会缓存最后一次音量的大小":["40.8"],"假如希望默认进入页面就能自动播放视频":["40.11"],"必需为":["40.11"],"视频快进":["40.20"],"视频快退":["40.20"],"space":["40.20"],"切换播放":["40.20"],"暂停":["40.20"],"subtitle":["40.25"],"组件配置":["40.31"],"args":["40.32"],"hd":["40.33"],"webkit":["40.39"],"全部图标的定义":["40.40"],"但无法解析这种后缀":["40.41"],"作为":["40.47"],"key":["40.47"],"来缓存播放进度的":["40.47"],"但假如你的同一个视频的":["40.47"],"写法参考":["40.50"]},{"0":["5.9","5.10","5.11","5.14","5.21","15.9","15.10","15.11","15.14","15.21"],"1":["9.6","19.6"],"2":["5.7","15.7","15.27","36.7"],"3":["36.5","36.7"],"5":["5.5","5.6","9.6","15.5","15.6","15.8","15.13","19.6"],"9":["15.28","40.1"],"10":["9.6","19.6","40.37"],"100":["28.13","39.13"],"240":["29.34"],"300":["29.34","40.34"],"333":["36.7"],"360":["19.2"],"404":["3.13","3.14","13.13","13.14"],"1000":["0.13","0.15","10.13","10.15","28.7","39.7"],"3000":["5.2","5.3","5.7","5.10","5.11","5.19","6.4","6.5","7.4","7.5","8.4","8.5","9.7","9.8","15.2","15.3","15.7","15.10","15.11","15.19","16.4","16.5","17.4","17.5","18.4","18.5","19.7","19.8"],"对象":["0.1","10.1"],"播放器不会马上做出响应":["0.1","10.1"],"false":["0.2","0.13","5.19","9.8","10.2","10.13","15.19","19.8"],"即使用原生的播放器":["0.2","10.2"],"而不是":["0.2","10.2"],"播放器":["0.2","10.2"],"types":["0.3","2.0","10.3","12.0","29.40","29.44","40.40","40.44"],"d":["0.3","0.6","2.0","10.3","10.6","12.0","29.40","29.44","29.50","40.40","40.44","40.50"],"ts":["0.3","0.6","1.6","2.0","10.3","10.6","11.6","12.0","29.40","29.44","29.50","40.40","40.44","40.50"],"warning":["0.4","0.10","0.11","0.14","0.16","2.0","10.4","10.14","10.16","12.0","20.5","29.1","29.37","29.44","30.5","40.1","40.29","40.30","40.36","40.37","40.44"],"提示":["0.4","0.14","5.25","5.38","10.4","10.14","40.1","40.4","40.20","40.36"],"假如你需要一些":["0.4","5.38","10.4"],"事件只存在于播放器的生命周期上时":["0.4","5.38","10.4"],"强烈建议使用这些函数":["0.4","10.4"],"以避免造成内存泄漏":["0.4","5.38","10.4"],"your":["0.5","10.5"],"假如想在实例化之前更新":["0.7","10.7"],"请使用基础选项的":["0.7","10.7"],"来更新":["0.7","10.7"],"的显示":["0.8","10.8"],"组件配置":["0.9","0.10","0.11","10.9","10.10","10.11","40.29","40.32"],"请参考以下地址":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","40.29","40.30","40.31","40.32"],"component":["0.9","0.10","0.11","0.16","10.9","10.10","10.11","10.16","29.29","29.30","29.31","29.32","40.29","40.30","40.31","40.32"],"color":["0.12","10.12","29.38","40.38"],"red":["0.12","10.12"],"只在播放器获得焦点后":["0.14","10.14","40.20"],"如点击了播放器后":["0.14","10.14","40.20"],"这些快捷键才会生效":["0.14","10.14","40.20"],"true":["0.15","3.10","3.11","3.12","3.20","3.21","3.22","3.23","5.22","10.15","13.10","13.11","13.12","13.20","13.21","13.22","13.23","15.12","15.22","29.6","29.9","29.10","29.12","29.13","29.14","29.15","29.16","29.17","29.19","29.21","29.23","29.24","29.26","29.27","29.39","29.45","29.46","29.48","29.49","36.10","40.6","40.9","40.10","40.12","40.13","40.14","40.15","40.16","40.17","40.19","40.21","40.23","40.24","40.26","40.27","40.39","40.45","40.46","40.48","40.49"],"设置面板":["0.16","10.16"],"html":["0.16","10.16","24.2","25.2","26.2","27.2","28.3","34.2","35.2","36.2","37.2","38.2","39.3"],"ready":["0.17","2.0","5.1","5.4","10.17","12.0","15.1","15.4","15.15","15.22","21.0","22.0","23.0","31.0","32.0","33.0"],"off":["2.0","12.0"],"全部事件请参考以下地址":["2.0","12.0"],"events":["2.0","12.0"],"info":["2.1","2.2","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","5.16","5.17","5.23","5.36","5.37","5.40","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","15.16","15.17","15.23","15.36","15.37","15.39","15.40","19.5","21.0","22.0","23.0","24.4","31.0","32.0","33.0","34.4","36.14"],"console":["2.2","2.7","2.20","2.28","2.31","2.39","3.7","3.8","3.9","3.16","5.16","5.17","5.36","5.37","9.5","12.2","12.6","12.7","12.19","12.27","12.30","12.38","13.7","13.8","13.9","13.16","15.16","15.17","15.23","15.36","15.37","15.39","19.5","21.0","22.0","23.0","31.0","32.0","33.0"],"log":["2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","3.7","3.8","3.9","3.16","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.7","13.8","13.9","13.16"],"video":["3.1","3.2","3.3","3.15","3.17","3.18","3.19","3.24","3.25","3.26","13.1","13.2","13.3","13.15","13.17","13.18","13.19","13.24","13.25","13.26","29.3","29.7","29.9","29.12","29.13","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.35","29.43","29.45","29.49","40.3","40.12","40.27","40.35","40.43"],"mp4":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.19","13.20","13.22","13.23","13.24","13.25","13.26","13.30","29.3","29.7","29.9","29.10","29.12","29.13","29.14","29.19","29.21","29.22","29.23","29.24","29.26","29.27","29.28","29.35","29.43","29.45","29.46","29.48","29.49","40.3","40.7","40.12","40.13","40.19","40.21","40.23","40.24","40.27","40.28","40.35","40.43","40.45","40.48","40.49"],"playbackrate":["3.4","3.5","3.6","13.4","13.5","13.6"],"aspectratio":["3.4","3.5","3.6","13.4","13.5","13.6"],"autoplayback":["3.10","3.11","3.12","13.10","13.11","13.12"],"sample":["3.13","3.14","3.15","3.18","3.19","3.24","3.25","13.13","13.14","13.15","13.18","13.19","13.24","13.25","29.3","29.12","29.27","29.43","29.48","40.3","40.27"],"autoorientation":["3.20","13.20"],"show":["3.21","3.27","13.21","13.27","36.15"],"fastforward":["3.22","3.23","13.22","13.23"],"fullscreenweb":["3.30","13.30"],"pause":["4.0","14.0"],"layer":["4.0","14.0"],"png":["4.0","14.0"],"t":["5.9","5.11","15.9","15.10","15.11","15.21","15.29"],"name":["5.10"],"新视频地址":["5.11"],"例如直播中的视频或者没被解码完成的视频":["5.14"],"这个时候获取的时长会是":["5.14"],"由于浏览器安全机制":["5.18","5.20","40.18"],"触发窗口全屏前":["5.18"],"页面必须先存在交互":["5.18","5.20"],"例如用户点击过页面":["5.18","5.20"],"触发画中画前":["5.20"],"尺寸和坐标信息是通过":["5.25"],"getboundingclientrect":["5.25","15.25"],"获取的":["5.25"],"与":["5.29"],"option":["5.29"],"是两个不同的东西":["5.29"],"请勿弄乱":["5.29"],"当你的容器只有宽度":["5.30"],"但不知道具体高度时":["5.30"],"这个属性很有用":["5.30"],"它能自动计算出视频的高度":["5.30"],"但你需要确定设置这个属性的时机":["5.30"],"强烈建议使用该函数":["5.38"],"tooltip":["6.1","8.1"],"组件的提示文本":["6.1","8.1"],"remove":["6.4","7.4","8.4","9.7"],"选择列表的对象数组":["7.1"],"onselect":["7.1"],"选择列表的元素被点击时触发的函数":["7.1"],"by":["7.3","8.2","8.3","9.7","17.3","18.2","18.3","19.7","29.36"],"left":["8.5","18.5","29.2"],"switchquality":["9.2","19.2"],"open":["9.4","19.4"],"return":["9.4","9.5","19.4","19.5"],"item":["9.5","19.5"],"event":["9.5"],"x":["9.5","19.5"],"range":["9.6","19.6"],"switch":["9.8","19.8"],"used":["15.0","29.36"],"settimeout":["15.3","15.19","28.7","39.7"],"on":["15.4","15.18","15.20","29.2"],"at":["15.14","29.41"],"this":["15.14","15.38"],"time":["15.14","15.30","29.41"],"will":["15.14","20.5","29.4"],"be":["15.14"],"example":["15.18","15.20"],"user":["15.18","15.20"],"has":["15.18","15.20"],"clicked":["15.18","15.20","17.1"],"are":["15.25"],"obtained":["15.25"],"through":["15.25"],"different":["15.29"],"things":["15.29"],"please":["15.29","29.2","29.11"],"don":["15.29"],"mix":["15.29"],"them":["15.29"],"up":["15.29"],"you":["15.30","29.41"],"need":["15.30"],"determine":["15.30"],"m3u8":["15.33","29.42","40.2"],"000":["15.34"],"we":["15.38"],"strongly":["15.38"],"recommend":["15.38"],"using":["15.38"],"avoid":["15.38"],"memory":["15.38"],"leakage":["15.38"],"text":["16.1","18.1"],"when":["17.1"],"an":["17.1"],"install":["20.0"],"script":["20.1","24.2","25.2","26.2","27.2","28.3","30.1","34.2","35.2","36.2","37.2","38.2","39.3"],"can":["20.3"],"see":["20.3"],"more":["20.3"],"examples":["20.3"],"packages":["20.3","30.3"],"template":["20.3","30.3"],"not":["20.4","20.5","29.4","29.36"],"change":["20.4","20.5","36.11"],"the":["20.4","20.5"],"player":["20.4"],"tip":["20.5","29.1","30.3"],"modifying":["20.5"],"directly":["20.5"],"in":["20.5","29.36"],"and":["20.7"],"build":["20.7","30.7"],"it":["20.7"],"yourself":["20.7"],"scripts":["20.7","30.7"],"reference":["20.7"],"documents":["20.7"],"browserslist":["20.7","30.7"],"type":["21.0","23.0","31.0","33.0"],"customtype":["21.0","22.0","23.0","31.0","32.0","33.0"],"skipped":["24.4","34.4"],"skip":["24.4","34.4"],"plugins":["25.4","35.4"],"artplayerplugincontrol":["25.4","35.4"],"播放器的值":["28.1","39.1"],"height":["28.5","28.13","39.5","39.13"],"style":["28.13","39.13"],"width":["28.13","39.13"],"all":["29.1","29.40"],"options":["29.1"],"only":["29.1"],"is":["29.1"],"required":["29.1"],"flv":["29.2","40.2"],"other":["29.2"],"refer":["29.2"],"libraries":["29.2"],"assets":["29.3","29.12","29.27"],"uses":["29.4"],"arrow":["29.4"],"point":["29.4"],"jpg":["29.5","40.5"],"ffad00":["29.7","40.7"],"next":["29.8"],"initialization":["29.8"],"such":["29.8","29.20"],"as":["29.8","29.20"],"refreshing":["29.8"],"page":["29.8"],"information":["29.11"],"read":["29.11"],"policy":["29.11","40.11"],"changes":["29.11","40.11"],"url":["29.12","29.27"],"cross":["29.18"],"domain":["29.18"],"may":["29.18"],"fail":["29.18"],"focus":["29.20"],"clicking":["29.20"],"srt":["29.25","40.25"],"setting":["29.25","29.32","40.15","40.16","40.17","40.25"],"to":["29.29"],"following":["29.29","29.30"],"address":["29.29","29.30","29.31","29.32"],"for":["29.29","29.30","29.31","29.32"],"hd":["29.33"],"720p":["29.33","40.33"],"こんなとこにあるはずもないのに":["29.34","40.34"],"终わり":["29.34","40.34"],"if":["29.36","29.41"],"filled":["29.36"],"generate":["29.37"],"preview":["29.37"],"online":["29.37"],"tool":["29.37","40.37"],"03a9f4":["29.38","40.38"],"font":["29.38","40.38"],"size":["29.38","40.38"],"30px":["29.38","40.38"],"webkit":["29.39"],"playsinline":["29.39"],"use":["29.41"],"better":["29.41"],"specify":["29.41"],"same":["29.41"],"definitions":["29.44"],"identify":["29.47"],"unique":["29.47"],"必须是有尺寸的":["30.3"],"以下链接可以看到更多的使用例子":["30.3"],"里直接修改":["30.4","30.5"],"是不会改变播放器的":["30.4","30.5"],"非响应式":["30.5"],"在":["30.5"],"请修改以下配置然后自行构建":["30.7"],"构建配置":["30.7"],"参考文档":["30.7"],"发送弹幕前的自定义校验":["36.4"],"通过":["36.4"],"mount":["36.4"],"选项可以自定义输入框挂载的位置":["36.4"],"默认挂载于播放器底部":["36.4"],"仅在当宽度小于最小值时生效":["36.4"],"document":["36.4"],"queryselector":["36.4"],"artplayer":["36.4"],"green":["36.5"],"显示弹幕":["36.8","36.9"],"hide":["36.9"],"border":["36.10"],"addeventlistener":["36.11"],"number":["36.11"],"v2":["36.12"],"弹幕显示":["36.15"],"destroy":["36.15"],"弹幕销毁":["36.15"],"全部选项里":["40.1"],"只有":["40.1"],"是必填的":["40.1"],"如需要播放":["40.2"],"或者":["40.2"],"等其它格式":["40.2"],"请参考左侧的":["40.2"],"第三方库":["40.2"],"回调函数里的":["40.4"],"就是播放器实例":["40.4"],"但回调函数假如使用了箭头函数":["40.4"],"则不会指向播放器实例":["40.4"],"screenshot":["40.6"],"下次初始化时":["40.8"],"如刷新页面":["40.8"],"播放器会读取该缓存值":["40.8"],"更多信息请阅读":["40.11"],"假如视频源地址和网站是跨域的":["40.18"],"可能会出现截图失败":["40.18"],"假如该选项不填":["40.36"],"则默认使用本播放器":["40.36"],"在线生成预览图":["40.37"],"thumbnail":["40.37"],"所以假如你使用了":["40.41"],"最好同时要指明":["40.41"],"function":["40.42"],"写法参考":["40.44"],"是不同的话":["40.47"],"那么你需要使用":["40.47"],"来标识视频的唯一":["40.47"]}]'},e={"0.0":{t:"# 高级属性\r",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用
+`,l:"advanced/built-in.html",a:"高级属性"},"0.1":{t:"`option`\r",p:`播放器的选项
+<div className="run-code">▶ Run Code< ...`,l:"advanced/built-in.html#option",a:"option"},"0.2":{t:"`whitelist`\r",p:`管理移动设备的白名单功能,只有一个属性 state 返回是否启用播放器功能
+<div className=" ...`,l:"advanced/built-in.html#whitelist",a:"whitelist"},"0.3":{t:"`template`\r",p:`管理播放器所有的 DOM 元素
+<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#template",a:"template"},"0.4":{t:"`events`\r",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"advanced/built-in.html#events",a:"events"},"0.5":{t:"`storage`\r",p:`管理播放器的本地存储
+
+name 属性用于设置缓存的 key
+set 方法用于设置缓存
+get 方法用于获取缓存
+del 方 ...`,l:"advanced/built-in.html#storage",a:"storage"},"0.6":{t:"`icons`\r",p:`管理播放器所有的 svg 图标
+<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#icons",a:"icons"},"0.7":{t:"`i18n`\r",p:`管理播放器的 i18n
+
+get 方法用于获取 i18n 的值
+update 方法用于更新 i18n 对象
+
+<div ...`,l:"advanced/built-in.html#i18n",a:"i18n"},"0.8":{t:"`notice`\r",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语
+<div className="run-code ...`,l:"advanced/built-in.html#notice",a:"notice"},"0.9":{t:"`layers`\r",p:`管理播放器的层
+
+add 方法用于动态添加层
+remove 方法用于动态删除层
+update 方法用于动态更新层
+show  ...`,l:"advanced/built-in.html#layers",a:"layers"},"0.10":{t:"`controls`\r",p:`管理播放器的控制器
+
+add 方法用于动态添加控制器
+remove 方法用于动态删除控制器
+update 方法用于动态更新控 ...`,l:"advanced/built-in.html#controls",a:"controls"},"0.11":{t:"`contextmenu`\r",p:`管理播放器的右键菜单
+
+add 方法用于动态添加菜单
+remove 方法用于动态删除菜单
+update 方法用于动态更新菜单 ...`,l:"advanced/built-in.html#contextmenu",a:"contextmenu"},"0.12":{t:"`subtitle`\r",p:`管理播放器的字幕功能
+
+url 属性设置和返回当前字幕地址
+style 方法设置当前字幕的样式
+switch 方法设置当前字 ...`,l:"advanced/built-in.html#subtitle",a:"subtitle"},"0.13":{t:"`loading`\r",p:`管理播放器的加载层
+
+show 属性用于设置是否显示加载层
+toggle 属性用于切换是否显示加载层
+
+<div cl ...`,l:"advanced/built-in.html#loading",a:"loading"},"0.14":{t:"`hotkey`\r",p:`管理播放器的快捷键功能
+
+add 方法用于添加快捷键
+remove 方法用于删除快捷键
+
+<div className ...`,l:"advanced/built-in.html#hotkey",a:"hotkey"},"0.15":{t:"`mask`\r",p:`管理播放器的遮罩层
+
+show 属性用于设置是否显示遮罩层
+toggle 属性用于切换是否显示遮罩层
+
+<div cl ...`,l:"advanced/built-in.html#mask",a:"mask"},"0.16":{t:"`setting`\r",p:`管理播放器的设置面板
+
+add 方法用于动态添加设置项
+remove 方法用于动态删除设置项
+update 方法用于动态更新 ...`,l:"advanced/built-in.html#setting",a:"setting"},"0.17":{t:"`plugins`\r",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件
+<div className="run-cod ...`,l:"advanced/built-in.html#plugins",a:"plugins"},"1.0":{t:"# 静态属性\r",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用
+`,l:"advanced/class.html",a:"静态属性"},"1.1":{t:"`instances`\r",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性
+<div className=" ...`,l:"advanced/class.html#instances",a:"instances"},"1.2":{t:"`version`\r",p:`返回播放器的版本信息
+<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#version",a:"version"},"1.3":{t:"`env`\r",p:`返回播放器的环境变量
+<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#env",a:"env"},"1.4":{t:"`build`\r",p:`返回播放器的打包时间
+<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#build",a:"build"},"1.5":{t:"`config`\r",p:`返回视频的默认配置
+<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#config",a:"config"},"1.6":{t:"`utils`\r",p:`返回播放器的工具函数集合
+<div className="run-code">▶ Run C ...`,l:"advanced/class.html#utils",a:"utils"},"1.7":{t:"`scheme`\r",p:`返回播放器选项的校验方案
+<div className="run-code">▶ Run C ...`,l:"advanced/class.html#scheme",a:"scheme"},"1.8":{t:"`Emitter`\r",p:`返回事件分发器的构造函数
+<div className="run-code">▶ Run C ...`,l:"advanced/class.html#emitter",a:"emitter"},"1.9":{t:"`validator`\r",p:`返回选项的校验函数
+<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#validator",a:"validator"},"1.10":{t:"`kindOf`\r",p:`返回类型检测的函数工具
+<div className="run-code">▶ Run Co ...`,l:"advanced/class.html#kindof",a:"kindof"},"1.11":{t:"`html`\r",p:`返回播放器所需的 html 字符串
+<div className="run-code">▶  ...`,l:"advanced/class.html#html",a:"html"},"1.12":{t:"`option`\r",p:`返回播放器的默认选项
+<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#option",a:"option"},"2.0":{t:"# 实例事件\r",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件
+监听事件:
+<div cl ...`,l:"advanced/event.html",a:"实例事件"},"2.1":{t:"`ready`\r",p:`当播放器首次可以播放器时触发
+<div className="run-code">▶ Run ...`,l:"advanced/event.html#ready",a:"ready"},"2.2":{t:"`restart`\r",p:`当播放器切换地址后并可以播放时触发
+<div className="run-code">▶  ...`,l:"advanced/event.html#restart",a:"restart"},"2.3":{t:"`loop`\r",p:`当出现区间循环时触发
+<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#loop",a:"loop"},"2.4":{t:"`pause`\r",p:`当播放器暂停时触发
+<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#pause",a:"pause"},"2.5":{t:"`play`\r",p:`当播放器播放时触发
+<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#play",a:"play"},"2.6":{t:"`hotkey`\r",p:`当播放器热键被按下时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#hotkey",a:"hotkey"},"2.7":{t:"`destroy`\r",p:`当播放器销毁时触发
+<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#destroy",a:"destroy"},"2.8":{t:"`focus`\r",p:`当播放器获得焦点时触发
+<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#focus",a:"focus"},"2.9":{t:"`blur`\r",p:`当播放器失去焦点时触发
+<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#blur",a:"blur"},"2.10":{t:"`dblclick`\r",p:`当播放器被双击时触发
+<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#dblclick",a:"dblclick"},"2.11":{t:"`click`\r",p:`当播放器被单击时触发
+<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#click",a:"click"},"2.12":{t:"`error`\r",p:`当播放器加载视频发生错误时触发
+<div className="run-code">▶ Ru ...`,l:"advanced/event.html#error",a:"error"},"2.13":{t:"`hover`\r",p:`当播放器被鼠标移出或者移入时触发
+<div className="run-code">▶ R ...`,l:"advanced/event.html#hover",a:"hover"},"2.14":{t:"`mousemove`\r",p:`当播放器被鼠标经过时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mousemove",a:"mousemove"},"2.15":{t:"`resize`\r",p:`当播放器尺寸变化时触发
+<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#resize",a:"resize"},"2.16":{t:"`view`\r",p:`当播放器出现在视口时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#view",a:"view"},"2.17":{t:"`lock`\r",p:`在移动端,当锁定的状态发生变化时触发
+<div className="run-code">▶ ...`,l:"advanced/event.html#lock",a:"lock"},"2.18":{t:"`aspectRatio`\r",p:`当播放器长宽比变化时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#aspectratio",a:"aspectratio"},"2.19":{t:"`autoHeight`\r",p:`当播放器自动设置高度时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#autoheight",a:"autoheight"},"2.20":{t:"`autoSize`\r",p:`当播放器自动设置尺寸时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#autosize",a:"autosize"},"2.21":{t:"`flip`\r",p:`当播放器发生翻转时触发
+<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#flip",a:"flip"},"2.22":{t:"`fullscreen`\r",p:`当播放器发生窗口全屏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#fullscreen",a:"fullscreen"},"2.23":{t:"`fullscreenWeb`\r",p:`当播放器发生网页全屏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#fullscreenweb",a:"fullscreenweb"},"2.24":{t:"`mini`\r",p:`当播放器进入迷你模式时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#mini",a:"mini"},"2.25":{t:"`pip`\r",p:`当播放器进入画中画时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#pip",a:"pip"},"2.26":{t:"`screenshot`\r",p:`当播放器被截图时触发
+<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#screenshot",a:"screenshot"},"2.27":{t:"`seek`\r",p:`当播放器发生时间跳转时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#seek",a:"seek"},"2.28":{t:"`subtitleOffset`\r",p:`当播放器发生字幕偏移时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#subtitleoffset",a:"subtitleoffset"},"2.29":{t:"`subtitleUpdate`\r",p:`当字幕更新时触发
+<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleupdate",a:"subtitleupdate"},"2.30":{t:"`subtitleLoad`\r",p:`当字幕加载时触发
+<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleload",a:"subtitleload"},"2.31":{t:"`subtitleSwitch`\r",p:`当字幕切换时触发
+<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleswitch",a:"subtitleswitch"},"2.32":{t:"`info`\r",p:`当信息面板显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#info",a:"info"},"2.33":{t:"`layer`\r",p:`当自定义层显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#layer",a:"layer"},"2.34":{t:"`loading`\r",p:`当加载器显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#loading",a:"loading"},"2.35":{t:"`mask`\r",p:`当遮罩层显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mask",a:"mask"},"2.36":{t:"`subtitle`\r",p:`当字幕层显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#subtitle",a:"subtitle"},"2.37":{t:"`contextmenu`\r",p:`当右键菜单显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#contextmenu",a:"contextmenu"},"2.38":{t:"`control`\r",p:`当控制器显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"advanced/event.html#control",a:"control"},"2.39":{t:"`setting`\r",p:`当设置面板显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"advanced/event.html#setting",a:"setting"},"2.40":{t:"`video:canplay`\r",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容
+`,l:"advanced/event.html#video-canplay",a:"video-canplay"},"2.41":{t:"`video:canplaythrough`\r",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束
+`,l:"advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"2.42":{t:"`video:complete`\r",p:`OfflineAudioContext 渲染完成
+`,l:"advanced/event.html#video-complete",a:"video-complete"},"2.43":{t:"`video:durationchange`\r",p:`duration 属性的值改变时触发
+`,l:"advanced/event.html#video-durationchange",a:"video-durationchange"},"2.44":{t:"`video:emptied`\r",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"advanced/event.html#video-emptied",a:"video-emptied"},"2.45":{t:"`video:ended`\r",p:`视频停止播放,因为 media 已经到达结束点
+`,l:"advanced/event.html#video-ended",a:"video-ended"},"2.46":{t:"`video:error`\r",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式
+`,l:"advanced/event.html#video-error",a:"video-error"},"2.47":{t:"`video:loadeddata`\r",p:`media 中的首帧已经完成加载
+`,l:"advanced/event.html#video-loadeddata",a:"video-loadeddata"},"2.48":{t:"`video:loadedmetadata`\r",p:`已加载元数据
+`,l:"advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"2.49":{t:"`video:pause`\r",p:`播放已暂停
+`,l:"advanced/event.html#video-pause",a:"video-pause"},"2.50":{t:"`video:play`\r",p:`播放已开始
+`,l:"advanced/event.html#video-play",a:"video-play"},"2.51":{t:"`video:playing`\r",p:`由于缺乏数据而暂停或延迟后,播放准备开始
+`,l:"advanced/event.html#video-playing",a:"video-playing"},"2.52":{t:"`video:progress`\r",p:`在浏览器加载资源时周期性触发
+`,l:"advanced/event.html#video-progress",a:"video-progress"},"2.53":{t:"`video:ratechange`\r",p:`播放速率发生变化
+`,l:"advanced/event.html#video-ratechange",a:"video-ratechange"},"2.54":{t:"`video:seeked`\r",p:`跳帧(seek)操作完成
+`,l:"advanced/event.html#video-seeked",a:"video-seeked"},"2.55":{t:"`video:seeking`\r",p:`跳帧(seek)操作开始
+`,l:"advanced/event.html#video-seeking",a:"video-seeking"},"2.56":{t:"`video:stalled`\r",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现
+`,l:"advanced/event.html#video-stalled",a:"video-stalled"},"2.57":{t:"`video:suspend`\r",p:`媒体数据加载已暂停
+`,l:"advanced/event.html#video-suspend",a:"video-suspend"},"2.58":{t:"`video:timeupdate`\r",p:`currentTime 属性指定的时间发生变化
+`,l:"advanced/event.html#video-timeupdate",a:"video-timeupdate"},"2.59":{t:"`video:volumechange`\r",p:`音量发生变化
+`,l:"advanced/event.html#video-volumechange",a:"video-volumechange"},"2.60":{t:"`video:waiting`\r",p:`由于暂时缺少数据,播放已停止
+`,l:"advanced/event.html#video-waiting",a:"video-waiting"},"3.0":{t:"# 全局属性\r",p:`这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到
+`,l:"advanced/global.html",a:"全局属性"},"3.1":{t:"DEBUG\r",p:`是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭
+<div className="run- ...`,l:"advanced/global.html#debug",a:"debug"},"3.2":{t:"CONTEXTMENU\r",p:`是否开启右键菜单,默认开启
+<div className="run-code">▶ Run  ...`,l:"advanced/global.html#contextmenu",a:"contextmenu"},"3.3":{t:"NOTICE_TIME\r",p:`提示信息的显示时长,单位为毫秒,默认为 2000
+<div className="run-code" ...`,l:"advanced/global.html#notice-time",a:"notice-time"},"3.4":{t:"SETTING_WIDTH\r",p:`设置面板的默认宽度,单位为像素,默认为 250
+<div className="run-code" ...`,l:"advanced/global.html#setting-width",a:"setting-width"},"3.5":{t:"SETTING_ITEM_WIDTH\r",p:`设置面板的设置项的默认宽度,单位为像素,默认为 200
+<div className="run-code&q ...`,l:"advanced/global.html#setting-item-width",a:"setting-item-width"},"3.6":{t:"SETTING_ITEM_HEIGHT\r",p:`设置面板的设置项的默认高度,单位为像素,默认为 35
+<div className="run-code&qu ...`,l:"advanced/global.html#setting-item-height",a:"setting-item-height"},"3.7":{t:"RESIZE_TIME\r",p:`resize 事件的节流时间,单位为毫秒,默认为 500
+<div className="run-code& ...`,l:"advanced/global.html#resize-time",a:"resize-time"},"3.8":{t:"SCROLL_TIME\r",p:`scroll 事件的节流时间,单位为毫秒,默认为 200
+<div className="run-code& ...`,l:"advanced/global.html#scroll-time",a:"scroll-time"},"3.9":{t:"SCROLL_GAP\r",p:`view 事件的边界容差距离,单位为像素,默认为 50
+<div className="run-code&q ...`,l:"advanced/global.html#scroll-gap",a:"scroll-gap"},"3.10":{t:"AUTO_PLAYBACK_MAX\r",p:`自动回放功能的最大记录数,默认为 10
+<div className="run-code"> ...`,l:"advanced/global.html#auto-playback-max",a:"auto-playback-max"},"3.11":{t:"AUTO_PLAYBACK_MIN\r",p:`自动回放功能的最小记录时长,单位为秒,默认为 5
+<div className="run-code" ...`,l:"advanced/global.html#auto-playback-min",a:"auto-playback-min"},"3.12":{t:"AUTO_PLAYBACK_TIMEOUT\r",p:`自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000
+<div className="run-code& ...`,l:"advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"3.13":{t:"RECONNECT_TIME_MAX\r",p:`发生连接错误时,自动连接的最大次数,默认为 5
+<div className="run-code" ...`,l:"advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"3.14":{t:"RECONNECT_SLEEP_TIME\r",p:`发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000
+<div className="run-c ...`,l:"advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"3.15":{t:"CONTROL_HIDE_TIME\r",p:`底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000
+<div className="run-cod ...`,l:"advanced/global.html#control-hide-time",a:"control-hide-time"},"3.16":{t:"DBCLICK_TIME\r",p:`双击事件的延迟事件,单位为毫秒,默认为 300
+<div className="run-code" ...`,l:"advanced/global.html#dbclick-time",a:"dbclick-time"},"3.17":{t:"DBCLICK_FULLSCREEN\r",p:`在桌面端,是否双击切换全屏,默认为 true
+<div className="run-code"& ...`,l:"advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"3.18":{t:"MOBILE_DBCLICK_PLAY\r",p:`在移动端,是否双击切换播放暂停,默认为 true
+<div className="run-code" ...`,l:"advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"3.19":{t:"MOBILE_CLICK_PLAY\r",p:`在移动端,是否单击切换播放暂停,默认为 false
+<div className="run-code&quo ...`,l:"advanced/global.html#mobile-click-play",a:"mobile-click-play"},"3.20":{t:"AUTO_ORIENTATION_TIME\r",p:`在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200
+<div className="run-code& ...`,l:"advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"3.21":{t:"INFO_LOOP_TIME\r",p:`信息面板的刷新时间,单位为毫秒,默认为 1000
+<div className="run-code" ...`,l:"advanced/global.html#info-loop-time",a:"info-loop-time"},"3.22":{t:"FAST_FORWARD_VALUE\r",p:`在移动端,长按加速的速率倍数,默认为 3
+<div className="run-code"> ...`,l:"advanced/global.html#fast-forward-value",a:"fast-forward-value"},"3.23":{t:"FAST_FORWARD_TIME\r",p:`在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000
+<div className="run-code ...`,l:"advanced/global.html#fast-forward-time",a:"fast-forward-time"},"3.24":{t:"TOUCH_MOVE_RATIO\r",p:`在移动端,左右滑动进度的速率倍数,默认为 0.5
+<div className="run-code" ...`,l:"advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"3.25":{t:"VOLUME_STEP\r",p:`快捷键调节音量的幅度比例,默认为 0.1
+<div className="run-code"> ...`,l:"advanced/global.html#volume-step",a:"volume-step"},"3.26":{t:"SEEK_STEP\r",p:`快捷键调节播放进度的幅度,单位为秒,默认为 5
+<div className="run-code" ...`,l:"advanced/global.html#seek-step",a:"seek-step"},"3.27":{t:"PLAYBACK_RATE\r",p:`内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]
+<div className=& ...`,l:"advanced/global.html#playback-rate",a:"playback-rate"},"3.28":{t:"ASPECT_RATIO\r",p:`内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']
+<div className=&q ...`,l:"advanced/global.html#aspect-ratio",a:"aspect-ratio"},"3.29":{t:"FLIP\r",p:`内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']
+<div cla ...`,l:"advanced/global.html#flip",a:"flip"},"3.30":{t:"FULLSCREEN_WEB_IN_BODY\r",p:`网页全屏时,是否把播放器挂在在 body 元素下,默认为 false
+<div className="run ...`,l:"advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"4.0":{t:"# 编写插件\r",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事
+可以在实例化的时候加载插件的函数
+<div cla ...`,l:"advanced/plugin.html",a:"编写插件"},"5.0":{t:"# 实例属性\r",p:`这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用
+`,l:"advanced/property.html",a:"实例属性"},"5.1":{t:"`play`\r",p:`
+Type: Function
+
+播放视频
+<div className="run-code"&g ...`,l:"advanced/property.html#play",a:"play"},"5.2":{t:"`pause`\r",p:`
+Type: Function
+
+暂停视频
+<div className="run-code"&g ...`,l:"advanced/property.html#pause",a:"pause"},"5.3":{t:"`toggle`\r",p:`
+Type: Function
+
+切换视频的播放和暂停
+<div className="run-code&q ...`,l:"advanced/property.html#toggle",a:"toggle"},"5.4":{t:"`destroy`\r",p:`
+Type: Function
+Parameter: Boolean
+
+销毁播放器,接受一个参数表示是否销毁后同时移除播放器 ...`,l:"advanced/property.html#destroy",a:"destroy"},"5.5":{t:"`seek`\r",p:`
+Type: Setter
+Parameter: Number
+
+视频时间跳转,单位秒
+<div className= ...`,l:"advanced/property.html#seek",a:"seek"},"5.6":{t:"`forward`\r",p:`
+Type: Setter
+Parameter: Number
+
+视频时间快进,单位秒
+<div className= ...`,l:"advanced/property.html#forward",a:"forward"},"5.7":{t:"`backward`\r",p:`
+Type: Setter
+Parameter: Number
+
+视频时间快退,单位秒
+<div className= ...`,l:"advanced/property.html#backward",a:"backward"},"5.8":{t:"`volume`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+设置和获取视频音量,范围在:[0, 1]
+& ...`,l:"advanced/property.html#volume",a:"volume"},"5.9":{t:"`url`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+设置和获取视频地址
+<div clas ...`,l:"advanced/property.html#url",a:"url"},"5.10":{t:"`switchUrl`\r",p:`
+Type: Function
+Parameter: String
+
+设置视频地址,设置时和 url 类似,但会执行一些优化 ...`,l:"advanced/property.html#switchurl",a:"switchurl"},"5.11":{t:"`switchQuality`\r",p:`
+Type: Function
+Parameter: String
+
+设置视频画质地址,和 switchUrl 类似,但会带 ...`,l:"advanced/property.html#switchquality",a:"switchquality"},"5.12":{t:"`muted`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置和获取视频是否静音
+<div c ...`,l:"advanced/property.html#muted",a:"muted"},"5.13":{t:"`currentTime`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+设置和获取视频当前时间,设置时间时和 see ...`,l:"advanced/property.html#currenttime",a:"currenttime"},"5.14":{t:"`duration`\r",p:`
+Type: Getter
+
+获取视频时长
+<div className="run-code"&g ...`,l:"advanced/property.html#duration",a:"duration"},"5.15":{t:"`screenshot`\r",p:`
+Type: Function
+
+下载当前视频帧的截图
+<div className="run-code&q ...`,l:"advanced/property.html#screenshot",a:"screenshot"},"5.16":{t:"`getDataURL`\r",p:`
+Type: Function
+
+获取当前视频帧的截图的base64地址,返回的是一个 Promise
+<div cl ...`,l:"advanced/property.html#getdataurl",a:"getdataurl"},"5.17":{t:"`getBlobUrl`\r",p:`
+Type: Function
+
+获取当前视频帧的截图的blob地址,返回的是一个 Promise
+<div clas ...`,l:"advanced/property.html#getbloburl",a:"getbloburl"},"5.18":{t:"`fullscreen`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置和获取播放器窗口全屏
+<div  ...`,l:"advanced/property.html#fullscreen",a:"fullscreen"},"5.19":{t:"`fullscreenWeb`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置和获取播放器网页全屏
+<div  ...`,l:"advanced/property.html#fullscreenweb",a:"fullscreenweb"},"5.20":{t:"`pip`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置和获取播放器画中画模式
+<div ...`,l:"advanced/property.html#pip",a:"pip"},"5.21":{t:"`poster`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+设置和获取视频海报,只有在视频播放前才能看到 ...`,l:"advanced/property.html#poster",a:"poster"},"5.22":{t:"`mini`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置和获取播放器迷你模式
+<div  ...`,l:"advanced/property.html#mini",a:"mini"},"5.23":{t:"`playing`\r",p:`
+Type: Getter
+Parameter: Boolean
+
+获取视频是否正在播放中
+<div classNam ...`,l:"advanced/property.html#playing",a:"playing"},"5.24":{t:"`autoSize`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+设置视频是否自适应尺寸,设置为 true  ...`,l:"advanced/property.html#autosize",a:"autosize"},"5.25":{t:"`rect`\r",p:`
+Type: Getter
+
+获取播放器的尺寸和坐标信息
+<div className="run-code& ...`,l:"advanced/property.html#rect",a:"rect"},"5.26":{t:"`flip`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+设置和获取播放器翻转,支持normal,   ...`,l:"advanced/property.html#flip",a:"flip"},"5.27":{t:"`playbackRate`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+设置和获取播放器播放速度
+<div c ...`,l:"advanced/property.html#playbackrate",a:"playbackrate"},"5.28":{t:"`aspectRatio`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+设置和获取播放器长宽比
+<div cl ...`,l:"advanced/property.html#aspectratio",a:"aspectratio"},"5.29":{t:"`loop`\r",p:`
+Type: Setter/Getter
+Parameter: Array
+
+设置和获取区间循序播放,单位秒
+<div ...`,l:"advanced/property.html#loop",a:"loop"},"5.30":{t:"`autoHeight`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+当容器只有宽度,该属性可以自动计算出并设置 ...`,l:"advanced/property.html#autoheight",a:"autoheight"},"5.31":{t:"`attr`\r",p:`
+Type: Function
+Parameter: String
+
+动态获取和设置 video 元素的属性
+<div ...`,l:"advanced/property.html#attr",a:"attr"},"5.32":{t:"`title`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+动态获取和设置播放器标题
+<div c ...`,l:"advanced/property.html#title",a:"title"},"5.33":{t:"`type`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+动态获取和设置视频类型
+<div cl ...`,l:"advanced/property.html#type",a:"type"},"5.34":{t:"`theme`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+动态获取和设置播放器主题颜色
+<div ...`,l:"advanced/property.html#theme",a:"theme"},"5.35":{t:"`airplay`\r",p:`
+Type: Function
+
+开启隔空播放
+<div className="run-code" ...`,l:"advanced/property.html#airplay",a:"airplay"},"5.36":{t:"`loaded`\r",p:`
+Type: Getter
+
+视频缓存的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用
+&l ...`,l:"advanced/property.html#loaded",a:"loaded"},"5.37":{t:"`played`\r",p:`
+Type: Getter
+
+视频播放的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用
+&l ...`,l:"advanced/property.html#played",a:"played"},"5.38":{t:"`proxy`\r",p:`
+Type: Function
+
+DOM 事件的代理函数,实质上代理了 addEventListener 和 removeE ...`,l:"advanced/property.html#proxy",a:"proxy"},"5.39":{t:"`query`\r",p:`
+Type: Function
+
+DOM 的查询函数,类似 document.querySelector,但被查询的对象局限 ...`,l:"advanced/property.html#query",a:"query"},"5.40":{t:"`video`\r",p:`
+Type: Element
+
+快捷返回播放器的 video 元素
+<div className="run- ...`,l:"advanced/property.html#video",a:"video"},"5.41":{t:"`cssVar`\r",p:`
+Type: Function
+
+动态获取或设置 css 变量
+<div className="run-co ...`,l:"advanced/property.html#cssvar",a:"cssvar"},"6.0":{t:"# 右键菜单\r",p:"\r",l:"component/contextmenu.html",a:"右键菜单"},"6.1":{t:"配置\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+disable
+Boolean
+是否禁用组件
+
+
+name
+String
+组件唯一名称,用于 ...`,l:"component/contextmenu.html#配置",a:"配置"},"6.2":{t:"创建\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#创建",a:"创建"},"6.3":{t:"添加\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#添加",a:"添加"},"6.4":{t:"删除\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#删除",a:"删除"},"6.5":{t:"更新\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#更新",a:"更新"},"7.0":{t:"# 控制器\r",p:"\r",l:"component/controls.html",a:"控制器"},"7.1":{t:"配置\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+disable
+Boolean
+是否禁用组件
+
+
+name
+String
+组件唯一名称,用于 ...`,l:"component/controls.html#配置",a:"配置"},"7.2":{t:"创建\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#创建",a:"创建"},"7.3":{t:"添加\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#添加",a:"添加"},"7.4":{t:"删除\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#删除",a:"删除"},"7.5":{t:"更新\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#更新",a:"更新"},"8.0":{t:"# 业务层\r",p:"\r",l:"component/layers.html",a:"业务层"},"8.1":{t:"配置\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+disable
+Boolean
+是否禁用组件
+
+
+name
+String
+组件唯一名称,用于 ...`,l:"component/layers.html#配置",a:"配置"},"8.2":{t:"创建\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#创建",a:"创建"},"8.3":{t:"添加\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#添加",a:"添加"},"8.4":{t:"删除\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#删除",a:"删除"},"8.5":{t:"更新\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#更新",a:"更新"},"9.0":{t:"# 设置面板\r",p:"\r",l:"component/setting.html",a:"设置面板"},"9.1":{t:"内置\r",p:"须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOf ...",l:"component/setting.html#内置",a:"内置"},"9.2":{t:"创建 - 选择列表\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+html
+String, Element
+元素的 DOM
+
+
+icon
+String, El ...`,l:"component/setting.html#创建-选择列表",a:"创建-选择列表"},"9.3":{t:"创建 - 列表嵌套\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#创建-列表嵌套",a:"创建-列表嵌套"},"9.4":{t:"创建 - 切换按钮\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+html
+String, Element
+元素的 DOM 元素
+
+
+icon
+String, ...`,l:"component/setting.html#创建-切换按钮",a:"创建-切换按钮"},"9.5":{t:"创建 - 范围滑块\r",p:`
+
+
+属性
+类型
+描述
+
+
+
+
+html
+String, Element
+元素的 DOM 元素
+
+
+icon
+String, ...`,l:"component/setting.html#创建-范围滑块",a:"创建-范围滑块"},"9.6":{t:"添加\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#添加",a:"添加"},"9.7":{t:"删除\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#删除",a:"删除"},"9.8":{t:"更新\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#更新",a:"更新"},"10.0":{t:"# 高级属性\r",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用
+`,l:"en/advanced/built-in.html",a:"高级属性"},"10.1":{t:"`option`\r",p:`播放器的选项
+<div className="run-code">▶ Run Code< ...`,l:"en/advanced/built-in.html#option",a:"option"},"10.2":{t:"`whitelist`\r",p:`管理移动设备的白名单功能,只有一个属性 state 返回是否启用播放器功能
+<div className=" ...`,l:"en/advanced/built-in.html#whitelist",a:"whitelist"},"10.3":{t:"`template`\r",p:`管理播放器所有的 DOM 元素
+<div className="run-code">▶ Ru ...`,l:"en/advanced/built-in.html#template",a:"template"},"10.4":{t:"`events`\r",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"en/advanced/built-in.html#events",a:"events"},"10.5":{t:"`storage`\r",p:`管理播放器的本地存储
+
+name 属性用于设置缓存的 key
+set 方法用于设置缓存
+get 方法用于获取缓存
+del 方 ...`,l:"en/advanced/built-in.html#storage",a:"storage"},"10.6":{t:"`icons`\r",p:`管理播放器所有的 svg 图标
+<div className="run-code">▶ Ru ...`,l:"en/advanced/built-in.html#icons",a:"icons"},"10.7":{t:"`i18n`\r",p:`管理播放器的 i18n
+
+get 方法用于获取 i18n 的值
+update 方法用于更新 i18n 对象
+
+<div ...`,l:"en/advanced/built-in.html#i18n",a:"i18n"},"10.8":{t:"`notice`\r",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语
+<div className="run-code ...`,l:"en/advanced/built-in.html#notice",a:"notice"},"10.9":{t:"`layers`\r",p:`管理播放器的层
+
+add 方法用于动态添加层
+show 属性用于设置是否显示全部层
+toggle 属性用于切换是否显示全部层 ...`,l:"en/advanced/built-in.html#layers",a:"layers"},"10.10":{t:"`controls`\r",p:`管理播放器的控制器
+
+add 方法用于动态添加控制器
+show 属性用于设置是否显示全部控制器
+toggle 属性用于切换是 ...`,l:"en/advanced/built-in.html#controls",a:"controls"},"10.11":{t:"`contextmenu`\r",p:`管理播放器的右键菜单
+
+add 方法用于动态添加菜单
+show 属性用于设置是否显示全部菜单
+toggle 属性用于切换是否 ...`,l:"en/advanced/built-in.html#contextmenu",a:"contextmenu"},"10.12":{t:"`subtitle`\r",p:`管理播放器的字幕功能
+
+url 属性设置和返回当前字幕地址
+style 方法设置当前字幕的样式
+switch 方法设置当前字 ...`,l:"en/advanced/built-in.html#subtitle",a:"subtitle"},"10.13":{t:"`loading`\r",p:`管理播放器的加载层
+
+show 属性用于设置是否显示加载层
+toggle 属性用于切换是否显示加载层
+
+<div cl ...`,l:"en/advanced/built-in.html#loading",a:"loading"},"10.14":{t:"`hotkey`\r",p:`管理播放器的快捷键功能
+
+add 方法用于添加快捷键
+remove 方法用于删除快捷键
+
+<div className ...`,l:"en/advanced/built-in.html#hotkey",a:"hotkey"},"10.15":{t:"`mask`\r",p:`管理播放器的遮罩层
+
+show 属性用于设置是否显示遮罩层
+toggle 属性用于切换是否显示遮罩层
+
+<div cl ...`,l:"en/advanced/built-in.html#mask",a:"mask"},"10.16":{t:"`setting`\r",p:`管理播放器的设置面板
+
+add 方法用于动态添加设置项
+show 属性用于设置是否显示全部设置项
+toggle 属性用于切换 ...`,l:"en/advanced/built-in.html#setting",a:"setting"},"10.17":{t:"`plugins`\r",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件
+<div className="run-cod ...`,l:"en/advanced/built-in.html#plugins",a:"plugins"},"11.0":{t:"# 静态属性\r",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用
+:::warning 提示
+有些属性是全大写的,说明这些属 ...`,l:"en/advanced/class.html",a:"静态属性"},"11.1":{t:"`instances`\r",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性
+<div className=" ...`,l:"en/advanced/class.html#instances",a:"instances"},"11.2":{t:"`version`\r",p:`返回播放器的版本信息
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#version",a:"version"},"11.3":{t:"`env`\r",p:`返回播放器的环境变量
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#env",a:"env"},"11.4":{t:"`build`\r",p:`返回播放器的打包时间
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#build",a:"build"},"11.5":{t:"`config`\r",p:`返回视频的默认配置
+<div className="run-code">▶ Run Code ...`,l:"en/advanced/class.html#config",a:"config"},"11.6":{t:"`utils`\r",p:`返回播放器的工具函数集合
+<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#utils",a:"utils"},"11.7":{t:"`scheme`\r",p:`返回播放器选项的校验方案
+<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#scheme",a:"scheme"},"11.8":{t:"`Emitter`\r",p:`返回事件分发器的构造函数
+<div className="run-code">▶ Run C ...`,l:"en/advanced/class.html#emitter",a:"emitter"},"11.9":{t:"`validator`\r",p:`返回选项的校验函数
+<div className="run-code">▶ Run Code ...`,l:"en/advanced/class.html#validator",a:"validator"},"11.10":{t:"`kindOf`\r",p:`返回类型检测的函数工具
+<div className="run-code">▶ Run Co ...`,l:"en/advanced/class.html#kindof",a:"kindof"},"11.11":{t:"`html`\r",p:`返回播放器所需的 html 字符串
+<div className="run-code">▶  ...`,l:"en/advanced/class.html#html",a:"html"},"11.12":{t:"`option`\r",p:`返回播放器的默认选项
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/class.html#option",a:"option"},"12.0":{t:"# 实例事件\r",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件
+监听事件:
+<div cl ...`,l:"en/advanced/event.html",a:"实例事件"},"12.1":{t:"`ready`\r",p:`当播放器首次可以播放器时触发
+<div className="run-code">▶ Run ...`,l:"en/advanced/event.html#ready",a:"ready"},"12.2":{t:"`restart`\r",p:`当播放器切换地址后并可以播放时触发
+<div className="run-code">▶  ...`,l:"en/advanced/event.html#restart",a:"restart"},"12.3":{t:"`pause`\r",p:`当播放器暂停时触发
+<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#pause",a:"pause"},"12.4":{t:"`play`\r",p:`当播放器播放时触发
+<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#play",a:"play"},"12.5":{t:"`hotkey`\r",p:`当播放器热键被按下时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#hotkey",a:"hotkey"},"12.6":{t:"`destroy`\r",p:`当播放器销毁时触发
+<div className="run-code">▶ Run Code ...`,l:"en/advanced/event.html#destroy",a:"destroy"},"12.7":{t:"`url`\r",p:`当视频地址变化时触发
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#url",a:"url"},"12.8":{t:"`focus`\r",p:`当播放器获得焦点时触发
+<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#focus",a:"focus"},"12.9":{t:"`blur`\r",p:`当播放器失去焦点时触发
+<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#blur",a:"blur"},"12.10":{t:"`dblclick`\r",p:`当播放器被双击时触发
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#dblclick",a:"dblclick"},"12.11":{t:"`click`\r",p:`当播放器被单击时触发
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#click",a:"click"},"12.12":{t:"`error`\r",p:`当播放器加载视频发生错误时触发
+<div className="run-code">▶ Ru ...`,l:"en/advanced/event.html#error",a:"error"},"12.13":{t:"`hover`\r",p:`当播放器被鼠标移出或者移入时触发
+<div className="run-code">▶ R ...`,l:"en/advanced/event.html#hover",a:"hover"},"12.14":{t:"`mousemove`\r",p:`当播放器被鼠标经过时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#mousemove",a:"mousemove"},"12.15":{t:"`resize`\r",p:`当播放器尺寸变化时触发
+<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#resize",a:"resize"},"12.16":{t:"`view`\r",p:`当播放器出现在视口时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#view",a:"view"},"12.17":{t:"`aspectRatio`\r",p:`当播放器长宽比变化时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#aspectratio",a:"aspectratio"},"12.18":{t:"`autoHeight`\r",p:`当播放器自动设置高度时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#autoheight",a:"autoheight"},"12.19":{t:"`autoSize`\r",p:`当播放器自动设置尺寸时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#autosize",a:"autosize"},"12.20":{t:"`flip`\r",p:`当播放器发生翻转时触发
+<div className="run-code">▶ Run Co ...`,l:"en/advanced/event.html#flip",a:"flip"},"12.21":{t:"`fullscreen`\r",p:`当播放器发生窗口全屏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#fullscreen",a:"fullscreen"},"12.22":{t:"`fullscreenWeb`\r",p:`当播放器发生网页全屏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#fullscreenweb",a:"fullscreenweb"},"12.23":{t:"`mini`\r",p:`当播放器进入迷你模式时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#mini",a:"mini"},"12.24":{t:"`pip`\r",p:`当播放器进入画中画时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#pip",a:"pip"},"12.25":{t:"`screenshot`\r",p:`当播放器被截图时触发
+<div className="run-code">▶ Run Cod ...`,l:"en/advanced/event.html#screenshot",a:"screenshot"},"12.26":{t:"`seek`\r",p:`当播放器发生时间跳转时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#seek",a:"seek"},"12.27":{t:"`subtitleOffset`\r",p:`当播放器发生字幕偏移时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#subtitleoffset",a:"subtitleoffset"},"12.28":{t:"`subtitleUpdate`\r",p:`当字幕更新时触发
+<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleupdate",a:"subtitleupdate"},"12.29":{t:"`subtitleLoad`\r",p:`当字幕加载时触发
+<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleload",a:"subtitleload"},"12.30":{t:"`subtitleSwitch`\r",p:`当字幕切换时触发
+<div className="run-code">▶ Run Code& ...`,l:"en/advanced/event.html#subtitleswitch",a:"subtitleswitch"},"12.31":{t:"`info`\r",p:`当信息面板显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#info",a:"info"},"12.32":{t:"`layer`\r",p:`当自定义层显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#layer",a:"layer"},"12.33":{t:"`loading`\r",p:`当加载器显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#loading",a:"loading"},"12.34":{t:"`mask`\r",p:`当遮罩层显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#mask",a:"mask"},"12.35":{t:"`subtitle`\r",p:`当字幕层显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#subtitle",a:"subtitle"},"12.36":{t:"`contextmenu`\r",p:`当右键菜单显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#contextmenu",a:"contextmenu"},"12.37":{t:"`control`\r",p:`当控制器显示或隐藏时触发
+<div className="run-code">▶ Run C ...`,l:"en/advanced/event.html#control",a:"control"},"12.38":{t:"`setting`\r",p:`当设置面板显示或隐藏时触发
+<div className="run-code">▶ Run  ...`,l:"en/advanced/event.html#setting",a:"setting"},"12.39":{t:"`video:canplay`\r",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容
+`,l:"en/advanced/event.html#video-canplay",a:"video-canplay"},"12.40":{t:"`video:canplaythrough`\r",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束
+`,l:"en/advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"12.41":{t:"`video:complete`\r",p:`OfflineAudioContext 渲染完成
+`,l:"en/advanced/event.html#video-complete",a:"video-complete"},"12.42":{t:"`video:durationchange`\r",p:`duration 属性的值改变时触发
+`,l:"en/advanced/event.html#video-durationchange",a:"video-durationchange"},"12.43":{t:"`video:emptied`\r",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"en/advanced/event.html#video-emptied",a:"video-emptied"},"12.44":{t:"`video:ended`\r",p:`视频停止播放,因为 media 已经到达结束点
+`,l:"en/advanced/event.html#video-ended",a:"video-ended"},"12.45":{t:"`video:error`\r",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式
+`,l:"en/advanced/event.html#video-error",a:"video-error"},"12.46":{t:"`video:loadeddata`\r",p:`media 中的首帧已经完成加载
+`,l:"en/advanced/event.html#video-loadeddata",a:"video-loadeddata"},"12.47":{t:"`video:loadedmetadata`\r",p:`已加载元数据
+`,l:"en/advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"12.48":{t:"`video:pause`\r",p:`播放已暂停
+`,l:"en/advanced/event.html#video-pause",a:"video-pause"},"12.49":{t:"`video:play`\r",p:`播放已开始
+`,l:"en/advanced/event.html#video-play",a:"video-play"},"12.50":{t:"`video:playing`\r",p:`由于缺乏数据而暂停或延迟后,播放准备开始
+`,l:"en/advanced/event.html#video-playing",a:"video-playing"},"12.51":{t:"`video:progress`\r",p:`在浏览器加载资源时周期性触发
+`,l:"en/advanced/event.html#video-progress",a:"video-progress"},"12.52":{t:"`video:ratechange`\r",p:`播放速率发生变化
+`,l:"en/advanced/event.html#video-ratechange",a:"video-ratechange"},"12.53":{t:"`video:seeked`\r",p:`跳帧(seek)操作完成
+`,l:"en/advanced/event.html#video-seeked",a:"video-seeked"},"12.54":{t:"`video:seeking`\r",p:`跳帧(seek)操作开始
+`,l:"en/advanced/event.html#video-seeking",a:"video-seeking"},"12.55":{t:"`video:stalled`\r",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现
+`,l:"en/advanced/event.html#video-stalled",a:"video-stalled"},"12.56":{t:"`video:suspend`\r",p:`媒体数据加载已暂停
+`,l:"en/advanced/event.html#video-suspend",a:"video-suspend"},"12.57":{t:"`video:timeupdate`\r",p:`currentTime 属性指定的时间发生变化
+`,l:"en/advanced/event.html#video-timeupdate",a:"video-timeupdate"},"12.58":{t:"`video:volumechange`\r",p:`音量发生变化
+`,l:"en/advanced/event.html#video-volumechange",a:"video-volumechange"},"12.59":{t:"`video:waiting`\r",p:`由于暂时缺少数据,播放已停止
+`,l:"en/advanced/event.html#video-waiting",a:"video-waiting"},"13.0":{t:"# 全局属性\r",p:`这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到
+`,l:"en/advanced/global.html",a:"全局属性"},"13.1":{t:"DEBUG\r",p:`是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭
+<div className="run- ...`,l:"en/advanced/global.html#debug",a:"debug"},"13.2":{t:"CONTEXTMENU\r",p:`是否开启右键菜单,默认开启
+<div className="run-code">▶ Run  ...`,l:"en/advanced/global.html#contextmenu",a:"contextmenu"},"13.3":{t:"NOTICE_TIME\r",p:`提示信息的显示时长,单位为毫秒,默认为 2000
+<div className="run-code" ...`,l:"en/advanced/global.html#notice-time",a:"notice-time"},"13.4":{t:"SETTING_WIDTH\r",p:`设置面板的默认宽度,单位为像素,默认为 250
+<div className="run-code" ...`,l:"en/advanced/global.html#setting-width",a:"setting-width"},"13.5":{t:"SETTING_ITEM_WIDTH\r",p:`设置面板的设置项的默认宽度,单位为像素,默认为 200
+<div className="run-code&q ...`,l:"en/advanced/global.html#setting-item-width",a:"setting-item-width"},"13.6":{t:"SETTING_ITEM_HEIGHT\r",p:`设置面板的设置项的默认高度,单位为像素,默认为 35
+<div className="run-code&qu ...`,l:"en/advanced/global.html#setting-item-height",a:"setting-item-height"},"13.7":{t:"RESIZE_TIME\r",p:`resize 事件的节流时间,单位为毫秒,默认为 500
+<div className="run-code& ...`,l:"en/advanced/global.html#resize-time",a:"resize-time"},"13.8":{t:"SCROLL_TIME\r",p:`scroll 事件的节流时间,单位为毫秒,默认为 200
+<div className="run-code& ...`,l:"en/advanced/global.html#scroll-time",a:"scroll-time"},"13.9":{t:"SCROLL_GAP\r",p:`view 事件的边界容差距离,单位为像素,默认为 50
+<div className="run-code&q ...`,l:"en/advanced/global.html#scroll-gap",a:"scroll-gap"},"13.10":{t:"AUTO_PLAYBACK_MAX\r",p:`自动回放功能的最大记录数,默认为 10
+<div className="run-code"> ...`,l:"en/advanced/global.html#auto-playback-max",a:"auto-playback-max"},"13.11":{t:"AUTO_PLAYBACK_MIN\r",p:`自动回放功能的最小记录时长,单位为秒,默认为 5
+<div className="run-code" ...`,l:"en/advanced/global.html#auto-playback-min",a:"auto-playback-min"},"13.12":{t:"AUTO_PLAYBACK_TIMEOUT\r",p:`自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000
+<div className="run-code& ...`,l:"en/advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"13.13":{t:"RECONNECT_TIME_MAX\r",p:`发生连接错误时,自动连接的最大次数,默认为 5
+<div className="run-code" ...`,l:"en/advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"13.14":{t:"RECONNECT_SLEEP_TIME\r",p:`发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000
+<div className="run-c ...`,l:"en/advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"13.15":{t:"CONTROL_HIDE_TIME\r",p:`底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000
+<div className="run-cod ...`,l:"en/advanced/global.html#control-hide-time",a:"control-hide-time"},"13.16":{t:"DBCLICK_TIME\r",p:`双击事件的延迟事件,单位为毫秒,默认为 300
+<div className="run-code" ...`,l:"en/advanced/global.html#dbclick-time",a:"dbclick-time"},"13.17":{t:"DBCLICK_FULLSCREEN\r",p:`在桌面端,是否双击切换全屏,默认为 true
+<div className="run-code"& ...`,l:"en/advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"13.18":{t:"MOBILE_DBCLICK_PLAY\r",p:`在移动端,是否双击切换播放暂停,默认为 true
+<div className="run-code" ...`,l:"en/advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"13.19":{t:"MOBILE_CLICK_PLAY\r",p:`在移动端,是否单击切换播放暂停,默认为 false
+<div className="run-code&quo ...`,l:"en/advanced/global.html#mobile-click-play",a:"mobile-click-play"},"13.20":{t:"AUTO_ORIENTATION_TIME\r",p:`在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200
+<div className="run-code& ...`,l:"en/advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"13.21":{t:"INFO_LOOP_TIME\r",p:`信息面板的刷新时间,单位为毫秒,默认为 1000
+<div className="run-code" ...`,l:"en/advanced/global.html#info-loop-time",a:"info-loop-time"},"13.22":{t:"FAST_FORWARD_VALUE\r",p:`在移动端,长按加速的速率倍数,默认为 3
+<div className="run-code"> ...`,l:"en/advanced/global.html#fast-forward-value",a:"fast-forward-value"},"13.23":{t:"FAST_FORWARD_TIME\r",p:`在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000
+<div className="run-code ...`,l:"en/advanced/global.html#fast-forward-time",a:"fast-forward-time"},"13.24":{t:"TOUCH_MOVE_RATIO\r",p:`在移动端,左右滑动进度的速率倍数,默认为 0.5
+<div className="run-code" ...`,l:"en/advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"13.25":{t:"VOLUME_STEP\r",p:`快捷键调节音量的幅度比例,默认为 0.1
+<div className="run-code"> ...`,l:"en/advanced/global.html#volume-step",a:"volume-step"},"13.26":{t:"SEEK_STEP\r",p:`快捷键调节播放进度的幅度,单位为秒,默认为 5
+<div className="run-code" ...`,l:"en/advanced/global.html#seek-step",a:"seek-step"},"13.27":{t:"PLAYBACK_RATE\r",p:`内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]
+<div className=& ...`,l:"en/advanced/global.html#playback-rate",a:"playback-rate"},"13.28":{t:"ASPECT_RATIO\r",p:`内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']
+<div className=&q ...`,l:"en/advanced/global.html#aspect-ratio",a:"aspect-ratio"},"13.29":{t:"FLIP\r",p:`内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']
+<div cla ...`,l:"en/advanced/global.html#flip",a:"flip"},"13.30":{t:"FULLSCREEN_WEB_IN_BODY\r",p:`网页全屏时,是否把播放器挂在在 body 元素下,默认为 false
+<div className="run ...`,l:"en/advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"14.0":{t:"# 编写插件\r",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事
+可以在实例化的时候加载插件的函数
+<div cla ...`,l:"en/advanced/plugin.html",a:"编写插件"},"15.0":{t:"# Instance Property\r",p:"The Instance Property here refers to the Primary Property atta ...",l:"en/advanced/property.html",a:"instance-property"},"15.1":{t:"`play`\r",p:`
+Type: Function
+
+Play video
+<div className="run-code&q ...`,l:"en/advanced/property.html#play",a:"play"},"15.2":{t:"`pause`\r",p:`
+Type: Function
+
+Pause video
+<div className="run-code& ...`,l:"en/advanced/property.html#pause",a:"pause"},"15.3":{t:"`toggle`\r",p:`
+Type: Function
+
+Toggle video playback and pause
+<div class ...`,l:"en/advanced/property.html#toggle",a:"toggle"},"15.4":{t:"`destroy`\r",p:`
+Type: Function
+Parameter: Boolean
+
+To destroy the player, acc ...`,l:"en/advanced/property.html#destroy",a:"destroy"},"15.5":{t:"`seek`\r",p:`
+Type: Setter
+Parameter: Number
+
+Video time jump in seconds
+&l ...`,l:"en/advanced/property.html#seek",a:"seek"},"15.6":{t:"`forward`\r",p:`
+Type: Setter
+Parameter: Number
+
+Video time fast forward in se ...`,l:"en/advanced/property.html#forward",a:"forward"},"15.7":{t:"`backward`\r",p:`
+Type: Setter
+Parameter: Number
+
+Video time rewind in seconds
+ ...`,l:"en/advanced/property.html#backward",a:"backward"},"15.8":{t:"`volume`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+Set and get video volu ...`,l:"en/advanced/property.html#volume",a:"volume"},"15.9":{t:"`url`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Set and get video url
+ ...`,l:"en/advanced/property.html#url",a:"url"},"15.10":{t:"`switchUrl`\r",p:`
+Type: Function
+Parameter: String
+
+Setting the video url is si ...`,l:"en/advanced/property.html#switchurl",a:"switchurl"},"15.11":{t:"`switchQuality`\r",p:`
+Type: Function
+Parameter: String
+
+Set the video quality addre ...`,l:"en/advanced/property.html#switchquality",a:"switchquality"},"15.12":{t:"`muted`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set and get whether t ...`,l:"en/advanced/property.html#muted",a:"muted"},"15.13":{t:"`currentTime`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+Set and get the curren ...`,l:"en/advanced/property.html#currenttime",a:"currenttime"},"15.14":{t:"`duration`\r",p:`
+Type: Getter
+
+Get video duration
+<div className="run- ...`,l:"en/advanced/property.html#duration",a:"duration"},"15.15":{t:"`screenshot`\r",p:`
+Type: Function
+
+Download a screenshot of the current video fr ...`,l:"en/advanced/property.html#screenshot",a:"screenshot"},"15.16":{t:"`getDataURL`\r",p:`
+Type: Function
+
+Get the base64 address of the screenshot of t ...`,l:"en/advanced/property.html#getdataurl",a:"getdataurl"},"15.17":{t:"`getBlobUrl`\r",p:`
+Type: Function
+
+Get the blob address of the screenshot of the ...`,l:"en/advanced/property.html#getbloburl",a:"getbloburl"},"15.18":{t:"`fullscreen`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set and get full scre ...`,l:"en/advanced/property.html#fullscreen",a:"fullscreen"},"15.19":{t:"`fullscreenWeb`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set and get full scre ...`,l:"en/advanced/property.html#fullscreenweb",a:"fullscreenweb"},"15.20":{t:"`pip`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set and get the pictu ...`,l:"en/advanced/property.html#pip",a:"pip"},"15.21":{t:"`poster`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Set and obtain video p ...`,l:"en/advanced/property.html#poster",a:"poster"},"15.22":{t:"`mini`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set and get player mi ...`,l:"en/advanced/property.html#mini",a:"mini"},"15.23":{t:"`playing`\r",p:`
+Type: Getter
+Parameter: Boolean
+
+Get whether the video is pla ...`,l:"en/advanced/property.html#playing",a:"playing"},"15.24":{t:"`autoSize`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+Set whether the video ...`,l:"en/advanced/property.html#autosize",a:"autosize"},"15.25":{t:"`rect`\r",p:`
+Type: Getter
+
+Get the size and coordinate information of the  ...`,l:"en/advanced/property.html#rect",a:"rect"},"15.26":{t:"`flip`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Set and get player rol ...`,l:"en/advanced/property.html#flip",a:"flip"},"15.27":{t:"`playbackRate`\r",p:`
+Type: Setter/Getter
+Parameter: Number
+
+Set and get player pla ...`,l:"en/advanced/property.html#playbackrate",a:"playbackrate"},"15.28":{t:"`aspectRatio`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Set and obtain the pla ...`,l:"en/advanced/property.html#aspectratio",a:"aspectratio"},"15.29":{t:"`loop`\r",p:`
+Type: Setter/Getter
+Parameter: Array
+
+Set and obtain interval ...`,l:"en/advanced/property.html#loop",a:"loop"},"15.30":{t:"`autoHeight`\r",p:`
+Type: Setter/Getter
+Parameter: Boolean
+
+When the container ha ...`,l:"en/advanced/property.html#autoheight",a:"autoheight"},"15.31":{t:"`attr`\r",p:`
+Type: Function
+Parameter: String
+
+Get and set the attributes  ...`,l:"en/advanced/property.html#attr",a:"attr"},"15.32":{t:"`title`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Get and set player tit ...`,l:"en/advanced/property.html#title",a:"title"},"15.33":{t:"`type`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Get and set video type ...`,l:"en/advanced/property.html#type",a:"type"},"15.34":{t:"`theme`\r",p:`
+Type: Setter/Getter
+Parameter: String
+
+Get and set player the ...`,l:"en/advanced/property.html#theme",a:"theme"},"15.35":{t:"`airplay`\r",p:`
+Type: Function
+
+Enable airplay
+<div className="run-co ...`,l:"en/advanced/property.html#airplay",a:"airplay"},"15.36":{t:"`loaded`\r",p:`
+Type: Getter
+
+The proportion of video cache, with the range o ...`,l:"en/advanced/property.html#loaded",a:"loaded"},"15.37":{t:"`played`\r",p:`
+Type: Getter
+
+The proportion of video playback, with the rang ...`,l:"en/advanced/property.html#played",a:"played"},"15.38":{t:"`proxy`\r",p:`
+Type: Function
+
+The proxy function of DOM event essentially p ...`,l:"en/advanced/property.html#proxy",a:"proxy"},"15.39":{t:"`query`\r",p:`
+Type: Function
+
+The query function of DOM is similar to docum ...`,l:"en/advanced/property.html#query",a:"query"},"15.40":{t:"`video`\r",p:`
+Type: Element
+
+Return the video element of the player
+<div ...`,l:"en/advanced/property.html#video",a:"video"},"16.0":{t:"# Contextmenu\r",p:"\r",l:"en/component/contextmenu.html",a:"contextmenu"},"16.1":{t:"Config\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+disable
+Boolean
+Whether to disab ...`,l:"en/component/contextmenu.html#config",a:"config"},"16.2":{t:"Init\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#init",a:"init"},"16.3":{t:"Add\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#add",a:"add"},"16.4":{t:"Remove\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#remove",a:"remove"},"16.5":{t:"Update\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#update",a:"update"},"17.0":{t:"# Controls\r",p:"\r",l:"en/component/controls.html",a:"controls"},"17.1":{t:"Config\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+disable
+Boolean
+Whether to disab ...`,l:"en/component/controls.html#config",a:"config"},"17.2":{t:"Init\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#init",a:"init"},"17.3":{t:"Add\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#add",a:"add"},"17.4":{t:"Remove\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#remove",a:"remove"},"17.5":{t:"Update\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#update",a:"update"},"18.0":{t:"# Layers\r",p:"\r",l:"en/component/layers.html",a:"layers"},"18.1":{t:"Config\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+disable
+Boolean
+Whether to disab ...`,l:"en/component/layers.html#config",a:"config"},"18.2":{t:"Init\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#init",a:"init"},"18.3":{t:"Add\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#add",a:"add"},"18.4":{t:"Remove\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#remove",a:"remove"},"18.5":{t:"Update\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#update",a:"update"},"19.0":{t:"# Setting\r",p:"\r",l:"en/component/setting.html",a:"setting"},"19.1":{t:"Build-in\r",p:"You must open the settings panel first, and then come with fou ...",l:"en/component/setting.html#build-in",a:"build-in"},"19.2":{t:"Init - Select list\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+html
+String, Element
+Element DOM ...`,l:"en/component/setting.html#init-select-list",a:"init-select-list"},"19.3":{t:"Init - list nesting\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#init-list-nesting",a:"init-list-nesting"},"19.4":{t:"Init - Switch button\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+html
+String, Element
+Element DOM ...`,l:"en/component/setting.html#init-switch-button",a:"init-switch-button"},"19.5":{t:"Init - Range slider\r",p:`
+
+
+Property
+Type
+Describe
+
+
+
+
+html
+String, Element
+Element DOM ...`,l:"en/component/setting.html#init-range-slider",a:"init-range-slider"},"19.6":{t:"Add\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#add",a:"add"},"19.7":{t:"Remove\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#remove",a:"remove"},"19.8":{t:"Update\r",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#update",a:"update"},"20.0":{t:"::: danger Important Note\r",p:"The English document has not yet been completed, everything is ...",l:"en/index.html",a:"danger-important-note"},"20.1":{t:"Install\r",p:`::: code-group
+npm install artplayer
+
+yarn add artplayer
+
+pnpm ...`,l:"en/index.html#install",a:"install"},"20.2":{t:"`CDN`\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"en/index.html#cdn",a:"cdn"},"20.3":{t:"Use\r",p:`::: code-group
+import Artplayer from 'artplayer';
+
+const art = ...`,l:"en/index.html#use",a:"use"},"20.4":{t:"`Vue.js`\r",p:`::: code-group
+<template>
+  <div ref="artRef&quo ...`,l:"en/index.html#vue-js",a:"vue-js"},"20.5":{t:"`React.js`\r",p:`::: code-group
+import { useEffect, useRef } from 'react';
+impo ...`,l:"en/index.html#react-js",a:"react-js"},"20.6":{t:"Syntax hint\r",p:"Sometimes your js file will lose the type prompt of TypeScript ...",l:"en/index.html#syntax-hint",a:"syntax-hint"},"20.7":{t:"Old browsers\r",p:"Production builds of artplayer.js are only compatible with the ...",l:"en/index.html#old-browsers",a:"old-browsers"},"21.0":{t:"# dash.js\r",p:`👉 https://github.com/Dash-Industry-Forum/dash.js
+<div clas ...`,l:"en/library/dash.html",a:"dash-js"},"22.0":{t:"# flv.js\r",p:`👉 https://github.com/Bilibili/flv.js
+<div className=" ...`,l:"en/library/flv.html",a:"flv-js"},"23.0":{t:"# hls.js\r",p:`👉 https://github.com/video-dev/hls.js
+<div className=" ...`,l:"en/library/hls.html",a:"hls-js"},"24.0":{t:"# 视频广告\r",p:"\r",l:"en/plugin/ads.html",a:"视频广告"},"24.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"en/plugin/ads.html#演示",a:"演示"},"24.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-ads
+
+yarn add artp ...`,l:"en/plugin/ads.html#安装",a:"安装"},"24.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"en/plugin/ads.html#cdn",a:"cdn"},"24.4":{t:"使用\r",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/ads.html#使用",a:"使用"},"25.0":{t:"# 控制器皮肤\r",p:"\r",l:"en/plugin/control-ui.html",a:"控制器皮肤"},"25.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"en/plugin/control-ui.html#演示",a:"演示"},"25.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-control
+
+yarn add  ...`,l:"en/plugin/control-ui.html#安装",a:"安装"},"25.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-c ...`,l:"en/plugin/control-ui.html#cdn",a:"cdn"},"25.4":{t:"使用\r",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/control-ui.html#使用",a:"使用"},"25.5":{t:"`enable`\r",p:`
+Type: Getter/Setter
+Parameter: Boolean
+
+是否启用新的控制器皮肤
+<div c ...`,l:"en/plugin/control-ui.html#enable",a:"enable"},"26.0":{t:"# Dash 画质\r",p:"\r",l:"en/plugin/dash-quality.html",a:"dash-画质"},"26.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"en/plugin/dash-quality.html#演示",a:"演示"},"26.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-dash-quality
+
+yarn ...`,l:"en/plugin/dash-quality.html#安装",a:"安装"},"26.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"en/plugin/dash-quality.html#cdn",a:"cdn"},"27.0":{t:"# HLS 画质\r",p:"\r",l:"en/plugin/hls-quality.html",a:"hls-画质"},"27.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"en/plugin/hls-quality.html#演示",a:"演示"},"27.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-hls-quality
+
+yarn  ...`,l:"en/plugin/hls-quality.html#安装",a:"安装"},"27.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"en/plugin/hls-quality.html#cdn",a:"cdn"},"28.0":{t:"# Iframe 控制\r",p:"\r",l:"en/plugin/iframe.html",a:"iframe-控制"},"28.1":{t:"说明\r",p:"通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.htm ...",l:"en/plugin/iframe.html#说明",a:"说明"},"28.2":{t:"演示\r",p:`👉 查看完整演示
+`,l:"en/plugin/iframe.html#演示",a:"演示"},"28.3":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-iframe
+
+yarn add a ...`,l:"en/plugin/iframe.html#安装",a:"安装"},"28.4":{t:"`CDN`\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"en/plugin/iframe.html#cdn",a:"cdn"},"28.5":{t:"使用\r",p:`::: code-group
+<!DOCTYPE html>
+<html>
+    <head ...`,l:"en/plugin/iframe.html#使用",a:"使用"},"28.6":{t:"`index.html` 接口\r",p:"\r",l:"en/plugin/iframe.html#index-html-接口",a:"index-html-接口"},"28.7":{t:"`commit`\r",p:"从 index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于 ...",l:"en/plugin/iframe.html#commit",a:"commit"},"28.8":{t:"`message`\r",p:`在 index.html 接收来自 iframe.html 的消息
+iframe.message((event) => ...`,l:"en/plugin/iframe.html#message",a:"message"},"28.9":{t:"`destroy`\r",p:`销毁后 index.html 无法与 iframe.html 通信
+iframe.destroy();
+
+`,l:"en/plugin/iframe.html#destroy",a:"destroy"},"28.10":{t:"`iframe.html` 接口\r",p:`:::warning 提示
+iframe.html 接口 只能运行在 iframe.html 里
+:::
+`,l:"en/plugin/iframe.html#iframe-html-接口",a:"iframe-html-接口"},"28.11":{t:"`inject`\r",p:`注入脚本,接收来自 index.html 的消息
+ArtplayerPluginIframe.inject();
+
+`,l:"en/plugin/iframe.html#inject",a:"inject"},"28.12":{t:"`postMessage`\r",p:`将消息推送到 index.html
+iframe.message((event) => {
+    console.i ...`,l:"en/plugin/iframe.html#postmessage",a:"postmessage"},"28.13":{t:"例子\r",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听  ...",l:"en/plugin/iframe.html#例子",a:"例子"},"29.0":{t:"# Option\r",p:"\r",l:"en/start/option.html",a:"option"},"29.1":{t:"`container`\r",p:`
+Type: String, Element
+Default: #artplayer
+
+The DOM container  ...`,l:"en/start/option.html#container",a:"container"},"29.2":{t:"`url`\r",p:`
+Type: String
+Default: ''
+
+Video source address
+<div classN ...`,l:"en/start/option.html#url",a:"url"},"29.3":{t:"`id`\r",p:`
+Type: String
+Default: ''
+
+The unique identifier of the player ...`,l:"en/start/option.html#id",a:"id"},"29.4":{t:"`onReady`\r",p:`
+Type: Function
+Default: undefined
+
+The constructor accepts a  ...`,l:"en/start/option.html#onready",a:"onready"},"29.5":{t:"`poster`\r",p:`
+Type: String
+Default: ''
+
+Video posters will only appear when ...`,l:"en/start/option.html#poster",a:"poster"},"29.6":{t:"`title`\r",p:`
+Type: String
+Default: ''
+
+Video title, which currently appear ...`,l:"en/start/option.html#title",a:"title"},"29.7":{t:"`theme`\r",p:`
+Type: String
+Default: #f00
+
+The player theme color is current ...`,l:"en/start/option.html#theme",a:"theme"},"29.8":{t:"`volume`\r",p:`
+Type: Number
+Default: 0.7
+
+Default volume of player
+<div c ...`,l:"en/start/option.html#volume",a:"volume"},"29.9":{t:"`isLive`\r",p:`
+Type: Boolean
+Default: false
+
+When using live mode, the progr ...`,l:"en/start/option.html#islive",a:"islive"},"29.10":{t:"`muted`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to mute by default
+< ...`,l:"en/start/option.html#muted",a:"muted"},"29.11":{t:"`autoplay`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to play automatically
+& ...`,l:"en/start/option.html#autoplay",a:"autoplay"},"29.12":{t:"`autoSize`\r",p:`
+Type: Boolean
+Default: false
+
+The size of the player will fil ...`,l:"en/start/option.html#autosize",a:"autosize"},"29.13":{t:"`autoMini`\r",p:`
+Type: Boolean
+Default: false
+
+When the player scrolls outside ...`,l:"en/start/option.html#automini",a:"automini"},"29.14":{t:"`loop`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to play in a loop
+<d ...`,l:"en/start/option.html#loop",a:"loop"},"29.15":{t:"`flip`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the video fl ...`,l:"en/start/option.html#flip",a:"flip"},"29.16":{t:"`playbackRate`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the video pl ...`,l:"en/start/option.html#playbackrate",a:"playbackrate"},"29.17":{t:"`aspectRatio`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the video as ...`,l:"en/start/option.html#aspectratio",a:"aspectratio"},"29.18":{t:"`screenshot`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the video sc ...`,l:"en/start/option.html#screenshot",a:"screenshot"},"29.19":{t:"`setting`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the switch b ...`,l:"en/start/option.html#setting",a:"setting"},"29.20":{t:"`hotkey`\r",p:`
+Type: Boolean
+Default: true
+
+Whether to use shortcut keys
+< ...`,l:"en/start/option.html#hotkey",a:"hotkey"},"29.21":{t:"`pip`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the picture  ...`,l:"en/start/option.html#pip",a:"pip"},"29.22":{t:"`mutex`\r",p:`
+Type: Boolean
+Default: true
+
+If there are multiple players in ...`,l:"en/start/option.html#mutex",a:"mutex"},"29.23":{t:"`fullscreen`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the player w ...`,l:"en/start/option.html#fullscreen",a:"fullscreen"},"29.24":{t:"`fullscreenWeb`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the player f ...`,l:"en/start/option.html#fullscreenweb",a:"fullscreenweb"},"29.25":{t:"`subtitleOffset`\r",p:`
+Type: Boolean
+Default: false
+
+Subtitle time offset, with the  ...`,l:"en/start/option.html#subtitleoffset",a:"subtitleoffset"},"29.26":{t:"`miniProgressBar`\r",p:`
+Type: Boolean
+Default: false
+
+Mini progress bar, only appears ...`,l:"en/start/option.html#miniprogressbar",a:"miniprogressbar"},"29.27":{t:"`useSSR`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to use the SSR mount mo ...`,l:"en/start/option.html#usessr",a:"usessr"},"29.28":{t:"`playsInline`\r",p:`
+Type: Boolean
+Default: true
+
+Whether to use the playsInline m ...`,l:"en/start/option.html#playsinline",a:"playsinline"},"29.29":{t:"`layers`\r",p:`
+Type: Array
+Default: []
+
+Initialize the customized layers
+< ...`,l:"en/start/option.html#layers",a:"layers"},"29.30":{t:"`settings`\r",p:`
+Type: Array
+Default: []
+
+Initialize the customized Setting
+&l ...`,l:"en/start/option.html#settings",a:"settings"},"29.31":{t:"`contextmenu`\r",p:`
+Type: Array
+Default: []
+
+Initialize the customized Contextmen ...`,l:"en/start/option.html#contextmenu",a:"contextmenu"},"29.32":{t:"`controls`\r",p:`
+Type: Array
+Default: []
+
+Initialize the customized Controls
+& ...`,l:"en/start/option.html#controls",a:"controls"},"29.33":{t:"`quality`\r",p:`
+Type: Array
+Default: []
+
+Whether to display the Quality list  ...`,l:"en/start/option.html#quality",a:"quality"},"29.34":{t:"`highlight`\r",p:`
+Type: Array
+Default: []
+
+Display highlight on the progress ba ...`,l:"en/start/option.html#highlight",a:"highlight"},"29.35":{t:"`plugins`\r",p:`
+Type: Array
+Default: []
+
+Initialize customized plugins
+<di ...`,l:"en/start/option.html#plugins",a:"plugins"},"29.36":{t:"`whitelist`\r",p:`
+Type: Array
+Default: []
+
+Because different mobile devices hav ...`,l:"en/start/option.html#whitelist",a:"whitelist"},"29.37":{t:"`thumbnails`\r",p:`
+Type: Object
+Default: {}
+
+Set the thumbnails image on the pro ...`,l:"en/start/option.html#thumbnails",a:"thumbnails"},"29.38":{t:"`subtitle`\r",p:`
+Type: Object
+Default: {}
+
+Set the subtitle of the video and s ...`,l:"en/start/option.html#subtitle",a:"subtitle"},"29.39":{t:"`moreVideoAttr`\r",p:`
+Type: Object
+Default: {'controls': false,'preload': 'metadata ...`,l:"en/start/option.html#morevideoattr",a:"morevideoattr"},"29.40":{t:"`icons`\r",p:`
+Type: Object
+Default: {}
+
+It is used to replace the default i ...`,l:"en/start/option.html#icons",a:"icons"},"29.41":{t:"`type`\r",p:`
+Type: String
+Default: ''
+
+It is used to indicate the format o ...`,l:"en/start/option.html#type",a:"type"},"29.42":{t:"`customType`\r",p:`
+Type: Object
+Default: {}
+
+By matching the video's type, the v ...`,l:"en/start/option.html#customtype",a:"customtype"},"29.43":{t:"`lang`\r",p:`
+Type: String
+Default: navigator.language.toLowerCase()
+
+The d ...`,l:"en/start/option.html#lang",a:"lang"},"29.44":{t:"`i18n`\r",p:`
+Type: Object
+Default: {}
+
+Customize the i18n configuration, w ...`,l:"en/start/option.html#i18n",a:"i18n"},"29.45":{t:"`lock`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display a lock butto ...`,l:"en/start/option.html#lock",a:"lock"},"29.46":{t:"`fastForward`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to add long-press video ...`,l:"en/start/option.html#fastforward",a:"fastforward"},"29.47":{t:"`autoPlayback`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to use automatic playba ...`,l:"en/start/option.html#autoplayback",a:"autoplayback"},"29.48":{t:"`autoOrientation`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to rotate the player ac ...`,l:"en/start/option.html#autoorientation",a:"autoorientation"},"29.49":{t:"`airplay`\r",p:`
+Type: Boolean
+Default: false
+
+Whether to display the airplay  ...`,l:"en/start/option.html#airplay",a:"airplay"},"29.50":{t:"`cssVar`\r",p:`
+Type: Object
+Default: {}
+
+Used to change built-in CSS variabl ...`,l:"en/start/option.html#cssvar",a:"cssvar"},"30.0":{t:"# 安装使用\r",p:"\r",l:"index.html",a:"安装使用"},"30.1":{t:"安装\r",p:`::: code-group
+npm install artplayer
+
+yarn add artplayer
+
+pnpm ...`,l:"index.html#安装",a:"安装"},"30.2":{t:"`CDN`\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"index.html#cdn",a:"cdn"},"30.3":{t:"使用\r",p:`::: code-group
+import Artplayer from 'artplayer';
+
+const art = ...`,l:"index.html#使用",a:"使用"},"30.4":{t:"`Vue.js`\r",p:`::: code-group
+<template>
+  <div ref="artRef&quo ...`,l:"index.html#vue-js",a:"vue-js"},"30.5":{t:"`React.js`\r",p:`::: code-group
+import { useEffect, useRef } from 'react';
+impo ...`,l:"index.html#react-js",a:"react-js"},"30.6":{t:"语法提示\r",p:`有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型
+变量:
+/**
+ * @type { ...`,l:"index.html#语法提示",a:"语法提示"},"30.7":{t:"古老的浏览器\r",p:`生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version
+对于 ...`,l:"index.html#古老的浏览器",a:"古老的浏览器"},"31.0":{t:"# dash.js\r",p:`👉 https://github.com/Dash-Industry-Forum/dash.js
+<div clas ...`,l:"library/dash.html",a:"dash-js"},"32.0":{t:"# flv.js\r",p:`👉 https://github.com/Bilibili/flv.js
+<div className=" ...`,l:"library/flv.html",a:"flv-js"},"33.0":{t:"# hls.js\r",p:`👉 https://github.com/video-dev/hls.js
+<div className=" ...`,l:"library/hls.html",a:"hls-js"},"34.0":{t:"# 视频广告\r",p:"\r",l:"plugin/ads.html",a:"视频广告"},"34.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/ads.html#演示",a:"演示"},"34.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-ads
+
+yarn add artp ...`,l:"plugin/ads.html#安装",a:"安装"},"34.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"plugin/ads.html#cdn",a:"cdn"},"34.4":{t:"使用\r",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/ads.html#使用",a:"使用"},"35.0":{t:"# 控制器皮肤\r",p:"\r",l:"plugin/control-ui.html",a:"控制器皮肤"},"35.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/control-ui.html#演示",a:"演示"},"35.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-control
+
+yarn add  ...`,l:"plugin/control-ui.html#安装",a:"安装"},"35.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-c ...`,l:"plugin/control-ui.html#cdn",a:"cdn"},"35.4":{t:"使用\r",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/control-ui.html#使用",a:"使用"},"35.5":{t:"`enable`\r",p:`
+Type: Getter/Setter
+Parameter: Boolean
+
+是否启用新的控制器皮肤
+<div c ...`,l:"plugin/control-ui.html#enable",a:"enable"},"36.0":{t:"# 弹幕库\r",p:"\r",l:"plugin/danmuku.html",a:"弹幕库"},"36.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/danmuku.html#演示",a:"演示"},"36.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-danmuku
+
+yarn add  ...`,l:"plugin/danmuku.html#安装",a:"安装"},"36.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/danmuku.html#cdn",a:"cdn"},"36.4":{t:"选项\r",p:`{
+    danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
+    speed: ...`,l:"plugin/danmuku.html#选项",a:"选项"},"36.5":{t:"使用弹幕数组\r",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕数组",a:"使用弹幕数组"},"36.6":{t:"使用弹幕 XML\r",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕-xml",a:"使用弹幕-xml"},"36.7":{t:"使用异步调用\r",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用异步调用",a:"使用异步调用"},"36.8":{t:"`hide/show`\r",p:`通过方法 hide 和 show 进行隐藏或者显示弹幕
+<div className="run-code&q ...`,l:"plugin/danmuku.html#hide-show",a:"hide-show"},"36.9":{t:"`isHide`\r",p:`通过属性 isHide 判断当前弹幕是隐藏或者显示
+<div className="run-code&quo ...`,l:"plugin/danmuku.html#ishide",a:"ishide"},"36.10":{t:"`emit`\r",p:`通过方法 emit 发送一条实时弹幕
+<div className="run-code" data ...`,l:"plugin/danmuku.html#emit",a:"emit"},"36.11":{t:"`config`\r",p:`通过方法 config 实时改变弹幕配置,支持属性有:
+
+danmuku
+speed
+opacity
+fontSize
+co ...`,l:"plugin/danmuku.html#config",a:"config"},"36.12":{t:"`load`\r",p:`通过 load 方法可以重载弹幕源,或者切换新弹幕
+<div className="run-code&quo ...`,l:"plugin/danmuku.html#load",a:"load"},"36.13":{t:"`reset`\r",p:`用于清空当前显示的弹幕
+<div className="run-code" data-libs=& ...`,l:"plugin/danmuku.html#reset",a:"reset"},"36.14":{t:"`option`\r",p:`用于获取当前弹幕配置
+<div className="run-code" data-libs=&q ...`,l:"plugin/danmuku.html#option",a:"option"},"36.15":{t:"事件\r",p:`var art = new Artplayer({
+    container: '.artplayer-app',
+    ...`,l:"plugin/danmuku.html#事件",a:"事件"},"37.0":{t:"# Dash 画质\r",p:"\r",l:"plugin/dash-quality.html",a:"dash-画质"},"37.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/dash-quality.html#演示",a:"演示"},"37.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-dash-quality
+
+yarn ...`,l:"plugin/dash-quality.html#安装",a:"安装"},"37.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/dash-quality.html#cdn",a:"cdn"},"38.0":{t:"# HLS 画质\r",p:"\r",l:"plugin/hls-quality.html",a:"hls-画质"},"38.1":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/hls-quality.html#演示",a:"演示"},"38.2":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-hls-quality
+
+yarn  ...`,l:"plugin/hls-quality.html#安装",a:"安装"},"38.3":{t:"CDN\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"plugin/hls-quality.html#cdn",a:"cdn"},"39.0":{t:"# Iframe 控制\r",p:"\r",l:"plugin/iframe.html",a:"iframe-控制"},"39.1":{t:"说明\r",p:"通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.htm ...",l:"plugin/iframe.html#说明",a:"说明"},"39.2":{t:"演示\r",p:`👉 查看完整演示
+`,l:"plugin/iframe.html#演示",a:"演示"},"39.3":{t:"安装\r",p:`::: code-group
+npm install artplayer-plugin-iframe
+
+yarn add a ...`,l:"plugin/iframe.html#安装",a:"安装"},"39.4":{t:"`CDN`\r",p:`::: code-group
+https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"plugin/iframe.html#cdn",a:"cdn"},"39.5":{t:"使用\r",p:`::: code-group
+<!DOCTYPE html>
+<html>
+    <head ...`,l:"plugin/iframe.html#使用",a:"使用"},"39.6":{t:"`index.html` 接口\r",p:"\r",l:"plugin/iframe.html#index-html-接口",a:"index-html-接口"},"39.7":{t:"`commit`\r",p:"从 index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于 ...",l:"plugin/iframe.html#commit",a:"commit"},"39.8":{t:"`message`\r",p:`在 index.html 接收来自 iframe.html 的消息
+iframe.message((event) => ...`,l:"plugin/iframe.html#message",a:"message"},"39.9":{t:"`destroy`\r",p:`销毁后 index.html 无法与 iframe.html 通信
+iframe.destroy();
+
+`,l:"plugin/iframe.html#destroy",a:"destroy"},"39.10":{t:"`iframe.html` 接口\r",p:`:::warning 提示
+iframe.html 接口 只能运行在 iframe.html 里
+:::
+`,l:"plugin/iframe.html#iframe-html-接口",a:"iframe-html-接口"},"39.11":{t:"`inject`\r",p:`注入脚本,接收来自 index.html 的消息
+ArtplayerPluginIframe.inject();
+
+`,l:"plugin/iframe.html#inject",a:"inject"},"39.12":{t:"`postMessage`\r",p:`将消息推送到 index.html
+iframe.message((event) => {
+    console.i ...`,l:"plugin/iframe.html#postmessage",a:"postmessage"},"39.13":{t:"例子\r",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听  ...",l:"plugin/iframe.html#例子",a:"例子"},"40.0":{t:"# 基础选项\r",p:"\r",l:"start/option.html",a:"基础选项"},"40.1":{t:"`container`\r",p:`
+Type: String, Element
+Default: #artplayer
+
+播放器挂载的 DOM 容器
+< ...`,l:"start/option.html#container",a:"container"},"40.2":{t:"`url`\r",p:`
+Type: String
+Default: ''
+
+视频源地址
+<div className="run-c ...`,l:"start/option.html#url",a:"url"},"40.3":{t:"`id`\r",p:`
+Type: String
+Default: ''
+
+播放器的唯一标识,目前只用于记忆播放 autoplayback
+< ...`,l:"start/option.html#id",a:"id"},"40.4":{t:"`onReady`\r",p:`
+Type: Function
+Default: undefined
+
+构造函数接受一个函数作为第二个参数,播放器初始化成功 ...`,l:"start/option.html#onready",a:"onready"},"40.5":{t:"`poster`\r",p:`
+Type: String
+Default: ''
+
+视频的海报,只会出现在播放器初始化且未播放的状态下
+<div c ...`,l:"start/option.html#poster",a:"poster"},"40.6":{t:"`title`\r",p:`
+Type: String
+Default: ''
+
+视频标题,目前会出现在 视频截图 和 迷你模式 下
+<div c ...`,l:"start/option.html#title",a:"title"},"40.7":{t:"`theme`\r",p:`
+Type: String
+Default: #f00
+
+播放器主题颜色,目前用于 进度条 和 高亮元素 上
+<div ...`,l:"start/option.html#theme",a:"theme"},"40.8":{t:"`volume`\r",p:`
+Type: Number
+Default: 0.7
+
+播放器的默认音量
+<div className="r ...`,l:"start/option.html#volume",a:"volume"},"40.9":{t:"`isLive`\r",p:`
+Type: Boolean
+Default: false
+
+使用直播模式,会隐藏进度条和播放时间
+<div clas ...`,l:"start/option.html#islive",a:"islive"},"40.10":{t:"`muted`\r",p:`
+Type: Boolean
+Default: false
+
+是否默认静音
+<div className=" ...`,l:"start/option.html#muted",a:"muted"},"40.11":{t:"`autoplay`\r",p:`
+Type: Boolean
+Default: false
+
+是否自动播放
+<div className=" ...`,l:"start/option.html#autoplay",a:"autoplay"},"40.12":{t:"`autoSize`\r",p:`
+Type: Boolean
+Default: false
+
+播放器的尺寸默认会填充整个 container 容器尺寸,所以 ...`,l:"start/option.html#autosize",a:"autosize"},"40.13":{t:"`autoMini`\r",p:`
+Type: Boolean
+Default: false
+
+当播放器滚动到浏览器视口以外时,自动进入 迷你播放 模式
+&l ...`,l:"start/option.html#automini",a:"automini"},"40.14":{t:"`loop`\r",p:`
+Type: Boolean
+Default: false
+
+是否循环播放
+<div className=" ...`,l:"start/option.html#loop",a:"loop"},"40.15":{t:"`flip`\r",p:`
+Type: Boolean
+Default: false
+
+是否显示视频翻转功能,目前只出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#flip",a:"flip"},"40.16":{t:"`playbackRate`\r",p:`
+Type: Boolean
+Default: false
+
+是否显示视频播放速度功能,会出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#playbackrate",a:"playbackrate"},"40.17":{t:"`aspectRatio`\r",p:`
+Type: Boolean
+Default: false
+
+是否显示视频长宽比功能,会出现在 设置面板 和 右键菜单 里
+ ...`,l:"start/option.html#aspectratio",a:"aspectratio"},"40.18":{t:"`screenshot`\r",p:`
+Type: Boolean
+Default: false
+
+是否在底部控制栏里显示 视频截图 功能
+<div cla ...`,l:"start/option.html#screenshot",a:"screenshot"},"40.19":{t:"`setting`\r",p:`
+Type: Boolean
+Default: false
+
+是否在底部控制栏里显示 设置面板 的开关按钮
+<div  ...`,l:"start/option.html#setting",a:"setting"},"40.20":{t:"`hotkey`\r",p:`
+Type: Boolean
+Default: true
+
+是否使用快捷键
+<div className=" ...`,l:"start/option.html#hotkey",a:"hotkey"},"40.21":{t:"`pip`\r",p:`
+Type: Boolean
+Default: false
+
+是否在底部控制栏里显示 画中画 的开关按钮
+<div c ...`,l:"start/option.html#pip",a:"pip"},"40.22":{t:"`mutex`\r",p:`
+Type: Boolean
+Default: true
+
+假如页面里同时存在多个播放器,是否只能让一个播放器播放
+< ...`,l:"start/option.html#mutex",a:"mutex"},"40.23":{t:"`fullscreen`\r",p:`
+Type: Boolean
+Default: false
+
+是否在底部控制栏里显示播放器 窗口全屏 按钮
+<div  ...`,l:"start/option.html#fullscreen",a:"fullscreen"},"40.24":{t:"`fullscreenWeb`\r",p:`
+Type: Boolean
+Default: false
+
+是否在底部控制栏里显示播放器 网页全屏 按钮
+<div  ...`,l:"start/option.html#fullscreenweb",a:"fullscreenweb"},"40.25":{t:"`subtitleOffset`\r",p:`
+Type: Boolean
+Default: false
+
+字幕时间偏移,范围在 [-5s, 5s],出现在 设置面板 里 ...`,l:"start/option.html#subtitleoffset",a:"subtitleoffset"},"40.26":{t:"`miniProgressBar`\r",p:`
+Type: Boolean
+Default: false
+
+迷你进度条,只在播放器失去焦点后且正在播放时出现
+<di ...`,l:"start/option.html#miniprogressbar",a:"miniprogressbar"},"40.27":{t:"`useSSR`\r",p:`
+Type: Boolean
+Default: false
+
+是否使用 SSR 挂载模式,假如你希望在播放器挂载前,就提前渲 ...`,l:"start/option.html#usessr",a:"usessr"},"40.28":{t:"`playsInline`\r",p:`
+Type: Boolean
+Default: true
+
+在移动端是否使用 playsInline 模式
+<div  ...`,l:"start/option.html#playsinline",a:"playsinline"},"40.29":{t:"`layers`\r",p:`
+Type: Array
+Default: []
+
+初始化自定义的 层
+<div className="ru ...`,l:"start/option.html#layers",a:"layers"},"40.30":{t:"`settings`\r",p:`
+Type: Array
+Default: []
+
+初始化自定义的 设置面板
+<div className=" ...`,l:"start/option.html#settings",a:"settings"},"40.31":{t:"`contextmenu`\r",p:`
+Type: Array
+Default: []
+
+初始化自定义的 右键菜单
+<div className=" ...`,l:"start/option.html#contextmenu",a:"contextmenu"},"40.32":{t:"`controls`\r",p:`
+Type: Array
+Default: []
+
+初始化自定义的底部 控制栏
+<div className=&quo ...`,l:"start/option.html#controls",a:"controls"},"40.33":{t:"`quality`\r",p:`
+Type: Array
+Default: []
+
+是否在底部控制栏里显示 画质选择 列表
+
+
+
+属性
+类型
+描述
+
+
+
+
+ ...`,l:"start/option.html#quality",a:"quality"},"40.34":{t:"`highlight`\r",p:`
+Type: Array
+Default: []
+
+在进度条上显示 高亮信息
+
+
+
+属性
+类型
+描述
+
+
+
+
+time
+Nu ...`,l:"start/option.html#highlight",a:"highlight"},"40.35":{t:"`plugins`\r",p:`
+Type: Array
+Default: []
+
+初始化自定义的 插件
+<div className="r ...`,l:"start/option.html#plugins",a:"plugins"},"40.36":{t:"`whitelist`\r",p:`
+Type: Array
+Default: []
+
+因为不同的移动设备存在多种差异和限制,有时候你希望在某些移动设备上不使用 ...`,l:"start/option.html#whitelist",a:"whitelist"},"40.37":{t:"`thumbnails`\r",p:`
+Type: Object
+Default: {}
+
+在进度条上设置 预览图
+
+
+
+属性
+类型
+描述
+
+
+
+
+url
+Str ...`,l:"start/option.html#thumbnails",a:"thumbnails"},"40.38":{t:"`subtitle`\r",p:`
+Type: Object
+Default: {}
+
+设置视频的字幕,支持字幕格式:vtt, srt, ass
+
+
+
+属性
+ ...`,l:"start/option.html#subtitle",a:"subtitle"},"40.39":{t:"`moreVideoAttr`\r",p:`
+Type: Object
+Default: {'controls': false,'preload': 'metadata ...`,l:"start/option.html#morevideoattr",a:"morevideoattr"},"40.40":{t:"`icons`\r",p:`
+Type: Object
+Default: {}
+
+用于替换默认图标,支持 Html 字符串和 HTMLElement
+& ...`,l:"start/option.html#icons",a:"icons"},"40.41":{t:"`type`\r",p:`
+Type: String
+Default: ''
+
+用于指明视频的格式,需要配合 customType 一起使用,默认视频 ...`,l:"start/option.html#type",a:"type"},"40.42":{t:"`customType`\r",p:`
+Type: Object
+Default: {}
+
+通过视频的 type 进行匹配,把视频解码权交给第三方程序进行处理,处 ...`,l:"start/option.html#customtype",a:"customtype"},"40.43":{t:"`lang`\r",p:`
+Type: String
+Default: navigator.language.toLowerCase()
+
+默认显示语 ...`,l:"start/option.html#lang",a:"lang"},"40.44":{t:"`i18n`\r",p:`
+Type: Object
+Default: {}
+
+自定义 i18n 配置,该配置会和自带的 i18n 进行深度合并
+新增 ...`,l:"start/option.html#i18n",a:"i18n"},"40.45":{t:"`lock`\r",p:`
+Type: Boolean
+Default: false
+
+是否在移动端显示一个 锁定按钮 ,用于隐藏底部 控制栏
+< ...`,l:"start/option.html#lock",a:"lock"},"40.46":{t:"`fastForward`\r",p:`
+Type: Boolean
+Default: false
+
+是否在移动端添加长按视频快进功能
+<div classN ...`,l:"start/option.html#fastforward",a:"fastforward"},"40.47":{t:"`autoPlayback`\r",p:`
+Type: Boolean
+Default: false
+
+是否使用自动 回放功能
+<div className=& ...`,l:"start/option.html#autoplayback",a:"autoplayback"},"40.48":{t:"`autoOrientation`\r",p:`
+Type: Boolean
+Default: false
+
+是否在移动端的网页全屏时,根据视频尺寸和视口尺寸,旋转播放器
+ ...`,l:"start/option.html#autoorientation",a:"autoorientation"},"40.49":{t:"`airplay`\r",p:`
+Type: Boolean
+Default: false
+
+是否显示 airplay 按钮,当前只有部分浏览器支持该功能
+ ...`,l:"start/option.html#airplay",a:"airplay"},"40.50":{t:"`cssVar`\r",p:`
+Type: Object
+Default: {}
+
+用于改变内置的css变量
+<div className=&quo ...`,l:"start/option.html#cssvar",a:"cssvar"}},n={previewLength:62,buttonLabel:"Search",placeholder:"Search docs",allow:[],ignore:[]},a={INDEX_DATA:t,PREVIEW_LOOKUP:e,Options:n};export{a as default};
diff --git a/docs/document/assets/component_contextmenu.md.88b1cf3b.js b/docs/document/assets/component_contextmenu.md.b0cac7bc.js
similarity index 99%
rename from docs/document/assets/component_contextmenu.md.88b1cf3b.js
rename to docs/document/assets/component_contextmenu.md.b0cac7bc.js
index 05b659ef2..7bf98a7dc 100644
--- a/docs/document/assets/component_contextmenu.md.88b1cf3b.js
+++ b/docs/document/assets/component_contextmenu.md.b0cac7bc.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","lastUpdated":1682229030000}'),o={name:"component/contextmenu.md"},e=s('

右键菜单 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","lastUpdated":1682229030000}'),o={name:"component/contextmenu.md"},e=s('

右键菜单 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
diff --git a/docs/document/assets/component_contextmenu.md.88b1cf3b.lean.js b/docs/document/assets/component_contextmenu.md.b0cac7bc.lean.js
similarity index 90%
rename from docs/document/assets/component_contextmenu.md.88b1cf3b.lean.js
rename to docs/document/assets/component_contextmenu.md.b0cac7bc.lean.js
index 78e37b292..904e0c6f8 100644
--- a/docs/document/assets/component_contextmenu.md.88b1cf3b.lean.js
+++ b/docs/document/assets/component_contextmenu.md.b0cac7bc.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","lastUpdated":1682229030000}'),o={name:"component/contextmenu.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),A=n("div",{className:"run-code"},"▶ Run Code",-1),i=s("",1),C=[e,t,r,c,D,F,y,A,i];function d(b,u,m,h,_,g){return p(),l("div",null,C)}const x=a(o,[["render",d]]);export{f as __pageData,x as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","lastUpdated":1682229030000}'),o={name:"component/contextmenu.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),A=n("div",{className:"run-code"},"▶ Run Code",-1),i=s("",1),C=[e,t,r,c,D,F,y,A,i];function d(b,u,m,h,_,g){return p(),l("div",null,C)}const x=a(o,[["render",d]]);export{f as __pageData,x as default};
diff --git a/docs/document/assets/component_controls.md.b384859c.js b/docs/document/assets/component_controls.md.fea1c7e9.js
similarity index 99%
rename from docs/document/assets/component_controls.md.b384859c.js
rename to docs/document/assets/component_controls.md.fea1c7e9.js
index 0d62994b5..af95284ef 100644
--- a/docs/document/assets/component_controls.md.b384859c.js
+++ b/docs/document/assets/component_controls.md.fea1c7e9.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","lastUpdated":1682233868000}'),o={name:"component/controls.md"},e=s('

控制器 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleft 和 right 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","lastUpdated":1682233868000}'),o={name:"component/controls.md"},e=s('

控制器 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleft 和 right 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
diff --git a/docs/document/assets/component_controls.md.b384859c.lean.js b/docs/document/assets/component_controls.md.fea1c7e9.lean.js
similarity index 90%
rename from docs/document/assets/component_controls.md.b384859c.lean.js
rename to docs/document/assets/component_controls.md.fea1c7e9.lean.js
index 9a7a7ee09..4c4100245 100644
--- a/docs/document/assets/component_controls.md.b384859c.lean.js
+++ b/docs/document/assets/component_controls.md.fea1c7e9.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","lastUpdated":1682233868000}'),o={name:"component/controls.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,u,m,h,g,_){return p(),l("div",null,A)}const T=a(o,[["render",b]]);export{f as __pageData,T as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","lastUpdated":1682233868000}'),o={name:"component/controls.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,u,m,h,g,_){return p(),l("div",null,A)}const T=a(o,[["render",b]]);export{f as __pageData,T as default};
diff --git a/docs/document/assets/component_layers.md.f5af8f05.js b/docs/document/assets/component_layers.md.c089d00b.js
similarity index 99%
rename from docs/document/assets/component_layers.md.f5af8f05.js
rename to docs/document/assets/component_layers.md.c089d00b.js
index 5bee7bc7b..0ca5fa05f 100644
--- a/docs/document/assets/component_layers.md.f5af8f05.js
+++ b/docs/document/assets/component_layers.md.c089d00b.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","lastUpdated":1682229030000}'),o={name:"component/layers.md"},e=s('

业务层 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var img = '/assets/sample/layer.png';
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","lastUpdated":1682229030000}'),o={name:"component/layers.md"},e=s('

业务层 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
diff --git a/docs/document/assets/component_layers.md.f5af8f05.lean.js b/docs/document/assets/component_layers.md.c089d00b.lean.js
similarity index 90%
rename from docs/document/assets/component_layers.md.f5af8f05.lean.js
rename to docs/document/assets/component_layers.md.c089d00b.lean.js
index 57383874b..666cc0e46 100644
--- a/docs/document/assets/component_layers.md.f5af8f05.lean.js
+++ b/docs/document/assets/component_layers.md.c089d00b.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","lastUpdated":1682229030000}'),o={name:"component/layers.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,h,m,u,g,_){return p(),l("div",null,A)}const f=a(o,[["render",b]]);export{v as __pageData,f as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","lastUpdated":1682229030000}'),o={name:"component/layers.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,h,m,u,g,_){return p(),l("div",null,A)}const f=a(o,[["render",b]]);export{v as __pageData,f as default};
diff --git a/docs/document/assets/component_setting.md.430d07f9.js b/docs/document/assets/component_setting.md.1bc1860b.js
similarity index 99%
rename from docs/document/assets/component_setting.md.430d07f9.js
rename to docs/document/assets/component_setting.md.1bc1860b.js
index ccaed1ba9..f1982fc22 100644
--- a/docs/document/assets/component_setting.md.430d07f9.js
+++ b/docs/document/assets/component_setting.md.1bc1860b.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const x=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","lastUpdated":1682779928000}'),o={name:"component/setting.md"},e=s('

设置面板 ​

内置 ​

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const x=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","lastUpdated":1682779928000}'),o={name:"component/setting.md"},e=s('

设置面板 ​

内置 ​

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
diff --git a/docs/document/assets/component_setting.md.430d07f9.lean.js b/docs/document/assets/component_setting.md.1bc1860b.lean.js
similarity index 93%
rename from docs/document/assets/component_setting.md.430d07f9.lean.js
rename to docs/document/assets/component_setting.md.1bc1860b.lean.js
index fa96a4e39..2ebb36a23 100644
--- a/docs/document/assets/component_setting.md.430d07f9.lean.js
+++ b/docs/document/assets/component_setting.md.1bc1860b.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const x=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","lastUpdated":1682779928000}'),o={name:"component/setting.md"},e=s("",3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),C=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),i=n("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),d=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",2),m=n("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),g=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",1),E=[e,t,r,c,D,F,y,C,A,i,b,d,u,m,h,g,_];function v(f,S,q,T,w,P){return p(),l("div",null,E)}const R=a(o,[["render",v]]);export{x as __pageData,R as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const x=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","lastUpdated":1682779928000}'),o={name:"component/setting.md"},e=s("",3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),C=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),i=n("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),d=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",2),m=n("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),g=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",1),E=[e,t,r,c,D,F,y,C,A,i,b,d,u,m,h,g,_];function v(f,S,q,T,w,P){return p(),l("div",null,E)}const R=a(o,[["render",v]]);export{x as __pageData,R as default};
diff --git a/docs/document/assets/en_advanced_built-in.md.6b773482.js b/docs/document/assets/en_advanced_built-in.md.852cc7ad.js
similarity index 99%
rename from docs/document/assets/en_advanced_built-in.md.6b773482.js
rename to docs/document/assets/en_advanced_built-in.md.852cc7ad.js
index 7a877bc8f..47917a713 100644
--- a/docs/document/assets/en_advanced_built-in.md.6b773482.js
+++ b/docs/document/assets/en_advanced_built-in.md.852cc7ad.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","lastUpdated":1682229030000}'),o={name:"en/advanced/built-in.md"},e=s('

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

',4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","lastUpdated":1682229030000}'),o={name:"en/advanced/built-in.md"},e=s('

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

',4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/docs/document/assets/en_advanced_built-in.md.6b773482.lean.js b/docs/document/assets/en_advanced_built-in.md.852cc7ad.lean.js
similarity index 95%
rename from docs/document/assets/en_advanced_built-in.md.6b773482.lean.js
rename to docs/document/assets/en_advanced_built-in.md.852cc7ad.lean.js
index 16a6237d9..a87745dfe 100644
--- a/docs/document/assets/en_advanced_built-in.md.6b773482.lean.js
+++ b/docs/document/assets/en_advanced_built-in.md.852cc7ad.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","lastUpdated":1682229030000}'),o={name:"en/advanced/built-in.md"},e=s("",4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),A=n("div",{className:"run-code"},"▶ Run Code",-1),i=s("",5),C=n("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),b=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),m=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",5),h=n("div",{className:"run-code"},"▶ Run Code",-1),v=s("",4),g=n("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),T=n("div",{className:"run-code"},"▶ Run Code",-1),k=s("",5),w=n("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),P=n("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),I=n("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),R=n("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=n("div",{className:"run-code"},"▶ Run Code",-1),q=s("",5),x=n("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),M=n("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),z=n("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),G=[e,c,r,t,D,F,y,A,i,C,d,b,u,m,_,h,v,g,E,T,k,w,f,P,S,I,N,R,V,j,q,x,O,M,$,z,B];function L(W,J,U,Y,H,K){return p(),l("div",null,G)}const Z=a(o,[["render",L]]);export{X as __pageData,Z as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const X=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","lastUpdated":1682229030000}'),o={name:"en/advanced/built-in.md"},e=s("",4),c=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),A=n("div",{className:"run-code"},"▶ Run Code",-1),i=s("",5),C=n("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),b=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),m=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",5),h=n("div",{className:"run-code"},"▶ Run Code",-1),v=s("",4),g=n("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),T=n("div",{className:"run-code"},"▶ Run Code",-1),k=s("",5),w=n("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),P=n("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),I=n("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),R=n("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=n("div",{className:"run-code"},"▶ Run Code",-1),q=s("",5),x=n("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),M=n("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),z=n("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),G=[e,c,r,t,D,F,y,A,i,C,d,b,u,m,_,h,v,g,E,T,k,w,f,P,S,I,N,R,V,j,q,x,O,M,$,z,B];function L(W,J,U,Y,H,K){return p(),l("div",null,G)}const Z=a(o,[["render",L]]);export{X as __pageData,Z as default};
diff --git a/docs/document/assets/en_advanced_class.md.7323cf55.js b/docs/document/assets/en_advanced_class.md.66381877.js
similarity index 99%
rename from docs/document/assets/en_advanced_class.md.7323cf55.js
rename to docs/document/assets/en_advanced_class.md.66381877.js
index fcaed8dd7..bf635bf01 100644
--- a/docs/document/assets/en_advanced_class.md.7323cf55.js
+++ b/docs/document/assets/en_advanced_class.md.66381877.js
@@ -1,4 +1,4 @@
-import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","lastUpdated":1682779928000}'),o={name:"en/advanced/class.md"},p=s('

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

提示

有些属性是全大写的,说明这些属性是不稳定的,可能会在将来被更改

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',5),t=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
console.info([...Artplayer.instances]);
+import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.48115c03.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","lastUpdated":1682779928000}'),o={name:"en/advanced/class.md"},p=s('

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

提示

有些属性是全大写的,说明这些属性是不稳定的,可能会在将来被更改

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',5),t=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
diff --git a/docs/document/assets/en_advanced_class.md.7323cf55.lean.js b/docs/document/assets/en_advanced_class.md.66381877.lean.js
similarity index 94%
rename from docs/document/assets/en_advanced_class.md.7323cf55.lean.js
rename to docs/document/assets/en_advanced_class.md.66381877.lean.js
index f2436111b..c3cd38c9a 100644
--- a/docs/document/assets/en_advanced_class.md.7323cf55.lean.js
+++ b/docs/document/assets/en_advanced_class.md.66381877.lean.js
@@ -1 +1 @@
-import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","lastUpdated":1682779928000}'),o={name:"en/advanced/class.md"},p=s("",5),t=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),r=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),F=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),b=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),q=[p,t,c,r,i,d,_,A,D,y,C,u,h,F,m,b,v,T,g,f,P,S,k,V,N];function I(R,j,E,w,x,O){return l(),e("div",null,q)}const z=n(o,[["render",I]]);export{B as __pageData,z as default};
+import{_ as n,c as e,o as l,V as s,z as a}from"./chunks/framework.48115c03.js";const B=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","lastUpdated":1682779928000}'),o={name:"en/advanced/class.md"},p=s("",5),t=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),r=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),F=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),b=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),q=[p,t,c,r,i,d,_,A,D,y,C,u,h,F,m,b,v,T,g,f,P,S,k,V,N];function I(R,j,E,w,x,O){return l(),e("div",null,q)}const z=n(o,[["render",I]]);export{B as __pageData,z as default};
diff --git a/docs/document/assets/en_advanced_event.md.1a92fa35.js b/docs/document/assets/en_advanced_event.md.eb727357.js
similarity index 99%
rename from docs/document/assets/en_advanced_event.md.1a92fa35.js
rename to docs/document/assets/en_advanced_event.md.eb727357.js
index 324236c5d..1b290d521 100644
--- a/docs/document/assets/en_advanced_event.md.1a92fa35.js
+++ b/docs/document/assets/en_advanced_event.md.eb727357.js
@@ -1,4 +1,4 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const Ms=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","lastUpdated":1677245395000}'),e={name:"en/advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),F=a(`
js
var art = new Artplayer({
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const Ms=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","lastUpdated":1677245395000}'),e={name:"en/advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),F=a(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/docs/document/assets/en_advanced_event.md.1a92fa35.lean.js b/docs/document/assets/en_advanced_event.md.eb727357.lean.js
similarity index 98%
rename from docs/document/assets/en_advanced_event.md.1a92fa35.lean.js
rename to docs/document/assets/en_advanced_event.md.eb727357.lean.js
index 6d6c1b2e1..97db171f1 100644
--- a/docs/document/assets/en_advanced_event.md.1a92fa35.lean.js
+++ b/docs/document/assets/en_advanced_event.md.eb727357.lean.js
@@ -1 +1 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const Ms=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","lastUpdated":1677245395000}'),e={name:"en/advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),F=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),b=a("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),h=a("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=a("",3),g=s("div",{className:"run-code"},"▶ Run Code",-1),v=a("",3),E=s("div",{className:"run-code"},"▶ Run Code",-1),T=a("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),k=a("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=a("",3),q=s("div",{className:"run-code"},"▶ Run Code",-1),w=a("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=a("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=a("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),x=a("",3),z=s("div",{className:"run-code"},"▶ Run Code",-1),O=a("",3),U=s("div",{className:"run-code"},"▶ Run Code",-1),H=a("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),L=a("",3),$=s("div",{className:"run-code"},"▶ Run Code",-1),B=a("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=a("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=a("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=a("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=a("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),as=a("",3),ns=s("div",{className:"run-code"},"▶ Run Code",-1),ls=a("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),os=a("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),rs=a("",3),cs=s("div",{className:"run-code"},"▶ Run Code",-1),ts=a("",3),Ds=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=a("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),is=a("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=a("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),bs=a("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),hs=a("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=a("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),vs=a("",3),Es=s("div",{className:"run-code"},"▶ Run Code",-1),Ts=a("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ks=a("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=a("",3),qs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=a("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=a("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=a("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),xs=a("",3),zs=s("div",{className:"run-code"},"▶ Run Code",-1),Os=a("",43),Us=[r,c,t,D,F,y,i,A,C,d,b,u,h,m,_,g,v,E,T,f,k,P,S,q,w,R,N,V,j,I,x,z,O,U,H,W,L,$,B,J,G,K,M,Q,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,Fs,ys,is,As,Cs,ds,bs,us,hs,ms,_s,gs,vs,Es,Ts,fs,ks,Ps,Ss,qs,ws,Rs,Ns,Vs,js,Is,xs,zs,Os];function Hs(Ws,Ls,$s,Bs,Js,Gs){return o(),p("div",null,Us)}const Qs=l(e,[["render",Hs]]);export{Ms as __pageData,Qs as default};
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const Ms=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","lastUpdated":1677245395000}'),e={name:"en/advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[n("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),c=s("p",null,[n("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),n(" (前缀 "),s("code",null,"video:"),n("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),F=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),b=a("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),h=a("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=a("",3),g=s("div",{className:"run-code"},"▶ Run Code",-1),v=a("",3),E=s("div",{className:"run-code"},"▶ Run Code",-1),T=a("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),k=a("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=a("",3),q=s("div",{className:"run-code"},"▶ Run Code",-1),w=a("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=a("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=a("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),x=a("",3),z=s("div",{className:"run-code"},"▶ Run Code",-1),O=a("",3),U=s("div",{className:"run-code"},"▶ Run Code",-1),H=a("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),L=a("",3),$=s("div",{className:"run-code"},"▶ Run Code",-1),B=a("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=a("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=a("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=a("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=a("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),as=a("",3),ns=s("div",{className:"run-code"},"▶ Run Code",-1),ls=a("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),os=a("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),rs=a("",3),cs=s("div",{className:"run-code"},"▶ Run Code",-1),ts=a("",3),Ds=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=a("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),is=a("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=a("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),bs=a("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),hs=a("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=a("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),vs=a("",3),Es=s("div",{className:"run-code"},"▶ Run Code",-1),Ts=a("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ks=a("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=a("",3),qs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=a("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=a("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=a("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),xs=a("",3),zs=s("div",{className:"run-code"},"▶ Run Code",-1),Os=a("",43),Us=[r,c,t,D,F,y,i,A,C,d,b,u,h,m,_,g,v,E,T,f,k,P,S,q,w,R,N,V,j,I,x,z,O,U,H,W,L,$,B,J,G,K,M,Q,X,Y,Z,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,Fs,ys,is,As,Cs,ds,bs,us,hs,ms,_s,gs,vs,Es,Ts,fs,ks,Ps,Ss,qs,ws,Rs,Ns,Vs,js,Is,xs,zs,Os];function Hs(Ws,Ls,$s,Bs,Js,Gs){return o(),p("div",null,Us)}const Qs=l(e,[["render",Hs]]);export{Ms as __pageData,Qs as default};
diff --git a/docs/document/assets/en_advanced_global.md.d39e1271.js b/docs/document/assets/en_advanced_global.md.d39e1271.js
deleted file mode 100644
index eadff08e6..000000000
--- a/docs/document/assets/en_advanced_global.md.d39e1271.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as a,c as e,o as t,V as o}from"./chunks/framework.f7d2e3c3.js";const T=JSON.parse('{"title":"Global Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","lastUpdated":1682779928000}'),r={name:"en/advanced/global.md"},i=o('

Global Property ​

DEBUG ​

CONTEXTMENU ​

NOTICE_TIME ​

SETTING_WIDTH ​

SETTING_ITEM_WIDTH ​

SETTING_ITEM_HEIGHT ​

RESIZE_TIME ​

SCROLL_TIME ​

SCROLL_GAP ​

AUTO_PLAYBACK_MAX ​

AUTO_PLAYBACK_MIN ​

AUTO_PLAYBACK_TIMEOUT ​

RECONNECT_TIME_MAX ​

RECONNECT_SLEEP_TIME ​

CONTROL_HIDE_TIME ​

DBCLICK_TIME ​

DBCLICK_FULLSCREEN ​

MOBILE_DBCLICK_PLAY ​

MOBILE_CLICK_PLAY ​

MOBILE_AUTO_PLAYBACKRATE ​

MOBILE_AUTO_PLAYBACKRATE_TIME ​

MOBILE_AUTO_ORIENTATION_TIME ​

INFO_LOOP_TIME ​

FAST_FORWARD_VALUE ​

FAST_FORWARD_TIME ​

TOUCH_MOVE_RATIO ​

VOLUME_STEP ​

SEEK_STEP ​

PLAYBACK_RATE ​

ASPECT_RATIO ​

FLIP ​

FULLSCREEN_WEB_IN_BODY ​

',33),l=[i];function h(n,c,d,_,s,b){return t(),e("div",null,l)}const u=a(r,[["render",h]]);export{T as __pageData,u as default}; diff --git a/docs/document/assets/en_advanced_global.md.d39e1271.lean.js b/docs/document/assets/en_advanced_global.md.d39e1271.lean.js deleted file mode 100644 index 97f9739b0..000000000 --- a/docs/document/assets/en_advanced_global.md.d39e1271.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as e,o as t,V as o}from"./chunks/framework.f7d2e3c3.js";const T=JSON.parse('{"title":"Global Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","lastUpdated":1682779928000}'),r={name:"en/advanced/global.md"},i=o("",33),l=[i];function h(n,c,d,_,s,b){return t(),e("div",null,l)}const u=a(r,[["render",h]]);export{T as __pageData,u as default}; diff --git a/docs/document/assets/en_advanced_global.md.da8caa7e.js b/docs/document/assets/en_advanced_global.md.da8caa7e.js new file mode 100644 index 000000000..c5d1bc925 --- /dev/null +++ b/docs/document/assets/en_advanced_global.md.da8caa7e.js @@ -0,0 +1,206 @@ +import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ts=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","lastUpdated":1682779928000}'),o={name:"en/advanced/global.md"},e=s('

全局属性 ​

这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG ​

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

',4),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
Artplayer.DEBUG = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

CONTEXTMENU ​

是否开启右键菜单,默认开启

`,3),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s(`
js
Artplayer.CONTEXTMENU = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

NOTICE_TIME ​

提示信息的显示时长,单位为毫秒,默认为 2000

`,3),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s(`
js
Artplayer.NOTICE_TIME = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

SETTING_WIDTH ​

设置面板的默认宽度,单位为像素,默认为 250

`,3),C=a("div",{className:"run-code"},"▶ Run Code",-1),A=s(`
js
Artplayer.SETTING_WIDTH = 300;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

SETTING_ITEM_WIDTH ​

设置面板的设置项的默认宽度,单位为像素,默认为 200

`,3),i=a("div",{className:"run-code"},"▶ Run Code",-1),b=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

SETTING_ITEM_HEIGHT ​

设置面板的设置项的默认高度,单位为像素,默认为 35

`,3),d=a("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    loop: true,
+    flip: true,
+    playbackRate: true,
+    aspectRatio: true,
+});

RESIZE_TIME ​

resize 事件的节流时间,单位为毫秒,默认为 500

`,3),_=a("div",{className:"run-code"},"▶ Run Code",-1),m=s(`
js
Artplayer.RESIZE_TIME = 1000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('resize', () => {
+    console.log('resize');
+});

SCROLL_TIME ​

scroll 事件的节流时间,单位为毫秒,默认为 200

`,3),h=a("div",{className:"run-code"},"▶ Run Code",-1),T=s(`
js
Artplayer.SCROLL_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('scroll', () => {
+    console.log('scroll');
+});

SCROLL_GAP ​

view 事件的边界容差距离,单位为像素,默认为 50

`,3),E=a("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_GAP = 100;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('scroll', () => {
+    console.log('scroll');
+});

AUTO_PLAYBACK_MAX ​

自动回放功能的最大记录数,默认为 10

`,3),I=a("div",{className:"run-code"},"▶ Run Code",-1),g=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

AUTO_PLAYBACK_MIN ​

自动回放功能的最小记录时长,单位为秒,默认为 5

`,3),S=a("div",{className:"run-code"},"▶ Run Code",-1),P=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

AUTO_PLAYBACK_TIMEOUT ​

自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000

`,3),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoPlayback: true,
+});

RECONNECT_TIME_MAX ​

发生连接错误时,自动连接的最大次数,默认为 5

`,3),k=a("div",{className:"run-code"},"▶ Run Code",-1),O=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/404.mp4',
+});

RECONNECT_SLEEP_TIME ​

发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000

`,3),w=a("div",{className:"run-code"},"▶ Run Code",-1),L=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/404.mp4',
+});

CONTROL_HIDE_TIME ​

底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000

`,3),V=a("div",{className:"run-code"},"▶ Run Code",-1),f=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

DBCLICK_TIME ​

双击事件的延迟事件,单位为毫秒,默认为 300

`,3),M=a("div",{className:"run-code"},"▶ Run Code",-1),q=s(`
js
Artplayer.DBCLICK_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.on('dblclick', () => {
+    console.log('dblclick');
+});

DBCLICK_FULLSCREEN ​

在桌面端,是否双击切换全屏,默认为 true

`,3),j=a("div",{className:"run-code"},"▶ Run Code",-1),x=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

MOBILE_DBCLICK_PLAY ​

在移动端,是否双击切换播放暂停,默认为 true

`,3),B=a("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

MOBILE_CLICK_PLAY ​

在移动端,是否单击切换播放暂停,默认为 false

`,3),K=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

AUTO_ORIENTATION_TIME ​

在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200

`,3),G=a("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    autoOrientation: true,
+});

INFO_LOOP_TIME ​

信息面板的刷新时间,单位为毫秒,默认为 1000

`,3),W=a("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});
+
+art.info.show = true;

FAST_FORWARD_VALUE ​

在移动端,长按加速的速率倍数,默认为 3

`,3),z=a("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fastForward: true,
+});

FAST_FORWARD_TIME ​

在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000

`,3),Z=a("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fastForward: true,
+});

TOUCH_MOVE_RATIO ​

在移动端,左右滑动进度的速率倍数,默认为 0.5

`,3),Q=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

VOLUME_STEP ​

快捷键调节音量的幅度比例,默认为 0.1

`,3),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s(`
js
Artplayer.VOLUME_STEP = 0.2;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

SEEK_STEP ​

快捷键调节播放进度的幅度,单位为秒,默认为 5

`,3),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s(`
js
Artplayer.SEEK_STEP = 10;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+});

PLAYBACK_RATE ​

内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    playbackRate: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

ASPECT_RATIO ​

内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']

`,3),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    aspectRatio: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

FLIP ​

内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']

`,3),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    setting: true,
+    flip: true,
+});
+
+art.contextmenu.show = true;
+art.setting.show = true;

FULLSCREEN_WEB_IN_BODY ​

网页全屏时,是否把播放器挂在在 body 元素下,默认为 false

`,3),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
+
+var art = new Artplayer({
+    container: '.artplayer-app',
+    url: '/assets/sample/video.mp4',
+    fullscreenWeb: true,
+});
`,1),Cs=[e,r,c,t,D,y,F,C,A,i,b,d,u,_,m,h,T,E,v,I,g,S,P,N,R,k,O,w,L,V,f,M,q,j,x,B,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs];function As(is,bs,ds,us,_s,ms){return p(),l("div",null,Cs)}const Es=n(o,[["render",As]]);export{Ts as __pageData,Es as default}; diff --git a/docs/document/assets/en_advanced_global.md.da8caa7e.lean.js b/docs/document/assets/en_advanced_global.md.da8caa7e.lean.js new file mode 100644 index 000000000..a31b4e506 --- /dev/null +++ b/docs/document/assets/en_advanced_global.md.da8caa7e.lean.js @@ -0,0 +1 @@ +import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ts=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","lastUpdated":1682779928000}'),o={name:"en/advanced/global.md"},e=s("",4),r=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),C=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",3),i=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),d=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),_=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),I=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),O=s("",3),w=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",3),V=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),M=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",3),j=a("div",{className:"run-code"},"▶ Run Code",-1),x=s("",3),B=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",3),G=a("div",{className:"run-code"},"▶ Run Code",-1),H=s("",3),W=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=a("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",3),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",3),rs=a("div",{className:"run-code"},"▶ Run Code",-1),cs=s("",3),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",3),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",1),Cs=[e,r,c,t,D,y,F,C,A,i,b,d,u,_,m,h,T,E,v,I,g,S,P,N,R,k,O,w,L,V,f,M,q,j,x,B,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,as,ns,ls,ps,os,es,rs,cs,ts,Ds,ys,Fs];function As(is,bs,ds,us,_s,ms){return p(),l("div",null,Cs)}const Es=n(o,[["render",As]]);export{Ts as __pageData,Es as default}; diff --git a/docs/document/assets/en_advanced_plugin.md.0f5dbbe2.js b/docs/document/assets/en_advanced_plugin.md.355ebff5.js similarity index 99% rename from docs/document/assets/en_advanced_plugin.md.0f5dbbe2.js rename to docs/document/assets/en_advanced_plugin.md.355ebff5.js index ce0b730d8..50e85ce78 100644 --- a/docs/document/assets/en_advanced_plugin.md.0f5dbbe2.js +++ b/docs/document/assets/en_advanced_plugin.md.355ebff5.js @@ -1,4 +1,4 @@ -import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","lastUpdated":1673692792000}'),e={name:"en/advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a(`
js
function myPlugin(art) {
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","lastUpdated":1673692792000}'),e={name:"en/advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a(`
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
diff --git a/docs/document/assets/en_advanced_plugin.md.0f5dbbe2.lean.js b/docs/document/assets/en_advanced_plugin.md.355ebff5.lean.js
similarity index 93%
rename from docs/document/assets/en_advanced_plugin.md.0f5dbbe2.lean.js
rename to docs/document/assets/en_advanced_plugin.md.355ebff5.lean.js
index 1a6f280e1..3151dfaf8 100644
--- a/docs/document/assets/en_advanced_plugin.md.0f5dbbe2.lean.js
+++ b/docs/document/assets/en_advanced_plugin.md.355ebff5.lean.js
@@ -1 +1 @@
-import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.f7d2e3c3.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","lastUpdated":1673692792000}'),e={name:"en/advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",1),b=[r,c,t,F,D,y,i,A,C];function u(m,d,h,_,g,E){return o(),p("div",null,b)}const P=l(e,[["render",u]]);export{v as __pageData,P as default};
+import{_ as l,c as p,o,z as s,a as n,V as a}from"./chunks/framework.48115c03.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","lastUpdated":1673692792000}'),e={name:"en/advanced/plugin.md"},r=s("h1",{id:"编写插件",tabindex:"-1"},[n("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),c=s("p",null,[n("但你已经知道播放器的"),s("code",null,"属性"),n(", "),s("code",null,"方法"),n("和"),s("code",null,"事件"),n("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),F=s("div",{className:"run-code"},"▶ Run Code",-1),D=a("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),i=a("",2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=a("",1),b=[r,c,t,F,D,y,i,A,C];function u(m,d,h,_,g,E){return o(),p("div",null,b)}const P=l(e,[["render",u]]);export{v as __pageData,P as default};
diff --git a/docs/document/assets/en_advanced_property.md.d251207d.js b/docs/document/assets/en_advanced_property.md.779fe490.js
similarity index 99%
rename from docs/document/assets/en_advanced_property.md.d251207d.js
rename to docs/document/assets/en_advanced_property.md.779fe490.js
index 05d8558e4..fa1a12bc8 100644
--- a/docs/document/assets/en_advanced_property.md.d251207d.js
+++ b/docs/document/assets/en_advanced_property.md.779fe490.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const Ws=JSON.parse('{"title":"Instance Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","lastUpdated":1674271220000}'),o={name:"en/advanced/property.md"},e=s('

Instance Property ​

The Instance Property here refers to the Primary Property attached to the Instance, which is more commonly used

play ​

  • Type: Function

Play video

',5),r=a("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ws=JSON.parse('{"title":"Instance Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","lastUpdated":1674271220000}'),o={name:"en/advanced/property.md"},e=s('

Instance Property ​

The Instance Property here refers to the Primary Property attached to the Instance, which is more commonly used

play ​

  • Type: Function

Play video

',5),r=a("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
diff --git a/docs/document/assets/en_advanced_property.md.d251207d.lean.js b/docs/document/assets/en_advanced_property.md.779fe490.lean.js
similarity index 97%
rename from docs/document/assets/en_advanced_property.md.d251207d.lean.js
rename to docs/document/assets/en_advanced_property.md.779fe490.lean.js
index 16e612b9f..50508db92 100644
--- a/docs/document/assets/en_advanced_property.md.d251207d.lean.js
+++ b/docs/document/assets/en_advanced_property.md.779fe490.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const Ws=JSON.parse('{"title":"Instance Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","lastUpdated":1674271220000}'),o={name:"en/advanced/property.md"},e=s("",5),r=a("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),c=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),i=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),C=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),_=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),w=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),q=a("div",{className:"run-code"},"▶ Run Code",-1),I=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),G=s("",4),B=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",5),L=a("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),M=a("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),K=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",5),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),rs=a("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),cs=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",5),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",5),is=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Cs=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",4),us=a("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",4),ms=a("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),_s=a("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",4),Es=a("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),fs=a("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",5),ws=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",4),Ns=a("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",1),qs=[e,r,t,c,D,y,F,i,A,C,d,u,b,m,h,_,g,v,T,E,S,f,P,w,k,N,R,q,I,V,j,x,G,B,z,U,W,L,O,H,$,M,Q,J,Y,K,X,Z,ss,as,ns,ls,ps,os,es,rs,ts,cs,Ds,ys,Fs,is,As,Cs,ds,us,bs,ms,hs,_s,gs,vs,Ts,Es,Ss,fs,Ps,ws,ks,Ns,Rs];function Is(Vs,js,xs,Gs,Bs,zs){return p(),l("div",null,qs)}const Ls=n(o,[["render",Is]]);export{Ws as __pageData,Ls as default};
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const Ws=JSON.parse('{"title":"Instance Property","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","lastUpdated":1674271220000}'),o={name:"en/advanced/property.md"},e=s("",5),r=a("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),c=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",4),y=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),i=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),C=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),_=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),w=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),N=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),q=a("div",{className:"run-code"},"▶ Run Code",-1),I=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),G=s("",4),B=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",5),L=a("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),M=a("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),K=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",5),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),os=a("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),rs=a("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),cs=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",5),ys=a("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",5),is=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Cs=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",4),us=a("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",4),ms=a("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),_s=a("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",4),Es=a("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),fs=a("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",5),ws=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",4),Ns=a("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",1),qs=[e,r,t,c,D,y,F,i,A,C,d,u,b,m,h,_,g,v,T,E,S,f,P,w,k,N,R,q,I,V,j,x,G,B,z,U,W,L,O,H,$,M,Q,J,Y,K,X,Z,ss,as,ns,ls,ps,os,es,rs,ts,cs,Ds,ys,Fs,is,As,Cs,ds,us,bs,ms,hs,_s,gs,vs,Ts,Es,Ss,fs,Ps,ws,ks,Ns,Rs];function Is(Vs,js,xs,Gs,Bs,zs){return p(),l("div",null,qs)}const Ls=n(o,[["render",Is]]);export{Ws as __pageData,Ls as default};
diff --git a/docs/document/assets/en_component_contextmenu.md.55b8aadc.js b/docs/document/assets/en_component_contextmenu.md.dbd69c21.js
similarity index 99%
rename from docs/document/assets/en_component_contextmenu.md.55b8aadc.js
rename to docs/document/assets/en_component_contextmenu.md.dbd69c21.js
index 26cbdeb6d..cdf426eec 100644
--- a/docs/document/assets/en_component_contextmenu.md.55b8aadc.js
+++ b/docs/document/assets/en_component_contextmenu.md.dbd69c21.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Contextmenu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","lastUpdated":1682779928000}'),o={name:"en/component/contextmenu.md"},e=s('

Contextmenu ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Contextmenu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","lastUpdated":1682779928000}'),o={name:"en/component/contextmenu.md"},e=s('

Contextmenu ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
diff --git a/docs/document/assets/en_component_contextmenu.md.55b8aadc.lean.js b/docs/document/assets/en_component_contextmenu.md.dbd69c21.lean.js
similarity index 90%
rename from docs/document/assets/en_component_contextmenu.md.55b8aadc.lean.js
rename to docs/document/assets/en_component_contextmenu.md.dbd69c21.lean.js
index 0fe155b26..a7a6c5dcd 100644
--- a/docs/document/assets/en_component_contextmenu.md.55b8aadc.lean.js
+++ b/docs/document/assets/en_component_contextmenu.md.dbd69c21.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Contextmenu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","lastUpdated":1682779928000}'),o={name:"en/component/contextmenu.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function d(u,b,m,h,g,_){return p(),l("div",null,A)}const x=a(o,[["render",d]]);export{f as __pageData,x as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Contextmenu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","lastUpdated":1682779928000}'),o={name:"en/component/contextmenu.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function d(u,b,m,h,g,_){return p(),l("div",null,A)}const x=a(o,[["render",d]]);export{f as __pageData,x as default};
diff --git a/docs/document/assets/en_component_controls.md.208ca243.js b/docs/document/assets/en_component_controls.md.0ee516da.js
similarity index 99%
rename from docs/document/assets/en_component_controls.md.208ca243.js
rename to docs/document/assets/en_component_controls.md.0ee516da.js
index c4ef94e08..2633ddb30 100644
--- a/docs/document/assets/en_component_controls.md.208ca243.js
+++ b/docs/document/assets/en_component_controls.md.0ee516da.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Controls","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","lastUpdated":1682779928000}'),o={name:"en/component/controls.md"},e=s('

Controls ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the left and right positions where the controller appears
selectorArrayArray of objects for the select list
onSelectFunctionA function that is triggered when an element of the select list is clicked

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Controls","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","lastUpdated":1682779928000}'),o={name:"en/component/controls.md"},e=s('

Controls ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the left and right positions where the controller appears
selectorArrayArray of objects for the select list
onSelectFunctionA function that is triggered when an element of the select list is clicked

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
diff --git a/docs/document/assets/en_component_controls.md.208ca243.lean.js b/docs/document/assets/en_component_controls.md.0ee516da.lean.js
similarity index 90%
rename from docs/document/assets/en_component_controls.md.208ca243.lean.js
rename to docs/document/assets/en_component_controls.md.0ee516da.lean.js
index 0c0d4aee9..480c20a41 100644
--- a/docs/document/assets/en_component_controls.md.208ca243.lean.js
+++ b/docs/document/assets/en_component_controls.md.0ee516da.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Controls","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","lastUpdated":1682779928000}'),o={name:"en/component/controls.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,u,m,h,g,_){return p(),l("div",null,A)}const v=a(o,[["render",b]]);export{f as __pageData,v as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Controls","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","lastUpdated":1682779928000}'),o={name:"en/component/controls.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function b(d,u,m,h,g,_){return p(),l("div",null,A)}const v=a(o,[["render",b]]);export{f as __pageData,v as default};
diff --git a/docs/document/assets/en_component_layers.md.6b419bf2.js b/docs/document/assets/en_component_layers.md.4dc5e66c.js
similarity index 99%
rename from docs/document/assets/en_component_layers.md.6b419bf2.js
rename to docs/document/assets/en_component_layers.md.4dc5e66c.js
index abfb7b79f..54ef0bc0e 100644
--- a/docs/document/assets/en_component_layers.md.6b419bf2.js
+++ b/docs/document/assets/en_component_layers.md.4dc5e66c.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Layers","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","lastUpdated":1682779928000}'),o={name:"en/component/layers.md"},e=s('

Layers ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var img = '/assets/sample/layer.png';
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Layers","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","lastUpdated":1682779928000}'),o={name:"en/component/layers.md"},e=s('

Layers ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

',4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
diff --git a/docs/document/assets/en_component_layers.md.6b419bf2.lean.js b/docs/document/assets/en_component_layers.md.4dc5e66c.lean.js
similarity index 90%
rename from docs/document/assets/en_component_layers.md.6b419bf2.lean.js
rename to docs/document/assets/en_component_layers.md.4dc5e66c.lean.js
index 3bee8221b..206364054 100644
--- a/docs/document/assets/en_component_layers.md.6b419bf2.lean.js
+++ b/docs/document/assets/en_component_layers.md.4dc5e66c.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const f=JSON.parse('{"title":"Layers","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","lastUpdated":1682779928000}'),o={name:"en/component/layers.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function d(b,h,m,u,g,_){return p(),l("div",null,A)}const v=a(o,[["render",d]]);export{f as __pageData,v as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const f=JSON.parse('{"title":"Layers","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","lastUpdated":1682779928000}'),o={name:"en/component/layers.md"},e=s("",4),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",2),i=n("div",{className:"run-code"},"▶ Run Code",-1),C=s("",1),A=[e,t,r,c,D,F,y,i,C];function d(b,h,m,u,g,_){return p(),l("div",null,A)}const v=a(o,[["render",d]]);export{f as __pageData,v as default};
diff --git a/docs/document/assets/en_component_setting.md.f6f61d4b.js b/docs/document/assets/en_component_setting.md.8fe3c72b.js
similarity index 99%
rename from docs/document/assets/en_component_setting.md.f6f61d4b.js
rename to docs/document/assets/en_component_setting.md.8fe3c72b.js
index 103d053a3..e26e45b38 100644
--- a/docs/document/assets/en_component_setting.md.f6f61d4b.js
+++ b/docs/document/assets/en_component_setting.md.8fe3c72b.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const R=JSON.parse('{"title":"Setting","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","lastUpdated":1682779928000}'),o={name:"en/component/setting.md"},e=s('

Setting ​

Build-in ​

You must open the settings panel first, and then come with four built-in items:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const R=JSON.parse('{"title":"Setting","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","lastUpdated":1682779928000}'),o={name:"en/component/setting.md"},e=s('

Setting ​

Build-in ​

You must open the settings panel first, and then come with four built-in items:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
diff --git a/docs/document/assets/en_component_setting.md.f6f61d4b.lean.js b/docs/document/assets/en_component_setting.md.8fe3c72b.lean.js
similarity index 93%
rename from docs/document/assets/en_component_setting.md.f6f61d4b.lean.js
rename to docs/document/assets/en_component_setting.md.8fe3c72b.lean.js
index e2670a372..aac34f21f 100644
--- a/docs/document/assets/en_component_setting.md.f6f61d4b.lean.js
+++ b/docs/document/assets/en_component_setting.md.8fe3c72b.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const R=JSON.parse('{"title":"Setting","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","lastUpdated":1682779928000}'),o={name:"en/component/setting.md"},e=s("",3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),C=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),i=n("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),d=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",2),m=n("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),g=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",1),E=[e,t,r,c,D,F,y,C,A,i,b,d,u,m,h,g,_];function v(f,S,T,q,w,P){return p(),l("div",null,E)}const x=a(o,[["render",v]]);export{R as __pageData,x as default};
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const R=JSON.parse('{"title":"Setting","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","lastUpdated":1682779928000}'),o={name:"en/component/setting.md"},e=s("",3),t=n("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),c=n("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),F=n("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),C=n("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),i=n("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),d=n("div",{className:"run-code"},"▶ Run Code",-1),u=s("",2),m=n("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),g=n("div",{className:"run-code"},"▶ Run Code",-1),_=s("",1),E=[e,t,r,c,D,F,y,C,A,i,b,d,u,m,h,g,_];function v(f,S,T,q,w,P){return p(),l("div",null,E)}const x=a(o,[["render",v]]);export{R as __pageData,x as default};
diff --git a/docs/document/assets/en_index.md.9b391b5e.js b/docs/document/assets/en_index.md.12519db3.js
similarity index 97%
rename from docs/document/assets/en_index.md.9b391b5e.js
rename to docs/document/assets/en_index.md.12519db3.js
index 51a473132..9d7f6f9a3 100644
--- a/docs/document/assets/en_index.md.9b391b5e.js
+++ b/docs/document/assets/en_index.md.12519db3.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,V as l}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"Install","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","lastUpdated":1682477666000}'),p={name:"en/index.md"},e=l(`

Important Note

The English document has not yet been completed, everything is subject to the Chinese document.

Install ​

Install ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Use ​

js
import Artplayer from 'artplayer';
+import{_ as s,c as n,o as a,V as l}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"Install","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","lastUpdated":1682477666000}'),p={name:"en/index.md"},e=l(`

Important Note

The English document has not yet been completed, everything is subject to the Chinese document.

Install ​

Install ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Use ​

js
import Artplayer from 'artplayer';
 
 const art = new Artplayer({
     container: '.artplayer-app',
@@ -17,7 +17,7 @@ import{_ as s,c as n,o as a,V as l}from"./chunks/framework.f7d2e3c3.js";const u=
     <body>
         <div class="artplayer-app"></div>
     </body>
-</html>

Tip

The size of the player depends on the size of the container, so your container must have a size

The following links can see more use examples

/packages/artplayer-template

Vue.js ​

vue
<template>
+</html>

Tip

The size of the player depends on the size of the container, so your container must have a size

The following links can see more use examples

/packages/artplayer-template

Vue.js ​

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -81,7 +81,7 @@ import{_ as s,c as n,o as a,V as l}from"./chunks/framework.f7d2e3c3.js";const u=
     },
   },
 };
-</script>

Tip

Modifying option directly in Vue.js will not change the player

React.js ​

jsx
import { useEffect, useRef } from 'react';
+</script>

Tip

Modifying option directly in Vue.js will not change the player

React.js ​

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -143,4 +143,4 @@ import{_ as s,c as n,o as a,V as l}from"./chunks/framework.f7d2e3c3.js";const u=
       art: null,
     }
   }
-}

Old browsers ​

Production builds of artplayer.js are only compatible with the last major version of Chrome: last 1 Chrome version

For older browsers, use the artplayer.legacy.js file, compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you want to be compatible with older browsers, please modify the following configuration and build it yourself:

Build configuration: /scripts/build.js

Reference documents: browserslist

`,32),o=[e];function t(r,c,i,y,F,D){return a(),n("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; +}

Old browsers ​

Production builds of artplayer.js are only compatible with the last major version of Chrome: last 1 Chrome version

For older browsers, use the artplayer.legacy.js file, compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you want to be compatible with older browsers, please modify the following configuration and build it yourself:

Build configuration: /scripts/build.js

Reference documents: browserslist

`,32),o=[e];function t(r,c,i,y,F,D){return a(),n("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; diff --git a/docs/document/assets/en_index.md.9b391b5e.lean.js b/docs/document/assets/en_index.md.12519db3.lean.js similarity index 65% rename from docs/document/assets/en_index.md.9b391b5e.lean.js rename to docs/document/assets/en_index.md.12519db3.lean.js index 7a033d7a3..cbe09abd8 100644 --- a/docs/document/assets/en_index.md.9b391b5e.lean.js +++ b/docs/document/assets/en_index.md.12519db3.lean.js @@ -1 +1 @@ -import{_ as s,c as n,o as a,V as l}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"Install","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","lastUpdated":1682477666000}'),p={name:"en/index.md"},e=l("",32),o=[e];function t(r,c,i,y,F,D){return a(),n("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; +import{_ as s,c as n,o as a,V as l}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"Install","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","lastUpdated":1682477666000}'),p={name:"en/index.md"},e=l("",32),o=[e];function t(r,c,i,y,F,D){return a(),n("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default}; diff --git a/docs/document/assets/en_library_dash.md.3e688dbe.js b/docs/document/assets/en_library_dash.md.1a94a772.js similarity index 99% rename from docs/document/assets/en_library_dash.md.3e688dbe.js rename to docs/document/assets/en_library_dash.md.1a94a772.js index fd8965a4c..f5bc6d87d 100644 --- a/docs/document/assets/en_library_dash.md.3e688dbe.js +++ b/docs/document/assets/en_library_dash.md.1a94a772.js @@ -1,4 +1,4 @@ -import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","lastUpdated":1682180498000}'),e={name:"en/library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o(`
js
function playMpd(video, url, art) {
+import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","lastUpdated":1682180498000}'),e={name:"en/library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o(`
js
function playMpd(video, url, art) {
     if (dashjs.supportsMediaSource()) {
         if (art.dash) art.dash.destroy();
         const dash = dashjs.MediaPlayer().create();
diff --git a/docs/document/assets/en_library_dash.md.3e688dbe.lean.js b/docs/document/assets/en_library_dash.md.1a94a772.lean.js
similarity index 92%
rename from docs/document/assets/en_library_dash.md.3e688dbe.lean.js
rename to docs/document/assets/en_library_dash.md.1a94a772.lean.js
index 75d608acb..107e4ec69 100644
--- a/docs/document/assets/en_library_dash.md.3e688dbe.lean.js
+++ b/docs/document/assets/en_library_dash.md.1a94a772.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","lastUpdated":1682180498000}'),e={name:"en/library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o("",1),F=[r,t,c,y];function D(A,i,C,d,b,h){return p(),l("div",null,F)}const _=n(e,[["render",D]]);export{m as __pageData,_ as default};
+import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","lastUpdated":1682180498000}'),e={name:"en/library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o("",1),F=[r,t,c,y];function D(A,i,C,d,b,h){return p(),l("div",null,F)}const _=n(e,[["render",D]]);export{m as __pageData,_ as default};
diff --git a/docs/document/assets/en_library_flv.md.a9e13f72.js b/docs/document/assets/en_library_flv.md.3eb5ed90.js
similarity index 99%
rename from docs/document/assets/en_library_flv.md.a9e13f72.js
rename to docs/document/assets/en_library_flv.md.3eb5ed90.js
index 1e0a0da64..b8774c2d2 100644
--- a/docs/document/assets/en_library_flv.md.a9e13f72.js
+++ b/docs/document/assets/en_library_flv.md.3eb5ed90.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","lastUpdated":1682180498000}'),e={name:"en/library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playFlv(video, url, art) {
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","lastUpdated":1682180498000}'),e={name:"en/library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playFlv(video, url, art) {
     if (flvjs.isSupported()) {
         if (art.flv) art.flv.destroy();
         const flv = flvjs.createPlayer({ type: 'flv', url });
diff --git a/docs/document/assets/en_library_flv.md.a9e13f72.lean.js b/docs/document/assets/en_library_flv.md.3eb5ed90.lean.js
similarity index 92%
rename from docs/document/assets/en_library_flv.md.a9e13f72.lean.js
rename to docs/document/assets/en_library_flv.md.3eb5ed90.lean.js
index 724aa278a..832d3afb7 100644
--- a/docs/document/assets/en_library_flv.md.a9e13f72.lean.js
+++ b/docs/document/assets/en_library_flv.md.3eb5ed90.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","lastUpdated":1682180498000}'),e={name:"en/library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,d,f){return p(),l("div",null,y)}const v=a(e,[["render",D]]);export{m as __pageData,v as default};
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","lastUpdated":1682180498000}'),e={name:"en/library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,d,f){return p(),l("div",null,y)}const v=a(e,[["render",D]]);export{m as __pageData,v as default};
diff --git a/docs/document/assets/en_library_hls.md.249c3b05.js b/docs/document/assets/en_library_hls.md.3399b13e.js
similarity index 99%
rename from docs/document/assets/en_library_hls.md.249c3b05.js
rename to docs/document/assets/en_library_hls.md.3399b13e.js
index f03894dea..3caa9197d 100644
--- a/docs/document/assets/en_library_hls.md.249c3b05.js
+++ b/docs/document/assets/en_library_hls.md.3399b13e.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","lastUpdated":1682180498000}'),e={name:"en/library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playM3u8(video, url, art) {
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","lastUpdated":1682180498000}'),e={name:"en/library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playM3u8(video, url, art) {
     if (Hls.isSupported()) {
         if (art.hls) art.hls.destroy();
         const hls = new Hls();
diff --git a/docs/document/assets/en_library_hls.md.249c3b05.lean.js b/docs/document/assets/en_library_hls.md.3399b13e.lean.js
similarity index 92%
rename from docs/document/assets/en_library_hls.md.249c3b05.lean.js
rename to docs/document/assets/en_library_hls.md.3399b13e.lean.js
index 5a77c6a74..b06307ead 100644
--- a/docs/document/assets/en_library_hls.md.249c3b05.lean.js
+++ b/docs/document/assets/en_library_hls.md.3399b13e.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","lastUpdated":1682180498000}'),e={name:"en/library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,h,d){return p(),l("div",null,y)}const _=a(e,[["render",D]]);export{m as __pageData,_ as default};
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","lastUpdated":1682180498000}'),e={name:"en/library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,h,d){return p(),l("div",null,y)}const _=a(e,[["render",D]]);export{m as __pageData,_ as default};
diff --git a/docs/document/assets/en_plugin_ads.md.4ccbc6eb.js b/docs/document/assets/en_plugin_ads.md.36f2ced8.js
similarity index 96%
rename from docs/document/assets/en_plugin_ads.md.4ccbc6eb.js
rename to docs/document/assets/en_plugin_ads.md.36f2ced8.js
index cc517f2b0..e89c36793 100644
--- a/docs/document/assets/en_plugin_ads.md.4ccbc6eb.js
+++ b/docs/document/assets/en_plugin_ads.md.36f2ced8.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","lastUpdated":1673692792000}'),e={name:"en/plugin/ads.md"},o=s('

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

',8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","lastUpdated":1673692792000}'),e={name:"en/plugin/ads.md"},o=s('

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

',8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoSize: true,
diff --git a/docs/document/assets/en_plugin_ads.md.4ccbc6eb.lean.js b/docs/document/assets/en_plugin_ads.md.36f2ced8.lean.js
similarity index 87%
rename from docs/document/assets/en_plugin_ads.md.4ccbc6eb.lean.js
rename to docs/document/assets/en_plugin_ads.md.36f2ced8.lean.js
index 1da070958..74b309c1e 100644
--- a/docs/document/assets/en_plugin_ads.md.4ccbc6eb.lean.js
+++ b/docs/document/assets/en_plugin_ads.md.36f2ced8.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","lastUpdated":1673692792000}'),e={name:"en/plugin/ads.md"},o=s("",8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s("",1),c=[o,r,t];function i(y,D,F,C,b,d){return l(),n("div",null,c)}const m=a(e,[["render",i]]);export{u as __pageData,m as default};
+import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","lastUpdated":1673692792000}'),e={name:"en/plugin/ads.md"},o=s("",8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s("",1),c=[o,r,t];function i(y,D,F,C,b,d){return l(),n("div",null,c)}const m=a(e,[["render",i]]);export{u as __pageData,m as default};
diff --git a/docs/document/assets/en_plugin_control-ui.md.01b70320.js b/docs/document/assets/en_plugin_control-ui.md.87fec95f.js
similarity index 94%
rename from docs/document/assets/en_plugin_control-ui.md.01b70320.js
rename to docs/document/assets/en_plugin_control-ui.md.87fec95f.js
index 4037f7eff..400a6f2c8 100644
--- a/docs/document/assets/en_plugin_control-ui.md.01b70320.js
+++ b/docs/document/assets/en_plugin_control-ui.md.87fec95f.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/control-ui.md","lastUpdated":1673692792000}'),e={name:"en/plugin/control-ui.md"},o=s('

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

',8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/control-ui.md","lastUpdated":1673692792000}'),e={name:"en/plugin/control-ui.md"},o=s('

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

',8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreen: true,
@@ -24,4 +24,4 @@ import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";c
     plugins: [
         artplayerPluginControl(),
     ],
-});
`,1),y=[o,r,t,c,i];function D(F,C,d,u,b,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; +});
`,1),y=[o,r,t,c,i];function D(F,C,d,b,u,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; diff --git a/docs/document/assets/en_plugin_control-ui.md.01b70320.lean.js b/docs/document/assets/en_plugin_control-ui.md.87fec95f.lean.js similarity index 80% rename from docs/document/assets/en_plugin_control-ui.md.01b70320.lean.js rename to docs/document/assets/en_plugin_control-ui.md.87fec95f.lean.js index 507ffc5cf..ff413259d 100644 --- a/docs/document/assets/en_plugin_control-ui.md.01b70320.lean.js +++ b/docs/document/assets/en_plugin_control-ui.md.87fec95f.lean.js @@ -1 +1 @@ -import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/control-ui.md","lastUpdated":1673692792000}'),e={name:"en/plugin/control-ui.md"},o=s("",8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s("",4),c=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),i=s("",1),y=[o,r,t,c,i];function D(F,C,d,u,b,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; +import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/control-ui.md","lastUpdated":1673692792000}'),e={name:"en/plugin/control-ui.md"},o=s("",8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s("",4),c=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),i=s("",1),y=[o,r,t,c,i];function D(F,C,d,b,u,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; diff --git a/docs/document/assets/en_plugin_dash-quality.md.390f14b8.lean.js b/docs/document/assets/en_plugin_dash-quality.md.390f14b8.lean.js deleted file mode 100644 index 8c72df943..000000000 --- a/docs/document/assets/en_plugin_dash-quality.md.390f14b8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"en/plugin/dash-quality.md"},t=l("",7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const y=a(n,[["render",r]]);export{m as __pageData,y as default}; diff --git a/docs/document/assets/en_plugin_dash-quality.md.390f14b8.js b/docs/document/assets/en_plugin_dash-quality.md.df294fc2.js similarity index 83% rename from docs/document/assets/en_plugin_dash-quality.md.390f14b8.js rename to docs/document/assets/en_plugin_dash-quality.md.df294fc2.js index ea2808fee..bea8dc81d 100644 --- a/docs/document/assets/en_plugin_dash-quality.md.390f14b8.js +++ b/docs/document/assets/en_plugin_dash-quality.md.df294fc2.js @@ -1 +1 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"en/plugin/dash-quality.md"},t=l('

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const y=a(n,[["render",r]]);export{m as __pageData,y as default}; +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"en/plugin/dash-quality.md"},t=l('

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/en_plugin_dash-quality.md.df294fc2.lean.js b/docs/document/assets/en_plugin_dash-quality.md.df294fc2.lean.js new file mode 100644 index 000000000..631fa7950 --- /dev/null +++ b/docs/document/assets/en_plugin_dash-quality.md.df294fc2.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"en/plugin/dash-quality.md"},t=l("",7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/en_plugin_hls-quality.md.61bb2b70.lean.js b/docs/document/assets/en_plugin_hls-quality.md.61bb2b70.lean.js deleted file mode 100644 index 63ab5fb8d..000000000 --- a/docs/document/assets/en_plugin_hls-quality.md.61bb2b70.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","lastUpdated":1673692792000}'),n={name:"en/plugin/hls-quality.md"},t=l("",7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const y=a(n,[["render",r]]);export{m as __pageData,y as default}; diff --git a/docs/document/assets/en_plugin_hls-quality.md.61bb2b70.js b/docs/document/assets/en_plugin_hls-quality.md.7f6785e9.js similarity index 80% rename from docs/document/assets/en_plugin_hls-quality.md.61bb2b70.js rename to docs/document/assets/en_plugin_hls-quality.md.7f6785e9.js index 336f40af1..c86466b91 100644 --- a/docs/document/assets/en_plugin_hls-quality.md.61bb2b70.js +++ b/docs/document/assets/en_plugin_hls-quality.md.7f6785e9.js @@ -1 +1 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","lastUpdated":1673692792000}'),n={name:"en/plugin/hls-quality.md"},t=l('

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const y=a(n,[["render",r]]);export{m as __pageData,y as default}; +import{_ as a,c as s,o as l,V as e}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","lastUpdated":1673692792000}'),n={name:"en/plugin/hls-quality.md"},t=e('

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return l(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/en_plugin_hls-quality.md.7f6785e9.lean.js b/docs/document/assets/en_plugin_hls-quality.md.7f6785e9.lean.js new file mode 100644 index 000000000..4f43df988 --- /dev/null +++ b/docs/document/assets/en_plugin_hls-quality.md.7f6785e9.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as l,V as e}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","lastUpdated":1673692792000}'),n={name:"en/plugin/hls-quality.md"},t=e("",7),p=[t];function r(i,o,c,d,u,h){return l(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/en_plugin_iframe.md.412b4f49.js b/docs/document/assets/en_plugin_iframe.md.5ed3fc5d.js similarity index 98% rename from docs/document/assets/en_plugin_iframe.md.412b4f49.js rename to docs/document/assets/en_plugin_iframe.md.5ed3fc5d.js index 2d70295f1..f939de1e2 100644 --- a/docs/document/assets/en_plugin_iframe.md.412b4f49.js +++ b/docs/document/assets/en_plugin_iframe.md.5ed3fc5d.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"en/plugin/iframe.md"},o=l(`

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
+import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"en/plugin/iframe.md"},o=l(`

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -83,7 +83,7 @@ import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=
         type: 'currentTime',
         data: art.currentTime,
     });
-});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
+});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
diff --git a/docs/document/assets/en_plugin_iframe.md.412b4f49.lean.js b/docs/document/assets/en_plugin_iframe.md.5ed3fc5d.lean.js
similarity index 67%
rename from docs/document/assets/en_plugin_iframe.md.412b4f49.lean.js
rename to docs/document/assets/en_plugin_iframe.md.5ed3fc5d.lean.js
index 02b588274..06b5389d0 100644
--- a/docs/document/assets/en_plugin_iframe.md.412b4f49.lean.js
+++ b/docs/document/assets/en_plugin_iframe.md.5ed3fc5d.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"en/plugin/iframe.md"},o=l("",32),e=[o];function r(t,c,F,D,y,i){return n(),a("div",null,e)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
+import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"en/plugin/iframe.md"},o=l("",32),e=[o];function r(t,c,F,D,y,i){return n(),a("div",null,e)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
diff --git a/docs/document/assets/en_start_option.md.435c4fc2.js b/docs/document/assets/en_start_option.md.12acec78.js
similarity index 99%
rename from docs/document/assets/en_start_option.md.435c4fc2.js
rename to docs/document/assets/en_start_option.md.12acec78.js
index fbc029b4a..fd5c088b7 100644
--- a/docs/document/assets/en_start_option.md.435c4fc2.js
+++ b/docs/document/assets/en_start_option.md.12acec78.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const ya=JSON.parse('{"title":"Option","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","lastUpdated":1682580247000}'),e={name:"en/start/option.md"},o=s('

Option ​

container ​

  • Type: String, Element
  • Default: #artplayer

The DOM container attached to the player

',4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const ya=JSON.parse('{"title":"Option","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","lastUpdated":1682580247000}'),e={name:"en/start/option.md"},o=s('

Option ​

container ​

  • Type: String, Element
  • Default: #artplayer

The DOM container attached to the player

',4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
diff --git a/docs/document/assets/en_start_option.md.435c4fc2.lean.js b/docs/document/assets/en_start_option.md.12acec78.lean.js
similarity index 98%
rename from docs/document/assets/en_start_option.md.435c4fc2.lean.js
rename to docs/document/assets/en_start_option.md.12acec78.lean.js
index 922c975f8..596a2a376 100644
--- a/docs/document/assets/en_start_option.md.435c4fc2.lean.js
+++ b/docs/document/assets/en_start_option.md.12acec78.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const ya=JSON.parse('{"title":"Option","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","lastUpdated":1682580247000}'),e={name:"en/start/option.md"},o=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",9),c=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",2),D=a("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),F=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),d=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",7),h=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),f=a("div",{className:"run-code"},"▶ Run Code",-1),E=s("",4),S=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),k=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),I=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),R=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),z=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),O=a("div",{className:"run-code"},"▶ Run Code",-1),M=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),$=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Q=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",6),G=a("div",{className:"run-code"},"▶ Run Code",-1),J=s("",4),K=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",4),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),es=a("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),ts=a("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),cs=a("div",{className:"run-code"},"▶ Run Code",-1),is=s("",4),Ds=a("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",5),Fs=a("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),ds=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",5),hs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",6),bs=a("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",5),gs=a("div",{className:"run-code"},"▶ Run Code",-1),_s=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",6),fs=a("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",6),Ss=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",6),ks=a("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",4),Vs=a("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),Is=a("div",{className:"run-code"},"▶ Run Code",-1),js=s("",5),Rs=a("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",6),xs=a("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),zs=a("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",5),Os=a("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",2),Hs=a("div",{className:"run-code"},"▶ Run Code",-1),Ls=s("",5),$s=a("div",{className:"run-code"},"▶ Run Code",-1),Ys=s("",4),Qs=a("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=a("div",{className:"run-code"},"▶ Run Code",-1),Js=s("",5),Ks=a("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",4),Zs=a("div",{className:"run-code"},"▶ Run Code",-1),sa=s("",4),aa=a("div",{className:"run-code"},"▶ Run Code",-1),na=s("",2),la=[o,t,r,c,i,D,y,F,C,d,A,h,u,b,m,g,_,v,T,f,E,S,w,k,P,V,q,I,j,R,N,x,B,z,W,O,M,H,L,$,Y,Q,U,G,J,K,X,Z,ss,as,ns,ls,ps,es,os,ts,rs,cs,is,Ds,ys,Fs,Cs,ds,As,hs,us,bs,ms,gs,_s,vs,Ts,fs,Es,Ss,ws,ks,Ps,Vs,qs,Is,js,Rs,Ns,xs,Bs,zs,Ws,Os,Ms,Hs,Ls,$s,Ys,Qs,Us,Gs,Js,Ks,Xs,Zs,sa,aa,na];function pa(ea,oa,ta,ra,ca,ia){return p(),l("div",null,la)}const Fa=n(e,[["render",pa]]);export{ya as __pageData,Fa as default};
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const ya=JSON.parse('{"title":"Option","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","lastUpdated":1682580247000}'),e={name:"en/start/option.md"},o=s("",4),t=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",9),c=a("div",{className:"run-code"},"▶ Run Code",-1),i=s("",2),D=a("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),F=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),d=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",7),h=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),f=a("div",{className:"run-code"},"▶ Run Code",-1),E=s("",4),S=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),k=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),I=a("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),R=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),z=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),O=a("div",{className:"run-code"},"▶ Run Code",-1),M=s("",4),H=a("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),$=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Q=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",6),G=a("div",{className:"run-code"},"▶ Run Code",-1),J=s("",4),K=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",4),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),es=a("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),ts=a("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),cs=a("div",{className:"run-code"},"▶ Run Code",-1),is=s("",4),Ds=a("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",5),Fs=a("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),ds=a("div",{className:"run-code"},"▶ Run Code",-1),As=s("",5),hs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",6),bs=a("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",5),gs=a("div",{className:"run-code"},"▶ Run Code",-1),_s=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",6),fs=a("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",6),Ss=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",6),ks=a("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",4),Vs=a("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),Is=a("div",{className:"run-code"},"▶ Run Code",-1),js=s("",5),Rs=a("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",6),xs=a("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),zs=a("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",5),Os=a("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",2),Hs=a("div",{className:"run-code"},"▶ Run Code",-1),Ls=s("",5),$s=a("div",{className:"run-code"},"▶ Run Code",-1),Ys=s("",4),Qs=a("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=a("div",{className:"run-code"},"▶ Run Code",-1),Js=s("",5),Ks=a("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",4),Zs=a("div",{className:"run-code"},"▶ Run Code",-1),sa=s("",4),aa=a("div",{className:"run-code"},"▶ Run Code",-1),na=s("",2),la=[o,t,r,c,i,D,y,F,C,d,A,h,u,b,m,g,_,v,T,f,E,S,w,k,P,V,q,I,j,R,N,x,B,z,W,O,M,H,L,$,Y,Q,U,G,J,K,X,Z,ss,as,ns,ls,ps,es,os,ts,rs,cs,is,Ds,ys,Fs,Cs,ds,As,hs,us,bs,ms,gs,_s,vs,Ts,fs,Es,Ss,ws,ks,Ps,Vs,qs,Is,js,Rs,Ns,xs,Bs,zs,Ws,Os,Ms,Hs,Ls,$s,Ys,Qs,Us,Gs,Js,Ks,Xs,Zs,sa,aa,na];function pa(ea,oa,ta,ra,ca,ia){return p(),l("div",null,la)}const Fa=n(e,[["render",pa]]);export{ya as __pageData,Fa as default};
diff --git a/docs/document/assets/index.md.d93910a2.js b/docs/document/assets/index.md.fb4cf0fd.js
similarity index 96%
rename from docs/document/assets/index.md.d93910a2.js
rename to docs/document/assets/index.md.fb4cf0fd.js
index c91ee8cc6..be696a66b 100644
--- a/docs/document/assets/index.md.d93910a2.js
+++ b/docs/document/assets/index.md.fb4cf0fd.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const C=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","lastUpdated":1682477666000}'),p={name:"index.md"},e=l(`

安装使用 ​

安装 ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用 ​

js
import Artplayer from 'artplayer';
+import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const C=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","lastUpdated":1682477666000}'),p={name:"index.md"},e=l(`

安装使用 ​

安装 ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用 ​

js
import Artplayer from 'artplayer';
 
 const art = new Artplayer({
     container: '.artplayer-app',
@@ -17,7 +17,7 @@ import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const C=
     <body>
         <div class="artplayer-app"></div>
     </body>
-</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js ​

vue
<template>
+</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js ​

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -81,7 +81,7 @@ import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const C=
     },
   },
 };
-</script>

Artplayer 非响应式:

在 Vue.js 里直接修改 option 是不会改变播放器的

React.js ​

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer 非响应式:

在 Vue.js 里直接修改 option 是不会改变播放器的

React.js ​

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -143,4 +143,4 @@ import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const C=
       art: null,
     }
   }
-}

古老的浏览器 ​

生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

`,31),o=[e];function t(r,c,y,F,i,D){return n(),a("div",null,o)}const u=s(p,[["render",t]]);export{C as __pageData,u as default}; +}

古老的浏览器 ​

生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

`,31),o=[e];function t(r,c,y,F,i,D){return n(),a("div",null,o)}const u=s(p,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/document/assets/index.md.d93910a2.lean.js b/docs/document/assets/index.md.fb4cf0fd.lean.js similarity index 65% rename from docs/document/assets/index.md.d93910a2.lean.js rename to docs/document/assets/index.md.fb4cf0fd.lean.js index 64654738d..ab4cf1e8e 100644 --- a/docs/document/assets/index.md.d93910a2.lean.js +++ b/docs/document/assets/index.md.fb4cf0fd.lean.js @@ -1 +1 @@ -import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const C=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","lastUpdated":1682477666000}'),p={name:"index.md"},e=l("",31),o=[e];function t(r,c,y,F,i,D){return n(),a("div",null,o)}const u=s(p,[["render",t]]);export{C as __pageData,u as default}; +import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const C=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","lastUpdated":1682477666000}'),p={name:"index.md"},e=l("",31),o=[e];function t(r,c,y,F,i,D){return n(),a("div",null,o)}const u=s(p,[["render",t]]);export{C as __pageData,u as default}; diff --git a/docs/document/assets/library_dash.md.245289b4.js b/docs/document/assets/library_dash.md.548ff0b2.js similarity index 99% rename from docs/document/assets/library_dash.md.245289b4.js rename to docs/document/assets/library_dash.md.548ff0b2.js index b7a5ccae6..57e19b386 100644 --- a/docs/document/assets/library_dash.md.245289b4.js +++ b/docs/document/assets/library_dash.md.548ff0b2.js @@ -1,4 +1,4 @@ -import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","lastUpdated":1682237343000}'),e={name:"library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o(`
js
function playMpd(video, url, art) {
+import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","lastUpdated":1682237343000}'),e={name:"library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o(`
js
function playMpd(video, url, art) {
     if (dashjs.supportsMediaSource()) {
         if (art.dash) art.dash.destroy();
         const dash = dashjs.MediaPlayer().create();
diff --git a/docs/document/assets/library_dash.md.245289b4.lean.js b/docs/document/assets/library_dash.md.548ff0b2.lean.js
similarity index 92%
rename from docs/document/assets/library_dash.md.245289b4.lean.js
rename to docs/document/assets/library_dash.md.548ff0b2.lean.js
index b59e74e3b..804eb49bf 100644
--- a/docs/document/assets/library_dash.md.245289b4.lean.js
+++ b/docs/document/assets/library_dash.md.548ff0b2.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","lastUpdated":1682237343000}'),e={name:"library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o("",1),F=[r,t,c,y];function D(A,i,C,d,b,h){return p(),l("div",null,F)}const _=n(e,[["render",D]]);export{m as __pageData,_ as default};
+import{_ as n,c as l,o as p,z as s,a,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","lastUpdated":1682237343000}'),e={name:"library/dash.md"},r=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),t=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),y=o("",1),F=[r,t,c,y];function D(A,i,C,d,b,h){return p(),l("div",null,F)}const _=n(e,[["render",D]]);export{m as __pageData,_ as default};
diff --git a/docs/document/assets/library_flv.md.296c1ec0.js b/docs/document/assets/library_flv.md.2ddcd9cc.js
similarity index 99%
rename from docs/document/assets/library_flv.md.296c1ec0.js
rename to docs/document/assets/library_flv.md.2ddcd9cc.js
index e5ce4afc4..9a8063832 100644
--- a/docs/document/assets/library_flv.md.296c1ec0.js
+++ b/docs/document/assets/library_flv.md.2ddcd9cc.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","lastUpdated":1682237343000}'),e={name:"library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playFlv(video, url, art) {
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","lastUpdated":1682237343000}'),e={name:"library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playFlv(video, url, art) {
     if (flvjs.isSupported()) {
         if (art.flv) art.flv.destroy();
         const flv = flvjs.createPlayer({ type: 'flv', url });
diff --git a/docs/document/assets/library_flv.md.296c1ec0.lean.js b/docs/document/assets/library_flv.md.2ddcd9cc.lean.js
similarity index 92%
rename from docs/document/assets/library_flv.md.296c1ec0.lean.js
rename to docs/document/assets/library_flv.md.2ddcd9cc.lean.js
index 8fe3e42c7..8b4fe3f91 100644
--- a/docs/document/assets/library_flv.md.296c1ec0.lean.js
+++ b/docs/document/assets/library_flv.md.2ddcd9cc.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","lastUpdated":1682237343000}'),e={name:"library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,d,f){return p(),l("div",null,y)}const v=a(e,[["render",D]]);export{m as __pageData,v as default};
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","lastUpdated":1682237343000}'),e={name:"library/flv.md"},r=s("h1",{id:"flv-js",tabindex:"-1"},[n("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,d,f){return p(),l("div",null,y)}const v=a(e,[["render",D]]);export{m as __pageData,v as default};
diff --git a/docs/document/assets/library_hls.md.9e1cd522.js b/docs/document/assets/library_hls.md.3142dc3f.js
similarity index 99%
rename from docs/document/assets/library_hls.md.9e1cd522.js
rename to docs/document/assets/library_hls.md.3142dc3f.js
index d0902df0f..6fd05e6a8 100644
--- a/docs/document/assets/library_hls.md.9e1cd522.js
+++ b/docs/document/assets/library_hls.md.3142dc3f.js
@@ -1,4 +1,4 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","lastUpdated":1682237343000}'),e={name:"library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playM3u8(video, url, art) {
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","lastUpdated":1682237343000}'),e={name:"library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o(`
js
function playM3u8(video, url, art) {
     if (Hls.isSupported()) {
         if (art.hls) art.hls.destroy();
         const hls = new Hls();
diff --git a/docs/document/assets/library_hls.md.9e1cd522.lean.js b/docs/document/assets/library_hls.md.3142dc3f.lean.js
similarity index 92%
rename from docs/document/assets/library_hls.md.9e1cd522.lean.js
rename to docs/document/assets/library_hls.md.3142dc3f.lean.js
index 746a7e122..435aeb200 100644
--- a/docs/document/assets/library_hls.md.9e1cd522.lean.js
+++ b/docs/document/assets/library_hls.md.3142dc3f.lean.js
@@ -1 +1 @@
-import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.f7d2e3c3.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","lastUpdated":1682237343000}'),e={name:"library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,u,d){return p(),l("div",null,y)}const _=a(e,[["render",D]]);export{m as __pageData,_ as default};
+import{_ as a,c as l,o as p,z as s,a as n,V as o}from"./chunks/framework.48115c03.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","lastUpdated":1682237343000}'),e={name:"library/hls.md"},r=s("h1",{id:"hls-js",tabindex:"-1"},[n("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[n("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),c=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),F=o("",1),y=[r,t,c,F];function D(A,i,C,b,u,d){return p(),l("div",null,y)}const _=a(e,[["render",D]]);export{m as __pageData,_ as default};
diff --git a/docs/document/assets/plugin_ads.md.62a34622.js b/docs/document/assets/plugin_ads.md.d539e7a2.js
similarity index 96%
rename from docs/document/assets/plugin_ads.md.62a34622.js
rename to docs/document/assets/plugin_ads.md.d539e7a2.js
index 305a5b4aa..6961533ac 100644
--- a/docs/document/assets/plugin_ads.md.62a34622.js
+++ b/docs/document/assets/plugin_ads.md.d539e7a2.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","lastUpdated":1673441101000}'),e={name:"plugin/ads.md"},o=s('

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

',8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","lastUpdated":1673441101000}'),e={name:"plugin/ads.md"},o=s('

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

',8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoSize: true,
diff --git a/docs/document/assets/plugin_ads.md.62a34622.lean.js b/docs/document/assets/plugin_ads.md.d539e7a2.lean.js
similarity index 87%
rename from docs/document/assets/plugin_ads.md.62a34622.lean.js
rename to docs/document/assets/plugin_ads.md.d539e7a2.lean.js
index 4600bfbff..82b232691 100644
--- a/docs/document/assets/plugin_ads.md.62a34622.lean.js
+++ b/docs/document/assets/plugin_ads.md.d539e7a2.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.f7d2e3c3.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","lastUpdated":1673441101000}'),e={name:"plugin/ads.md"},o=s("",8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s("",1),c=[o,r,t];function i(y,D,F,C,b,d){return l(),n("div",null,c)}const m=a(e,[["render",i]]);export{u as __pageData,m as default};
+import{_ as a,c as n,o as l,V as s,z as p}from"./chunks/framework.48115c03.js";const u=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","lastUpdated":1673441101000}'),e={name:"plugin/ads.md"},o=s("",8),r=p("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),t=s("",1),c=[o,r,t];function i(y,D,F,C,b,d){return l(),n("div",null,c)}const m=a(e,[["render",i]]);export{u as __pageData,m as default};
diff --git a/docs/document/assets/plugin_control-ui.md.df4ff288.js b/docs/document/assets/plugin_control-ui.md.d74a021b.js
similarity index 94%
rename from docs/document/assets/plugin_control-ui.md.df4ff288.js
rename to docs/document/assets/plugin_control-ui.md.d74a021b.js
index f0fbbe0f1..9c1802e28 100644
--- a/docs/document/assets/plugin_control-ui.md.df4ff288.js
+++ b/docs/document/assets/plugin_control-ui.md.d74a021b.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/control-ui.md","lastUpdated":1673441101000}'),e={name:"plugin/control-ui.md"},o=s('

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

',8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/control-ui.md","lastUpdated":1673441101000}'),e={name:"plugin/control-ui.md"},o=s('

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

',8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreen: true,
@@ -24,4 +24,4 @@ import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";c
     plugins: [
         artplayerPluginControl(),
     ],
-});
`,1),y=[o,r,t,c,i];function D(F,C,d,u,b,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; +});
`,1),y=[o,r,t,c,i];function D(F,C,d,b,u,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; diff --git a/docs/document/assets/plugin_control-ui.md.df4ff288.lean.js b/docs/document/assets/plugin_control-ui.md.d74a021b.lean.js similarity index 80% rename from docs/document/assets/plugin_control-ui.md.df4ff288.lean.js rename to docs/document/assets/plugin_control-ui.md.d74a021b.lean.js index 562797c7c..5838cb2a0 100644 --- a/docs/document/assets/plugin_control-ui.md.df4ff288.lean.js +++ b/docs/document/assets/plugin_control-ui.md.d74a021b.lean.js @@ -1 +1 @@ -import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/control-ui.md","lastUpdated":1673441101000}'),e={name:"plugin/control-ui.md"},o=s("",8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s("",4),c=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),i=s("",1),y=[o,r,t,c,i];function D(F,C,d,u,b,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; +import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const h=JSON.parse('{"title":"控制器皮肤","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/control-ui.md","lastUpdated":1673441101000}'),e={name:"plugin/control-ui.md"},o=s("",8),r=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),t=s("",4),c=a("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-control/index.js"}," ▶ Run Code ",-1),i=s("",1),y=[o,r,t,c,i];function D(F,C,d,b,u,A){return p(),l("div",null,y)}const g=n(e,[["render",D]]);export{h as __pageData,g as default}; diff --git a/docs/document/assets/plugin_danmuku.md.4fa689a6.js b/docs/document/assets/plugin_danmuku.md.aa337559.js similarity index 99% rename from docs/document/assets/plugin_danmuku.md.4fa689a6.js rename to docs/document/assets/plugin_danmuku.md.aa337559.js index c07fe393d..4495e6c59 100644 --- a/docs/document/assets/plugin_danmuku.md.4fa689a6.js +++ b/docs/document/assets/plugin_danmuku.md.aa337559.js @@ -1,4 +1,4 @@ -import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const V=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","lastUpdated":1673441101000}'),o={name:"plugin/danmuku.md"},e=s(`

弹幕库 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

选项 ​

js
{
+import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const N=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","lastUpdated":1673441101000}'),o={name:"plugin/danmuku.md"},e=s(`

弹幕库 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

选项 ​

js
{
     danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
     speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
     opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
@@ -280,4 +280,4 @@ import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";c
 
 art.on('artplayerPluginDanmuku:destroy', () => {
     console.info('弹幕销毁');
-});
`,3),P=[e,r,c,t,D,F,y,i,C,A,u,b,m,d,h,g,_,E,k,v,f];function T(x,B,q,S,j,w){return p(),l("div",null,P)}const I=a(o,[["render",T]]);export{V as __pageData,I as default}; +});
`,3),P=[e,r,c,t,D,F,y,i,C,A,u,b,m,d,h,g,_,E,k,v,f];function T(x,B,q,S,j,w){return p(),l("div",null,P)}const V=a(o,[["render",T]]);export{N as __pageData,V as default}; diff --git a/docs/document/assets/plugin_danmuku.md.4fa689a6.lean.js b/docs/document/assets/plugin_danmuku.md.aa337559.lean.js similarity index 91% rename from docs/document/assets/plugin_danmuku.md.4fa689a6.lean.js rename to docs/document/assets/plugin_danmuku.md.aa337559.lean.js index e757769ab..89f4c2ad2 100644 --- a/docs/document/assets/plugin_danmuku.md.4fa689a6.lean.js +++ b/docs/document/assets/plugin_danmuku.md.aa337559.lean.js @@ -1 +1 @@ -import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.f7d2e3c3.js";const V=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","lastUpdated":1673441101000}'),o={name:"plugin/danmuku.md"},e=s("",10),r=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s("",2),t=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s("",2),F=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),y=s("",3),i=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),C=s("",3),A=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s("",3),b=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),m=s("",4),d=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),h=s("",3),g=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),_=s("",3),E=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s("",3),v=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),f=s("",3),P=[e,r,c,t,D,F,y,i,C,A,u,b,m,d,h,g,_,E,k,v,f];function T(x,B,q,S,j,w){return p(),l("div",null,P)}const I=a(o,[["render",T]]);export{V as __pageData,I as default}; +import{_ as a,c as l,o as p,V as s,z as n}from"./chunks/framework.48115c03.js";const N=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","lastUpdated":1673441101000}'),o={name:"plugin/danmuku.md"},e=s("",10),r=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s("",2),t=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s("",2),F=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),y=s("",3),i=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),C=s("",3),A=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s("",3),b=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),m=s("",4),d=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),h=s("",3),g=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),_=s("",3),E=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s("",3),v=n("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),f=s("",3),P=[e,r,c,t,D,F,y,i,C,A,u,b,m,d,h,g,_,E,k,v,f];function T(x,B,q,S,j,w){return p(),l("div",null,P)}const V=a(o,[["render",T]]);export{N as __pageData,V as default}; diff --git a/docs/document/assets/plugin_dash-quality.md.7dd6e6be.js b/docs/document/assets/plugin_dash-quality.md.3ad65272.js similarity index 82% rename from docs/document/assets/plugin_dash-quality.md.7dd6e6be.js rename to docs/document/assets/plugin_dash-quality.md.3ad65272.js index 993bd1355..ffd9f8f62 100644 --- a/docs/document/assets/plugin_dash-quality.md.7dd6e6be.js +++ b/docs/document/assets/plugin_dash-quality.md.3ad65272.js @@ -1 +1 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"plugin/dash-quality.md"},t=l('

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),p=[t];function r(i,o,d,c,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"plugin/dash-quality.md"},t=l('

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/plugin_dash-quality.md.7dd6e6be.lean.js b/docs/document/assets/plugin_dash-quality.md.3ad65272.lean.js similarity index 52% rename from docs/document/assets/plugin_dash-quality.md.7dd6e6be.lean.js rename to docs/document/assets/plugin_dash-quality.md.3ad65272.lean.js index cf0b30d5a..af5c3fb37 100644 --- a/docs/document/assets/plugin_dash-quality.md.7dd6e6be.lean.js +++ b/docs/document/assets/plugin_dash-quality.md.3ad65272.lean.js @@ -1 +1 @@ -import{_ as a,c as s,o as e,V as l}from"./chunks/framework.f7d2e3c3.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"plugin/dash-quality.md"},t=l("",7),p=[t];function r(i,o,d,c,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),n={name:"plugin/dash-quality.md"},t=l("",7),p=[t];function r(i,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/plugin_hls-quality.md.235b8554.js b/docs/document/assets/plugin_hls-quality.md.04ba1006.js similarity index 80% rename from docs/document/assets/plugin_hls-quality.md.235b8554.js rename to docs/document/assets/plugin_hls-quality.md.04ba1006.js index 6900b2a98..c336ba132 100644 --- a/docs/document/assets/plugin_hls-quality.md.235b8554.js +++ b/docs/document/assets/plugin_hls-quality.md.04ba1006.js @@ -1 +1 @@ -import{_ as a,c as s,o as l,V as e}from"./chunks/framework.f7d2e3c3.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),n={name:"plugin/hls-quality.md"},t=e('

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),p=[t];function r(i,o,c,d,u,h){return l(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),n={name:"plugin/hls-quality.md"},t=l('

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),p=[t];function i(r,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",i]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/plugin_hls-quality.md.04ba1006.lean.js b/docs/document/assets/plugin_hls-quality.md.04ba1006.lean.js new file mode 100644 index 000000000..bc8d0866f --- /dev/null +++ b/docs/document/assets/plugin_hls-quality.md.04ba1006.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as e,V as l}from"./chunks/framework.48115c03.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),n={name:"plugin/hls-quality.md"},t=l("",7),p=[t];function i(r,o,c,d,u,h){return e(),s("div",null,p)}const m=a(n,[["render",i]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/plugin_hls-quality.md.235b8554.lean.js b/docs/document/assets/plugin_hls-quality.md.235b8554.lean.js deleted file mode 100644 index 7fd9a380e..000000000 --- a/docs/document/assets/plugin_hls-quality.md.235b8554.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as l,V as e}from"./chunks/framework.f7d2e3c3.js";const y=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),n={name:"plugin/hls-quality.md"},t=e("",7),p=[t];function r(i,o,c,d,u,h){return l(),s("div",null,p)}const m=a(n,[["render",r]]);export{y as __pageData,m as default}; diff --git a/docs/document/assets/plugin_iframe.md.7d625f08.js b/docs/document/assets/plugin_iframe.md.99e38964.js similarity index 98% rename from docs/document/assets/plugin_iframe.md.7d625f08.js rename to docs/document/assets/plugin_iframe.md.99e38964.js index fe7ab8d74..786c11c44 100644 --- a/docs/document/assets/plugin_iframe.md.7d625f08.js +++ b/docs/document/assets/plugin_iframe.md.99e38964.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"plugin/iframe.md"},o=l(`

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
+import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"plugin/iframe.md"},o=l(`

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -83,7 +83,7 @@ import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=
         type: 'currentTime',
         data: art.currentTime,
     });
-});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
+});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
diff --git a/docs/document/assets/plugin_iframe.md.7d625f08.lean.js b/docs/document/assets/plugin_iframe.md.99e38964.lean.js
similarity index 67%
rename from docs/document/assets/plugin_iframe.md.7d625f08.lean.js
rename to docs/document/assets/plugin_iframe.md.99e38964.lean.js
index 293a2b5a7..36112c1a8 100644
--- a/docs/document/assets/plugin_iframe.md.7d625f08.lean.js
+++ b/docs/document/assets/plugin_iframe.md.99e38964.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,V as l}from"./chunks/framework.f7d2e3c3.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"plugin/iframe.md"},o=l("",32),e=[o];function r(t,c,F,D,y,i){return n(),a("div",null,e)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
+import{_ as s,c as a,o as n,V as l}from"./chunks/framework.48115c03.js";const A=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","lastUpdated":1680272727000}'),p={name:"plugin/iframe.md"},o=l("",32),e=[o];function r(t,c,F,D,y,i){return n(),a("div",null,e)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
diff --git a/docs/document/assets/start_option.md.7f0220cd.js b/docs/document/assets/start_option.md.c9f42b0c.js
similarity index 99%
rename from docs/document/assets/start_option.md.7f0220cd.js
rename to docs/document/assets/start_option.md.c9f42b0c.js
index 3f62e6d63..7e18e7333 100644
--- a/docs/document/assets/start_option.md.7f0220cd.js
+++ b/docs/document/assets/start_option.md.c9f42b0c.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const ya=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","lastUpdated":1682580247000}'),e={name:"start/option.md"},o=s('

基础选项 ​

container ​

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

',4),c=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const ya=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","lastUpdated":1682580247000}'),e={name:"start/option.md"},o=s('

基础选项 ​

container ​

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

',4),c=a("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
diff --git a/docs/document/assets/start_option.md.7f0220cd.lean.js b/docs/document/assets/start_option.md.c9f42b0c.lean.js
similarity index 98%
rename from docs/document/assets/start_option.md.7f0220cd.lean.js
rename to docs/document/assets/start_option.md.c9f42b0c.lean.js
index b540f29da..5d6c48374 100644
--- a/docs/document/assets/start_option.md.7f0220cd.lean.js
+++ b/docs/document/assets/start_option.md.c9f42b0c.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const ya=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","lastUpdated":1682580247000}'),e={name:"start/option.md"},o=s("",4),c=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",9),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),i=a("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),F=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),A=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",7),h=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",4),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),P=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),j=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),N=a("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),O=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),L=a("div",{className:"run-code"},"▶ Run Code",-1),M=s("",4),$=a("div",{className:"run-code"},"▶ Run Code",-1),H=s("",5),Y=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",6),G=a("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),Q=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",4),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),es=a("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),cs=a("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",4),is=a("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",5),Fs=a("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),As=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),hs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",6),bs=a("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",5),gs=a("div",{className:"run-code"},"▶ Run Code",-1),_s=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",6),Es=a("div",{className:"run-code"},"▶ Run Code",-1),fs=s("",6),Ss=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",6),Ps=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),Vs=a("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",4),js=a("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",5),Ns=a("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",6),xs=a("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),Os=a("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Ls=a("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",2),$s=a("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",5),Ys=a("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",4),Js=a("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=a("div",{className:"run-code"},"▶ Run Code",-1),Ks=s("",5),Qs=a("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",4),Zs=a("div",{className:"run-code"},"▶ Run Code",-1),sa=s("",4),aa=a("div",{className:"run-code"},"▶ Run Code",-1),na=s("",2),la=[o,c,r,t,D,i,y,F,C,A,d,h,u,b,m,g,_,v,T,E,f,S,k,P,w,V,R,j,q,N,I,x,B,O,z,L,M,$,H,Y,W,J,U,G,K,Q,X,Z,ss,as,ns,ls,ps,es,os,cs,rs,ts,Ds,is,ys,Fs,Cs,As,ds,hs,us,bs,ms,gs,_s,vs,Ts,Es,fs,Ss,ks,Ps,ws,Vs,Rs,js,qs,Ns,Is,xs,Bs,Os,zs,Ls,Ms,$s,Hs,Ys,Ws,Js,Us,Gs,Ks,Qs,Xs,Zs,sa,aa,na];function pa(ea,oa,ca,ra,ta,Da){return p(),l("div",null,la)}const Fa=n(e,[["render",pa]]);export{ya as __pageData,Fa as default};
+import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.48115c03.js";const ya=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","lastUpdated":1682580247000}'),e={name:"start/option.md"},o=s("",4),c=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",9),t=a("div",{className:"run-code"},"▶ Run Code",-1),D=s("",2),i=a("div",{className:"run-code"},"▶ Run Code",-1),y=s("",5),F=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),A=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",7),h=a("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),b=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",4),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),E=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",4),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s("",4),P=a("div",{className:"run-code"},"▶ Run Code",-1),w=s("",5),V=a("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),j=a("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),N=a("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),x=a("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),O=a("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),L=a("div",{className:"run-code"},"▶ Run Code",-1),M=s("",4),$=a("div",{className:"run-code"},"▶ Run Code",-1),H=s("",5),Y=a("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),J=a("div",{className:"run-code"},"▶ Run Code",-1),U=s("",6),G=a("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),Q=a("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=a("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),as=a("div",{className:"run-code"},"▶ Run Code",-1),ns=s("",4),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),es=a("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),cs=a("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),ts=a("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",4),is=a("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",5),Fs=a("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),As=a("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),hs=a("div",{className:"run-code"},"▶ Run Code",-1),us=s("",6),bs=a("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",5),gs=a("div",{className:"run-code"},"▶ Run Code",-1),_s=s("",4),vs=a("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",6),Es=a("div",{className:"run-code"},"▶ Run Code",-1),fs=s("",6),Ss=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",6),Ps=a("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),Vs=a("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",4),js=a("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",5),Ns=a("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",6),xs=a("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),Os=a("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Ls=a("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",2),$s=a("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",5),Ys=a("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",4),Js=a("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=a("div",{className:"run-code"},"▶ Run Code",-1),Ks=s("",5),Qs=a("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",4),Zs=a("div",{className:"run-code"},"▶ Run Code",-1),sa=s("",4),aa=a("div",{className:"run-code"},"▶ Run Code",-1),na=s("",2),la=[o,c,r,t,D,i,y,F,C,A,d,h,u,b,m,g,_,v,T,E,f,S,k,P,w,V,R,j,q,N,I,x,B,O,z,L,M,$,H,Y,W,J,U,G,K,Q,X,Z,ss,as,ns,ls,ps,es,os,cs,rs,ts,Ds,is,ys,Fs,Cs,As,ds,hs,us,bs,ms,gs,_s,vs,Ts,Es,fs,Ss,ks,Ps,ws,Vs,Rs,js,qs,Ns,Is,xs,Bs,Os,zs,Ls,Ms,$s,Hs,Ys,Ws,Js,Us,Gs,Ks,Qs,Xs,Zs,sa,aa,na];function pa(ea,oa,ca,ra,ta,Da){return p(),l("div",null,la)}const Fa=n(e,[["render",pa]]);export{ya as __pageData,Fa as default};
diff --git a/docs/document/assets/style.6f0de4a7.css b/docs/document/assets/style.3d04a11d.css
similarity index 95%
rename from docs/document/assets/style.6f0de4a7.css
rename to docs/document/assets/style.3d04a11d.css
index 9a377e9d1..e2d614dfd 100644
--- a/docs/document/assets/style.6f0de4a7.css
+++ b/docs/document/assets/style.3d04a11d.css
@@ -1 +1 @@
-@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-text-dark-3);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-text-dark-3);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-e233384c]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-e233384c],h2 .VPBadge[data-v-e233384c],h3 .VPBadge[data-v-e233384c],h4 .VPBadge[data-v-e233384c],h5 .VPBadge[data-v-e233384c],h6 .VPBadge[data-v-e233384c]{vertical-align:top}h2 .VPBadge[data-v-e233384c]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-e233384c]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-e233384c]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-e233384c]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-e233384c]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-994b33bc]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-994b33bc]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-994b33bc]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-994b33bc]{top:14px;left:16px}}.VPBackdrop[data-v-b2600058]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b2600058],.VPBackdrop.fade-leave-to[data-v-b2600058]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b2600058]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b2600058]{display:none}}html:not(.dark) .VPImage.dark[data-v-74766fef]{display:none}.dark .VPImage.light[data-v-74766fef]{display:none}.title[data-v-bd15f18e]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-bd15f18e]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-bd15f18e]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-bd15f18e]{border-bottom-color:var(--vp-c-divider)}}[data-v-bd15f18e] .logo{margin-right:8px;height:24px}.VPPluginSearch-flex-logo{width:80px;margin-left:calc(100% - 90px);padding-bottom:10px}.VPPluginSearch-search-list{padding:1rem;max-height:calc(100vh - 230px);overflow-x:auto}.VPPluginSearch-search-item-icon{font-family:none;align-self:center;padding:0 1rem 0 0;font-size:x-large}.VPPluginSearch-search-list>div{color:var(--vp-c-brand-dark);font-weight:700}.VPPluginSearch-search-item{padding:.25rem 1rem;margin:8px 0 0;border:solid 1px;border-radius:6px;display:flex;border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.VPPluginSearch-search-item p{margin:0;font-size:smaller;color:var(--c-text-light-3)}.VPPluginSearch-search-item:hover{color:#fff;background:var(--vp-c-brand-dark)}.VPPluginSearch-search-item:hover>p{color:#fff}.VPNavBarSearch{display:flex;align-items:center;padding-left:16px}.DocSearch-MagnifierLabel{margin:16px;color:var(--c-brand-light);stroke-width:2px}.DocSearch-Input{appearance:none;background:#58565636;border:solid 1px var(--c-brand-light);color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;width:80%;margin:8px;padding:8px;border-radius:6px}.dark .DocSearch-Input{color:var(--vp-c-text-1)}.VPPluginSearch-modal-back{left:0;right:0;top:0;bottom:0;background:#545454b3;position:fixed;z-index:65}.dark .VPPluginSearch-modal{background-color:#242424}.VPPluginSearch-modal{background-color:#f9f9f9;border-radius:6px;box-shadow:none;flex-direction:column;margin:80px auto auto;max-width:560px;position:relative}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}@media (max-width: 768px){.VPPluginSearch-modal{max-width:100%;border-radius:0}}.dark .DocSearch-Form{background-color:var(--vt-c-bg-mute)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand);padding:6px}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Button-Key{align-items:center;background:var(--c-brand-light);border-radius:3px;box-shadow:var(--c-brand);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:2px;position:relative;top:-1px;width:20px}body.dark .DocSearch-Button:hover{box-shadow:none}.DocSearch{--docsearch-primary-color: var(--vt-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vt-c-text-1);--docsearch-muted-color: #ebebeb99;--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vt-c-bg-soft);--docsearch-footer-background: var(--vt-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: #ebebeb99;--docsearch-hit-background: #2f2f2f;--docsearch-hit-color: #ebebeb99;--docsearch-hit-shadow: none}.dark .DocSearch-Footer{border-top:1px solid var(--vt-c-divider)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand)}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;width:48px;height:55px;background:transparent;border:none}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;width:100%}}.DocSearch-MagnifierLabel{color:var(--vp-c-brand-dark)}.DocSearch-Button .DocSearch-Search-Icon{transition:color .5s;fill:currentColor;width:18px;height:18px;position:relative}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}.DocSearch-Button-Placeholder{transition:color .5s;font-size:13px;font-weight:500;color:#6669;display:none;padding:0 10px 0 0}@media (min-width: 960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}.DocSearch-Button .DocSearch-Button-Key{margin-top:2px;border:1px solid var(--vt-c-divider);border-right:none;border-radius:4px 0 0 4px;display:none;padding-left:6px;height:22px;line-height:22px;transition:color .5s,border-color .5s;min-width:0}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vt-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Key{display:inline-block}}.DocSearch-Button-Key{font-size:12px;font-weight:500;height:20px;margin:0;width:auto;color:var(--vt-c-text-3);transition:color .5s;display:inline-block;padding:0 1px}.icon[data-v-87683ad2]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-6dd6d312]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-6dd6d312],.VPNavBarMenuLink[data-v-6dd6d312]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-b9520bf2]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-b9520bf2]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-b9520bf2]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-b9520bf2]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-2bec9359]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-2bec9359]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-2bec9359]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-2bec9359]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7bffa9cd]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7bffa9cd] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7bffa9cd] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7bffa9cd] .group:last-child{padding-bottom:0}.VPMenu[data-v-7bffa9cd] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7bffa9cd] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7bffa9cd] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7bffa9cd] .action{padding-left:24px}.VPFlyout[data-v-64c29883]{position:relative}.VPFlyout[data-v-64c29883]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-64c29883]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-64c29883]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-64c29883]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-64c29883]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-64c29883],.button[aria-expanded=true]+.menu[data-v-64c29883]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-64c29883]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-64c29883]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-64c29883]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-64c29883]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-64c29883]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-64c29883]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-c6c3e6d4]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-c6c3e6d4]{display:flex}}.VPNavBarTranslations[data-v-3bf1c934]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-3bf1c934]{display:flex;align-items:center}}.title[data-v-3bf1c934]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-0a2eba70]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-0a2eba70]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-0a2eba70]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-0a2eba70]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-0a2eba70] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-0a2eba70] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-f37e294f]{opacity:1}.moon[data-v-f37e294f],.dark .sun[data-v-f37e294f]{opacity:0}.dark .moon[data-v-f37e294f]{opacity:1}.dark .VPSwitchAppearance[data-v-f37e294f] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-88042fc7]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-88042fc7]{display:flex;align-items:center}}.VPSocialLink[data-v-ca994af5]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-ca994af5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-ca994af5]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-de2bf516]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-08b35e6f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-08b35e6f]{display:flex;align-items:center}}.VPNavBarExtra[data-v-47bb42ad]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-47bb42ad]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-47bb42ad]{display:none}}.trans-title[data-v-47bb42ad]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-47bb42ad],.item.social-links[data-v-47bb42ad]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-47bb42ad]{min-width:176px}.appearance-action[data-v-47bb42ad]{margin-right:-2px}.social-links-list[data-v-47bb42ad]{margin:-4px -8px}.VPNavBarHamburger[data-v-670493dd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-670493dd]{display:none}}.container[data-v-670493dd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-670493dd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-670493dd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-670493dd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-670493dd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-670493dd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-670493dd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-670493dd],.VPNavBarHamburger.active:hover .middle[data-v-670493dd],.VPNavBarHamburger.active:hover .bottom[data-v-670493dd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-670493dd],.middle[data-v-670493dd],.bottom[data-v-670493dd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-670493dd]{top:0;left:0;transform:translate(0)}.middle[data-v-670493dd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-670493dd]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-82c325fa]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none;white-space:nowrap}.VPNavBar.has-sidebar[data-v-82c325fa]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-82c325fa]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-82c325fa]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-82c325fa]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-82c325fa]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-82c325fa],.container>.content[data-v-82c325fa]{pointer-events:none}.container[data-v-82c325fa] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-82c325fa]{max-width:100%}}.title[data-v-82c325fa]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-82c325fa]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-82c325fa]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-82c325fa]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-82c325fa]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-82c325fa]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-82c325fa]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-82c325fa],.VPNavBar.fill .content-body[data-v-82c325fa]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-82c325fa]:before,.menu+.appearance[data-v-82c325fa]:before,.menu+.social-links[data-v-82c325fa]:before,.translations+.appearance[data-v-82c325fa]:before,.appearance+.social-links[data-v-82c325fa]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-82c325fa]:before,.translations+.appearance[data-v-82c325fa]:before{margin-right:16px}.appearance+.social-links[data-v-82c325fa]:before{margin-left:16px}.social-links[data-v-82c325fa]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-82c325fa]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-82c325fa]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-82c325fa]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-0162d08e]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-0162d08e]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-7fd086c3]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-7fd086c3]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-eb049aaa]{display:block}.title[data-v-eb049aaa]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-48a8b068]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-48a8b068]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-48a8b068]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-48a8b068]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-48a8b068]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-48a8b068]{transform:rotate(45deg)}.button[data-v-48a8b068]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-48a8b068]:hover{color:var(--vp-c-brand)}.button-icon[data-v-48a8b068]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-48a8b068]:first-child{padding-top:0}.group+.group[data-v-48a8b068],.group+.item[data-v-48a8b068]{padding-top:4px}.VPNavScreenAppearance[data-v-8d2d8cf1]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-8d2d8cf1]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-b72581fd]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-b72581fd]{height:auto}.title[data-v-b72581fd]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-b72581fd]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-b72581fd]{margin-right:8px}.icon.chevron[data-v-b72581fd]{margin-left:4px}.list[data-v-b72581fd]{padding:4px 0 0 24px}.link[data-v-b72581fd]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-ea8d6f65]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-ea8d6f65],.VPNavScreen.fade-leave-active[data-v-ea8d6f65]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-ea8d6f65],.VPNavScreen.fade-leave-active .container[data-v-ea8d6f65]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-ea8d6f65],.VPNavScreen.fade-leave-to[data-v-ea8d6f65]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-ea8d6f65],.VPNavScreen.fade-leave-to .container[data-v-ea8d6f65]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-ea8d6f65]{display:none}}.container[data-v-ea8d6f65]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-ea8d6f65],.menu+.appearance[data-v-ea8d6f65],.translations+.appearance[data-v-ea8d6f65]{margin-top:24px}.menu+.social-links[data-v-ea8d6f65]{margin-top:16px}.appearance+.social-links[data-v-ea8d6f65]{margin-top:16px}.VPNav[data-v-b1949460]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-b1949460]{position:fixed}}.root[data-v-efc119ee]{position:relative;z-index:1}.nested[data-v-efc119ee]{padding-left:13px}.outline-link[data-v-efc119ee]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-efc119ee]:hover,.outline-link.active[data-v-efc119ee]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-efc119ee]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-07aca99e]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-07aca99e]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-07aca99e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-07aca99e]{color:var(--vp-c-text-1)}.icon[data-v-07aca99e]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-07aca99e] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-07aca99e]{transform:rotate(90deg)}.items[data-v-07aca99e]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-07aca99e]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-07aca99e]{transition:all .2s ease-out}.flyout-leave-active[data-v-07aca99e]{transition:all .15s ease-in}.flyout-enter-from[data-v-07aca99e],.flyout-leave-to[data-v-07aca99e]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-018d8a44]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-018d8a44]{display:none}}.menu[data-v-018d8a44]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-018d8a44]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-018d8a44]{padding:0 32px}}.menu-icon[data-v-018d8a44]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-018d8a44]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-018d8a44]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-77d7a963]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-77d7a963]{padding-bottom:10px}.item[data-v-77d7a963]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-77d7a963]{cursor:pointer}.indicator[data-v-77d7a963]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-77d7a963]{background-color:var(--vp-c-brand)}.link[data-v-77d7a963]{display:flex;align-items:center;flex-grow:1}.text[data-v-77d7a963]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-77d7a963]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-77d7a963],.VPSidebarItem.level-2 .text[data-v-77d7a963],.VPSidebarItem.level-3 .text[data-v-77d7a963],.VPSidebarItem.level-4 .text[data-v-77d7a963],.VPSidebarItem.level-5 .text[data-v-77d7a963]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-77d7a963]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-77d7a963]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-77d7a963]{color:var(--vp-c-brand)}.caret[data-v-77d7a963]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-77d7a963]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-77d7a963]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-77d7a963]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-77d7a963]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-77d7a963],.VPSidebarItem.level-2 .items[data-v-77d7a963],.VPSidebarItem.level-3 .items[data-v-77d7a963],.VPSidebarItem.level-4 .items[data-v-77d7a963],.VPSidebarItem.level-5 .items[data-v-77d7a963]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-77d7a963]{display:none}.VPSidebar[data-v-a2c0de1b]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-a2c0de1b]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-a2c0de1b]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-a2c0de1b]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-a2c0de1b]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-a2c0de1b]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-a2c0de1b]{outline:0}.group+.group[data-v-a2c0de1b]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-a2c0de1b]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-a4b757f0]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-a4b757f0]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-a4b757f0]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-a4b757f0]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-a4b757f0]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-a4b757f0]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-a4b757f0]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-a4b757f0]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-a4b757f0]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-a4b757f0]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-a4b757f0]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-a4b757f0]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-a4b757f0]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-3b95c4f3]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-3b95c4f3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-3b95c4f3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-3b95c4f3]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-3b95c4f3]{flex-direction:row}}.main[data-v-3b95c4f3]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-3b95c4f3]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-3b95c4f3]{text-align:left}}@media (min-width: 960px){.main[data-v-3b95c4f3]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-3b95c4f3]{max-width:592px}}.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-3b95c4f3],.VPHero.has-image .text[data-v-3b95c4f3]{margin:0 auto}.name[data-v-3b95c4f3]{color:var(--vp-home-hero-name-color)}.clip[data-v-3b95c4f3]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-3b95c4f3],.VPHero.has-image .text[data-v-3b95c4f3]{margin:0}}.tagline[data-v-3b95c4f3]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-3b95c4f3]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-3b95c4f3]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-3b95c4f3]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-3b95c4f3]{margin:0}}.actions[data-v-3b95c4f3]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-3b95c4f3]{justify-content:center}@media (min-width: 640px){.actions[data-v-3b95c4f3]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-3b95c4f3]{justify-content:flex-start}}.action[data-v-3b95c4f3]{flex-shrink:0;padding:6px}.image[data-v-3b95c4f3]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-3b95c4f3]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-3b95c4f3]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-3b95c4f3]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-3b95c4f3]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-3b95c4f3]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-3b95c4f3]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-3b95c4f3]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-3b95c4f3]{width:320px;height:320px}}[data-v-3b95c4f3] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-3b95c4f3] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-3b95c4f3] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-fdb307a3]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-fdb307a3]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-fdb307a3]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-fdb307a3] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-fdb307a3]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-fdb307a3]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-fdb307a3]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-fdb307a3]{padding-top:8px}.link-text-value[data-v-fdb307a3]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-fdb307a3]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-5e2470ab]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-5e2470ab]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-5e2470ab]{padding:0 64px}}.container[data-v-5e2470ab]{margin:0 auto;max-width:1152px}.items[data-v-5e2470ab]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-5e2470ab]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-5e2470ab],.item.grid-4[data-v-5e2470ab],.item.grid-6[data-v-5e2470ab]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-5e2470ab],.item.grid-4[data-v-5e2470ab]{width:50%}.item.grid-3[data-v-5e2470ab],.item.grid-6[data-v-5e2470ab]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-5e2470ab]{width:25%}}.VPHome[data-v-8ebac4ee]{padding-bottom:96px}.VPHome[data-v-8ebac4ee] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-8ebac4ee]{padding-bottom:128px}}.VPDocAsideOutline[data-v-c3ff47cc]{display:none}.VPDocAsideOutline.has-outline[data-v-c3ff47cc]{display:block}.content[data-v-c3ff47cc]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c3ff47cc]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c3ff47cc]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-79cae1a0]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-79cae1a0]{flex-grow:1}.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-79cae1a0] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-f00606ba]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-f00606ba]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-31cb5067]{margin-top:64px}.edit-info[data-v-31cb5067]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-31cb5067]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-31cb5067]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-31cb5067]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-31cb5067]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-31cb5067]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-31cb5067]{display:flex}}.pager.has-prev[data-v-31cb5067]{padding-top:8px}@media (min-width: 640px){.pager[data-v-31cb5067]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-31cb5067]{padding-top:0;padding-left:16px}}.pager-link[data-v-31cb5067]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-31cb5067]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-31cb5067]{margin-left:auto;text-align:right}.desc[data-v-31cb5067]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-31cb5067]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-f751778e]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-f751778e]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-f751778e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-f751778e]{color:var(--vp-c-text-1)}.icon[data-v-f751778e]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-f751778e] .outline-link{font-size:13px}.open>.icon[data-v-f751778e]{transform:rotate(90deg)}.items[data-v-f751778e]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-5aafa2ac]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-5aafa2ac]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-5aafa2ac]{display:block}}@media (min-width: 768px){.VPDoc[data-v-5aafa2ac]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-5aafa2ac]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-5aafa2ac]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-5aafa2ac]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-5aafa2ac]{display:flex;justify-content:center}.VPDoc .aside[data-v-5aafa2ac]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-5aafa2ac]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-5aafa2ac]{max-width:1104px}}.container[data-v-5aafa2ac]{margin:0 auto;width:100%}.aside[data-v-5aafa2ac]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-5aafa2ac]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-5aafa2ac]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-5aafa2ac]::-webkit-scrollbar{display:none}.aside-curtain[data-v-5aafa2ac]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-5aafa2ac]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-5aafa2ac]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-5aafa2ac]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-5aafa2ac]{order:1;margin:0;min-width:640px}}.content-container[data-v-5aafa2ac]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-5aafa2ac]{max-width:688px}.NotFound[data-v-42c0c3ae]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-42c0c3ae]{padding:96px 32px 168px}}.code[data-v-42c0c3ae]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-42c0c3ae]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-42c0c3ae]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-42c0c3ae]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-42c0c3ae]{padding-top:20px}.link[data-v-42c0c3ae]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-42c0c3ae]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-7f38fbbe]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-7f38fbbe]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-7f38fbbe]{margin:0}@media (min-width: 960px){.VPContent[data-v-7f38fbbe]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-7f38fbbe]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-7f38fbbe]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-2425ede7]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-2425ede7]{display:none}@media (min-width: 768px){.VPFooter[data-v-2425ede7]{padding:32px}}.container[data-v-2425ede7]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-2425ede7],.copyright[data-v-2425ede7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-2425ede7]{order:2}.copyright[data-v-2425ede7]{order:1}.Layout[data-v-bd8710d4]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-a4b81f3b]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-a4b81f3b]{margin:0 auto;max-width:1152px}.love[data-v-a4b81f3b]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-a4b81f3b]{width:28px;height:28px;fill:currentColor}.message[data-v-a4b81f3b]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-a4b81f3b]{padding-top:32px}.action[data-v-a4b81f3b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-05fecbf1]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-05fecbf1]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-05fecbf1-s],.VPTeamMembers+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-05fecbf1-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-05fecbf1-s],.VPTeamMembers+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:96px}}.VPTeamMembers[data-v-05fecbf1-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-05fecbf1-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-05fecbf1-s]{padding:0 64px}}.VPTeamPageTitle[data-v-6ce551d6]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-6ce551d6]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-6ce551d6]{padding:80px 64px 48px}}.title[data-v-6ce551d6]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-6ce551d6]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-6ce551d6]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-6ce551d6]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-1ac32f26]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 64px}}.title[data-v-1ac32f26]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-1ac32f26]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-1ac32f26]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-1ac32f26]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-1ac32f26]{padding-top:40px}.VPTeamMembersItem[data-v-8691674a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-8691674a]{padding:32px}.VPTeamMembersItem.small .data[data-v-8691674a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-8691674a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-8691674a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-8691674a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-8691674a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-8691674a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-8691674a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-8691674a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-8691674a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-8691674a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-8691674a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-8691674a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-8691674a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-8691674a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-8691674a]{text-align:center}.avatar[data-v-8691674a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-8691674a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-8691674a]{margin:0;font-weight:600}.affiliation[data-v-8691674a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-8691674a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-8691674a]:hover{color:var(--vp-c-brand)}.desc[data-v-8691674a]{margin:0 auto}.links[data-v-8691674a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-8691674a]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-8691674a]:hover,.sp .sp-link.link[data-v-8691674a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-8691674a]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-ed08c3d1]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-ed08c3d1]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-ed08c3d1]{max-width:876px}.VPTeamMembers.medium .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-ed08c3d1]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-ed08c3d1]{max-width:760px}.container[data-v-ed08c3d1]{display:grid;gap:24px;margin:0 auto;max-width:1152px}
+@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/document/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/document/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-text-dark-3);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-text-dark-3);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-e233384c]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-e233384c],h2 .VPBadge[data-v-e233384c],h3 .VPBadge[data-v-e233384c],h4 .VPBadge[data-v-e233384c],h5 .VPBadge[data-v-e233384c],h6 .VPBadge[data-v-e233384c]{vertical-align:top}h2 .VPBadge[data-v-e233384c]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-e233384c]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-e233384c]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-e233384c]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-e233384c]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-994b33bc]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-994b33bc]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-994b33bc]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-994b33bc]{top:14px;left:16px}}.VPBackdrop[data-v-b2600058]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b2600058],.VPBackdrop.fade-leave-to[data-v-b2600058]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b2600058]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b2600058]{display:none}}html:not(.dark) .VPImage.dark[data-v-74766fef]{display:none}.dark .VPImage.light[data-v-74766fef]{display:none}.title[data-v-bd15f18e]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-bd15f18e]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-bd15f18e]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-bd15f18e]{border-bottom-color:var(--vp-c-divider)}}[data-v-bd15f18e] .logo{margin-right:8px;height:24px}.VPPluginSearch-flex-logo{width:80px;margin-left:calc(100% - 90px);padding-bottom:10px}.VPPluginSearch-search-list{padding:1rem;max-height:calc(100vh - 230px);overflow-x:auto}.VPPluginSearch-search-item-icon{font-family:none;align-self:center;padding:0 1rem 0 0;font-size:x-large}.VPPluginSearch-search-list>div{color:var(--vp-c-brand-dark);font-weight:700}.VPPluginSearch-search-item{padding:.25rem 1rem;margin:8px 0 0;border:solid 1px;border-radius:6px;display:flex;border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.VPPluginSearch-search-item p{margin:0;font-size:smaller;color:var(--c-text-light-3)}.VPPluginSearch-search-item:hover{color:#fff;background:var(--vp-c-brand-dark)}.VPPluginSearch-search-item:hover>p{color:#fff}.VPNavBarSearch{display:flex;align-items:center;padding-left:16px}.DocSearch-MagnifierLabel{margin:16px;color:var(--c-brand-light);stroke-width:2px}.DocSearch-Input{appearance:none;background:#58565636;border:solid 1px var(--c-brand-light);color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;width:80%;margin:8px;padding:8px;border-radius:6px}.dark .DocSearch-Input{color:var(--vp-c-text-1)}.VPPluginSearch-modal-back{left:0;right:0;top:0;bottom:0;background:#545454b3;position:fixed;z-index:65}.dark .VPPluginSearch-modal{background-color:#242424}.VPPluginSearch-modal{background-color:#f9f9f9;border-radius:6px;box-shadow:none;flex-direction:column;margin:80px auto auto;max-width:560px;position:relative}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}@media (max-width: 768px){.VPPluginSearch-modal{max-width:100%;border-radius:0}}.dark .DocSearch-Form{background-color:var(--vt-c-bg-mute)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand);padding:6px}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Button-Key{align-items:center;background:var(--c-brand-light);border-radius:3px;box-shadow:var(--c-brand);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:2px;position:relative;top:-1px;width:20px}body.dark .DocSearch-Button:hover{box-shadow:none}.DocSearch{--docsearch-primary-color: var(--vt-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vt-c-text-1);--docsearch-muted-color: #ebebeb99;--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vt-c-bg-soft);--docsearch-footer-background: var(--vt-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: #ebebeb99;--docsearch-hit-background: #2f2f2f;--docsearch-hit-color: #ebebeb99;--docsearch-hit-shadow: none}.dark .DocSearch-Footer{border-top:1px solid var(--vt-c-divider)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand)}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;width:48px;height:55px;background:transparent;border:none}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;width:100%}}.DocSearch-MagnifierLabel{color:var(--vp-c-brand-dark)}.DocSearch-Button .DocSearch-Search-Icon{transition:color .5s;fill:currentColor;width:18px;height:18px;position:relative}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}.DocSearch-Button-Placeholder{transition:color .5s;font-size:13px;font-weight:500;color:#6669;display:none;padding:0 10px 0 0}@media (min-width: 960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}.DocSearch-Button .DocSearch-Button-Key{margin-top:2px;border:1px solid var(--vt-c-divider);border-right:none;border-radius:4px 0 0 4px;display:none;padding-left:6px;height:22px;line-height:22px;transition:color .5s,border-color .5s;min-width:0}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vt-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Key{display:inline-block}}.DocSearch-Button-Key{font-size:12px;font-weight:500;height:20px;margin:0;width:auto;color:var(--vt-c-text-3);transition:color .5s;display:inline-block;padding:0 1px}.icon[data-v-87683ad2]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-6dd6d312]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-6dd6d312],.VPNavBarMenuLink[data-v-6dd6d312]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-b9520bf2]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-b9520bf2]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-b9520bf2]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-b9520bf2]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-2bec9359]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-2bec9359]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-2bec9359]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-2bec9359]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7bffa9cd]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7bffa9cd] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7bffa9cd] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7bffa9cd] .group:last-child{padding-bottom:0}.VPMenu[data-v-7bffa9cd] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7bffa9cd] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7bffa9cd] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7bffa9cd] .action{padding-left:24px}.VPFlyout[data-v-64c29883]{position:relative}.VPFlyout[data-v-64c29883]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-64c29883]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-64c29883]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-64c29883]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-64c29883]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-64c29883],.button[aria-expanded=true]+.menu[data-v-64c29883]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-64c29883]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-64c29883]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-64c29883]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-64c29883]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-64c29883]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-64c29883]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-c6c3e6d4]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-c6c3e6d4]{display:flex}}.VPNavBarTranslations[data-v-3bf1c934]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-3bf1c934]{display:flex;align-items:center}}.title[data-v-3bf1c934]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-0a2eba70]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-0a2eba70]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-0a2eba70]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-0a2eba70]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-0a2eba70] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-0a2eba70] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-f37e294f]{opacity:1}.moon[data-v-f37e294f],.dark .sun[data-v-f37e294f]{opacity:0}.dark .moon[data-v-f37e294f]{opacity:1}.dark .VPSwitchAppearance[data-v-f37e294f] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-88042fc7]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-88042fc7]{display:flex;align-items:center}}.VPSocialLink[data-v-ca994af5]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-ca994af5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-ca994af5]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-de2bf516]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-08b35e6f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-08b35e6f]{display:flex;align-items:center}}.VPNavBarExtra[data-v-47bb42ad]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-47bb42ad]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-47bb42ad]{display:none}}.trans-title[data-v-47bb42ad]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-47bb42ad],.item.social-links[data-v-47bb42ad]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-47bb42ad]{min-width:176px}.appearance-action[data-v-47bb42ad]{margin-right:-2px}.social-links-list[data-v-47bb42ad]{margin:-4px -8px}.VPNavBarHamburger[data-v-670493dd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-670493dd]{display:none}}.container[data-v-670493dd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-670493dd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-670493dd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-670493dd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-670493dd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-670493dd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-670493dd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-670493dd],.VPNavBarHamburger.active:hover .middle[data-v-670493dd],.VPNavBarHamburger.active:hover .bottom[data-v-670493dd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-670493dd],.middle[data-v-670493dd],.bottom[data-v-670493dd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-670493dd]{top:0;left:0;transform:translate(0)}.middle[data-v-670493dd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-670493dd]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-82c325fa]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none;white-space:nowrap}.VPNavBar.has-sidebar[data-v-82c325fa]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-82c325fa]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-82c325fa]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-82c325fa]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-82c325fa]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-82c325fa],.container>.content[data-v-82c325fa]{pointer-events:none}.container[data-v-82c325fa] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-82c325fa]{max-width:100%}}.title[data-v-82c325fa]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-82c325fa]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-82c325fa]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-82c325fa]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-82c325fa]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-82c325fa]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-82c325fa]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-82c325fa],.VPNavBar.fill .content-body[data-v-82c325fa]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-82c325fa]:before,.menu+.appearance[data-v-82c325fa]:before,.menu+.social-links[data-v-82c325fa]:before,.translations+.appearance[data-v-82c325fa]:before,.appearance+.social-links[data-v-82c325fa]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-82c325fa]:before,.translations+.appearance[data-v-82c325fa]:before{margin-right:16px}.appearance+.social-links[data-v-82c325fa]:before{margin-left:16px}.social-links[data-v-82c325fa]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-82c325fa]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-82c325fa]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-82c325fa]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-0162d08e]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-0162d08e]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-7fd086c3]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-7fd086c3]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-eb049aaa]{display:block}.title[data-v-eb049aaa]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-48a8b068]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-48a8b068]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-48a8b068]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-48a8b068]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-48a8b068]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-48a8b068]{transform:rotate(45deg)}.button[data-v-48a8b068]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-48a8b068]:hover{color:var(--vp-c-brand)}.button-icon[data-v-48a8b068]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-48a8b068]:first-child{padding-top:0}.group+.group[data-v-48a8b068],.group+.item[data-v-48a8b068]{padding-top:4px}.VPNavScreenAppearance[data-v-8d2d8cf1]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-8d2d8cf1]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-b72581fd]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-b72581fd]{height:auto}.title[data-v-b72581fd]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-b72581fd]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-b72581fd]{margin-right:8px}.icon.chevron[data-v-b72581fd]{margin-left:4px}.list[data-v-b72581fd]{padding:4px 0 0 24px}.link[data-v-b72581fd]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-ea8d6f65]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-ea8d6f65],.VPNavScreen.fade-leave-active[data-v-ea8d6f65]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-ea8d6f65],.VPNavScreen.fade-leave-active .container[data-v-ea8d6f65]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-ea8d6f65],.VPNavScreen.fade-leave-to[data-v-ea8d6f65]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-ea8d6f65],.VPNavScreen.fade-leave-to .container[data-v-ea8d6f65]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-ea8d6f65]{display:none}}.container[data-v-ea8d6f65]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-ea8d6f65],.menu+.appearance[data-v-ea8d6f65],.translations+.appearance[data-v-ea8d6f65]{margin-top:24px}.menu+.social-links[data-v-ea8d6f65]{margin-top:16px}.appearance+.social-links[data-v-ea8d6f65]{margin-top:16px}.VPNav[data-v-b1949460]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-b1949460]{position:fixed}}.root[data-v-efc119ee]{position:relative;z-index:1}.nested[data-v-efc119ee]{padding-left:13px}.outline-link[data-v-efc119ee]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-efc119ee]:hover,.outline-link.active[data-v-efc119ee]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-efc119ee]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-07aca99e]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-07aca99e]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-07aca99e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-07aca99e]{color:var(--vp-c-text-1)}.icon[data-v-07aca99e]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-07aca99e] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-07aca99e]{transform:rotate(90deg)}.items[data-v-07aca99e]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-07aca99e]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-07aca99e]{transition:all .2s ease-out}.flyout-leave-active[data-v-07aca99e]{transition:all .15s ease-in}.flyout-enter-from[data-v-07aca99e],.flyout-leave-to[data-v-07aca99e]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-62988739]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-62988739]{display:none}}.menu[data-v-62988739]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-62988739]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-62988739]{padding:0 32px}}.menu-icon[data-v-62988739]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-62988739]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-62988739]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-77d7a963]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-77d7a963]{padding-bottom:10px}.item[data-v-77d7a963]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-77d7a963]{cursor:pointer}.indicator[data-v-77d7a963]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-77d7a963],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-77d7a963]{background-color:var(--vp-c-brand)}.link[data-v-77d7a963]{display:flex;align-items:center;flex-grow:1}.text[data-v-77d7a963]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-77d7a963]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-77d7a963],.VPSidebarItem.level-2 .text[data-v-77d7a963],.VPSidebarItem.level-3 .text[data-v-77d7a963],.VPSidebarItem.level-4 .text[data-v-77d7a963],.VPSidebarItem.level-5 .text[data-v-77d7a963]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-77d7a963],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-77d7a963]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-77d7a963],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-77d7a963]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-77d7a963],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-77d7a963]{color:var(--vp-c-brand)}.caret[data-v-77d7a963]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-77d7a963]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-77d7a963]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-77d7a963]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-77d7a963]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-77d7a963],.VPSidebarItem.level-2 .items[data-v-77d7a963],.VPSidebarItem.level-3 .items[data-v-77d7a963],.VPSidebarItem.level-4 .items[data-v-77d7a963],.VPSidebarItem.level-5 .items[data-v-77d7a963]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-77d7a963]{display:none}.VPSidebar[data-v-a2c0de1b]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-a2c0de1b]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-a2c0de1b]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-a2c0de1b]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-a2c0de1b]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-a2c0de1b]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-a2c0de1b]{outline:0}.group+.group[data-v-a2c0de1b]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-a2c0de1b]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-a4b757f0]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-a4b757f0]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-a4b757f0]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-a4b757f0]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-a4b757f0]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-a4b757f0]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-a4b757f0]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-a4b757f0]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-a4b757f0]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-a4b757f0]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-a4b757f0]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-a4b757f0]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-a4b757f0]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-3b95c4f3]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-3b95c4f3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-3b95c4f3]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-3b95c4f3]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-3b95c4f3]{flex-direction:row}}.main[data-v-3b95c4f3]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-3b95c4f3]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-3b95c4f3]{text-align:left}}@media (min-width: 960px){.main[data-v-3b95c4f3]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-3b95c4f3]{max-width:592px}}.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-3b95c4f3],.VPHero.has-image .text[data-v-3b95c4f3]{margin:0 auto}.name[data-v-3b95c4f3]{color:var(--vp-home-hero-name-color)}.clip[data-v-3b95c4f3]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-3b95c4f3],.text[data-v-3b95c4f3]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-3b95c4f3],.VPHero.has-image .text[data-v-3b95c4f3]{margin:0}}.tagline[data-v-3b95c4f3]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-3b95c4f3]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-3b95c4f3]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-3b95c4f3]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-3b95c4f3]{margin:0}}.actions[data-v-3b95c4f3]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-3b95c4f3]{justify-content:center}@media (min-width: 640px){.actions[data-v-3b95c4f3]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-3b95c4f3]{justify-content:flex-start}}.action[data-v-3b95c4f3]{flex-shrink:0;padding:6px}.image[data-v-3b95c4f3]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-3b95c4f3]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-3b95c4f3]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-3b95c4f3]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-3b95c4f3]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-3b95c4f3]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-3b95c4f3]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-3b95c4f3]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-3b95c4f3]{width:320px;height:320px}}[data-v-3b95c4f3] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-3b95c4f3] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-3b95c4f3] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-fdb307a3]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-fdb307a3]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-fdb307a3]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-fdb307a3] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-fdb307a3]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-fdb307a3]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-fdb307a3]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-fdb307a3]{padding-top:8px}.link-text-value[data-v-fdb307a3]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-fdb307a3]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-5e2470ab]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-5e2470ab]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-5e2470ab]{padding:0 64px}}.container[data-v-5e2470ab]{margin:0 auto;max-width:1152px}.items[data-v-5e2470ab]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-5e2470ab]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-5e2470ab],.item.grid-4[data-v-5e2470ab],.item.grid-6[data-v-5e2470ab]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-5e2470ab],.item.grid-4[data-v-5e2470ab]{width:50%}.item.grid-3[data-v-5e2470ab],.item.grid-6[data-v-5e2470ab]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-5e2470ab]{width:25%}}.VPHome[data-v-8ebac4ee]{padding-bottom:96px}.VPHome[data-v-8ebac4ee] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-8ebac4ee]{padding-bottom:128px}}.VPDocAsideOutline[data-v-c3ff47cc]{display:none}.VPDocAsideOutline.has-outline[data-v-c3ff47cc]{display:block}.content[data-v-c3ff47cc]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c3ff47cc]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c3ff47cc]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-79cae1a0]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-79cae1a0]{flex-grow:1}.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-79cae1a0] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-f00606ba]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-f00606ba]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-31cb5067]{margin-top:64px}.edit-info[data-v-31cb5067]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-31cb5067]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-31cb5067]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-31cb5067]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-31cb5067]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-31cb5067]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-31cb5067]{display:flex}}.pager.has-prev[data-v-31cb5067]{padding-top:8px}@media (min-width: 640px){.pager[data-v-31cb5067]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-31cb5067]{padding-top:0;padding-left:16px}}.pager-link[data-v-31cb5067]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-31cb5067]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-31cb5067]{margin-left:auto;text-align:right}.desc[data-v-31cb5067]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-31cb5067]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-f751778e]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-f751778e]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-f751778e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-f751778e]{color:var(--vp-c-text-1)}.icon[data-v-f751778e]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-f751778e] .outline-link{font-size:13px}.open>.icon[data-v-f751778e]{transform:rotate(90deg)}.items[data-v-f751778e]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-5aafa2ac]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-5aafa2ac]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-5aafa2ac]{display:block}}@media (min-width: 768px){.VPDoc[data-v-5aafa2ac]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-5aafa2ac]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-5aafa2ac]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-5aafa2ac]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-5aafa2ac]{display:flex;justify-content:center}.VPDoc .aside[data-v-5aafa2ac]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-5aafa2ac]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-5aafa2ac]{max-width:1104px}}.container[data-v-5aafa2ac]{margin:0 auto;width:100%}.aside[data-v-5aafa2ac]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-5aafa2ac]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-5aafa2ac]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-5aafa2ac]::-webkit-scrollbar{display:none}.aside-curtain[data-v-5aafa2ac]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-5aafa2ac]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-5aafa2ac]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-5aafa2ac]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-5aafa2ac]{order:1;margin:0;min-width:640px}}.content-container[data-v-5aafa2ac]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-5aafa2ac]{max-width:688px}.NotFound[data-v-42c0c3ae]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-42c0c3ae]{padding:96px 32px 168px}}.code[data-v-42c0c3ae]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-42c0c3ae]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-42c0c3ae]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-42c0c3ae]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-42c0c3ae]{padding-top:20px}.link[data-v-42c0c3ae]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-42c0c3ae]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-7f38fbbe]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-7f38fbbe]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-7f38fbbe]{margin:0}@media (min-width: 960px){.VPContent[data-v-7f38fbbe]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-7f38fbbe]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-7f38fbbe]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-2425ede7]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-2425ede7]{display:none}@media (min-width: 768px){.VPFooter[data-v-2425ede7]{padding:32px}}.container[data-v-2425ede7]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-2425ede7],.copyright[data-v-2425ede7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-2425ede7]{order:2}.copyright[data-v-2425ede7]{order:1}.Layout[data-v-bd8710d4]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-a4b81f3b]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-a4b81f3b]{margin:0 auto;max-width:1152px}.love[data-v-a4b81f3b]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-a4b81f3b]{width:28px;height:28px;fill:currentColor}.message[data-v-a4b81f3b]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-a4b81f3b]{padding-top:32px}.action[data-v-a4b81f3b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-05fecbf1]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-05fecbf1]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-05fecbf1-s],.VPTeamMembers+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-05fecbf1-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-05fecbf1-s],.VPTeamMembers+.VPTeamPageSection[data-v-05fecbf1-s]{margin-top:96px}}.VPTeamMembers[data-v-05fecbf1-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-05fecbf1-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-05fecbf1-s]{padding:0 64px}}.VPTeamPageTitle[data-v-6ce551d6]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-6ce551d6]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-6ce551d6]{padding:80px 64px 48px}}.title[data-v-6ce551d6]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-6ce551d6]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-6ce551d6]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-6ce551d6]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-1ac32f26]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 64px}}.title[data-v-1ac32f26]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-1ac32f26]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-1ac32f26]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-1ac32f26]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-1ac32f26]{padding-top:40px}.VPTeamMembersItem[data-v-cb9b61e6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-cb9b61e6]{padding:32px}.VPTeamMembersItem.small .data[data-v-cb9b61e6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-cb9b61e6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-cb9b61e6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-cb9b61e6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-cb9b61e6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-cb9b61e6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-cb9b61e6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-cb9b61e6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-cb9b61e6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-cb9b61e6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-cb9b61e6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-cb9b61e6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-cb9b61e6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-cb9b61e6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-cb9b61e6]{text-align:center}.avatar[data-v-cb9b61e6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-cb9b61e6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-cb9b61e6]{margin:0;font-weight:600}.affiliation[data-v-cb9b61e6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-cb9b61e6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-cb9b61e6]:hover{color:var(--vp-c-brand)}.desc[data-v-cb9b61e6]{margin:0 auto}.desc[data-v-cb9b61e6] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-cb9b61e6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-cb9b61e6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-cb9b61e6]:hover,.sp .sp-link.link[data-v-cb9b61e6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-cb9b61e6]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-ed08c3d1]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-ed08c3d1]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-ed08c3d1]{max-width:876px}.VPTeamMembers.medium .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-ed08c3d1]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-ed08c3d1]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-ed08c3d1]{max-width:760px}.container[data-v-ed08c3d1]{display:grid;gap:24px;margin:0 auto;max-width:1152px}
diff --git a/docs/document/component/contextmenu.html b/docs/document/component/contextmenu.html
index 89ba7c829..e79ccebfc 100644
--- a/docs/document/component/contextmenu.html
+++ b/docs/document/component/contextmenu.html
@@ -5,19 +5,19 @@
     
     右键菜单 | Artplayer.js
     
-    
-    
+    
+    
     
-  
-  
-  
+  
+  
+  
   
   
   
   
   
   
-    
Skip to content
On this page

右键菜单 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

右键菜单 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
@@ -100,7 +100,7 @@
         })
     }, 3000);
 });
- diff --git a/docs/document/component/controls.html b/docs/document/component/controls.html index c8c65ba1c..c8af308c2 100644 --- a/docs/document/component/controls.html +++ b/docs/document/component/controls.html @@ -5,19 +5,19 @@ 控制器 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

控制器 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleft 和 right 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

控制器 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleft 和 right 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -147,7 +147,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/component/layers.html b/docs/document/component/layers.html index 9ea4ebf82..b33d5d773 100644 --- a/docs/document/component/layers.html +++ b/docs/document/component/layers.html @@ -5,19 +5,19 @@ 业务层 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

业务层 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

▶ Run Code
js
var img = '/assets/sample/layer.png';
+    
Skip to content
On this page

业务层 ​

配置 ​

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建 ​

▶ Run Code
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -119,7 +119,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/component/setting.html b/docs/document/component/setting.html index 4cfd90d91..0b2e52fac 100644 --- a/docs/document/component/setting.html +++ b/docs/document/component/setting.html @@ -5,19 +5,19 @@ 设置面板 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

设置面板 ​

内置 ​

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

设置面板 ​

内置 ​

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
@@ -224,7 +224,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/en/advanced/built-in.html b/docs/document/en/advanced/built-in.html index 429761997..d1c5c8dd3 100644 --- a/docs/document/en/advanced/built-in.html +++ b/docs/document/en/advanced/built-in.html @@ -5,19 +5,19 @@ 高级属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

高级属性 ​

这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用

option ​

播放器的选项

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -210,7 +210,7 @@
 art.on('ready', () => {
     art.plugins.add(myPlugin);
 });
- diff --git a/docs/document/en/advanced/class.html b/docs/document/en/advanced/class.html index 3223f668d..fe67847bf 100644 --- a/docs/document/en/advanced/class.html +++ b/docs/document/en/advanced/class.html @@ -5,19 +5,19 @@ 静态属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

提示

有些属性是全大写的,说明这些属性是不稳定的,可能会在将来被更改

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
+    
Skip to content
On this page

静态属性 ​

这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用

提示

有些属性是全大写的,说明这些属性是不稳定的,可能会在将来被更改

instances ​

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -25,7 +25,7 @@
 });
 
 console.info([...Artplayer.instances]);

version ​

返回播放器的版本信息

▶ Run Code
js
console.info(Artplayer.version);

env ​

返回播放器的环境变量

▶ Run Code
js
console.info(Artplayer.env);

build ​

返回播放器的打包时间

▶ Run Code
js
console.info(Artplayer.build);

config ​

返回视频的默认配置

▶ Run Code
js
console.info(Artplayer.config);

utils ​

返回播放器的工具函数集合

▶ Run Code
js
console.info(Artplayer.utils);

全部工具函数请参考以下地址:

artplayer/types/utils.d.ts

scheme ​

返回播放器选项的校验方案

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter ​

返回事件分发器的构造函数

▶ Run Code
js
console.info(Artplayer.Emitter);

validator ​

返回选项的校验函数

▶ Run Code
js
console.info(Artplayer.validator);

kindOf ​

返回类型检测的函数工具

▶ Run Code
js
console.info(Artplayer.kindOf);

html ​

返回播放器所需的 html 字符串

▶ Run Code
js
console.info(Artplayer.html);

option ​

返回播放器的默认选项

▶ Run Code
js
console.info(Artplayer.option);
- diff --git a/docs/document/en/advanced/event.html b/docs/document/en/advanced/event.html index e7d3bc649..fb9658627 100644 --- a/docs/document/en/advanced/event.html +++ b/docs/document/en/advanced/event.html @@ -5,19 +5,19 @@ 实例事件 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

实例事件 ​

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

实例事件 ​

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -361,7 +361,7 @@
 art.on('setting', (state) => {
     console.log(state);
 });

video:canplay ​

浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容

video:canplaythrough ​

浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束

video:complete ​

OfflineAudioContext 渲染完成

video:durationchange ​

duration 属性的值改变时触发

video:emptied ​

媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载它

video:ended ​

视频停止播放,因为 media 已经到达结束点

video:error ​

获取媒体数据时出错,或者资源类型不是受支持的媒体格式

video:loadeddata ​

media 中的首帧已经完成加载

video:loadedmetadata ​

已加载元数据

video:pause ​

播放已暂停

video:play ​

播放已开始

video:playing ​

由于缺乏数据而暂停或延迟后,播放准备开始

video:progress ​

在浏览器加载资源时周期性触发

video:ratechange ​

播放速率发生变化

video:seeked ​

跳帧(seek)操作完成

video:seeking ​

跳帧(seek)操作开始

video:stalled ​

用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现

video:suspend ​

媒体数据加载已暂停

video:timeupdate ​

currentTime 属性指定的时间发生变化

video:volumechange ​

音量发生变化

video:waiting ​

由于暂时缺少数据,播放已停止

- diff --git a/docs/document/en/advanced/global.html b/docs/document/en/advanced/global.html index d52b454af..5f91025cc 100644 --- a/docs/document/en/advanced/global.html +++ b/docs/document/en/advanced/global.html @@ -3,22 +3,227 @@ - Global Property | Artplayer.js + 全局属性 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Global Property ​

DEBUG ​

CONTEXTMENU ​

NOTICE_TIME ​

SETTING_WIDTH ​

SETTING_ITEM_WIDTH ​

SETTING_ITEM_HEIGHT ​

RESIZE_TIME ​

SCROLL_TIME ​

SCROLL_GAP ​

AUTO_PLAYBACK_MAX ​

AUTO_PLAYBACK_MIN ​

AUTO_PLAYBACK_TIMEOUT ​

RECONNECT_TIME_MAX ​

RECONNECT_SLEEP_TIME ​

CONTROL_HIDE_TIME ​

DBCLICK_TIME ​

DBCLICK_FULLSCREEN ​

MOBILE_DBCLICK_PLAY ​

MOBILE_CLICK_PLAY ​

MOBILE_AUTO_PLAYBACKRATE ​

MOBILE_AUTO_PLAYBACKRATE_TIME ​

MOBILE_AUTO_ORIENTATION_TIME ​

INFO_LOOP_TIME ​

FAST_FORWARD_VALUE ​

FAST_FORWARD_TIME ​

TOUCH_MOVE_RATIO ​

VOLUME_STEP ​

SEEK_STEP ​

PLAYBACK_RATE ​

ASPECT_RATIO ​

FLIP ​

FULLSCREEN_WEB_IN_BODY ​

- diff --git a/docs/document/en/advanced/plugin.html b/docs/document/en/advanced/plugin.html index d5338c18d..7e9cddfa2 100644 --- a/docs/document/en/advanced/plugin.html +++ b/docs/document/en/advanced/plugin.html @@ -5,19 +5,19 @@ 编写插件 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

编写插件 ​

但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
+    
Skip to content
On this page

编写插件 ​

但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
@@ -116,7 +116,7 @@
         })
     ],
 });
- diff --git a/docs/document/en/advanced/property.html b/docs/document/en/advanced/property.html index 5ad12a075..9c67ed71a 100644 --- a/docs/document/en/advanced/property.html +++ b/docs/document/en/advanced/property.html @@ -5,19 +5,19 @@ Instance Property | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Instance Property ​

The Instance Property here refers to the Primary Property attached to the Instance, which is more commonly used

play ​

  • Type: Function

Play video

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

Instance Property ​

The Instance Property here refers to the Primary Property attached to the Instance, which is more commonly used

play ​

  • Type: Function

Play video

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
@@ -371,7 +371,7 @@
 });
 
 console.info(art.video);
- diff --git a/docs/document/en/component/contextmenu.html b/docs/document/en/component/contextmenu.html index c9a799352..a1a51af00 100644 --- a/docs/document/en/component/contextmenu.html +++ b/docs/document/en/component/contextmenu.html @@ -5,19 +5,19 @@ Contextmenu | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Contextmenu ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

Contextmenu ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
@@ -100,7 +100,7 @@
         })
     }, 3000);
 });
- diff --git a/docs/document/en/component/controls.html b/docs/document/en/component/controls.html index 00cd2db6d..44900cbb0 100644 --- a/docs/document/en/component/controls.html +++ b/docs/document/en/component/controls.html @@ -5,19 +5,19 @@ Controls | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Controls ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the left and right positions where the controller appears
selectorArrayArray of objects for the select list
onSelectFunctionA function that is triggered when an element of the select list is clicked

Init ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

Controls ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the left and right positions where the controller appears
selectorArrayArray of objects for the select list
onSelectFunctionA function that is triggered when an element of the select list is clicked

Init ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -147,7 +147,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/en/component/layers.html b/docs/document/en/component/layers.html index 1714bd269..321dda770 100644 --- a/docs/document/en/component/layers.html +++ b/docs/document/en/component/layers.html @@ -5,19 +5,19 @@ Layers | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Layers ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

▶ Run Code
js
var img = '/assets/sample/layer.png';
+    
Skip to content
On this page

Layers ​

Config ​

PropertyTypeDescribe
disableBooleanWhether to disable the component
nameStringComponent unique name, used to mark class name
indexNumberComponent index, used for display priority
htmlString, ElementDOM element of the component
styleObjectcomponent style object
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Init ​

▶ Run Code
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -119,7 +119,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/en/component/setting.html b/docs/document/en/component/setting.html index aae91b445..9c567aa3a 100644 --- a/docs/document/en/component/setting.html +++ b/docs/document/en/component/setting.html @@ -5,19 +5,19 @@ Setting | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Setting ​

Build-in ​

You must open the settings panel first, and then come with four built-in items:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

Setting ​

Build-in ​

You must open the settings panel first, and then come with four built-in items:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
@@ -224,7 +224,7 @@
         });
     }, 3000);
 });
- diff --git a/docs/document/en/index.html b/docs/document/en/index.html index 4c02aa97c..17d93cef3 100644 --- a/docs/document/en/index.html +++ b/docs/document/en/index.html @@ -5,19 +5,19 @@ Install | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Important Note

The English document has not yet been completed, everything is subject to the Chinese document.

Install ​

Install ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Use ​

js
import Artplayer from 'artplayer';
+    
Skip to content
On this page

Important Note

The English document has not yet been completed, everything is subject to the Chinese document.

Install ​

Install ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Use ​

js
import Artplayer from 'artplayer';
 
 const art = new Artplayer({
     container: '.artplayer-app',
@@ -36,7 +36,7 @@
     <body>
         <div class="artplayer-app"></div>
     </body>
-</html>

Tip

The size of the player depends on the size of the container, so your container must have a size

The following links can see more use examples

/packages/artplayer-template

Vue.js ​

vue
<template>
+</html>

Tip

The size of the player depends on the size of the container, so your container must have a size

The following links can see more use examples

/packages/artplayer-template

Vue.js ​

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -100,7 +100,7 @@
     },
   },
 };
-</script>

Tip

Modifying option directly in Vue.js will not change the player

React.js ​

jsx
import { useEffect, useRef } from 'react';
+</script>

Tip

Modifying option directly in Vue.js will not change the player

React.js ​

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -162,8 +162,8 @@
       art: null,
     }
   }
-}

Old browsers ​

Production builds of artplayer.js are only compatible with the last major version of Chrome: last 1 Chrome version

For older browsers, use the artplayer.legacy.js file, compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you want to be compatible with older browsers, please modify the following configuration and build it yourself:

Build configuration: /scripts/build.js

Reference documents: browserslist

- diff --git a/docs/document/en/library/dash.html b/docs/document/en/library/dash.html index d92e6d99a..b7a76e399 100644 --- a/docs/document/en/library/dash.html +++ b/docs/document/en/library/dash.html @@ -5,19 +5,19 @@ dash.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

dash.js ​

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
+    
Skip to content
On this page

dash.js ​

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
     if (dashjs.supportsMediaSource()) {
         if (art.dash) art.dash.destroy();
         const dash = dashjs.MediaPlayer().create();
@@ -41,7 +41,7 @@
 art.on('ready', () => {
     console.info(art.dash);
 });
- diff --git a/docs/document/en/library/flv.html b/docs/document/en/library/flv.html index a8c6dddfa..9e7249068 100644 --- a/docs/document/en/library/flv.html +++ b/docs/document/en/library/flv.html @@ -5,19 +5,19 @@ flv.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

flv.js ​

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
+    
Skip to content
On this page

flv.js ​

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
     if (flvjs.isSupported()) {
         if (art.flv) art.flv.destroy();
         const flv = flvjs.createPlayer({ type: 'flv', url });
@@ -42,7 +42,7 @@
 art.on('ready', () => {
     console.info(art.flv);
 });
- diff --git a/docs/document/en/library/hls.html b/docs/document/en/library/hls.html index a38083bce..aca8ed954 100644 --- a/docs/document/en/library/hls.html +++ b/docs/document/en/library/hls.html @@ -5,19 +5,19 @@ hls.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

hls.js ​

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
+    
Skip to content
On this page

hls.js ​

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
     if (Hls.isSupported()) {
         if (art.hls) art.hls.destroy();
         const hls = new Hls();
@@ -44,7 +44,7 @@
 art.on('ready', () => {
     console.info(art.hls);
 });
- diff --git a/docs/document/en/plugin/ads.html b/docs/document/en/plugin/ads.html index 8b2e46cb0..9f44e57b4 100644 --- a/docs/document/en/plugin/ads.html +++ b/docs/document/en/plugin/ads.html @@ -5,19 +5,19 @@ 视频广告 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoSize: true,
@@ -65,7 +65,7 @@
 art.on('artplayerPluginAds:skip', (ads) => {
     console.info(ads);
 });
- diff --git a/docs/document/en/plugin/control-ui.html b/docs/document/en/plugin/control-ui.html index 4b87ccb0d..70f66b9f5 100644 --- a/docs/document/en/plugin/control-ui.html +++ b/docs/document/en/plugin/control-ui.html @@ -5,19 +5,19 @@ 控制器皮肤 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreen: true,
@@ -44,7 +44,7 @@
         artplayerPluginControl(),
     ],
 });
- diff --git a/docs/document/en/plugin/dash-quality.html b/docs/document/en/plugin/dash-quality.html index 4dd2bb190..21772d786 100644 --- a/docs/document/en/plugin/dash-quality.html +++ b/docs/document/en/plugin/dash-quality.html @@ -5,20 +5,20 @@ Dash 画质 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
- diff --git a/docs/document/en/plugin/hls-quality.html b/docs/document/en/plugin/hls-quality.html index 3c8c558f4..f5b4c0edf 100644 --- a/docs/document/en/plugin/hls-quality.html +++ b/docs/document/en/plugin/hls-quality.html @@ -5,20 +5,20 @@ HLS 画质 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
- diff --git a/docs/document/en/plugin/iframe.html b/docs/document/en/plugin/iframe.html index ac1f99702..16e6fa02b 100644 --- a/docs/document/en/plugin/iframe.html +++ b/docs/document/en/plugin/iframe.html @@ -5,19 +5,19 @@ Iframe 控制 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
+    
Skip to content
On this page

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -102,7 +102,7 @@
         type: 'currentTime',
         data: art.currentTime,
     });
-});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
+});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -183,7 +183,7 @@
         </script>
     </body>
 </html>
- diff --git a/docs/document/en/start/option.html b/docs/document/en/start/option.html index 26aa76774..13c75b384 100644 --- a/docs/document/en/start/option.html +++ b/docs/document/en/start/option.html @@ -5,19 +5,19 @@ Option | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Option ​

container ​

  • Type: String, Element
  • Default: #artplayer

The DOM container attached to the player

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

Option ​

container ​

  • Type: String, Element
  • Default: #artplayer

The DOM container attached to the player

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -408,7 +408,7 @@
         //
     },
 });
- diff --git a/docs/document/hashmap.json b/docs/document/hashmap.json index 86a214276..78839ec95 100644 --- a/docs/document/hashmap.json +++ b/docs/document/hashmap.json @@ -1 +1 @@ -{"advanced_global.md":"ad69e8c9","advanced_class.md":"c553c95a","advanced_plugin.md":"f0cc2510","advanced_built-in.md":"664dfefa","component_contextmenu.md":"88b1cf3b","component_layers.md":"f5af8f05","en_advanced_class.md":"7323cf55","component_controls.md":"b384859c","advanced_event.md":"b1e050e0","en_advanced_built-in.md":"6b773482","en_advanced_plugin.md":"0f5dbbe2","en_advanced_global.md":"d39e1271","en_advanced_event.md":"1a92fa35","component_setting.md":"430d07f9","advanced_property.md":"3663dcfe","en_component_controls.md":"208ca243","en_component_contextmenu.md":"55b8aadc","en_component_layers.md":"6b419bf2","en_advanced_property.md":"d251207d","en_component_setting.md":"f6f61d4b","en_library_flv.md":"a9e13f72","en_plugin_hls-quality.md":"61bb2b70","en_plugin_dash-quality.md":"390f14b8","en_library_dash.md":"3e688dbe","en_library_hls.md":"249c3b05","en_plugin_ads.md":"4ccbc6eb","en_plugin_control-ui.md":"01b70320","en_index.md":"9b391b5e","en_plugin_iframe.md":"412b4f49","library_hls.md":"9e1cd522","library_flv.md":"296c1ec0","library_dash.md":"245289b4","plugin_hls-quality.md":"235b8554","plugin_ads.md":"62a34622","plugin_control-ui.md":"df4ff288","plugin_dash-quality.md":"7dd6e6be","index.md":"d93910a2","plugin_danmuku.md":"4fa689a6","plugin_iframe.md":"7d625f08","en_start_option.md":"435c4fc2","start_option.md":"7f0220cd"} +{"en_component_layers.md":"4dc5e66c","plugin_dash-quality.md":"3ad65272","component_layers.md":"c089d00b","plugin_ads.md":"d539e7a2","library_hls.md":"3142dc3f","en_plugin_control-ui.md":"87fec95f","advanced_class.md":"4af05539","plugin_danmuku.md":"aa337559","en_plugin_dash-quality.md":"df294fc2","en_library_hls.md":"3399b13e","component_controls.md":"fea1c7e9","en_plugin_iframe.md":"5ed3fc5d","index.md":"fb4cf0fd","component_contextmenu.md":"b0cac7bc","en_advanced_global.md":"da8caa7e","advanced_plugin.md":"aaf168c6","en_index.md":"12519db3","en_plugin_ads.md":"36f2ced8","library_flv.md":"2ddcd9cc","library_dash.md":"548ff0b2","en_library_dash.md":"1a94a772","en_library_flv.md":"3eb5ed90","en_component_setting.md":"8fe3c72b","en_plugin_hls-quality.md":"7f6785e9","plugin_hls-quality.md":"04ba1006","en_advanced_built-in.md":"852cc7ad","plugin_control-ui.md":"d74a021b","advanced_global.md":"9eb3fef3","en_advanced_plugin.md":"355ebff5","en_component_controls.md":"0ee516da","en_component_contextmenu.md":"dbd69c21","advanced_event.md":"95edbd6b","en_advanced_event.md":"eb727357","en_advanced_class.md":"66381877","en_advanced_property.md":"779fe490","advanced_built-in.md":"2e0780a4","advanced_property.md":"32e0ebc0","component_setting.md":"1bc1860b","en_start_option.md":"12acec78","plugin_iframe.md":"99e38964","start_option.md":"c9f42b0c"} diff --git a/docs/document/index.html b/docs/document/index.html index 7008f9224..83e8c2379 100644 --- a/docs/document/index.html +++ b/docs/document/index.html @@ -5,19 +5,19 @@ 安装使用 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

安装使用 ​

安装 ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用 ​

js
import Artplayer from 'artplayer';
+    
Skip to content
On this page

安装使用 ​

安装 ​

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用 ​

js
import Artplayer from 'artplayer';
 
 const art = new Artplayer({
     container: '.artplayer-app',
@@ -36,7 +36,7 @@
     <body>
         <div class="artplayer-app"></div>
     </body>
-</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js ​

vue
<template>
+</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js ​

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -100,7 +100,7 @@
     },
   },
 };
-</script>

Artplayer 非响应式:

在 Vue.js 里直接修改 option 是不会改变播放器的

React.js ​

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer 非响应式:

在 Vue.js 里直接修改 option 是不会改变播放器的

React.js ​

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -162,8 +162,8 @@
       art: null,
     }
   }
-}

古老的浏览器 ​

生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

- diff --git a/docs/document/library/dash.html b/docs/document/library/dash.html index ae983000a..5def4de82 100644 --- a/docs/document/library/dash.html +++ b/docs/document/library/dash.html @@ -5,19 +5,19 @@ dash.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

dash.js ​

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
+    
Skip to content
On this page

dash.js ​

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
     if (dashjs.supportsMediaSource()) {
         if (art.dash) art.dash.destroy();
         const dash = dashjs.MediaPlayer().create();
@@ -41,7 +41,7 @@
 art.on('ready', () => {
     console.info(art.dash);
 });
- diff --git a/docs/document/library/flv.html b/docs/document/library/flv.html index 27edfb897..00f081186 100644 --- a/docs/document/library/flv.html +++ b/docs/document/library/flv.html @@ -5,19 +5,19 @@ flv.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

flv.js ​

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
+    
Skip to content
On this page

flv.js ​

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
     if (flvjs.isSupported()) {
         if (art.flv) art.flv.destroy();
         const flv = flvjs.createPlayer({ type: 'flv', url });
@@ -42,7 +42,7 @@
 art.on('ready', () => {
     console.info(art.flv);
 });
- diff --git a/docs/document/library/hls.html b/docs/document/library/hls.html index 37f05702a..6512d419e 100644 --- a/docs/document/library/hls.html +++ b/docs/document/library/hls.html @@ -5,19 +5,19 @@ hls.js | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

hls.js ​

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
+    
Skip to content
On this page

hls.js ​

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
     if (Hls.isSupported()) {
         if (art.hls) art.hls.destroy();
         const hls = new Hls();
@@ -44,7 +44,7 @@
 art.on('ready', () => {
     console.info(art.hls);
 });
- diff --git a/docs/document/plugin/ads.html b/docs/document/plugin/ads.html index 511f3b0ec..2da637bdd 100644 --- a/docs/document/plugin/ads.html +++ b/docs/document/plugin/ads.html @@ -5,19 +5,19 @@ 视频广告 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

视频广告 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoSize: true,
@@ -65,7 +65,7 @@
 art.on('artplayerPluginAds:skip', (ads) => {
     console.info(ads);
 });
- diff --git a/docs/document/plugin/control-ui.html b/docs/document/plugin/control-ui.html index 48b0ad6f6..b63f9ac62 100644 --- a/docs/document/plugin/control-ui.html +++ b/docs/document/plugin/control-ui.html @@ -5,19 +5,19 @@ 控制器皮肤 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

控制器皮肤 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-control
bash
yarn add artplayer-plugin-control
bash
pnpm add artplayer-plugin-control
html
<script src="path/to/artplayer-plugin-control.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-control/dist/artplayer-plugin-control.js
bash
https://unpkg.com/artplayer-plugin-control/dist/artplayer-plugin-control.js

使用 ​

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreen: true,
@@ -44,7 +44,7 @@
         artplayerPluginControl(),
     ],
 });
- diff --git a/docs/document/plugin/danmuku.html b/docs/document/plugin/danmuku.html index b28eb8010..e10f134f3 100644 --- a/docs/document/plugin/danmuku.html +++ b/docs/document/plugin/danmuku.html @@ -5,19 +5,19 @@ 弹幕库 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

弹幕库 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

选项 ​

js
{
+    
Skip to content
On this page

弹幕库 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

选项 ​

js
{
     danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
     speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
     opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
@@ -300,7 +300,7 @@
 art.on('artplayerPluginDanmuku:destroy', () => {
     console.info('弹幕销毁');
 });
- diff --git a/docs/document/plugin/dash-quality.html b/docs/document/plugin/dash-quality.html index 7a93a0b79..fb457af58 100644 --- a/docs/document/plugin/dash-quality.html +++ b/docs/document/plugin/dash-quality.html @@ -5,20 +5,20 @@ Dash 画质 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Dash 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
- diff --git a/docs/document/plugin/hls-quality.html b/docs/document/plugin/hls-quality.html index 912b2db5a..10822b9d7 100644 --- a/docs/document/plugin/hls-quality.html +++ b/docs/document/plugin/hls-quality.html @@ -5,20 +5,20 @@ HLS 画质 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

HLS 画质 ​

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
- diff --git a/docs/document/plugin/iframe.html b/docs/document/plugin/iframe.html index 9886d6368..b8e461074 100644 --- a/docs/document/plugin/iframe.html +++ b/docs/document/plugin/iframe.html @@ -5,19 +5,19 @@ Iframe 控制 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
+    
Skip to content
On this page

Iframe 控制 ​

说明 ​

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示 ​

👉 查看完整演示

安装 ​

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN ​

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用 ​

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -102,7 +102,7 @@
         type: 'currentTime',
         data: art.currentTime,
     });
-});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
+});

例子 ​

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html
<!DOCTYPE html>
 <html>
     <head>
         <title>ArtPlayer</title>
@@ -183,7 +183,7 @@
         </script>
     </body>
 </html>
- diff --git a/docs/document/start/option.html b/docs/document/start/option.html index 01e1c764f..dc8cbcca6 100644 --- a/docs/document/start/option.html +++ b/docs/document/start/option.html @@ -5,19 +5,19 @@ 基础选项 | Artplayer.js - - + + - - - + + + -
Skip to content
On this page

基础选项 ​

container ​

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content
On this page

基础选项 ​

container ​

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -408,7 +408,7 @@
         //
     },
 });
- diff --git a/docs/uncompiled/artplayer/index.js b/docs/uncompiled/artplayer/index.js index 34da03adc..398887859 100644 --- a/docs/uncompiled/artplayer/index.js +++ b/docs/uncompiled/artplayer/index.js @@ -249,7 +249,7 @@ class Artplayer extends (0, _emitterDefault.default) { return "development"; } static get build() { - return "2023-05-02 17:01:04"; + return "2023-05-02 20:47:46"; } static get config() { return 0, _configDefault.default; @@ -379,9 +379,7 @@ Artplayer.DBCLICK_TIME = 300; Artplayer.DBCLICK_FULLSCREEN = true; Artplayer.MOBILE_DBCLICK_PLAY = true; Artplayer.MOBILE_CLICK_PLAY = false; -Artplayer.MOBILE_AUTO_PLAYBACKRATE = 3; -Artplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000; -Artplayer.MOBILE_AUTO_ORIENTATION_TIME = 200; +Artplayer.AUTO_ORIENTATION_TIME = 200; Artplayer.INFO_LOOP_TIME = 1000; Artplayer.FAST_FORWARD_VALUE = 3; Artplayer.FAST_FORWARD_TIME = 1000; @@ -419,7 +417,7 @@ if (typeof window !== "undefined") window["Artplayer"] = Artplayer; console.log(`%c ArtPlayer %c ${Artplayer.version} %c https://artplayer.org`, "color: #fff; background: #5f5f5f", "color: #fff; background: #4bc729", ""); },{"bundle-text:./style/index.less":"SvnDa","option-validator":"2tbdu","./utils/emitter":"elSLF","./utils":"jmgNb","./scheme":"gL38d","./config":"2ZnKD","./whitelist":"gd0pl","./template":"bDTDS","./i18n":"k0CtI","./player":"35XKf","./control":"faO0X","./contextmenu":"5npaZ","./info":"6vVKE","./subtitle":"4exyO","./events":"dz5ul","./hotkey":"1nFqF","./layer":"fvy8V","./loading":"h8KPY","./notice":"cr1XY","./mask":"llnR4","./icons":"gP6M7","./setting":"e5Aaq","./storage":"feFxw","./plugins":"h1hfO","./mobile":"c9n1Y","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"SvnDa":[function(require,module,exports) { -module.exports = ".art-video-player {\n --art-theme: red;\n --art-font-color: #fff;\n --art-background-color: #000;\n --art-text-shadow-color: #00000080;\n --art-transition-duration: .2s;\n --art-padding: 10px;\n --art-border-radius: 3px;\n --art-progress-height: 6px;\n --art-progress-color: #fff3;\n --art-hover-color: #ffffff80;\n --art-loaded-color: #fff3;\n --art-loop-color: #ffffffbf;\n --art-state-size: 80px;\n --art-state-opacity: .8;\n --art-bottom-height: 100px;\n --art-bottom-offset: 20px;\n --art-bottom-gap: 5px;\n --art-highlight-width: 8px;\n --art-highlight-color: #ffffff80;\n --art-loop-width: 2px;\n --art-control-height: 46px;\n --art-control-opacity: .75;\n --art-control-icon-size: 36px;\n --art-control-icon-scale: 1.1;\n --art-volume-height: 120px;\n --art-volume-handle-size: 14px;\n --art-lock-size: 36px;\n --art-indicator-scale: 0;\n --art-indicator-size: 16px;\n --art-fullscreen-web-index: 9999;\n --art-settings-scale: 1;\n --art-settings-icon-size: 24px;\n --art-settings-max-height: 300px;\n --art-selector-max-height: 300px;\n --art-contextmenus-min-width: 250px;\n --art-subtitle-font-size: 20px;\n --art-subtitle-gap: 5px;\n --art-subtitle-bottom: 15px;\n --art-subtitle-border: #000;\n --art-widget-background: #000000d9;\n --art-tip-background: #00000080;\n --art-scrollbar-size: 4px;\n --art-scrollbar-background: #ffffff40;\n --art-scrollbar-background-hover: #ffffff80;\n --art-mini-progress-height: 2px;\n}\n\n.art-bg-cover {\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.art-bottom-gradient {\n background-image: linear-gradient(to top, #000, #0006, #0000);\n background-position: bottom;\n background-repeat: repeat-x;\n}\n\n.art-backdrop-filter {\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n backdrop-filter: saturate(180%) blur(20px);\n background-color: #000000bf !important;\n}\n\n.art-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.art-video-player {\n width: 100%;\n height: 100%;\n zoom: 1;\n text-align: left;\n direction: ltr;\n user-select: none;\n box-sizing: border-box;\n color: var(--art-font-color);\n background-color: var(--art-background-color);\n text-shadow: 0 0 2px var(--art-text-shadow-color);\n -webkit-tap-highlight-color: #0000;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n -ms-high-contrast-adjust: none;\n outline: 0;\n margin: 0 auto;\n padding: 0;\n font-family: PingFang SC, Helvetica Neue, Microsoft YaHei, Roboto, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.3;\n position: relative;\n}\n\n.art-video-player *, .art-video-player :before, .art-video-player :after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n.art-video-player ::-webkit-scrollbar {\n width: var(--art-scrollbar-size);\n height: var(--art-scrollbar-size);\n}\n\n.art-video-player ::-webkit-scrollbar-thumb {\n background-color: var(--art-scrollbar-background);\n}\n\n.art-video-player ::-webkit-scrollbar-thumb:hover {\n background-color: var(--art-scrollbar-background-hover);\n}\n\n.art-video-player img {\n max-width: 100%;\n vertical-align: top;\n}\n\n.art-video-player svg {\n fill: var(--art-font-color);\n}\n\n.art-video-player a {\n color: var(--art-font-color);\n text-decoration: none;\n}\n\n.art-icon {\n justify-content: center;\n align-items: center;\n line-height: 1;\n display: flex;\n}\n\n.art-video-player.art-backdrop .art-contextmenus, .art-video-player.art-backdrop .art-info, .art-video-player.art-backdrop .art-settings, .art-video-player.art-backdrop .art-layer-auto-playback, .art-video-player.art-backdrop .art-selector-list, .art-video-player.art-backdrop .art-volume-inner {\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n backdrop-filter: saturate(180%) blur(20px);\n background-color: #000000bf !important;\n}\n\n.art-video {\n z-index: 10;\n width: 100%;\n height: 100%;\n cursor: pointer;\n position: absolute;\n inset: 0;\n}\n\n.art-poster {\n z-index: 11;\n width: 100%;\n height: 100%;\n pointer-events: none;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-subtitle {\n z-index: 20;\n width: 100%;\n text-align: center;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n gap: var(--art-subtitle-gap);\n bottom: var(--art-subtitle-bottom);\n font-size: var(--art-subtitle-font-size);\n transition: bottom var(--art-transition-duration) ease;\n text-shadow: var(--art-subtitle-border) 1px 0 1px, var(--art-subtitle-border) 0 1px 1px, var(--art-subtitle-border) -1px 0 1px, var(--art-subtitle-border) 0 -1px 1px, var(--art-subtitle-border) 1px 1px 1px, var(--art-subtitle-border) -1px -1px 1px, var(--art-subtitle-border) 1px -1px 1px, var(--art-subtitle-border) -1px 1px 1px;\n flex-direction: column;\n padding: 0 5%;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-subtitle p {\n word-break: break-all;\n height: fit-content;\n}\n\n.art-video-player.art-subtitle-show .art-subtitle {\n display: flex;\n}\n\n.art-video-player.art-control-show .art-subtitle {\n bottom: calc(var(--art-control-height) + var(--art-subtitle-bottom));\n}\n\n.art-danmuku {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.art-video-player .art-layers {\n z-index: 40;\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-layers .art-layer {\n pointer-events: auto;\n}\n\n.art-video-player.art-layer-show .art-layers {\n display: flex;\n}\n\n.art-video-player .art-mask {\n z-index: 50;\n width: 100%;\n height: 100%;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-mask .art-state {\n opacity: 0;\n width: var(--art-state-size);\n height: var(--art-state-size);\n transition: all var(--art-transition-duration) ease;\n justify-content: center;\n align-items: center;\n display: flex;\n transform: scale(2);\n}\n\n.art-video-player.art-mask-show .art-state {\n cursor: pointer;\n pointer-events: auto;\n opacity: var(--art-state-opacity);\n transform: scale(1);\n}\n\n.art-video-player.art-loading-show .art-state {\n display: none;\n}\n\n.art-video-player .art-loading {\n z-index: 70;\n width: 100%;\n height: 100%;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player.art-loading-show .art-loading {\n display: flex;\n}\n\n.art-video-player .art-bottom {\n z-index: 60;\n width: 100%;\n height: 100%;\n opacity: 0;\n pointer-events: none;\n justify-content: flex-end;\n gap: var(--art-bottom-gap);\n padding: 0 var(--art-padding);\n transition: opacity var(--art-transition-duration) ease;\n background-size: 100% var(--art-bottom-height);\n background-image: linear-gradient(to top, #000, #0006, #0000);\n background-position: bottom;\n background-repeat: repeat-x;\n flex-direction: column;\n display: flex;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.art-video-player .art-bottom .art-controls, .art-video-player .art-bottom .art-progress {\n transform: translateY(var(--art-bottom-offset));\n transition: transform var(--art-transition-duration) ease;\n}\n\n.art-video-player.art-control-show .art-bottom, .art-video-player.art-hover .art-bottom {\n opacity: 1;\n}\n\n.art-video-player.art-control-show .art-bottom .art-controls, .art-video-player.art-hover .art-bottom .art-controls, .art-video-player.art-control-show .art-bottom .art-progress, .art-video-player.art-hover .art-bottom .art-progress {\n transform: translateY(0);\n}\n\n.art-bottom .art-progress {\n z-index: 0;\n pointer-events: auto;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress {\n cursor: pointer;\n height: var(--art-progress-height);\n justify-content: center;\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner {\n height: 50%;\n width: 100%;\n transition: height var(--art-transition-duration) ease;\n background-color: var(--art-progress-color);\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover {\n z-index: 0;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-hover-color);\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded {\n z-index: 10;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-loaded-color);\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played {\n z-index: 20;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-theme);\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span {\n z-index: 0;\n width: 100%;\n height: 100%;\n pointer-events: auto;\n width: var(--art-highlight-width);\n transform: translateX(calc(var(--art-highlight-width) / -2));\n background-color: var(--art-highlight-color);\n position: absolute;\n inset: 0 auto 0 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n z-index: 40;\n width: var(--art-indicator-size);\n height: var(--art-indicator-size);\n transform: scale(var(--art-indicator-scale));\n margin-left: calc(var(--art-indicator-size) / -2);\n transition: transform var(--art-transition-duration) ease;\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n left: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon {\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover {\n transform: scale(1.2) !important;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active {\n transform: scale(1) !important;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip {\n z-index: 50;\n border-radius: var(--art-border-radius);\n white-space: nowrap;\n background-color: var(--art-tip-background);\n padding: 3px 5px;\n font-size: 12px;\n line-height: 1;\n display: none;\n position: absolute;\n top: -25px;\n left: 0;\n}\n\n.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner {\n height: 100%;\n}\n\n.art-bottom .art-progress .art-control-thumbnails {\n border-radius: var(--art-border-radius);\n pointer-events: none;\n background-color: var(--art-widget-background);\n display: none;\n position: absolute;\n bottom: 10px;\n left: 0;\n box-shadow: 0 1px 3px #0003, 0 1px 2px -1px #0003;\n}\n\n.art-bottom .art-progress .art-control-loop {\n z-index: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-loop .art-loop-point {\n z-index: 0;\n width: 100%;\n height: 100%;\n width: var(--art-loop-width);\n background-color: var(--art-loop-color);\n transform: translateX(calc(var(--art-loop-width) / -2)) scaleY(1.5);\n position: absolute;\n inset: 0 0 0 0%;\n}\n\n.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n transform: scale(1);\n}\n\n.art-controls {\n z-index: 10;\n pointer-events: auto;\n height: var(--art-control-height);\n justify-content: space-between;\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-controls .art-controls-left, .art-controls .art-controls-right {\n height: 100%;\n display: flex;\n}\n\n.art-controls .art-controls-center {\n height: 100%;\n flex: 1;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n display: none;\n}\n\n.art-controls .art-controls-right {\n justify-content: flex-end;\n}\n\n.art-controls .art-control {\n cursor: pointer;\n white-space: nowrap;\n opacity: var(--art-control-opacity);\n min-height: var(--art-control-height);\n min-width: var(--art-control-height);\n transition: opacity var(--art-transition-duration) ease;\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-controls .art-control .art-icon {\n height: var(--art-control-icon-size);\n width: var(--art-control-icon-size);\n transform: scale(var(--art-control-icon-scale));\n transition: transform var(--art-transition-duration) ease;\n}\n\n.art-controls .art-control .art-icon:active {\n transform: scale(calc(var(--art-control-icon-scale) * .8));\n}\n\n.art-controls .art-control:hover {\n opacity: 1;\n}\n\n.art-control-volume {\n position: relative;\n}\n\n.art-control-volume .art-volume-panel {\n text-align: center;\n cursor: default;\n opacity: 0;\n pointer-events: none;\n left: 0;\n right: 0;\n bottom: var(--art-control-height);\n width: var(--art-control-height);\n height: var(--art-volume-height);\n transition: all var(--art-transition-duration) ease;\n justify-content: center;\n align-items: center;\n padding: 0 5px;\n font-size: 12px;\n display: flex;\n position: absolute;\n transform: translateY(10px);\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner {\n height: 100%;\n width: 100%;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n flex-direction: column;\n align-items: center;\n gap: 10px;\n padding: 10px 0 12px;\n display: flex;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider {\n width: 100%;\n cursor: pointer;\n flex: 1;\n justify-content: center;\n display: flex;\n position: relative;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle {\n width: 2px;\n border-radius: var(--art-border-radius);\n background-color: #ffffff40;\n justify-content: center;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded {\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: var(--art-theme);\n position: absolute;\n inset: 0;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator {\n width: var(--art-volume-handle-size);\n height: var(--art-volume-handle-size);\n margin-top: calc(var(--art-volume-handle-size) / -2);\n background-color: var(--art-theme);\n transition: transform var(--art-transition-duration) ease;\n border-radius: 100%;\n flex-shrink: 0;\n position: absolute;\n transform: scale(1);\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator {\n transform: scale(.9);\n}\n\n.art-control-volume:hover .art-volume-panel {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n\n.art-video-player .art-notice {\n z-index: 80;\n width: 100%;\n height: 100%;\n height: auto;\n padding: var(--art-padding);\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0 0 auto;\n}\n\n.art-video-player .art-notice .art-notice-inner {\n border-radius: var(--art-border-radius);\n background-color: var(--art-tip-background);\n padding: 5px;\n line-height: 1;\n display: inline-flex;\n}\n\n.art-video-player.art-notice-show .art-notice {\n display: flex;\n}\n\n.art-video-player .art-contextmenus {\n z-index: 120;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n min-width: var(--art-contextmenus-min-width);\n flex-direction: column;\n padding: 5px 0;\n font-size: 12px;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu {\n cursor: pointer;\n border-bottom: 1px solid #ffffff1a;\n padding: 10px 15px;\n display: flex;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu span {\n padding: 0 8px;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu span:hover, .art-video-player .art-contextmenus .art-contextmenu span.art-current {\n color: var(--art-theme);\n}\n\n.art-video-player .art-contextmenus .art-contextmenu:hover {\n background-color: #ffffff1a;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu:last-child {\n border-bottom: none;\n}\n\n.art-video-player.art-contextmenu-show .art-contextmenus {\n display: flex;\n}\n\n.art-video-player .art-settings {\n z-index: 90;\n border-radius: var(--art-border-radius);\n transform-origin: 100% 100%;\n max-height: var(--art-settings-max-height);\n left: auto;\n right: var(--art-padding);\n bottom: var(--art-control-height);\n transform: scale(var(--art-settings-scale));\n transition: all var(--art-transition-duration) ease;\n background-color: var(--art-widget-background);\n flex-direction: column;\n display: none;\n position: absolute;\n overflow: hidden auto;\n}\n\n.art-video-player .art-settings .art-setting-panel {\n flex-direction: column;\n display: none;\n}\n\n.art-video-player .art-settings .art-setting-panel.art-current {\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item {\n height: 35px;\n cursor: pointer;\n transition: background-color var(--art-transition-duration) ease;\n justify-content: space-between;\n align-items: center;\n padding: 0 5px;\n line-height: 1;\n display: flex;\n overflow: hidden;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item:hover {\n background-color: #ffffff1a;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current {\n color: var(--art-theme);\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check {\n visibility: hidden;\n height: 15px;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check {\n visibility: visible;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left {\n justify-content: center;\n align-items: center;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon {\n height: var(--art-settings-icon-size);\n width: var(--art-settings-icon-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right {\n justify-content: center;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip {\n white-space: nowrap;\n color: #ffffff80;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon {\n min-width: 32px;\n height: 24px;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range {\n height: 3px;\n width: 80px;\n appearance: none;\n background-color: #fff3;\n outline: none;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item-back {\n border-bottom: 1px solid #ffffff1a;\n}\n\n.art-video-player.art-setting-show .art-settings {\n display: flex;\n}\n\n.art-video-player .art-info {\n left: var(--art-padding);\n top: var(--art-padding);\n z-index: 100;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n padding: 10px;\n font-size: 12px;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-info .art-info-panel {\n flex-direction: column;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item {\n align-items: center;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item .art-info-title {\n width: 100px;\n text-align: right;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item .art-info-content {\n width: 250px;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: all;\n overflow: hidden;\n}\n\n.art-video-player .art-info .art-info-close {\n cursor: pointer;\n position: absolute;\n top: 5px;\n right: 5px;\n}\n\n.art-video-player.art-info-show .art-info {\n display: flex;\n}\n\n.art-hide-cursor * {\n cursor: none !important;\n}\n\n.art-video-player[data-aspect-ratio] video {\n box-sizing: content-box;\n object-fit: fill;\n}\n\n.art-fullscreen {\n --art-control-height: 60px;\n --art-control-icon-scale: 1.3;\n}\n\n.art-fullscreen-web {\n --art-control-height: 60px;\n --art-control-icon-scale: 1.3;\n z-index: var(--art-fullscreen-web-index);\n width: 100%;\n height: 100%;\n position: fixed;\n inset: 0;\n}\n\n.art-mini-popup {\n z-index: 9999;\n width: 320px;\n height: 180px;\n border-radius: var(--art-border-radius);\n cursor: move;\n user-select: none;\n background: #000;\n transition: opacity .2s;\n position: fixed;\n overflow: hidden;\n box-shadow: 0 0 5px #00000080;\n}\n\n.art-mini-popup svg {\n fill: #fff;\n}\n\n.art-mini-popup .art-video {\n pointer-events: none;\n}\n\n.art-mini-popup .art-mini-close {\n z-index: 20;\n cursor: pointer;\n opacity: 0;\n transition: opacity .2s;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.art-mini-popup .art-mini-state {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n opacity: 0;\n background-color: #00000040;\n justify-content: center;\n align-items: center;\n transition: opacity .2s;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.art-mini-popup .art-mini-state .art-icon {\n opacity: .75;\n cursor: pointer;\n pointer-events: auto;\n transition: transform .2s;\n transform: scale(3);\n}\n\n.art-mini-popup .art-mini-state .art-icon:active {\n transform: scale(2.5);\n}\n\n.art-mini-popup.art-mini-droging {\n opacity: .9;\n}\n\n.art-mini-popup:hover .art-mini-close, .art-mini-popup:hover .art-mini-state {\n opacity: 1;\n}\n\n.art-auto-size {\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-auto-size .art-video-player {\n transition: width, height var(--art-transition-duration) ease;\n}\n\n.art-video-player[data-flip=\"horizontal\"] .art-video {\n transform: scaleX(-1);\n}\n\n.art-video-player[data-flip=\"vertical\"] .art-video {\n transform: scaleY(-1);\n}\n\n.art-video-player .art-layer-mini-progress-bar {\n z-index: 0;\n width: 100%;\n height: 100%;\n height: var(--art-mini-progress-height);\n background-color: var(--art-theme);\n display: flex;\n position: absolute;\n inset: auto 0 0;\n}\n\n.art-video-player .art-layer-lock {\n height: var(--art-lock-size);\n width: var(--art-lock-size);\n top: 50%;\n left: var(--art-padding);\n background-color: var(--art-tip-background);\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n display: none;\n position: absolute;\n transform: translateY(-50%);\n}\n\n.art-video-player .art-layer-auto-playback {\n border-radius: var(--art-border-radius);\n left: var(--art-padding);\n bottom: calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);\n background-color: var(--art-widget-background);\n align-items: center;\n gap: 10px;\n padding: 10px;\n line-height: 1;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-close {\n cursor: pointer;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-close svg {\n width: 15px;\n height: 15px;\n fill: var(--art-theme);\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-jump {\n color: var(--art-theme);\n cursor: pointer;\n}\n\n.art-video-player.art-lock .art-bottom {\n display: none !important;\n}\n\n.art-video-player.art-lock .art-subtitle {\n bottom: var(--art-subtitle-bottom) !important;\n}\n\n.art-video-player.art-lock .art-layer-mini-progress-bar {\n display: flex !important;\n}\n\n.art-video-player.art-control-show .art-layer-mini-progress-bar {\n display: none;\n}\n\n.art-video-player.art-control-show .art-layer-lock {\n display: flex;\n}\n\n.art-control-selector {\n position: relative;\n}\n\n.art-control-selector .art-selector-list {\n text-align: center;\n border-radius: var(--art-border-radius);\n opacity: 0;\n pointer-events: none;\n bottom: var(--art-control-height);\n max-height: var(--art-selector-max-height);\n background-color: var(--art-widget-background);\n transition: all var(--art-transition-duration) ease;\n flex-direction: column;\n align-items: center;\n display: flex;\n position: absolute;\n overflow: hidden auto;\n transform: translateY(10px);\n}\n\n.art-control-selector .art-selector-list .art-selector-item {\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n padding: 10px 15px;\n line-height: 1;\n display: flex;\n}\n\n.art-control-selector .art-selector-list .art-selector-item:hover {\n background-color: #ffffff1a;\n}\n\n.art-control-selector .art-selector-list .art-selector-item:hover, .art-control-selector .art-selector-list .art-selector-item.art-current {\n color: var(--art-theme);\n}\n\n.art-control-selector:hover .art-selector-list {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n\n[class*=\"hint--\"] {\n font-style: normal;\n display: inline-block;\n position: relative;\n}\n\n[class*=\"hint--\"]:before, [class*=\"hint--\"]:after {\n visibility: hidden;\n opacity: 0;\n z-index: 1000000;\n pointer-events: none;\n transition: all .3s;\n transition-delay: 0s;\n position: absolute;\n transform: translate3d(0, 0, 0);\n}\n\n[class*=\"hint--\"]:hover:before, [class*=\"hint--\"]:hover:after {\n visibility: visible;\n opacity: 1;\n transition-delay: .1s;\n}\n\n[class*=\"hint--\"]:before {\n content: \"\";\n z-index: 1000001;\n background: none;\n border: 6px solid #0000;\n position: absolute;\n}\n\n[class*=\"hint--\"]:after {\n color: #fff;\n white-space: nowrap;\n background: #000;\n padding: 8px 10px;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n font-size: 12px;\n line-height: 12px;\n}\n\n[class*=\"hint--\"][aria-label]:after {\n content: attr(aria-label);\n}\n\n[class*=\"hint--\"][data-hint]:after {\n content: attr(data-hint);\n}\n\n[aria-label=\"\"]:before, [aria-label=\"\"]:after, [data-hint=\"\"]:before, [data-hint=\"\"]:after {\n display: none !important;\n}\n\n.hint--top-left:before, .hint--top-right:before, .hint--top:before {\n border-top-color: #000;\n}\n\n.hint--bottom-left:before, .hint--bottom-right:before, .hint--bottom:before {\n border-bottom-color: #000;\n}\n\n.hint--left:before {\n border-left-color: #000;\n}\n\n.hint--right:before {\n border-right-color: #000;\n}\n\n.hint--top:before {\n margin-bottom: -11px;\n}\n\n.hint--top:before, .hint--top:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top:before {\n left: calc(50% - 6px);\n}\n\n.hint--top:after {\n transform: translateX(-50%);\n}\n\n.hint--top:hover:before {\n transform: translateY(-8px);\n}\n\n.hint--top:hover:after {\n transform: translateX(-50%)translateY(-8px);\n}\n\n.hint--bottom:before {\n margin-top: -11px;\n}\n\n.hint--bottom:before, .hint--bottom:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom:after {\n transform: translateX(-50%);\n}\n\n.hint--bottom:hover:before {\n transform: translateY(8px);\n}\n\n.hint--bottom:hover:after {\n transform: translateX(-50%)translateY(8px);\n}\n\n.hint--right:before {\n margin-bottom: -6px;\n margin-left: -11px;\n}\n\n.hint--right:after {\n margin-bottom: -14px;\n}\n\n.hint--right:before, .hint--right:after {\n bottom: 50%;\n left: 100%;\n}\n\n.hint--right:hover:before, .hint--right:hover:after {\n transform: translateX(8px);\n}\n\n.hint--left:before {\n margin-bottom: -6px;\n margin-right: -11px;\n}\n\n.hint--left:after {\n margin-bottom: -14px;\n}\n\n.hint--left:before, .hint--left:after {\n bottom: 50%;\n right: 100%;\n}\n\n.hint--left:hover:before, .hint--left:hover:after {\n transform: translateX(-8px);\n}\n\n.hint--top-left:before {\n margin-bottom: -11px;\n}\n\n.hint--top-left:before, .hint--top-left:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top-left:before {\n left: calc(50% - 6px);\n}\n\n.hint--top-left:after {\n margin-left: 12px;\n transform: translateX(-100%);\n}\n\n.hint--top-left:hover:before {\n transform: translateY(-8px);\n}\n\n.hint--top-left:hover:after {\n transform: translateX(-100%)translateY(-8px);\n}\n\n.hint--top-right:before {\n margin-bottom: -11px;\n}\n\n.hint--top-right:before, .hint--top-right:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top-right:before {\n left: calc(50% - 6px);\n}\n\n.hint--top-right:after {\n margin-left: -12px;\n transform: translateX(0);\n}\n\n.hint--top-right:hover:before, .hint--top-right:hover:after {\n transform: translateY(-8px);\n}\n\n.hint--bottom-left:before {\n margin-top: -11px;\n}\n\n.hint--bottom-left:before, .hint--bottom-left:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom-left:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom-left:after {\n margin-left: 12px;\n transform: translateX(-100%);\n}\n\n.hint--bottom-left:hover:before {\n transform: translateY(8px);\n}\n\n.hint--bottom-left:hover:after {\n transform: translateX(-100%)translateY(8px);\n}\n\n.hint--bottom-right:before {\n margin-top: -11px;\n}\n\n.hint--bottom-right:before, .hint--bottom-right:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom-right:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom-right:after {\n margin-left: -12px;\n transform: translateX(0);\n}\n\n.hint--bottom-right:hover:before, .hint--bottom-right:hover:after {\n transform: translateY(8px);\n}\n\n.hint--small:after, .hint--medium:after, .hint--large:after {\n white-space: normal;\n word-wrap: break-word;\n line-height: 1.4em;\n}\n\n.hint--small:after {\n width: 80px;\n}\n\n.hint--medium:after {\n width: 150px;\n}\n\n.hint--large:after {\n width: 300px;\n}\n\n[class*=\"hint--\"]:after {\n text-shadow: 0 -1px #000;\n box-shadow: 4px 4px 8px #0000004d;\n}\n\n.hint--error:after {\n text-shadow: 0 -1px #592726;\n background-color: #b34e4d;\n}\n\n.hint--error.hint--top-left:before, .hint--error.hint--top-right:before, .hint--error.hint--top:before {\n border-top-color: #b34e4d;\n}\n\n.hint--error.hint--bottom-left:before, .hint--error.hint--bottom-right:before, .hint--error.hint--bottom:before {\n border-bottom-color: #b34e4d;\n}\n\n.hint--error.hint--left:before {\n border-left-color: #b34e4d;\n}\n\n.hint--error.hint--right:before {\n border-right-color: #b34e4d;\n}\n\n.hint--warning:after {\n text-shadow: 0 -1px #6c5328;\n background-color: #c09854;\n}\n\n.hint--warning.hint--top-left:before, .hint--warning.hint--top-right:before, .hint--warning.hint--top:before {\n border-top-color: #c09854;\n}\n\n.hint--warning.hint--bottom-left:before, .hint--warning.hint--bottom-right:before, .hint--warning.hint--bottom:before {\n border-bottom-color: #c09854;\n}\n\n.hint--warning.hint--left:before {\n border-left-color: #c09854;\n}\n\n.hint--warning.hint--right:before {\n border-right-color: #c09854;\n}\n\n.hint--info:after {\n text-shadow: 0 -1px #1a3c4d;\n background-color: #3986ac;\n}\n\n.hint--info.hint--top-left:before, .hint--info.hint--top-right:before, .hint--info.hint--top:before {\n border-top-color: #3986ac;\n}\n\n.hint--info.hint--bottom-left:before, .hint--info.hint--bottom-right:before, .hint--info.hint--bottom:before {\n border-bottom-color: #3986ac;\n}\n\n.hint--info.hint--left:before {\n border-left-color: #3986ac;\n}\n\n.hint--info.hint--right:before {\n border-right-color: #3986ac;\n}\n\n.hint--success:after {\n text-shadow: 0 -1px #1a321a;\n background-color: #458746;\n}\n\n.hint--success.hint--top-left:before, .hint--success.hint--top-right:before, .hint--success.hint--top:before {\n border-top-color: #458746;\n}\n\n.hint--success.hint--bottom-left:before, .hint--success.hint--bottom-right:before, .hint--success.hint--bottom:before {\n border-bottom-color: #458746;\n}\n\n.hint--success.hint--left:before {\n border-left-color: #458746;\n}\n\n.hint--success.hint--right:before {\n border-right-color: #458746;\n}\n\n.hint--always:after, .hint--always:before {\n opacity: 1;\n visibility: visible;\n}\n\n.hint--always.hint--top:before {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--top:after {\n transform: translateX(-50%)translateY(-8px);\n}\n\n.hint--always.hint--top-left:before {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--top-left:after {\n transform: translateX(-100%)translateY(-8px);\n}\n\n.hint--always.hint--top-right:before, .hint--always.hint--top-right:after {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--bottom:before {\n transform: translateY(8px);\n}\n\n.hint--always.hint--bottom:after {\n transform: translateX(-50%)translateY(8px);\n}\n\n.hint--always.hint--bottom-left:before {\n transform: translateY(8px);\n}\n\n.hint--always.hint--bottom-left:after {\n transform: translateX(-100%)translateY(8px);\n}\n\n.hint--always.hint--bottom-right:before, .hint--always.hint--bottom-right:after {\n transform: translateY(8px);\n}\n\n.hint--always.hint--left:before, .hint--always.hint--left:after {\n transform: translateX(-8px);\n}\n\n.hint--always.hint--right:before, .hint--always.hint--right:after {\n transform: translateX(8px);\n}\n\n.hint--rounded:after {\n border-radius: 4px;\n}\n\n.hint--no-animate:before, .hint--no-animate:after {\n transition-duration: 0s;\n}\n\n.hint--bounce:before, .hint--bounce:after {\n -webkit-transition: opacity .3s, visibility .3s, -webkit-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n -moz-transition: opacity .3s, visibility .3s, -moz-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n transition: opacity .3s, visibility .3s, transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n}\n\n.hint--no-shadow:before, .hint--no-shadow:after {\n text-shadow: initial;\n box-shadow: initial;\n}\n\n.hint--no-arrow:before {\n display: none;\n}\n\n.art-video-player.art-mobile {\n --art-bottom-gap: 10px;\n --art-control-height: 38px;\n --art-control-icon-scale: 1;\n --art-state-size: 60px;\n --art-settings-scale: .85;\n --art-settings-max-height: 180px;\n --art-selector-max-height: 180px;\n --art-indicator-scale: 1;\n --art-control-opacity: 1;\n}\n\n.art-video-player.art-mobile .art-controls-left {\n margin-left: calc(var(--art-padding) / -1);\n}\n\n.art-video-player.art-mobile .art-controls-right {\n margin-right: calc(var(--art-padding) / -1);\n}\n\n"; +module.exports = ".art-video-player {\n --art-theme: red;\n --art-font-color: #fff;\n --art-background-color: #000;\n --art-text-shadow-color: #00000080;\n --art-transition-duration: .2s;\n --art-padding: 10px;\n --art-border-radius: 3px;\n --art-progress-height: 6px;\n --art-progress-color: #fff3;\n --art-hover-color: #ffffff80;\n --art-loaded-color: #fff3;\n --art-loop-color: #ffffffbf;\n --art-state-size: 80px;\n --art-state-opacity: .8;\n --art-bottom-height: 100px;\n --art-bottom-offset: 20px;\n --art-bottom-gap: 5px;\n --art-highlight-width: 8px;\n --art-highlight-color: #ffffff80;\n --art-loop-width: 2px;\n --art-control-height: 46px;\n --art-control-opacity: .75;\n --art-control-icon-size: 36px;\n --art-control-icon-scale: 1.1;\n --art-volume-height: 120px;\n --art-volume-handle-size: 14px;\n --art-lock-size: 36px;\n --art-indicator-scale: 0;\n --art-indicator-size: 16px;\n --art-fullscreen-web-index: 9999;\n --art-settings-scale: 1;\n --art-settings-icon-size: 24px;\n --art-settings-max-height: 300px;\n --art-selector-max-height: 300px;\n --art-contextmenus-min-width: 250px;\n --art-subtitle-font-size: 20px;\n --art-subtitle-gap: 5px;\n --art-subtitle-bottom: 15px;\n --art-subtitle-border: #000;\n --art-widget-background: #000000d9;\n --art-tip-background: #00000080;\n --art-scrollbar-size: 4px;\n --art-scrollbar-background: #ffffff40;\n --art-scrollbar-background-hover: #ffffff80;\n --art-mini-progress-height: 2px;\n}\n\n.art-bg-cover {\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n.art-bottom-gradient {\n background-image: linear-gradient(to top, #000, #0006, #0000);\n background-position: bottom;\n background-repeat: repeat-x;\n}\n\n.art-backdrop-filter {\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n backdrop-filter: saturate(180%) blur(20px);\n background-color: #000000bf !important;\n}\n\n.art-truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.art-video-player {\n width: 100%;\n height: 100%;\n zoom: 1;\n text-align: left;\n direction: ltr;\n user-select: none;\n box-sizing: border-box;\n color: var(--art-font-color);\n background-color: var(--art-background-color);\n text-shadow: 0 0 2px var(--art-text-shadow-color);\n -webkit-tap-highlight-color: #0000;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n -ms-high-contrast-adjust: none;\n outline: 0;\n margin: 0 auto;\n padding: 0;\n font-family: PingFang SC, Helvetica Neue, Microsoft YaHei, Roboto, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.3;\n position: relative;\n}\n\n.art-video-player *, .art-video-player :before, .art-video-player :after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n.art-video-player ::-webkit-scrollbar {\n width: var(--art-scrollbar-size);\n height: var(--art-scrollbar-size);\n}\n\n.art-video-player ::-webkit-scrollbar-thumb {\n background-color: var(--art-scrollbar-background);\n}\n\n.art-video-player ::-webkit-scrollbar-thumb:hover {\n background-color: var(--art-scrollbar-background-hover);\n}\n\n.art-video-player img {\n max-width: 100%;\n vertical-align: top;\n}\n\n.art-video-player svg {\n fill: var(--art-font-color);\n}\n\n.art-video-player a {\n color: var(--art-font-color);\n text-decoration: none;\n}\n\n.art-icon {\n justify-content: center;\n align-items: center;\n line-height: 1;\n display: flex;\n}\n\n.art-video-player.art-backdrop .art-contextmenus, .art-video-player.art-backdrop .art-info, .art-video-player.art-backdrop .art-settings, .art-video-player.art-backdrop .art-layer-auto-playback, .art-video-player.art-backdrop .art-selector-list, .art-video-player.art-backdrop .art-volume-inner {\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n backdrop-filter: saturate(180%) blur(20px);\n background-color: #000000bf !important;\n}\n\n.art-video {\n z-index: 10;\n width: 100%;\n height: 100%;\n cursor: pointer;\n position: absolute;\n inset: 0;\n}\n\n.art-poster {\n z-index: 11;\n width: 100%;\n height: 100%;\n pointer-events: none;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-subtitle {\n z-index: 20;\n width: 100%;\n text-align: center;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n gap: var(--art-subtitle-gap);\n bottom: var(--art-subtitle-bottom);\n font-size: var(--art-subtitle-font-size);\n transition: bottom var(--art-transition-duration) ease;\n text-shadow: var(--art-subtitle-border) 1px 0 1px, var(--art-subtitle-border) 0 1px 1px, var(--art-subtitle-border) -1px 0 1px, var(--art-subtitle-border) 0 -1px 1px, var(--art-subtitle-border) 1px 1px 1px, var(--art-subtitle-border) -1px -1px 1px, var(--art-subtitle-border) 1px -1px 1px, var(--art-subtitle-border) -1px 1px 1px;\n flex-direction: column;\n padding: 0 5%;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-subtitle p {\n word-break: break-all;\n height: fit-content;\n}\n\n.art-video-player.art-subtitle-show .art-subtitle {\n display: flex;\n}\n\n.art-video-player.art-control-show .art-subtitle {\n bottom: calc(var(--art-control-height) + var(--art-subtitle-bottom));\n}\n\n.art-danmuku {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.art-video-player .art-layers {\n z-index: 40;\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-layers .art-layer {\n pointer-events: auto;\n}\n\n.art-video-player.art-layer-show .art-layers {\n display: flex;\n}\n\n.art-video-player .art-mask {\n z-index: 50;\n width: 100%;\n height: 100%;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player .art-mask .art-state {\n opacity: 0;\n width: var(--art-state-size);\n height: var(--art-state-size);\n transition: all var(--art-transition-duration) ease;\n justify-content: center;\n align-items: center;\n display: flex;\n transform: scale(2);\n}\n\n.art-video-player.art-mask-show .art-state {\n cursor: pointer;\n pointer-events: auto;\n opacity: var(--art-state-opacity);\n transform: scale(1);\n}\n\n.art-video-player.art-loading-show .art-state {\n display: none;\n}\n\n.art-video-player .art-loading {\n z-index: 70;\n width: 100%;\n height: 100%;\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-video-player.art-loading-show .art-loading {\n display: flex;\n}\n\n.art-video-player .art-bottom {\n z-index: 60;\n width: 100%;\n height: 100%;\n opacity: 0;\n pointer-events: none;\n justify-content: flex-end;\n gap: var(--art-bottom-gap);\n padding: 0 var(--art-padding);\n transition: opacity var(--art-transition-duration) ease;\n background-size: 100% var(--art-bottom-height);\n background-image: linear-gradient(to top, #000, #0006, #0000);\n background-position: bottom;\n background-repeat: repeat-x;\n flex-direction: column;\n display: flex;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.art-video-player .art-bottom .art-controls, .art-video-player .art-bottom .art-progress {\n transform: translateY(var(--art-bottom-offset));\n transition: transform var(--art-transition-duration) ease;\n}\n\n.art-video-player.art-control-show .art-bottom, .art-video-player.art-hover .art-bottom {\n opacity: 1;\n}\n\n.art-video-player.art-control-show .art-bottom .art-controls, .art-video-player.art-hover .art-bottom .art-controls, .art-video-player.art-control-show .art-bottom .art-progress, .art-video-player.art-hover .art-bottom .art-progress {\n transform: translateY(0);\n}\n\n.art-bottom .art-progress {\n z-index: 0;\n pointer-events: auto;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress {\n cursor: pointer;\n height: var(--art-progress-height);\n justify-content: center;\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner {\n height: 50%;\n width: 100%;\n transition: height var(--art-transition-duration) ease;\n background-color: var(--art-progress-color);\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover {\n z-index: 0;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-hover-color);\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded {\n z-index: 10;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-loaded-color);\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played {\n z-index: 20;\n width: 100%;\n height: 100%;\n width: 0%;\n background-color: var(--art-theme);\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span {\n z-index: 0;\n width: 100%;\n height: 100%;\n pointer-events: auto;\n width: var(--art-highlight-width);\n transform: translateX(calc(var(--art-highlight-width) / -2));\n background-color: var(--art-highlight-color);\n position: absolute;\n inset: 0 auto 0 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n z-index: 40;\n width: var(--art-indicator-size);\n height: var(--art-indicator-size);\n transform: scale(var(--art-indicator-scale));\n margin-left: calc(var(--art-indicator-size) / -2);\n transition: transform var(--art-transition-duration) ease;\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n left: 0;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon {\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover {\n transform: scale(1.2) !important;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active {\n transform: scale(1) !important;\n}\n\n.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip {\n z-index: 50;\n border-radius: var(--art-border-radius);\n white-space: nowrap;\n background-color: var(--art-tip-background);\n padding: 3px 5px;\n font-size: 12px;\n line-height: 1;\n display: none;\n position: absolute;\n top: -25px;\n left: 0;\n}\n\n.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner {\n height: 100%;\n}\n\n.art-bottom .art-progress .art-control-thumbnails {\n border-radius: var(--art-border-radius);\n pointer-events: none;\n background-color: var(--art-widget-background);\n display: none;\n position: absolute;\n bottom: 10px;\n left: 0;\n box-shadow: 0 1px 3px #0003, 0 1px 2px -1px #0003;\n}\n\n.art-bottom .art-progress .art-control-loop {\n z-index: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0;\n}\n\n.art-bottom .art-progress .art-control-loop .art-loop-point {\n z-index: 0;\n width: 100%;\n height: 100%;\n width: var(--art-loop-width);\n background-color: var(--art-loop-color);\n transform: translateX(calc(var(--art-loop-width) / -2)) scaleY(1.5);\n position: absolute;\n inset: 0 0 0 0%;\n}\n\n.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator {\n transform: scale(1);\n}\n\n.art-controls {\n z-index: 10;\n pointer-events: auto;\n height: var(--art-control-height);\n justify-content: space-between;\n align-items: center;\n display: flex;\n position: relative;\n}\n\n.art-controls .art-controls-left, .art-controls .art-controls-right {\n height: 100%;\n display: flex;\n}\n\n.art-controls .art-controls-center {\n height: 100%;\n flex: 1;\n justify-content: center;\n align-items: center;\n padding: 0 10px;\n display: none;\n}\n\n.art-controls .art-controls-right {\n justify-content: flex-end;\n}\n\n.art-controls .art-control {\n cursor: pointer;\n white-space: nowrap;\n opacity: var(--art-control-opacity);\n min-height: var(--art-control-height);\n min-width: var(--art-control-height);\n transition: opacity var(--art-transition-duration) ease;\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-controls .art-control .art-icon {\n height: var(--art-control-icon-size);\n width: var(--art-control-icon-size);\n transform: scale(var(--art-control-icon-scale));\n transition: transform var(--art-transition-duration) ease;\n}\n\n.art-controls .art-control .art-icon:active {\n transform: scale(calc(var(--art-control-icon-scale) * .8));\n}\n\n.art-controls .art-control:hover {\n opacity: 1;\n}\n\n.art-control-volume {\n position: relative;\n}\n\n.art-control-volume .art-volume-panel {\n text-align: center;\n cursor: default;\n opacity: 0;\n pointer-events: none;\n left: 0;\n right: 0;\n bottom: var(--art-control-height);\n width: var(--art-control-height);\n height: var(--art-volume-height);\n transition: all var(--art-transition-duration) ease;\n justify-content: center;\n align-items: center;\n padding: 0 5px;\n font-size: 12px;\n display: flex;\n position: absolute;\n transform: translateY(10px);\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner {\n height: 100%;\n width: 100%;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n flex-direction: column;\n align-items: center;\n gap: 10px;\n padding: 10px 0 12px;\n display: flex;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider {\n width: 100%;\n cursor: pointer;\n flex: 1;\n justify-content: center;\n display: flex;\n position: relative;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle {\n width: 2px;\n border-radius: var(--art-border-radius);\n background-color: #ffffff40;\n justify-content: center;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded {\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: var(--art-theme);\n position: absolute;\n inset: 0;\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator {\n width: var(--art-volume-handle-size);\n height: var(--art-volume-handle-size);\n margin-top: calc(var(--art-volume-handle-size) / -2);\n background-color: var(--art-theme);\n transition: transform var(--art-transition-duration) ease;\n border-radius: 100%;\n flex-shrink: 0;\n position: absolute;\n transform: scale(1);\n}\n\n.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator {\n transform: scale(.9);\n}\n\n.art-control-volume:hover .art-volume-panel {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n\n.art-video-player .art-notice {\n z-index: 80;\n width: 100%;\n height: 100%;\n height: auto;\n padding: var(--art-padding);\n pointer-events: none;\n display: none;\n position: absolute;\n inset: 0 0 auto;\n}\n\n.art-video-player .art-notice .art-notice-inner {\n border-radius: var(--art-border-radius);\n background-color: var(--art-tip-background);\n padding: 5px;\n line-height: 1;\n display: inline-flex;\n}\n\n.art-video-player.art-notice-show .art-notice {\n display: flex;\n}\n\n.art-video-player .art-contextmenus {\n z-index: 120;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n min-width: var(--art-contextmenus-min-width);\n flex-direction: column;\n padding: 5px 0;\n font-size: 12px;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu {\n cursor: pointer;\n border-bottom: 1px solid #ffffff1a;\n padding: 10px 15px;\n display: flex;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu span {\n padding: 0 8px;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu span:hover, .art-video-player .art-contextmenus .art-contextmenu span.art-current {\n color: var(--art-theme);\n}\n\n.art-video-player .art-contextmenus .art-contextmenu:hover {\n background-color: #ffffff1a;\n}\n\n.art-video-player .art-contextmenus .art-contextmenu:last-child {\n border-bottom: none;\n}\n\n.art-video-player.art-contextmenu-show .art-contextmenus {\n display: flex;\n}\n\n.art-video-player .art-settings {\n z-index: 90;\n border-radius: var(--art-border-radius);\n transform-origin: 100% 100%;\n max-height: var(--art-settings-max-height);\n left: auto;\n right: var(--art-padding);\n bottom: var(--art-control-height);\n transform: scale(var(--art-settings-scale));\n transition: all var(--art-transition-duration) ease;\n background-color: var(--art-widget-background);\n flex-direction: column;\n display: none;\n position: absolute;\n overflow: hidden auto;\n}\n\n.art-video-player .art-settings .art-setting-panel {\n height: 100%;\n flex-direction: column;\n display: none;\n}\n\n.art-video-player .art-settings .art-setting-panel.art-current {\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item {\n cursor: pointer;\n transition: background-color var(--art-transition-duration) ease;\n flex: 1;\n justify-content: space-between;\n align-items: center;\n padding: 0 5px;\n display: flex;\n overflow: hidden;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item:hover {\n background-color: #ffffff1a;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current {\n color: var(--art-theme);\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check {\n visibility: hidden;\n height: 15px;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check {\n visibility: visible;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left {\n justify-content: center;\n align-items: center;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon {\n height: var(--art-settings-icon-size);\n width: var(--art-settings-icon-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right {\n justify-content: center;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip {\n white-space: nowrap;\n color: #ffffff80;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon {\n min-width: 32px;\n height: 24px;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range {\n height: 3px;\n width: 80px;\n appearance: none;\n background-color: #fff3;\n outline: none;\n}\n\n.art-video-player .art-settings .art-setting-panel .art-setting-item-back {\n border-bottom: 1px solid #ffffff1a;\n}\n\n.art-video-player.art-setting-show .art-settings {\n display: flex;\n}\n\n.art-video-player .art-info {\n left: var(--art-padding);\n top: var(--art-padding);\n z-index: 100;\n border-radius: var(--art-border-radius);\n background-color: var(--art-widget-background);\n padding: 10px;\n font-size: 12px;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-info .art-info-panel {\n flex-direction: column;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item {\n align-items: center;\n gap: 5px;\n display: flex;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item .art-info-title {\n width: 100px;\n text-align: right;\n}\n\n.art-video-player .art-info .art-info-panel .art-info-item .art-info-content {\n width: 250px;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: all;\n overflow: hidden;\n}\n\n.art-video-player .art-info .art-info-close {\n cursor: pointer;\n position: absolute;\n top: 5px;\n right: 5px;\n}\n\n.art-video-player.art-info-show .art-info {\n display: flex;\n}\n\n.art-hide-cursor * {\n cursor: none !important;\n}\n\n.art-video-player[data-aspect-ratio] video {\n box-sizing: content-box;\n object-fit: fill;\n}\n\n.art-fullscreen {\n --art-control-height: 60px;\n --art-control-icon-scale: 1.3;\n}\n\n.art-fullscreen-web {\n --art-control-height: 60px;\n --art-control-icon-scale: 1.3;\n z-index: var(--art-fullscreen-web-index);\n width: 100%;\n height: 100%;\n position: fixed;\n inset: 0;\n}\n\n.art-mini-popup {\n z-index: 9999;\n width: 320px;\n height: 180px;\n border-radius: var(--art-border-radius);\n cursor: move;\n user-select: none;\n background: #000;\n transition: opacity .2s;\n position: fixed;\n overflow: hidden;\n box-shadow: 0 0 5px #00000080;\n}\n\n.art-mini-popup svg {\n fill: #fff;\n}\n\n.art-mini-popup .art-video {\n pointer-events: none;\n}\n\n.art-mini-popup .art-mini-close {\n z-index: 20;\n cursor: pointer;\n opacity: 0;\n transition: opacity .2s;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.art-mini-popup .art-mini-state {\n z-index: 30;\n width: 100%;\n height: 100%;\n pointer-events: none;\n opacity: 0;\n background-color: #00000040;\n justify-content: center;\n align-items: center;\n transition: opacity .2s;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.art-mini-popup .art-mini-state .art-icon {\n opacity: .75;\n cursor: pointer;\n pointer-events: auto;\n transition: transform .2s;\n transform: scale(3);\n}\n\n.art-mini-popup .art-mini-state .art-icon:active {\n transform: scale(2.5);\n}\n\n.art-mini-popup.art-mini-droging {\n opacity: .9;\n}\n\n.art-mini-popup:hover .art-mini-close, .art-mini-popup:hover .art-mini-state {\n opacity: 1;\n}\n\n.art-auto-size {\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-auto-size .art-video-player {\n transition: width, height var(--art-transition-duration) ease;\n}\n\n.art-video-player[data-flip=\"horizontal\"] .art-video {\n transform: scaleX(-1);\n}\n\n.art-video-player[data-flip=\"vertical\"] .art-video {\n transform: scaleY(-1);\n}\n\n.art-video-player .art-layer-mini-progress-bar {\n z-index: 0;\n width: 100%;\n height: 100%;\n height: var(--art-mini-progress-height);\n background-color: var(--art-theme);\n display: flex;\n position: absolute;\n inset: auto 0 0;\n}\n\n.art-video-player .art-layer-lock {\n height: var(--art-lock-size);\n width: var(--art-lock-size);\n top: 50%;\n left: var(--art-padding);\n background-color: var(--art-tip-background);\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n display: none;\n position: absolute;\n transform: translateY(-50%);\n}\n\n.art-video-player .art-layer-auto-playback {\n border-radius: var(--art-border-radius);\n left: var(--art-padding);\n bottom: calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);\n background-color: var(--art-widget-background);\n align-items: center;\n gap: 10px;\n padding: 10px;\n line-height: 1;\n display: none;\n position: absolute;\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-close {\n cursor: pointer;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-close svg {\n width: 15px;\n height: 15px;\n fill: var(--art-theme);\n}\n\n.art-video-player .art-layer-auto-playback .art-auto-playback-jump {\n color: var(--art-theme);\n cursor: pointer;\n}\n\n.art-video-player.art-lock .art-bottom {\n display: none !important;\n}\n\n.art-video-player.art-lock .art-subtitle {\n bottom: var(--art-subtitle-bottom) !important;\n}\n\n.art-video-player.art-lock .art-layer-mini-progress-bar {\n display: flex !important;\n}\n\n.art-video-player.art-control-show .art-layer-mini-progress-bar {\n display: none;\n}\n\n.art-video-player.art-control-show .art-layer-lock {\n display: flex;\n}\n\n.art-control-selector {\n position: relative;\n}\n\n.art-control-selector .art-selector-list {\n text-align: center;\n border-radius: var(--art-border-radius);\n opacity: 0;\n pointer-events: none;\n bottom: var(--art-control-height);\n max-height: var(--art-selector-max-height);\n background-color: var(--art-widget-background);\n transition: all var(--art-transition-duration) ease;\n flex-direction: column;\n align-items: center;\n display: flex;\n position: absolute;\n overflow: hidden auto;\n transform: translateY(10px);\n}\n\n.art-control-selector .art-selector-list .art-selector-item {\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n padding: 10px 15px;\n line-height: 1;\n display: flex;\n}\n\n.art-control-selector .art-selector-list .art-selector-item:hover {\n background-color: #ffffff1a;\n}\n\n.art-control-selector .art-selector-list .art-selector-item:hover, .art-control-selector .art-selector-list .art-selector-item.art-current {\n color: var(--art-theme);\n}\n\n.art-control-selector:hover .art-selector-list {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n\n[class*=\"hint--\"] {\n font-style: normal;\n display: inline-block;\n position: relative;\n}\n\n[class*=\"hint--\"]:before, [class*=\"hint--\"]:after {\n visibility: hidden;\n opacity: 0;\n z-index: 1000000;\n pointer-events: none;\n transition: all .3s;\n transition-delay: 0s;\n position: absolute;\n transform: translate3d(0, 0, 0);\n}\n\n[class*=\"hint--\"]:hover:before, [class*=\"hint--\"]:hover:after {\n visibility: visible;\n opacity: 1;\n transition-delay: .1s;\n}\n\n[class*=\"hint--\"]:before {\n content: \"\";\n z-index: 1000001;\n background: none;\n border: 6px solid #0000;\n position: absolute;\n}\n\n[class*=\"hint--\"]:after {\n color: #fff;\n white-space: nowrap;\n background: #000;\n padding: 8px 10px;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n font-size: 12px;\n line-height: 12px;\n}\n\n[class*=\"hint--\"][aria-label]:after {\n content: attr(aria-label);\n}\n\n[class*=\"hint--\"][data-hint]:after {\n content: attr(data-hint);\n}\n\n[aria-label=\"\"]:before, [aria-label=\"\"]:after, [data-hint=\"\"]:before, [data-hint=\"\"]:after {\n display: none !important;\n}\n\n.hint--top-left:before, .hint--top-right:before, .hint--top:before {\n border-top-color: #000;\n}\n\n.hint--bottom-left:before, .hint--bottom-right:before, .hint--bottom:before {\n border-bottom-color: #000;\n}\n\n.hint--left:before {\n border-left-color: #000;\n}\n\n.hint--right:before {\n border-right-color: #000;\n}\n\n.hint--top:before {\n margin-bottom: -11px;\n}\n\n.hint--top:before, .hint--top:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top:before {\n left: calc(50% - 6px);\n}\n\n.hint--top:after {\n transform: translateX(-50%);\n}\n\n.hint--top:hover:before {\n transform: translateY(-8px);\n}\n\n.hint--top:hover:after {\n transform: translateX(-50%)translateY(-8px);\n}\n\n.hint--bottom:before {\n margin-top: -11px;\n}\n\n.hint--bottom:before, .hint--bottom:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom:after {\n transform: translateX(-50%);\n}\n\n.hint--bottom:hover:before {\n transform: translateY(8px);\n}\n\n.hint--bottom:hover:after {\n transform: translateX(-50%)translateY(8px);\n}\n\n.hint--right:before {\n margin-bottom: -6px;\n margin-left: -11px;\n}\n\n.hint--right:after {\n margin-bottom: -14px;\n}\n\n.hint--right:before, .hint--right:after {\n bottom: 50%;\n left: 100%;\n}\n\n.hint--right:hover:before, .hint--right:hover:after {\n transform: translateX(8px);\n}\n\n.hint--left:before {\n margin-bottom: -6px;\n margin-right: -11px;\n}\n\n.hint--left:after {\n margin-bottom: -14px;\n}\n\n.hint--left:before, .hint--left:after {\n bottom: 50%;\n right: 100%;\n}\n\n.hint--left:hover:before, .hint--left:hover:after {\n transform: translateX(-8px);\n}\n\n.hint--top-left:before {\n margin-bottom: -11px;\n}\n\n.hint--top-left:before, .hint--top-left:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top-left:before {\n left: calc(50% - 6px);\n}\n\n.hint--top-left:after {\n margin-left: 12px;\n transform: translateX(-100%);\n}\n\n.hint--top-left:hover:before {\n transform: translateY(-8px);\n}\n\n.hint--top-left:hover:after {\n transform: translateX(-100%)translateY(-8px);\n}\n\n.hint--top-right:before {\n margin-bottom: -11px;\n}\n\n.hint--top-right:before, .hint--top-right:after {\n bottom: 100%;\n left: 50%;\n}\n\n.hint--top-right:before {\n left: calc(50% - 6px);\n}\n\n.hint--top-right:after {\n margin-left: -12px;\n transform: translateX(0);\n}\n\n.hint--top-right:hover:before, .hint--top-right:hover:after {\n transform: translateY(-8px);\n}\n\n.hint--bottom-left:before {\n margin-top: -11px;\n}\n\n.hint--bottom-left:before, .hint--bottom-left:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom-left:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom-left:after {\n margin-left: 12px;\n transform: translateX(-100%);\n}\n\n.hint--bottom-left:hover:before {\n transform: translateY(8px);\n}\n\n.hint--bottom-left:hover:after {\n transform: translateX(-100%)translateY(8px);\n}\n\n.hint--bottom-right:before {\n margin-top: -11px;\n}\n\n.hint--bottom-right:before, .hint--bottom-right:after {\n top: 100%;\n left: 50%;\n}\n\n.hint--bottom-right:before {\n left: calc(50% - 6px);\n}\n\n.hint--bottom-right:after {\n margin-left: -12px;\n transform: translateX(0);\n}\n\n.hint--bottom-right:hover:before, .hint--bottom-right:hover:after {\n transform: translateY(8px);\n}\n\n.hint--small:after, .hint--medium:after, .hint--large:after {\n white-space: normal;\n word-wrap: break-word;\n line-height: 1.4em;\n}\n\n.hint--small:after {\n width: 80px;\n}\n\n.hint--medium:after {\n width: 150px;\n}\n\n.hint--large:after {\n width: 300px;\n}\n\n[class*=\"hint--\"]:after {\n text-shadow: 0 -1px #000;\n box-shadow: 4px 4px 8px #0000004d;\n}\n\n.hint--error:after {\n text-shadow: 0 -1px #592726;\n background-color: #b34e4d;\n}\n\n.hint--error.hint--top-left:before, .hint--error.hint--top-right:before, .hint--error.hint--top:before {\n border-top-color: #b34e4d;\n}\n\n.hint--error.hint--bottom-left:before, .hint--error.hint--bottom-right:before, .hint--error.hint--bottom:before {\n border-bottom-color: #b34e4d;\n}\n\n.hint--error.hint--left:before {\n border-left-color: #b34e4d;\n}\n\n.hint--error.hint--right:before {\n border-right-color: #b34e4d;\n}\n\n.hint--warning:after {\n text-shadow: 0 -1px #6c5328;\n background-color: #c09854;\n}\n\n.hint--warning.hint--top-left:before, .hint--warning.hint--top-right:before, .hint--warning.hint--top:before {\n border-top-color: #c09854;\n}\n\n.hint--warning.hint--bottom-left:before, .hint--warning.hint--bottom-right:before, .hint--warning.hint--bottom:before {\n border-bottom-color: #c09854;\n}\n\n.hint--warning.hint--left:before {\n border-left-color: #c09854;\n}\n\n.hint--warning.hint--right:before {\n border-right-color: #c09854;\n}\n\n.hint--info:after {\n text-shadow: 0 -1px #1a3c4d;\n background-color: #3986ac;\n}\n\n.hint--info.hint--top-left:before, .hint--info.hint--top-right:before, .hint--info.hint--top:before {\n border-top-color: #3986ac;\n}\n\n.hint--info.hint--bottom-left:before, .hint--info.hint--bottom-right:before, .hint--info.hint--bottom:before {\n border-bottom-color: #3986ac;\n}\n\n.hint--info.hint--left:before {\n border-left-color: #3986ac;\n}\n\n.hint--info.hint--right:before {\n border-right-color: #3986ac;\n}\n\n.hint--success:after {\n text-shadow: 0 -1px #1a321a;\n background-color: #458746;\n}\n\n.hint--success.hint--top-left:before, .hint--success.hint--top-right:before, .hint--success.hint--top:before {\n border-top-color: #458746;\n}\n\n.hint--success.hint--bottom-left:before, .hint--success.hint--bottom-right:before, .hint--success.hint--bottom:before {\n border-bottom-color: #458746;\n}\n\n.hint--success.hint--left:before {\n border-left-color: #458746;\n}\n\n.hint--success.hint--right:before {\n border-right-color: #458746;\n}\n\n.hint--always:after, .hint--always:before {\n opacity: 1;\n visibility: visible;\n}\n\n.hint--always.hint--top:before {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--top:after {\n transform: translateX(-50%)translateY(-8px);\n}\n\n.hint--always.hint--top-left:before {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--top-left:after {\n transform: translateX(-100%)translateY(-8px);\n}\n\n.hint--always.hint--top-right:before, .hint--always.hint--top-right:after {\n transform: translateY(-8px);\n}\n\n.hint--always.hint--bottom:before {\n transform: translateY(8px);\n}\n\n.hint--always.hint--bottom:after {\n transform: translateX(-50%)translateY(8px);\n}\n\n.hint--always.hint--bottom-left:before {\n transform: translateY(8px);\n}\n\n.hint--always.hint--bottom-left:after {\n transform: translateX(-100%)translateY(8px);\n}\n\n.hint--always.hint--bottom-right:before, .hint--always.hint--bottom-right:after {\n transform: translateY(8px);\n}\n\n.hint--always.hint--left:before, .hint--always.hint--left:after {\n transform: translateX(-8px);\n}\n\n.hint--always.hint--right:before, .hint--always.hint--right:after {\n transform: translateX(8px);\n}\n\n.hint--rounded:after {\n border-radius: 4px;\n}\n\n.hint--no-animate:before, .hint--no-animate:after {\n transition-duration: 0s;\n}\n\n.hint--bounce:before, .hint--bounce:after {\n -webkit-transition: opacity .3s, visibility .3s, -webkit-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n -moz-transition: opacity .3s, visibility .3s, -moz-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n transition: opacity .3s, visibility .3s, transform .3s cubic-bezier(.71, 1.7, .77, 1.24);\n}\n\n.hint--no-shadow:before, .hint--no-shadow:after {\n text-shadow: initial;\n box-shadow: initial;\n}\n\n.hint--no-arrow:before {\n display: none;\n}\n\n.art-video-player.art-mobile {\n --art-bottom-gap: 10px;\n --art-control-height: 38px;\n --art-control-icon-scale: 1;\n --art-state-size: 60px;\n --art-settings-scale: .85;\n --art-settings-max-height: 180px;\n --art-selector-max-height: 180px;\n --art-indicator-scale: 1;\n --art-control-opacity: 1;\n}\n\n.art-video-player.art-mobile .art-controls-left {\n margin-left: calc(var(--art-padding) / -1);\n}\n\n.art-video-player.art-mobile .art-controls-right {\n margin-right: calc(var(--art-padding) / -1);\n}\n\n"; },{}],"2tbdu":[function(require,module,exports) { !function(r, t) { @@ -5196,7 +5194,7 @@ function autoOrientation(art) { (0, _utils.addClass)($player, "art-auto-orientation"); art.isRotate = true; art.emit("resize"); - }, constructor.MOBILE_AUTO_ORIENTATION_TIME); + }, constructor.AUTO_ORIENTATION_TIME); } else if ((0, _utils.hasClass)($player, "art-auto-orientation")) { (0, _utils.removeClass)($player, "art-auto-orientation"); art.isRotate = false; diff --git a/docs/uncompiled/artplayer/index.js.map b/docs/uncompiled/artplayer/index.js.map index 1af510b21..d0ac6cca7 100644 --- a/docs/uncompiled/artplayer/index.js.map +++ b/docs/uncompiled/artplayer/index.js.map @@ -1 +1 @@ -{"mappings":"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","sources":["packages/artplayer/src/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-36399c71fd65785e.js","node_modules/option-validator/dist/option-validator.js","packages/artplayer/src/utils/emitter.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","packages/artplayer/src/utils/index.js","packages/artplayer/src/utils/dom.js","packages/artplayer/src/utils/compatibility.js","packages/artplayer/src/utils/error.js","packages/artplayer/src/utils/subtitle.js","packages/artplayer/src/utils/file.js","packages/artplayer/src/utils/property.js","packages/artplayer/src/utils/time.js","packages/artplayer/src/utils/format.js","packages/artplayer/src/scheme/index.js","packages/artplayer/src/config/index.js","packages/artplayer/src/whitelist.js","packages/artplayer/src/template.js","packages/artplayer/src/i18n/index.js","packages/artplayer/src/i18n/zh-cn.json","packages/artplayer/src/i18n/zh-tw.json","packages/artplayer/src/i18n/pl.json","packages/artplayer/src/i18n/cs.json","packages/artplayer/src/i18n/es.json","packages/artplayer/src/i18n/fa.json","packages/artplayer/src/i18n/fr.json","packages/artplayer/src/i18n/id.json","packages/artplayer/src/i18n/ru.json","packages/artplayer/src/player/index.js","packages/artplayer/src/player/urlMix.js","packages/artplayer/src/player/attrMix.js","packages/artplayer/src/player/playMix.js","packages/artplayer/src/player/pauseMix.js","packages/artplayer/src/player/toggleMix.js","packages/artplayer/src/player/seekMix.js","packages/artplayer/src/player/volumeMix.js","packages/artplayer/src/player/currentTimeMix.js","packages/artplayer/src/player/durationMix.js","packages/artplayer/src/player/switchMix.js","packages/artplayer/src/player/playbackRateMix.js","packages/artplayer/src/player/aspectRatioMix.js","packages/artplayer/src/player/screenshotMix.js","packages/artplayer/src/player/fullscreenMix.js","packages/artplayer/src/libs/screenfull.js","packages/artplayer/src/player/fullscreenWebMix.js","packages/artplayer/src/player/pipMix.js","packages/artplayer/src/player/loadedMix.js","packages/artplayer/src/player/playedMix.js","packages/artplayer/src/player/playingMix.js","packages/artplayer/src/player/autoSizeMix.js","packages/artplayer/src/player/rectMix.js","packages/artplayer/src/player/flipMix.js","packages/artplayer/src/player/miniMix.js","packages/artplayer/src/player/loopMix.js","packages/artplayer/src/player/posterMix.js","packages/artplayer/src/player/autoHeightMix.js","packages/artplayer/src/player/cssVarMix.js","packages/artplayer/src/player/themeMix.js","packages/artplayer/src/player/titleMix.js","packages/artplayer/src/player/typeMix.js","packages/artplayer/src/player/stateMix.js","packages/artplayer/src/player/subtitleOffsetMix.js","packages/artplayer/src/player/airplayMix.js","packages/artplayer/src/player/optionInit.js","packages/artplayer/src/player/eventInit.js","packages/artplayer/src/control/index.js","packages/artplayer/src/utils/component.js","packages/artplayer/src/control/fullscreen.js","packages/artplayer/src/control/fullscreenWeb.js","packages/artplayer/src/control/pip.js","packages/artplayer/src/control/playAndPause.js","packages/artplayer/src/control/progress.js","packages/artplayer/src/control/time.js","packages/artplayer/src/control/volume.js","packages/artplayer/src/control/setting.js","packages/artplayer/src/control/thumbnails.js","packages/artplayer/src/control/screenshot.js","packages/artplayer/src/control/quality.js","packages/artplayer/src/control/loop.js","packages/artplayer/src/control/airplay.js","packages/artplayer/src/contextmenu/index.js","packages/artplayer/src/contextmenu/playbackRate.js","packages/artplayer/src/contextmenu/aspectRatio.js","packages/artplayer/src/contextmenu/flip.js","packages/artplayer/src/contextmenu/info.js","packages/artplayer/src/contextmenu/version.js","packages/artplayer/src/contextmenu/close.js","packages/artplayer/src/info.js","packages/artplayer/src/subtitle.js","packages/artplayer/src/events/index.js","packages/artplayer/src/events/clickInit.js","packages/artplayer/src/events/hoverInit.js","packages/artplayer/src/events/moveInit.js","packages/artplayer/src/events/resizeInit.js","packages/artplayer/src/events/gestureInit.js","packages/artplayer/src/events/viewInit.js","packages/artplayer/src/events/documentInit.js","packages/artplayer/src/hotkey.js","packages/artplayer/src/layer.js","packages/artplayer/src/loading.js","packages/artplayer/src/notice.js","packages/artplayer/src/mask.js","packages/artplayer/src/icons/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-cc1465de590716c3.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7354687a49315faa.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-16dba6b497e57200.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-f488ca9613523a89.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-944df7462f092344.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-905e2a3a5bf8821e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7ca6634310de48a5.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-ead51c22e001d3e4.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5f406cb67e8ce068.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4c8d4bdd32e5eb21.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4e595cc5186a564d.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-c0889fbdfa73dc08.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-48946af7015cb1ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-424af5bfda438aed.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7214ee73e4711a3f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-d30b61330c0a5e8f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-aea71df79a337dd1.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-446c9535ee37c4cf.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-3e81c0d117284ebb.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-6be8b022bb1f1d0e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5ac93b92a83bb1c2.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bcccb383a7b6e33b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-472cc0769143224b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-714e675b41750899.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bfedbb03557d8834.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-900fbd1165be66ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-925c7dcd24de3b97.js","packages/artplayer/src/setting/index.js","packages/artplayer/src/setting/flip.js","packages/artplayer/src/setting/aspectRatio.js","packages/artplayer/src/setting/playbackRate.js","packages/artplayer/src/setting/subtitleOffset.js","packages/artplayer/src/storage.js","packages/artplayer/src/plugins/index.js","packages/artplayer/src/plugins/miniProgressBar.js","packages/artplayer/src/plugins/autoOrientation.js","packages/artplayer/src/plugins/autoPlayback.js","packages/artplayer/src/plugins/fastForward.js","packages/artplayer/src/plugins/lock.js","packages/artplayer/src/mobile.js"],"sourcesContent":["import style from 'bundle-text:./style/index.less';\nimport validator from 'option-validator';\nimport Emitter from './utils/emitter';\nimport * as utils from './utils';\nimport scheme from './scheme';\nimport config from './config';\nimport Whitelist from './whitelist';\nimport Template from './template';\nimport I18n from './i18n';\nimport Player from './player';\nimport Control from './control';\nimport Contextmenu from './contextmenu';\nimport Info from './info';\nimport Subtitle from './subtitle';\nimport Events from './events';\nimport Hotkey from './hotkey';\nimport Layer from './layer';\nimport Loading from './loading';\nimport Notice from './notice';\nimport Mask from './mask';\nimport Icons from './icons';\nimport Setting from './setting';\nimport Storage from './storage';\nimport Plugins from './plugins';\nimport Mobile from './mobile';\n\nlet id = 0;\nconst instances = [];\nexport default class Artplayer extends Emitter {\n constructor(option, readyCallback) {\n super();\n\n this.id = ++id;\n\n const mergeOption = utils.mergeDeep(Artplayer.option, option);\n mergeOption.container = option.container;\n\n this.option = validator(mergeOption, scheme);\n\n this.isLock = false;\n this.isReady = false;\n this.isFocus = false;\n this.isInput = false;\n this.isRotate = false;\n this.isDestroy = false;\n\n this.whitelist = new Whitelist(this);\n this.template = new Template(this);\n this.events = new Events(this);\n\n if (this.whitelist.state) {\n this.storage = new Storage(this);\n this.icons = new Icons(this);\n this.i18n = new I18n(this);\n this.notice = new Notice(this);\n this.player = new Player(this);\n this.layers = new Layer(this);\n this.controls = new Control(this);\n this.contextmenu = new Contextmenu(this);\n this.subtitle = new Subtitle(this);\n this.info = new Info(this);\n this.loading = new Loading(this);\n this.hotkey = new Hotkey(this);\n this.mask = new Mask(this);\n this.setting = new Setting(this);\n this.plugins = new Plugins(this);\n } else {\n this.mobile = new Mobile(this);\n }\n\n if (typeof readyCallback === 'function') {\n this.on('ready', () => readyCallback.call(this, this));\n }\n\n if (Artplayer.DEBUG) {\n const log = (msg) => console.log(`[ART.${this.id}] -> ${msg}`);\n log('Version@' + Artplayer.version);\n log('Env@' + Artplayer.env);\n log('Build@' + Artplayer.build);\n for (let index = 0; index < config.events.length; index++) {\n this.on('video:' + config.events[index], (event) => log('Event@' + event.type));\n }\n }\n\n instances.push(this);\n }\n\n static get instances() {\n return instances;\n }\n\n static get version() {\n return process.env.APP_VER;\n }\n\n static get env() {\n return process.env.NODE_ENV;\n }\n\n static get build() {\n return process.env.BUILD_DATE;\n }\n\n static get config() {\n return config;\n }\n\n static get utils() {\n return utils;\n }\n\n static get scheme() {\n return scheme;\n }\n\n static get Emitter() {\n return Emitter;\n }\n\n static get validator() {\n return validator;\n }\n\n static get kindOf() {\n return validator.kindOf;\n }\n\n static get html() {\n return Template.html;\n }\n\n static get option() {\n return {\n id: '',\n container: '#artplayer',\n url: '',\n poster: '',\n title: '',\n type: '',\n theme: '#f00',\n volume: 0.7,\n isLive: false,\n muted: false,\n autoplay: false,\n autoSize: false,\n autoMini: false,\n loop: false,\n flip: false,\n playbackRate: false,\n aspectRatio: false,\n screenshot: false,\n setting: false,\n hotkey: true,\n pip: false,\n mutex: true,\n backdrop: true,\n fullscreen: false,\n fullscreenWeb: false,\n subtitleOffset: false,\n miniProgressBar: false,\n useSSR: false,\n playsInline: true,\n lock: false,\n fastForward: false,\n autoPlayback: false,\n autoOrientation: false,\n airplay: false,\n layers: [],\n contextmenu: [],\n controls: [],\n settings: [],\n quality: [],\n highlight: [],\n plugins: [],\n whitelist: [],\n thumbnails: {\n url: '',\n number: 60,\n column: 10,\n width: 0,\n height: 0,\n },\n subtitle: {\n url: '',\n type: '',\n style: {},\n escape: true,\n encoding: 'utf-8',\n onVttLoad: (vtt) => vtt,\n },\n moreVideoAttr: {\n controls: false,\n preload: utils.isSafari ? 'auto' : 'metadata',\n },\n i18n: {},\n icons: {},\n cssVar: {},\n customType: {},\n lang: navigator.language.toLowerCase(),\n };\n }\n\n get proxy() {\n return this.events.proxy;\n }\n\n get query() {\n return this.template.query;\n }\n\n get video() {\n return this.template.$video;\n }\n\n destroy(removeHtml = true) {\n this.events.destroy();\n this.template.destroy(removeHtml);\n instances.splice(instances.indexOf(this), 1);\n this.isDestroy = true;\n this.emit('destroy');\n }\n}\n\nArtplayer.DEBUG = false;\nArtplayer.CONTEXTMENU = true;\nArtplayer.NOTICE_TIME = 2000;\nArtplayer.SETTING_WIDTH = 250;\nArtplayer.SETTING_ITEM_WIDTH = 200;\nArtplayer.SETTING_ITEM_HEIGHT = 35;\nArtplayer.RESIZE_TIME = 500;\nArtplayer.SCROLL_TIME = 200;\nArtplayer.SCROLL_GAP = 50;\nArtplayer.AUTO_PLAYBACK_MAX = 10;\nArtplayer.AUTO_PLAYBACK_MIN = 5;\nArtplayer.AUTO_PLAYBACK_TIMEOUT = 3000;\nArtplayer.RECONNECT_TIME_MAX = 5;\nArtplayer.RECONNECT_SLEEP_TIME = 1000;\nArtplayer.CONTROL_HIDE_TIME = 3000;\nArtplayer.DBCLICK_TIME = 300;\nArtplayer.DBCLICK_FULLSCREEN = true;\nArtplayer.MOBILE_DBCLICK_PLAY = true;\nArtplayer.MOBILE_CLICK_PLAY = false;\nArtplayer.MOBILE_AUTO_PLAYBACKRATE = 3;\nArtplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000;\nArtplayer.MOBILE_AUTO_ORIENTATION_TIME = 200;\nArtplayer.INFO_LOOP_TIME = 1000;\nArtplayer.FAST_FORWARD_VALUE = 3;\nArtplayer.FAST_FORWARD_TIME = 1000;\nArtplayer.TOUCH_MOVE_RATIO = 0.5;\nArtplayer.VOLUME_STEP = 0.1;\nArtplayer.SEEK_STEP = 5;\nArtplayer.PLAYBACK_RATE = [0.5, 0.75, 1, 1.25, 1.5, 2];\nArtplayer.ASPECT_RATIO = ['default', '4:3', '16:9'];\nArtplayer.FLIP = ['normal', 'horizontal', 'vertical'];\nArtplayer.FULLSCREEN_WEB_IN_BODY = false;\n\nif (typeof document !== 'undefined') {\n if (!document.getElementById('artplayer-style')) {\n const $style = utils.createElement('style');\n $style.id = 'artplayer-style';\n $style.textContent = style;\n document.head.appendChild($style);\n }\n}\n\nif (typeof window !== 'undefined') {\n window['Artplayer'] = Artplayer;\n}\n\nconsole.log(\n `%c ArtPlayer %c ${Artplayer.version} %c https://artplayer.org`,\n 'color: #fff; background: #5f5f5f',\n 'color: #fff; background: #4bc729',\n '',\n);\n","module.exports = \"028e47e77afa80d5\";","!function(r,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):r.optionValidator=t()}(this,function(){\"use strict\";function e(r){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&\"function\"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r})(r)}var n=Object.prototype.toString,c=function(r){if(void 0===r)return\"undefined\";if(null===r)return\"null\";var t=e(r);if(\"boolean\"===t)return\"boolean\";if(\"string\"===t)return\"string\";if(\"number\"===t)return\"number\";if(\"symbol\"===t)return\"symbol\";if(\"function\"===t)return function(r){return\"GeneratorFunction\"===o(r)}(r)?\"generatorfunction\":\"function\";if(function(r){return Array.isArray?Array.isArray(r):r instanceof Array}(r))return\"array\";if(function(r){if(r.constructor&&\"function\"==typeof r.constructor.isBuffer)return r.constructor.isBuffer(r);return!1}(r))return\"buffer\";if(function(r){try{if(\"number\"==typeof r.length&&\"function\"==typeof r.callee)return!0}catch(r){if(-1!==r.message.indexOf(\"callee\"))return!0}return!1}(r))return\"arguments\";if(function(r){return r instanceof Date||\"function\"==typeof r.toDateString&&\"function\"==typeof r.getDate&&\"function\"==typeof r.setDate}(r))return\"date\";if(function(r){return r instanceof Error||\"string\"==typeof r.message&&r.constructor&&\"number\"==typeof r.constructor.stackTraceLimit}(r))return\"error\";if(function(r){return r instanceof RegExp||\"string\"==typeof r.flags&&\"boolean\"==typeof r.ignoreCase&&\"boolean\"==typeof r.multiline&&\"boolean\"==typeof r.global}(r))return\"regexp\";switch(o(r)){case\"Symbol\":return\"symbol\";case\"Promise\":return\"promise\";case\"WeakMap\":return\"weakmap\";case\"WeakSet\":return\"weakset\";case\"Map\":return\"map\";case\"Set\":return\"set\";case\"Int8Array\":return\"int8array\";case\"Uint8Array\":return\"uint8array\";case\"Uint8ClampedArray\":return\"uint8clampedarray\";case\"Int16Array\":return\"int16array\";case\"Uint16Array\":return\"uint16array\";case\"Int32Array\":return\"int32array\";case\"Uint32Array\":return\"uint32array\";case\"Float32Array\":return\"float32array\";case\"Float64Array\":return\"float64array\"}if(function(r){return\"function\"==typeof r.throw&&\"function\"==typeof r.return&&\"function\"==typeof r.next}(r))return\"generator\";switch(t=n.call(r)){case\"[object Object]\":return\"object\";case\"[object Map Iterator]\":return\"mapiterator\";case\"[object Set Iterator]\":return\"setiterator\";case\"[object String Iterator]\":return\"stringiterator\";case\"[object Array Iterator]\":return\"arrayiterator\"}return t.slice(8,-1).toLowerCase().replace(/\\s/g,\"\")};function o(r){return r.constructor?r.constructor.name:null}function f(r,t){var e=2 item !== target);\n}\n\nexport function inverseClass(target, className) {\n sublings(target).forEach((item) => removeClass(item, className));\n addClass(target, className);\n}\n\nexport function tooltip(target, msg, pos = 'top') {\n if (isMobile) return;\n target.setAttribute('aria-label', msg);\n addClass(target, 'hint--rounded');\n addClass(target, `hint--${pos}`);\n}\n\nexport function isInViewport(el, offset = 0) {\n const rect = el.getBoundingClientRect();\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const vertInView = rect.top - offset <= windowHeight && rect.top + rect.height + offset >= 0;\n const horInView = rect.left - offset <= windowWidth + offset && rect.left + rect.width + offset >= 0;\n return vertInView && horInView;\n}\n\nexport function includeFromEvent(event, target) {\n return event.composedPath && event.composedPath().indexOf(target) > -1;\n}\n\nexport function replaceElement(newChild, oldChild) {\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n}\n\nexport function createElement(tag) {\n return document.createElement(tag);\n}\n\nexport function getIcon(key = '', html = '') {\n const icon = createElement('i');\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n append(icon, html);\n return icon;\n}\n","export const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '';\nexport const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent);\nexport const isWechat = /MicroMessenger/i.test(userAgent);\nexport const isIE = /MSIE|Trident/i.test(userAgent);\nexport const isAndroid = /android/i.test(userAgent);\nexport const isIOS = /iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream;\n","export class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n return condition;\n}\n","function fixSrt(srt) {\n return srt.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g, (_, $1, $2) => {\n let ms = $2.slice(0, 3);\n if ($2.length === 1) {\n ms = $2 + '00';\n }\n if ($2.length === 2) {\n ms = $2 + '0';\n }\n return `${$1},${ms}`;\n });\n}\n\nexport function srtToVtt(srtText) {\n return 'WEBVTT \\r\\n\\r\\n'.concat(\n fixSrt(srtText)\n .replace(/\\{\\\\([ibu])\\}/g, '')\n .replace(/\\{\\\\([ibu])1\\}/g, '<$1>')\n .replace(/\\{([ibu])\\}/g, '<$1>')\n .replace(/\\{\\/([ibu])\\}/g, '')\n .replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g, '$1.$2')\n .replace(/{[\\s\\S]*?}/g, '')\n .concat('\\r\\n\\r\\n'),\n );\n}\n\nexport function vttToBlob(vttText) {\n return URL.createObjectURL(\n new Blob([vttText], {\n type: 'text/vtt',\n }),\n );\n}\n\nexport function assToVtt(ass) {\n const reAss = new RegExp(\n 'Dialogue:\\\\s\\\\d,' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '([^,]*),' +\n '([^,]*),' +\n '(?:[^,]*,){4}' +\n '([\\\\s\\\\S]*)$',\n 'i',\n );\n\n function fixTime(time = '') {\n return time\n .split(/[:.]/)\n .map((item, index, arr) => {\n if (index === arr.length - 1) {\n if (item.length === 1) {\n return `.${item}00`;\n }\n\n if (item.length === 2) {\n return `.${item}0`;\n }\n } else if (item.length === 1) {\n return (index === 0 ? '0' : ':0') + item;\n }\n\n // eslint-disable-next-line no-nested-ternary\n return index === 0 ? item : index === arr.length - 1 ? `.${item}` : `:${item}`;\n })\n .join('');\n }\n\n return `WEBVTT\\n\\n${ass\n .split(/\\r?\\n/)\n .map((line) => {\n const m = line.match(reAss);\n if (!m) return null;\n return {\n start: fixTime(m[1].trim()),\n end: fixTime(m[2].trim()),\n text: m[5]\n .replace(/{[\\s\\S]*?}/g, '')\n .replace(/(\\\\N)/g, '\\n')\n .trim()\n .split(/\\r?\\n/)\n .map((item) => item.trim())\n .join('\\n'),\n };\n })\n .filter((line) => line)\n .map((line, index) => {\n if (line) {\n return `${index + 1}\\n${line.start} --> ${line.end}\\n${line.text}`;\n }\n return '';\n })\n .filter((line) => line.trim())\n .join('\\n\\n')}`;\n}\n","export function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url.trim().toLowerCase().split('.').pop();\n}\n\nexport function download(url, name) {\n const elink = document.createElement('a');\n elink.style.display = 'none';\n elink.href = url;\n elink.download = name;\n document.body.appendChild(elink);\n elink.click();\n document.body.removeChild(elink);\n}\n","export const def = Object.defineProperty;\n\nconst { hasOwnProperty } = Object.prototype;\nexport function has(obj, name) {\n return hasOwnProperty.call(obj, name);\n}\n\nexport function get(obj, name) {\n return Object.getOwnPropertyDescriptor(obj, name);\n}\n\nexport function mergeDeep(...objects) {\n const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(...oVal);\n } else if (isObject(pVal) && isObject(oVal)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n return prev;\n }, {});\n}\n","export function sleep(ms = 0) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function debounce(func, wait, context) {\n let timeout;\n function fn(...args) {\n const later = function later() {\n timeout = null;\n func.apply(context, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n fn.clearTimeout = function ct() {\n clearTimeout(timeout);\n };\n\n return fn;\n}\n\nexport function throttle(callback, delay) {\n let isThrottled = false;\n let args;\n let context;\n function fn(...args2) {\n if (isThrottled) {\n args = args2;\n context = this;\n return;\n }\n\n isThrottled = true;\n callback.apply(this, args2);\n setTimeout(() => {\n isThrottled = false;\n if (args) {\n fn.apply(context, args);\n args = null;\n context = null;\n }\n }, delay);\n }\n return fn;\n}\n","export function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function isStringOrNumber(val) {\n return ['string', 'number'].includes(typeof val);\n}\n\nexport function secondToTime(second) {\n const add0 = (num) => (num < 10 ? `0${num}` : String(num));\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n\nexport function escape(str) {\n return str.replace(\n /[&<>'\"]/g,\n (tag) =>\n ({\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"',\n }[tag] || tag),\n );\n}\n","import { errorHandle } from '../utils';\n\nconst a = 'array';\nconst b = 'boolean';\nconst s = 'string';\nconst n = 'number';\nconst o = 'object';\nconst f = 'function';\nconst r = 'regexp';\n\nfunction validElement(value, type, paths) {\n return errorHandle(\n type === s || type === n || value instanceof Element,\n `${paths.join('.')} require '${s}' or 'Element' type`,\n );\n}\n\nexport const ComponentOption = {\n html: validElement,\n disable: `?${b}`,\n name: `?${s}`,\n index: `?${n}`,\n style: `?${o}`,\n click: `?${f}`,\n mounted: `?${f}`,\n tooltip: `?${s}|${n}`,\n width: `?${n}`,\n selector: `?${a}`,\n onSelect: `?${f}`,\n switch: `?${b}`,\n onSwitch: `?${f}`,\n range: `?${a}`,\n onRange: `?${f}`,\n onChange: `?${f}`,\n};\n\nexport default {\n id: s,\n container: validElement,\n url: s,\n poster: s,\n title: s,\n type: s,\n theme: s,\n lang: s,\n volume: n,\n isLive: b,\n muted: b,\n autoplay: b,\n autoSize: b,\n autoMini: b,\n loop: b,\n flip: b,\n playbackRate: b,\n aspectRatio: b,\n screenshot: b,\n setting: b,\n hotkey: b,\n pip: b,\n mutex: b,\n backdrop: b,\n fullscreen: b,\n fullscreenWeb: b,\n subtitleOffset: b,\n miniProgressBar: b,\n useSSR: b,\n playsInline: b,\n lock: b,\n fastForward: b,\n autoPlayback: b,\n autoOrientation: b,\n airplay: b,\n plugins: [f],\n whitelist: [`${s}|${f}|${r}`],\n layers: [ComponentOption],\n contextmenu: [ComponentOption],\n settings: [ComponentOption],\n controls: [\n {\n ...ComponentOption,\n position: (value, _, paths) => {\n const position = ['top', 'left', 'right'];\n return errorHandle(\n position.includes(value),\n `${paths.join('.')} only accept ${position.toString()} as parameters`,\n );\n },\n },\n ],\n quality: [\n {\n default: `?${b}`,\n html: s,\n url: s,\n },\n ],\n highlight: [\n {\n time: n,\n text: s,\n },\n ],\n thumbnails: {\n url: s,\n number: n,\n column: n,\n width: n,\n height: n,\n },\n subtitle: {\n url: s,\n type: s,\n style: o,\n escape: b,\n encoding: s,\n onVttLoad: f,\n },\n moreVideoAttr: o,\n i18n: o,\n icons: o,\n cssVar: o,\n customType: o,\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume',\n ],\n methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting',\n ],\n prototypes: [\n 'width',\n 'height',\n 'videoWidth',\n 'videoHeight',\n 'poster',\n 'webkitDecodedFrameCount',\n 'webkitDroppedFrameCount',\n 'playsInline',\n 'webkitSupportsFullscreen',\n 'webkitDisplayingFullscreen',\n 'onenterpictureinpicture',\n 'onleavepictureinpicture',\n 'disablePictureInPicture',\n 'cancelVideoFrameCallback',\n 'requestVideoFrameCallback',\n 'getVideoPlaybackQuality',\n 'requestPictureInPicture',\n 'webkitEnterFullScreen',\n 'webkitEnterFullscreen',\n 'webkitExitFullScreen',\n 'webkitExitFullscreen',\n ],\n};\n","import { userAgent, isMobile } from './utils';\n\nexport default class Whitelist {\n constructor(art) {\n this.art = art;\n }\n\n get state() {\n const {\n option,\n constructor: { kindOf },\n } = this.art;\n\n return (\n !isMobile ||\n !option.whitelist.length ||\n option.whitelist.some((item) => {\n switch (kindOf(item)) {\n case 'string':\n return item === '*' || userAgent.indexOf(item) > -1;\n case 'function':\n return item(userAgent);\n case 'regexp':\n return item.test(userAgent);\n default:\n return false;\n }\n })\n );\n }\n}\n","import { errorHandle, query, addClass, replaceElement, isMobile } from './utils';\n\nexport default class Template {\n constructor(art) {\n this.art = art;\n const { option, constructor, whitelist } = art;\n\n if (option.container instanceof Element) {\n this.$container = option.container;\n } else {\n this.$container = query(option.container);\n errorHandle(this.$container, `No container element found by ${option.container}`);\n }\n\n const type = this.$container.tagName.toLowerCase();\n errorHandle(type === 'div', `Unsupported container element type, only support 'div' but got '${type}'`);\n\n errorHandle(\n constructor.instances.every((ins) => ins.template.$container !== this.$container),\n 'Cannot mount multiple instances on the same dom element',\n );\n\n this.query = this.query.bind(this);\n this.$container.dataset.artId = art.id;\n this.$original = this.$container.cloneNode(true);\n\n if (whitelist.state) {\n this.desktop();\n } else {\n this.mobile();\n }\n }\n\n static get html() {\n return `\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
${process.env.APP_VER}
\n
\n
\n
Video url:
\n
\n
\n
\n
Video volume:
\n
\n
\n
\n
Video time:
\n
\n
\n
\n
Video duration:
\n
\n
\n
\n
Video resolution:
\n
\n x \n
\n
\n
\n
[x]
\n
\n
\n
\n `;\n }\n\n query(className) {\n return query(className, this.$container);\n }\n\n desktop() {\n const { option } = this.art;\n\n if (!option.useSSR) {\n this.$container.innerHTML = Template.html;\n }\n\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n this.$track = this.query('track');\n this.$poster = this.query('.art-poster');\n this.$subtitle = this.query('.art-subtitle');\n this.$danmuku = this.query('.art-danmuku');\n this.$bottom = this.query('.art-bottom');\n this.$progress = this.query('.art-progress');\n this.$controls = this.query('.art-controls');\n this.$controlsLeft = this.query('.art-controls-left');\n this.$controlsCenter = this.query('.art-controls-center');\n this.$controlsRight = this.query('.art-controls-right');\n this.$layer = this.query('.art-layers');\n this.$loading = this.query('.art-loading');\n this.$notice = this.query('.art-notice');\n this.$noticeInner = this.query('.art-notice-inner');\n this.$mask = this.query('.art-mask');\n this.$state = this.query('.art-state');\n this.$setting = this.query('.art-settings');\n this.$info = this.query('.art-info');\n this.$infoPanel = this.query('.art-info-panel');\n this.$infoClose = this.query('.art-info-close');\n this.$contextmenu = this.query('.art-contextmenus');\n\n if (option.backdrop) {\n addClass(this.$player, 'art-backdrop');\n }\n\n if (isMobile) {\n addClass(this.$player, 'art-mobile');\n }\n }\n\n mobile() {\n this.$container.innerHTML = `\n
\n \n
\n `;\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n }\n\n destroy(removeHtml) {\n if (removeHtml) {\n replaceElement(this.$original, this.$container);\n } else {\n addClass(this.$player, 'art-destroy');\n }\n }\n}\n","import { mergeDeep } from '../utils';\nimport zhCn from './zh-cn.json';\nimport zhTw from './zh-tw.json';\nimport pl from './pl.json';\nimport cs from './cs.json';\nimport es from './es.json';\nimport fa from './fa.json';\nimport fr from './fr.json';\nimport id from './id.json';\nimport ru from './ru.json';\n\nexport default class I18n {\n constructor(art) {\n this.art = art;\n\n this.languages = {\n 'zh-cn': zhCn,\n 'zh-tw': zhTw,\n pl: pl,\n cs: cs,\n es: es,\n fa: fa,\n fr: fr,\n id: id,\n ru: ru,\n };\n\n this.update(art.option.i18n);\n }\n\n init() {\n const lang = this.art.option.lang.toLowerCase();\n this.language = this.languages[lang] || {};\n }\n\n get(key) {\n return this.language[key] || key;\n }\n\n update(value) {\n this.languages = mergeDeep(this.languages, value);\n this.init();\n }\n}\n","{\n \"Video Info\": \"统计信息\",\n \"Close\": \"关闭\",\n \"Video Load Failed\": \"加载失败\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暂停\",\n \"Rate\": \"速度\",\n \"Mute\": \"静音\",\n \"Video Flip\": \"画面翻转\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新连接\",\n \"Show Setting\": \"显示设置\",\n \"Hide Setting\": \"隐藏设置\",\n \"Screenshot\": \"截图\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"画面比例\",\n \"Default\": \"默认\",\n \"Normal\": \"正常\",\n \"Open\": \"打开\",\n \"Switch Video\": \"切换\",\n \"Switch Subtitle\": \"切换字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"网页全屏\",\n \"Exit Web Fullscreen\": \"退出网页全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"开启画中画\",\n \"Exit PIP Mode\": \"退出画中画\",\n \"PIP Not Supported\": \"不支持画中画\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳转播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"統計訊息\",\n \"Close\": \"關閉\",\n \"Video Load Failed\": \"載入失敗\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暫停\",\n \"Rate\": \"速度\",\n \"Mute\": \"靜音\",\n \"Video Flip\": \"畫面翻轉\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新連接\",\n \"Show Setting\": \"顯示设置\",\n \"Hide Setting\": \"隱藏设置\",\n \"Screenshot\": \"截圖\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"畫面比例\",\n \"Default\": \"默認\",\n \"Normal\": \"正常\",\n \"Open\": \"打開\",\n \"Switch Video\": \"切換\",\n \"Switch Subtitle\": \"切換字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"網頁全屏\",\n \"Exit Web Fullscreen\": \"退出網頁全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"開啟畫中畫\",\n \"Exit PIP Mode\": \"退出畫中畫\",\n \"PIP Not Supported\": \"不支持畫中畫\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳轉播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"Informacje o wideo\",\n \"Close\": \"Zamknij\",\n \"Video Load Failed\": \"Błąd ładowania wideo\",\n \"Volume\": \"Głośność\",\n \"Play\": \"Odtwórz\",\n \"Pause\": \"Wstrzymaj\",\n \"Rate\": \"Oceń\",\n \"Mute\": \"Wycisz\",\n \"Video Flip\": \"Rotacja wideo\",\n \"Horizontal\": \"Pozioma\",\n \"Vertical\": \"Pionowa\",\n \"Reconnect\": \"Połącz ponownie\",\n \"Show Setting\": \"Pokaż ustawienia\",\n \"Hide Setting\": \"Ukryj ustawienia\",\n \"Screenshot\": \"Zrzut ekranu\",\n \"Play Speed\": \"Prędkość odtwarzania\",\n \"Aspect Ratio\": \"Współczynnik proporcji\",\n \"Default\": \"Domyślny\",\n \"Normal\": \"Normalny\",\n \"Open\": \"Otwórz\",\n \"Switch Video\": \"Przełącz wideo\",\n \"Switch Subtitle\": \"Przełącz napisy\",\n \"Fullscreen\": \"Pełny ekran\",\n \"Exit Fullscreen\": \"Zamknij pełny ekran\",\n \"Web Fullscreen\": \"Tryb pełnej strony\",\n \"Exit Web Fullscreen\": \"Zamknij tryb pełnej strony\",\n \"Mini Player\": \"Miniodtwarzacz\",\n \"PIP Mode\": \"Tryb PiP\",\n \"Exit PIP Mode\": \"Zamknij tryb PiP\",\n \"PIP Not Supported\": \"Tryb PiP nieobsługiwany\",\n \"Fullscreen Not Supported\": \"Pełny ekran nieobsługiwany\",\n \"Subtitle Offset\": \"Przesunięcie napisów\",\n \"Last Seen\": \"Ostatnio widziany\",\n \"Jump Play\": \"Skocz do gry\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay nie jest dostępny\"\n}\n","{\n \"Video Info\": \"Info o videu\",\n \"Close\": \"Zavřít\",\n \"Video Load Failed\": \"Nahrání videa selhalo\",\n \"Volume\": \"Hlasitost\",\n \"Play\": \"Přehrát\",\n \"Pause\": \"Pozastavit\",\n \"Rate\": \"Hodnocení\",\n \"Mute\": \"Ztlumit\",\n \"Video Flip\": \"Otočit video\",\n \"Horizontal\": \"Horizontálně\",\n \"Vertical\": \"Vertikálně\",\n \"Reconnect\": \"Opětovné připojení\",\n \"Show Setting\": \"Zobrazit nastavení\",\n \"Hide Setting\": \"Skrýt nastavení\",\n \"Screenshot\": \"Snímek obrazovky\",\n \"Play Speed\": \"Rychlost přehrávání\",\n \"Aspect Ratio\": \"Poměr stran\",\n \"Default\": \"Výchozí\",\n \"Normal\": \"Normální\",\n \"Open\": \"Otevřít\",\n \"Switch Video\": \"Přepnout video\",\n \"Switch Subtitle\": \"Přepnout titulky\",\n \"Fullscreen\": \"Celá obrazovka\",\n \"Exit Fullscreen\": \"Opustit režim celé obrazovky\",\n \"Web Fullscreen\": \"Celá stránka\",\n \"Exit Web Fullscreen\": \"Zavřít režim celé stránky\",\n \"Mini Player\": \"Mini přehrávač\",\n \"PIP Mode\": \"Režim PIP\",\n \"Exit PIP Mode\": \"Opustit režim PIP\",\n \"PIP Not Supported\": \"Režim PIP není podporován\",\n \"Fullscreen Not Supported\": \"Režim celé obrazovky není podporován\",\n \"Subtitle Offset\": \"Posun titulků\",\n \"Last Seen\": \"Naposledy viděn\",\n \"Jump Play\": \"Hra na skok\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay není k dispozici\"\n}\n","{\n \"Video Info\": \"Información del video\",\n \"Close\": \"Cerrar\",\n \"Video Load Failed\": \"Falló carga de video\",\n \"Volume\": \"Volumen\",\n \"Play\": \"Reproduciendo\",\n \"Pause\": \"Pausa\",\n \"Rate\": \"Velocidad\",\n \"Mute\": \"Silencio\",\n \"Video Flip\": \"Rotar video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconectando\",\n \"Show Setting\": \"Mostrar ajustes\",\n \"Hide Setting\": \"Ocultar ajustes\",\n \"Screenshot\": \"Captura de Pantalla\",\n \"Play Speed\": \"Velocidad de reproducción\",\n \"Aspect Ratio\": \"Relación de aspecto\",\n \"Default\": \"Por defecto\",\n \"Normal\": \"Normal\",\n \"Open\": \"Abrir\",\n \"Switch Video\": \"Cambiar video\",\n \"Switch Subtitle\": \"Cambiar subtítulo\",\n \"Fullscreen\": \"Pantalla completa\",\n \"Exit Fullscreen\": \"Salir de Pantalla completa\",\n \"Web Fullscreen\": \"Pantalla completa Web\",\n \"Exit Web Fullscreen\": \"Salir de Pantalla completa\",\n \"Mini Player\": \"Mini reproductor\",\n \"PIP Mode\": \"Modo PiP\",\n \"Exit PIP Mode\": \"Cerrar modo PiP\",\n \"PIP Not Supported\": \"Modo PiP no compatible\",\n \"Fullscreen Not Supported\": \"Pantalla completa no soportada\",\n \"Subtitle Offset\": \"Ajuste subtítulo\",\n \"Last Seen\": \"Visto última vez\",\n \"Jump Play\": \"Saltar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay no disponible\"\n}\n","{\n \"Video Info\": \"اطلاعات ویدیو\",\n \"Close\": \"بستن\",\n \"Video Load Failed\": \"بارگذاری ناموفق\",\n \"Play\": \"پخش\",\n \"Volume\": \"میزان صدا\",\n \"Pause\": \"توقف\",\n \"Rate\": \"نرخ\",\n \"Mute\": \"سکوت\",\n \"Video Flip\": \"چرخش تصویر\",\n \"Horizontal\": \"افقی\",\n \"Vertical\": \"عمودی\",\n \"Reconnect\": \"اتصال مجدد\",\n \"Show Setting\": \"تنظیمات\",\n \"Hide Setting\": \"بستن تنظیمات\",\n \"Screenshot\": \"عکس از صفحه\",\n \"Play Speed\": \"سرعت پخش\",\n \"Aspect Ratio\": \"نسبت تصویر\",\n \"Default\": \"حالت پیشفرض\",\n \"Normal\": \" حالت عادی\",\n \"Open\": \"بازکردن\",\n \"Switch Video\": \"تغییر ویدیو\",\n \"Switch Subtitle\": \"نغییر زیرنویس\",\n \"Fullscreen\": \"تمام صفحه\",\n \"Exit Fullscreen\": \"کوچک کردن\",\n \"Web Fullscreen\": \"حالت تئاتر\",\n \"Exit Web Fullscreen\": \"خروج از حالت تئاتر\",\n \"Mini Player\": \"حالت پخش کوچک\",\n \"PIP Mode\": \" مینی پلیر\",\n \"Exit PIP Mode\": \"خروج از مینی پلیر\",\n \"PIP Not Supported\": \"عدم پشتیبانی از مینی پلیر\",\n \"Fullscreen Not Supported\": \"عدم پشتیبانی از حالت تمام صفحه\",\n \"Subtitle Offset\": \"افست زیرنویس\",\n \"Last Seen\": \"آخرین بازدید\",\n \"Jump Play\": \"جامپ پلی\",\n \"AirPlay\": \"ایر پلی\",\n \"AirPlay Not Available\": \"عدم پشتیبانی از ایرپلی\"\n}\n","{\n \"Video Info\": \"Informations de la vidéo\",\n \"Close\": \"Fermer\",\n \"Video Load Failed\": \"Téléchargement de la vidéo échoué\",\n \"Volume\": \"Volume\",\n \"Play\": \"Lire\",\n \"Pause\": \"Pause\",\n \"Rate\": \"Vitesse\",\n \"Mute\": \"Muet\",\n \"Video Flip\": \"Rotation de la vidéo\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconnexion\",\n \"Show Setting\": \"Afficher les paramètres\",\n \"Hide Setting\": \"Cacher les paramètres\",\n \"Screenshot\": \"Capture d'écran\",\n \"Play Speed\": \"Vitesse de lecture\",\n \"Aspect Ratio\": \"Rapport d'aspect\",\n \"Default\": \"Défaut\",\n \"Normal\": \"Normal\",\n \"Open\": \"Ouvrir\",\n \"Switch Video\": \"Basculer la vidéo\",\n \"Switch Subtitle\": \"Basculer le sous-titre\",\n \"Fullscreen\": \"Plein écran\",\n \"Exit Fullscreen\": \"Quitter le plein écran\",\n \"Web Fullscreen\": \"Plein écran Web\",\n \"Exit Web Fullscreen\": \"Quitter le plein écran Web\",\n \"Mini Player\": \"Mini lecteur\",\n \"PIP Mode\": \"Mode PiP\",\n \"Exit PIP Mode\": \"Fermer le mode PiP\",\n \"PIP Not Supported\": \"Mode PiP non supporté\",\n \"Fullscreen Not Supported\": \"Plein écran non supporté\",\n \"Subtitle Offset\": \"Réglage des sous-titres\",\n \"Last Seen\": \"Dernière position\",\n \"Jump Play\": \"Continuer\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay non disponible\"\n}\n","{\n \"Video Info\": \"Informasi Video\",\n \"Close\": \"Tutup\",\n \"Video Load Failed\": \"Gagal Memuat Video\",\n \"Volume\": \"Volume\",\n \"Play\": \"Putar\",\n \"Pause\": \"Jeda\",\n \"Rate\": \"Kecepatan\",\n \"Mute\": \"Senyap\",\n \"Video Flip\": \"Memutar Video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertikal\",\n \"Reconnect\": \"Menyambung Kembali\",\n \"Show Setting\": \"Tampilkan Pengaturan\",\n \"Hide Setting\": \"Sembunyikan Pengaturan\",\n \"Screenshot\": \"Tangkapan Layar\",\n \"Play Speed\": \"Kecepatan Putar\",\n \"Aspect Ratio\": \"Rasio Aspek\",\n \"Default\": \"Default\",\n \"Normal\": \"Normal\",\n \"Open\": \"Buka\",\n \"Switch Video\": \"Ganti Video\",\n \"Switch Subtitle\": \"Ganti Subtitle\",\n \"Fullscreen\": \"Layar Penuh\",\n \"Exit Fullscreen\": \"Keluar dari Layar Penuh\",\n \"Web Fullscreen\": \"Layar Penuh Web\",\n \"Exit Web Fullscreen\": \"Keluar dari Layar Penuh Web\",\n \"Mini Player\": \"Pemutar Mini\",\n \"PIP Mode\": \"Mode PIP\",\n \"Exit PIP Mode\": \"Keluar dari Mode PIP\",\n \"PIP Not Supported\": \"PIP Tidak Didukung\",\n \"Fullscreen Not Supported\": \"Layar Penuh Tidak Didukung\",\n \"Subtitle Offset\": \"Pergeseran Subtitle\",\n \"Last Seen\": \"Terakhir Dilihat\",\n \"Jump Play\": \"Lompat Putar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay Tidak Tersedia\"\n}\n","{\n \"Video Info\": \"Информация\",\n \"Close\": \"Закрыть\",\n \"Video Load Failed\": \"Ошибка загрузки видео\",\n \"Volume\": \"Громкость\",\n \"Play\": \"Играть\",\n \"Pause\": \"Пауза\",\n \"Rate\": \"Скорость\",\n \"Mute\": \"Заглушить\",\n \"Video Flip\": \"Развернуть видео\",\n \"Horizontal\": \"Горизонтально\",\n \"Vertical\": \"Вертикально\",\n \"Reconnect\": \"Переподключенине\",\n \"Show Setting\": \"Показать настройки\",\n \"Hide Setting\": \"Скрыть настройки\",\n \"Screenshot\": \"Скриншот\",\n \"Play Speed\": \"Скорость воспроизведения\",\n \"Aspect Ratio\": \"Соотношение сторон\",\n \"Default\": \"По-умолчанию\",\n \"Normal\": \"Нормальный\",\n \"Open\": \"Открыть\",\n \"Switch Video\": \"Переключить видео\",\n \"Switch Subtitle\": \"Переключить субтитры\",\n \"Fullscreen\": \"Полноэкранный режим\",\n \"Exit Fullscreen\": \"Выход из полноэкранного режима\",\n \"Web Fullscreen\": \"На все окно браузера\",\n \"Exit Web Fullscreen\": \"Выход из режима полного окна\",\n \"Mini Player\": \"Мини проигрыватель\",\n \"PIP Mode\": \"Картинка в картинке\",\n \"Exit PIP Mode\": \"Закрыть картинку в картинке\",\n \"PIP Not Supported\": \"Картинка в картинке не поддерживается\",\n \"Fullscreen Not Supported\": \"Полноэкранный режим не поддерживается\",\n \"Subtitle Offset\": \"Настройка субтитров\",\n \"Last Seen\": \"Последнее просмотренное\",\n \"Jump Play\": \"Перейти\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay недоступен\"\n}\n","import urlMix from './urlMix';\nimport attrMix from './attrMix';\nimport playMix from './playMix';\nimport pauseMix from './pauseMix';\nimport toggleMix from './toggleMix';\nimport seekMix from './seekMix';\nimport volumeMix from './volumeMix';\nimport currentTimeMix from './currentTimeMix';\nimport durationMix from './durationMix';\nimport switchMix from './switchMix';\nimport playbackRateMix from './playbackRateMix';\nimport aspectRatioMix from './aspectRatioMix';\nimport screenshotMix from './screenshotMix';\nimport fullscreenMix from './fullscreenMix';\nimport fullscreenWebMix from './fullscreenWebMix';\nimport pipMix from './pipMix';\nimport loadedMix from './loadedMix';\nimport playedMix from './playedMix';\nimport playingMix from './playingMix';\nimport autoSizeMix from './autoSizeMix';\nimport rectMix from './rectMix';\nimport flipMix from './flipMix';\nimport miniMix from './miniMix';\nimport loopMix from './loopMix';\nimport posterMix from './posterMix';\nimport autoHeightMix from './autoHeightMix';\nimport cssVarMix from './cssVarMix';\nimport themeMix from './themeMix';\nimport titleMix from './titleMix';\nimport typeMix from './typeMix';\nimport stateMix from './stateMix';\nimport subtitleOffsetMix from './subtitleOffsetMix';\nimport airplayMix from './airplayMix';\nimport optionInit from './optionInit';\nimport eventInit from './eventInit';\n\nexport default class Player {\n constructor(art) {\n urlMix(art);\n attrMix(art);\n playMix(art);\n pauseMix(art);\n toggleMix(art);\n seekMix(art);\n volumeMix(art);\n currentTimeMix(art);\n durationMix(art);\n switchMix(art);\n playbackRateMix(art);\n aspectRatioMix(art);\n screenshotMix(art);\n fullscreenMix(art);\n fullscreenWebMix(art);\n pipMix(art);\n loadedMix(art);\n playedMix(art);\n playingMix(art);\n autoSizeMix(art);\n rectMix(art);\n flipMix(art);\n miniMix(art);\n loopMix(art);\n posterMix(art);\n autoHeightMix(art);\n cssVarMix(art);\n themeMix(art);\n titleMix(art);\n typeMix(art);\n stateMix(art);\n subtitleOffsetMix(art);\n airplayMix(art);\n eventInit(art);\n optionInit(art);\n }\n}\n","import { getExt, def, sleep } from '../utils';\n\nexport default function urlMix(art) {\n const {\n option,\n template: { $video },\n } = art;\n\n def(art, 'url', {\n get() {\n return $video.src;\n },\n async set(url) {\n if (url) {\n const oldUrl = art.url;\n const typeName = option.type || getExt(url);\n const typeCallback = option.customType[typeName];\n\n if (typeName && typeCallback) {\n await sleep();\n art.loading.show = true;\n typeCallback.call(art, $video, url, art);\n } else {\n $video.src = url;\n }\n\n if (oldUrl !== art.url) {\n art.option.url = url;\n if (art.isReady && oldUrl) {\n art.once('video:canplay', () => {\n art.emit('restart', url);\n });\n }\n }\n } else {\n await sleep();\n art.loading.show = true;\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function attrMix(art) {\n const {\n template: { $video },\n } = art;\n\n def(art, 'attr', {\n value(key, value) {\n if (value === undefined) return $video[key];\n $video[key] = value;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playMix(art) {\n const {\n i18n,\n notice,\n option,\n constructor: { instances },\n template: { $video },\n } = art;\n\n def(art, 'play', {\n value: async function () {\n const result = await $video.play();\n notice.show = i18n.get('Play');\n art.emit('play');\n\n if (option.mutex) {\n for (let index = 0; index < instances.length; index++) {\n const instance = instances[index];\n if (instance !== art) {\n instance.pause();\n }\n }\n }\n\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function pauseMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'pause', {\n value() {\n const result = $video.pause();\n notice.show = i18n.get('Pause');\n art.emit('pause');\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function toggleMix(art) {\n def(art, 'toggle', {\n value() {\n if (art.playing) {\n return art.pause();\n } else {\n return art.play();\n }\n },\n });\n}\n","import { secondToTime, def } from '../utils';\n\nexport default function seekMix(art) {\n const { notice } = art;\n\n def(art, 'seek', {\n set(time) {\n art.currentTime = time;\n art.emit('seek', art.currentTime);\n if (art.duration) {\n notice.show = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n }\n },\n });\n\n def(art, 'forward', {\n set(time) {\n art.seek = art.currentTime + time;\n },\n });\n\n def(art, 'backward', {\n set(time) {\n art.seek = art.currentTime - time;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function volumeMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n storage,\n } = art;\n\n def(art, 'volume', {\n get: () => $video.volume || 0,\n set: (percentage) => {\n $video.volume = clamp(percentage, 0, 1);\n notice.show = `${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`;\n if ($video.volume !== 0) {\n storage.set('volume', $video.volume);\n }\n },\n });\n\n def(art, 'muted', {\n get: () => $video.muted,\n set: (muted) => {\n $video.muted = muted;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function currentTimeMix(art) {\n const { $video } = art.template;\n\n def(art, 'currentTime', {\n get: () => $video.currentTime || 0,\n set: (time) => {\n time = parseFloat(time);\n if (Number.isNaN(time)) return;\n $video.currentTime = clamp(time, 0, art.duration);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function durationMix(art) {\n def(art, 'duration', {\n get: () => {\n const { duration } = art.template.$video;\n if (duration === Infinity) return 0;\n return duration || 0;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function switchMix(art) {\n const { i18n, option, notice } = art;\n\n function switchUrl(url, name, currentTime) {\n return new Promise((resolve) => {\n if (url === art.url) return resolve(url);\n const { playing } = art;\n art.pause();\n URL.revokeObjectURL(art.url);\n art.url = url;\n art.once('video:canplay', () => {\n art.playbackRate = false;\n art.aspectRatio = false;\n art.flip = 'normal';\n art.autoSize = option.autoSize;\n art.currentTime = currentTime;\n art.notice.show = '';\n if (playing) {\n art.play();\n }\n if (name) {\n notice.show = `${i18n.get('Switch Video')}: ${name}`;\n }\n resolve(url);\n });\n });\n }\n\n def(art, 'switchQuality', {\n value: (url, name) => {\n return switchUrl(url, name, art.currentTime);\n },\n });\n\n def(art, 'switchUrl', {\n value: (url, name) => {\n return switchUrl(url, name, 0);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playbackRateMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'playbackRate', {\n get() {\n return $video.playbackRate;\n },\n set(rate) {\n if (rate) {\n if (rate === $video.playbackRate) return;\n $video.playbackRate = rate;\n notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;\n } else {\n art.playbackRate = 1;\n }\n },\n });\n}\n","import { setStyle, def } from '../utils';\n\nexport default function aspectRatioMix(art) {\n const {\n template: { $video, $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'aspectRatio', {\n get() {\n return $player.dataset.aspectRatio || 'default';\n },\n set(ratio) {\n if (!ratio) ratio = 'default';\n if (ratio === 'default') {\n setStyle($video, 'width', null);\n setStyle($video, 'height', null);\n setStyle($video, 'padding', null);\n delete $player.dataset.aspectRatio;\n } else {\n const ratioArray = ratio.split(':').map(Number);\n const { videoWidth, videoHeight } = $video;\n const { clientWidth, clientHeight } = $player;\n const videoRatio = videoWidth / videoHeight;\n const setupRatio = ratioArray[0] / ratioArray[1];\n if (videoRatio > setupRatio) {\n const percentage = (setupRatio * videoHeight) / videoWidth;\n setStyle($video, 'width', `${percentage * 100}%`);\n setStyle($video, 'height', '100%');\n setStyle($video, 'padding', `0 ${(clientWidth - clientWidth * percentage) / 2}px`);\n } else {\n const percentage = videoWidth / setupRatio / videoHeight;\n setStyle($video, 'width', '100%');\n setStyle($video, 'height', `${percentage * 100}%`);\n setStyle($video, 'padding', `${(clientHeight - clientHeight * percentage) / 2}px 0`);\n }\n $player.dataset.aspectRatio = ratio;\n }\n\n notice.show = `${i18n.get('Aspect Ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`;\n art.emit('aspectRatio', ratio);\n },\n });\n\n def(art, 'aspectRatioReset', {\n value() {\n const { aspectRatio } = art;\n art.aspectRatio = aspectRatio;\n },\n });\n}\n","import { secondToTime, download, def, createElement } from '../utils';\n\nexport default function screenshotMix(art) {\n const {\n option,\n notice,\n template: { $video },\n } = art;\n\n const $canvas = createElement('canvas');\n\n def(art, 'getDataURL', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n resolve($canvas.toDataURL('image/png'));\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'getBlobUrl', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n $canvas.toBlob((blob) => {\n resolve(URL.createObjectURL(blob));\n });\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'screenshot', {\n value: async () => {\n const dataUri = await art.getDataURL();\n download(dataUri, `${option.title || 'artplayer'}_${secondToTime($video.currentTime)}.png`);\n art.emit('screenshot', dataUri);\n return dataUri;\n },\n });\n}\n","import screenfull from '../libs/screenfull';\nimport { addClass, removeClass, def, get } from '../utils';\n\nexport default function fullscreenMix(art) {\n const {\n i18n,\n notice,\n template: { $video, $player },\n } = art;\n\n const nativeScreenfull = (art) => {\n screenfull.on('change', () => {\n art.emit('fullscreen', screenfull.isFullscreen);\n });\n\n def(art, 'fullscreen', {\n get() {\n return screenfull.isFullscreen;\n },\n async set(value) {\n if (value) {\n art.state = 'fullscreen';\n art.aspectRatioReset();\n art.autoSize = false;\n await screenfull.request($player);\n addClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n } else {\n art.aspectRatioReset();\n art.autoSize = art.option.autoSize;\n await screenfull.exit();\n removeClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n }\n },\n });\n };\n\n const webkitScreenfull = (art) => {\n def(art, 'fullscreen', {\n get() {\n return $video.webkitDisplayingFullscreen;\n },\n set(value) {\n if (value) {\n art.state = 'fullscreen';\n $video.webkitEnterFullscreen();\n art.emit('fullscreen', true);\n notice.show = '';\n } else {\n $video.webkitExitFullscreen();\n art.emit('fullscreen', false);\n notice.show = '';\n }\n },\n });\n };\n\n art.once('video:loadedmetadata', () => {\n if (screenfull.isEnabled) {\n nativeScreenfull(art);\n } else if (document.fullscreenEnabled || $video.webkitSupportsFullscreen) {\n webkitScreenfull(art);\n } else {\n def(art, 'fullscreen', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('Fullscreen Not Supported');\n },\n });\n }\n\n // Asynchronous setting\n def(art, 'fullscreen', get(art, 'fullscreen'));\n });\n}\n","const methodMap = [\n [\n 'requestFullscreen',\n 'exitFullscreen',\n 'fullscreenElement',\n 'fullscreenEnabled',\n 'fullscreenchange',\n 'fullscreenerror',\n ],\n // New WebKit\n [\n 'webkitRequestFullscreen',\n 'webkitExitFullscreen',\n 'webkitFullscreenElement',\n 'webkitFullscreenEnabled',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n // Old WebKit\n [\n 'webkitRequestFullScreen',\n 'webkitCancelFullScreen',\n 'webkitCurrentFullScreenElement',\n 'webkitCancelFullScreen',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n [\n 'mozRequestFullScreen',\n 'mozCancelFullScreen',\n 'mozFullScreenElement',\n 'mozFullScreenEnabled',\n 'mozfullscreenchange',\n 'mozfullscreenerror',\n ],\n [\n 'msRequestFullscreen',\n 'msExitFullscreen',\n 'msFullscreenElement',\n 'msFullscreenEnabled',\n 'MSFullscreenChange',\n 'MSFullscreenError',\n ],\n];\n\nconst nativeAPI = (() => {\n if (typeof document === 'undefined') {\n return false;\n }\n\n const unprefixedMethods = methodMap[0];\n const returnValue = {};\n\n for (const methodList of methodMap) {\n const exitFullscreenMethod = methodList[1];\n if (exitFullscreenMethod in document) {\n for (const [index, method] of methodList.entries()) {\n returnValue[unprefixedMethods[index]] = method;\n }\n\n return returnValue;\n }\n }\n\n return false;\n})();\n\nconst eventNameMap = {\n change: nativeAPI.fullscreenchange,\n error: nativeAPI.fullscreenerror,\n};\n\nlet screenfull = {\n request(element = document.documentElement, options) {\n return new Promise((resolve, reject) => {\n const onFullScreenEntered = () => {\n screenfull.off('change', onFullScreenEntered);\n resolve();\n };\n\n screenfull.on('change', onFullScreenEntered);\n\n const returnPromise = element[nativeAPI.requestFullscreen](options);\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit() {\n return new Promise((resolve, reject) => {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n\n const onFullScreenExit = () => {\n screenfull.off('change', onFullScreenExit);\n resolve();\n };\n\n screenfull.on('change', onFullScreenExit);\n\n const returnPromise = document[nativeAPI.exitFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n toggle(element, options) {\n return screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n },\n onchange(callback) {\n screenfull.on('change', callback);\n },\n onerror(callback) {\n screenfull.on('error', callback);\n },\n on(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback, false);\n }\n },\n off(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback, false);\n }\n },\n raw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n isFullscreen: {\n get: () => Boolean(document[nativeAPI.fullscreenElement]),\n },\n element: {\n enumerable: true,\n get: () => document[nativeAPI.fullscreenElement],\n },\n isEnabled: {\n enumerable: true,\n get: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n },\n});\n\nif (!nativeAPI) {\n screenfull = { isEnabled: false };\n}\n\nexport default screenfull;\n","import { addClass, removeClass, hasClass, def, append } from '../utils';\n\nexport default function fullscreenWebMix(art) {\n const {\n option,\n notice,\n constructor,\n template: { $container, $player },\n } = art;\n\n let cssText = '';\n def(art, 'fullscreenWeb', {\n get() {\n return hasClass($player, 'art-fullscreen-web');\n },\n set(value) {\n if (value) {\n cssText = $player.style.cssText;\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append(document.body, $player);\n }\n art.state = 'fullscreenWeb';\n addClass($player, 'art-fullscreen-web');\n art.aspectRatioReset();\n art.autoSize = false;\n art.emit('resize');\n art.emit('fullscreenWeb', true);\n notice.show = '';\n } else {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append($container, $player);\n }\n if (cssText) {\n $player.style.cssText = cssText;\n cssText = '';\n }\n removeClass($player, 'art-fullscreen-web');\n art.aspectRatioReset();\n art.autoSize = option.autoSize;\n art.emit('resize');\n art.emit('fullscreenWeb', false);\n notice.show = '';\n }\n },\n });\n}\n","import { def } from '../utils';\n\nfunction nativePip(art) {\n const {\n template: { $video },\n proxy,\n notice,\n } = art;\n\n $video.disablePictureInPicture = false;\n\n def(art, 'pip', {\n get() {\n return document.pictureInPictureElement;\n },\n set(value) {\n if (value) {\n art.state = 'pip';\n $video.requestPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n } else {\n document.exitPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n },\n });\n\n proxy($video, 'enterpictureinpicture', () => {\n art.emit('pip', true);\n });\n\n proxy($video, 'leavepictureinpicture', () => {\n art.emit('pip', false);\n });\n}\n\nfunction webkitPip(art) {\n const { $video } = art.template;\n\n $video.webkitSetPresentationMode('inline');\n\n def(art, 'pip', {\n get() {\n return $video.webkitPresentationMode === 'picture-in-picture';\n },\n set(value) {\n if (value) {\n art.state = 'pip';\n $video.webkitSetPresentationMode('picture-in-picture');\n art.emit('pip', true);\n } else {\n $video.webkitSetPresentationMode('inline');\n art.emit('pip', false);\n }\n },\n });\n}\n\nexport default function pipMix(art) {\n const {\n i18n,\n notice,\n template: { $video },\n } = art;\n if (document.pictureInPictureEnabled) {\n nativePip(art);\n } else if ($video.webkitSupportsPresentationMode) {\n webkitPip(art);\n } else {\n def(art, 'pip', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('PIP Not Supported');\n },\n });\n }\n}\n","import { def } from '../utils';\n\nexport default function seekMix(art) {\n const { $video } = art.template;\n\n def(art, 'loaded', {\n get: () => art.loadedTime / $video.duration,\n });\n\n def(art, 'loadedTime', {\n get: () => ($video.buffered.length ? $video.buffered.end($video.buffered.length - 1) : 0),\n });\n}\n","import { def } from '../utils';\n\nexport default function playedMix(art) {\n def(art, 'played', {\n get: () => art.currentTime / art.duration,\n });\n}\n","import { def } from '../utils';\n\nexport default function playingMix(art) {\n const { $video } = art.template;\n def(art, 'playing', {\n get: () => !!($video.currentTime > 0 && !$video.paused && !$video.ended && $video.readyState > 2),\n });\n}\n","import { setStyle, addClass, removeClass, hasClass, def } from '../utils';\n\nexport default function resizeMix(art) {\n const { $container, $player, $video } = art.template;\n\n def(art, 'autoSize', {\n get() {\n return hasClass($container, 'art-auto-size');\n },\n set(value) {\n if (value) {\n const { videoWidth, videoHeight } = $video;\n const { width, height } = $container.getBoundingClientRect();\n const videoRatio = videoWidth / videoHeight;\n const containerRatio = width / height;\n addClass($container, 'art-auto-size');\n if (containerRatio > videoRatio) {\n const percentage = ((height * videoRatio) / width) * 100;\n setStyle($player, 'width', `${percentage}%`);\n setStyle($player, 'height', '100%');\n } else {\n const percentage = (width / videoRatio / height) * 100;\n setStyle($player, 'width', '100%');\n setStyle($player, 'height', `${percentage}%`);\n }\n art.emit('autoSize', {\n width: art.width,\n height: art.height,\n });\n } else {\n removeClass($container, 'art-auto-size');\n setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n art.emit('autoSize');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function rectMix(art) {\n def(art, 'rect', {\n get: () => {\n return art.template.$player.getBoundingClientRect();\n },\n });\n\n const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n for (let index = 0; index < keys.length; index++) {\n const key = keys[index];\n def(art, key, {\n get: () => {\n return art.rect[key];\n },\n });\n }\n\n def(art, 'x', {\n get: () => {\n return art.left + window.pageXOffset;\n },\n });\n\n def(art, 'y', {\n get: () => {\n return art.top + window.pageYOffset;\n },\n });\n}\n","import { def, capitalize } from '../utils';\n\nexport default function flipMix(art) {\n const {\n template: { $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'flip', {\n get() {\n return $player.dataset.flip || 'normal';\n },\n set(flip) {\n if (!flip) flip = 'normal';\n if (flip === 'normal') {\n delete $player.dataset.flip;\n } else {\n $player.dataset.flip = flip;\n }\n\n notice.show = `${i18n.get('Video Flip')}: ${i18n.get(capitalize(flip))}`;\n art.emit('flip', flip);\n },\n });\n}\n","import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport, createElement } from '../utils';\n\nexport default function miniMix(art) {\n const {\n icons,\n proxy,\n storage,\n template: { $player, $video },\n } = art;\n\n let isDroging = false;\n let lastPageX = 0;\n let lastPageY = 0;\n\n function hideMini() {\n const { $mini } = art.template;\n if ($mini) {\n removeClass($player, 'art-mini');\n setStyle($mini, 'display', 'none');\n $player.prepend($video);\n art.emit('mini', false);\n }\n }\n\n function initState($play, $pause) {\n if (art.playing) {\n setStyle($play, 'display', `none`);\n setStyle($pause, 'display', `flex`);\n } else {\n setStyle($play, 'display', `flex`);\n setStyle($pause, 'display', `none`);\n }\n }\n\n function createMini() {\n const { $mini } = art.template;\n if ($mini) {\n append($mini, $video);\n return setStyle($mini, 'display', 'flex');\n } else {\n const $mini = createElement('div');\n addClass($mini, 'art-mini-popup');\n append(document.body, $mini);\n art.template.$mini = $mini;\n append($mini, $video);\n\n const $close = append($mini, `
`);\n append($close, icons.close);\n proxy($close, 'click', hideMini);\n\n const $state = append($mini, `
`);\n const $play = append($state, icons.play);\n const $pause = append($state, icons.pause);\n proxy($play, 'click', () => art.play());\n proxy($pause, 'click', () => art.pause());\n initState($play, $pause);\n art.on('video:playing', () => initState($play, $pause));\n art.on('video:pause', () => initState($play, $pause));\n art.on('video:timeupdate', () => initState($play, $pause));\n\n proxy($mini, 'mousedown', (event) => {\n isDroging = event.button === 0;\n lastPageX = event.pageX;\n lastPageY = event.pageY;\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n addClass($mini, 'art-mini-droging');\n const x = event.pageX - lastPageX;\n const y = event.pageY - lastPageY;\n setStyle($mini, 'transform', `translate(${x}px, ${y}px)`);\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n removeClass($mini, 'art-mini-droging');\n const rect = $mini.getBoundingClientRect();\n storage.set('left', rect.left);\n storage.set('top', rect.top);\n setStyle($mini, 'left', `${rect.left}px`);\n setStyle($mini, 'top', `${rect.top}px`);\n setStyle($mini, 'transform', null);\n }\n });\n\n return $mini;\n }\n }\n\n function initMini() {\n const { $mini } = art.template;\n const rect = $mini.getBoundingClientRect();\n const top = window.innerHeight - rect.height - 50;\n const left = window.innerWidth - rect.width - 50;\n storage.set('top', top);\n storage.set('left', left);\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n }\n\n def(art, 'mini', {\n get() {\n return hasClass($player, 'art-mini');\n },\n set(value) {\n if (value) {\n addClass($player, 'art-mini');\n const $mini = createMini();\n const top = storage.get('top');\n const left = storage.get('left');\n if (top && left) {\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n if (!isInViewport($mini)) {\n initMini();\n }\n } else {\n initMini();\n }\n art.emit('mini', true);\n } else {\n hideMini();\n }\n },\n });\n}\n","import { def, clamp } from '../utils';\n\nexport default function loopMix(art) {\n let interval = [];\n def(art, 'loop', {\n get: () => interval,\n set: (value) => {\n if (Array.isArray(value) && typeof value[0] === 'number' && typeof value[1] === 'number') {\n const start = clamp(value[0], 0, Math.min(value[1], art.duration));\n const end = clamp(value[1], start, art.duration);\n if (end - start >= 1) {\n interval = [start, end];\n } else {\n interval = [];\n }\n } else {\n interval = [];\n }\n art.emit('loop', interval);\n },\n });\n\n art.on('video:timeupdate', () => {\n if (interval.length) {\n if (art.currentTime < interval[0] || art.currentTime > interval[1]) {\n art.seek = interval[0];\n }\n }\n });\n}\n","import { def, setStyle } from '../utils';\n\nexport default function posterMix(art) {\n const {\n option,\n template: { $poster },\n } = art;\n\n def(art, 'poster', {\n get: () => option.poster,\n set(url) {\n option.poster = url;\n setStyle($poster, 'backgroundImage', `url(${url})`);\n },\n });\n}\n","import { setStyle, hasClass, addClass, removeClass, def } from '../utils';\n\nexport default function autoHeightMix(art) {\n const {\n option,\n template: { $container, $video },\n } = art;\n\n const heightCache = $container.style.height;\n\n def(art, 'autoHeight', {\n get() {\n return hasClass($container, 'art-auto-height');\n },\n set(value) {\n if (value) {\n const { clientWidth } = $container;\n const { videoHeight, videoWidth } = $video;\n const height = videoHeight * (clientWidth / videoWidth);\n setStyle($container, 'height', height + 'px');\n addClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight', height);\n } else {\n setStyle($container, 'height', heightCache);\n removeClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function cssVarMix(art) {\n const { $player } = art.template;\n\n def(art, 'cssVar', {\n value(key, value) {\n if (value) {\n return $player.style.setProperty(key, value);\n } else {\n return getComputedStyle($player).getPropertyValue(key);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function themeMix(art) {\n const { option } = art;\n\n def(art, 'theme', {\n get() {\n return art.cssProperty('--art-theme');\n },\n set(theme) {\n option.theme = theme;\n art.cssProperty('--art-theme', theme);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function titleMix(art) {\n def(art, 'title', {\n get() {\n return art.option.title;\n },\n set(title) {\n art.option.title = title;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function typeMix(art) {\n def(art, 'type', {\n get() {\n return art.option.type;\n },\n set(type) {\n art.option.type = type;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function stateMix(art) {\n const states = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];\n def(art, 'state', {\n get: () => states.find((name) => art[name]) || 'standard',\n set(name) {\n for (let index = 0; index < states.length; index++) {\n const prop = states[index];\n if (prop !== name && art[prop]) {\n art[prop] = false;\n }\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function subtitleOffsetMix(art) {\n const { clamp } = art.constructor.utils;\n const { notice, template, i18n } = art;\n\n let offsetCache = 0;\n let cuesCache = [];\n art.on('subtitle:switch', () => {\n cuesCache = [];\n });\n\n def(art, 'subtitleOffset', {\n get() {\n return offsetCache;\n },\n set(value) {\n if (template.$track && template.$track.track) {\n const cues = Array.from(template.$track.track.cues);\n offsetCache = clamp(value, -5, 5);\n\n for (let index = 0; index < cues.length; index++) {\n const cue = cues[index];\n if (!cuesCache[index]) {\n cuesCache[index] = {\n startTime: cue.startTime,\n endTime: cue.endTime,\n };\n }\n cue.startTime = clamp(cuesCache[index].startTime + offsetCache, 0, art.duration);\n cue.endTime = clamp(cuesCache[index].endTime + offsetCache, 0, art.duration);\n }\n\n art.subtitle.update();\n notice.show = `${i18n.get('Subtitle Offset')}: ${value}s`;\n art.emit('subtitleOffset', value);\n } else {\n art.emit('subtitleOffset', 0);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function airplayMix(art) {\n const {\n i18n,\n notice,\n proxy,\n template: { $video },\n } = art;\n\n let available = true;\n\n if (window.WebKitPlaybackTargetAvailabilityEvent && $video.webkitShowPlaybackTargetPicker) {\n proxy($video, 'webkitplaybacktargetavailabilitychanged', (event) => {\n switch (event.availability) {\n case 'available':\n available = true;\n break;\n case 'not-available':\n available = false;\n break;\n }\n });\n } else {\n available = false;\n }\n\n def(art, 'airplay', {\n value() {\n if (available) {\n $video.webkitShowPlaybackTargetPicker();\n art.emit('airplay');\n } else {\n notice.show = i18n.get('AirPlay Not Available');\n }\n },\n });\n}\n","import { clamp, setStyle } from '../utils';\n\nexport default function attrInit(art) {\n const {\n option,\n storage,\n template: { $video, $poster },\n } = art;\n\n for (const key in option.moreVideoAttr) {\n art.attr(key, option.moreVideoAttr[key]);\n }\n\n if (option.muted) {\n art.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n const volumeStorage = storage.get('volume');\n if (typeof volumeStorage === 'number') {\n $video.volume = clamp(volumeStorage, 0, 1);\n }\n\n if (option.poster) {\n setStyle($poster, 'backgroundImage', `url(${option.poster})`);\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n if (option.theme) {\n option.cssVar['--art-theme'] = option.theme;\n }\n\n for (const key in option.cssVar) {\n art.cssVar(key, option.cssVar[key]);\n }\n\n art.url = option.url;\n}\n","import config from '../config';\nimport { sleep, addClass, setStyle, isMobile } from '../utils';\n\nexport default function eventInit(art) {\n const {\n i18n,\n notice,\n option,\n constructor,\n proxy,\n template: { $player, $video, $poster },\n } = art;\n\n let reconnectTime = 0;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n // art.on('video:abort', () => {\n\n // });\n\n art.on('video:canplay', () => {\n reconnectTime = 0;\n art.loading.show = false;\n });\n\n art.once('video:canplay', () => {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n art.isReady = true;\n art.emit('ready');\n });\n\n // art.on('video:canplaythrough', () => {\n\n // });\n\n // art.on('video:durationchange', () => {\n\n // });\n\n // art.on('video:emptied', () => {\n\n // });\n\n art.on('video:ended', () => {\n if (option.loop) {\n art.seek = 0;\n art.play();\n art.controls.show = false;\n art.mask.show = false;\n } else {\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:error', async (error) => {\n if (reconnectTime < constructor.RECONNECT_TIME_MAX) {\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n reconnectTime += 1;\n art.url = option.url;\n notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;\n art.emit('error', error, reconnectTime);\n } else {\n art.mask.show = true;\n art.loading.show = false;\n art.controls.show = true;\n addClass($player, 'art-error');\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n notice.show = i18n.get('Video Load Failed');\n art.destroy(false);\n }\n });\n\n // art.on('video:loadeddata', () => {\n\n // });\n\n art.on('video:loadedmetadata', () => {\n art.autoSize = option.autoSize;\n if (isMobile) {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:loadstart', () => {\n art.loading.show = true;\n art.mask.show = false;\n art.controls.show = true;\n });\n\n art.on('video:pause', () => {\n art.controls.show = true;\n art.mask.show = true;\n });\n\n art.on('video:play', () => {\n art.mask.show = false;\n setStyle($poster, 'display', 'none');\n });\n\n art.on('video:playing', () => {\n art.mask.show = false;\n });\n\n art.on('video:progress', () => {\n if (art.playing) {\n art.loading.show = false;\n }\n });\n\n // art.on('video:ratechange', () => {\n\n // });\n\n art.on('video:seeked', () => {\n art.loading.show = false;\n });\n\n art.on('video:seeking', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n\n // art.on('video:stalled', () => {\n\n // });\n\n // art.on('video:suspend', () => {\n\n // });\n\n art.on('video:timeupdate', () => {\n art.mask.show = false;\n });\n\n // art.on('video:volumechange', () => {\n\n // });\n\n art.on('video:waiting', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n}\n","import { errorHandle, addClass, removeClass, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport fullscreen from './fullscreen';\nimport fullscreenWeb from './fullscreenWeb';\nimport pip from './pip';\nimport playAndPause from './playAndPause';\nimport progress from './progress';\nimport time from './time';\nimport volume from './volume';\nimport setting from './setting';\nimport thumbnails from './thumbnails';\nimport screenshot from './screenshot';\nimport quality from './quality';\nimport loop from './loop';\nimport airplay from './airplay';\n\nexport default class Control extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'control';\n\n const {\n proxy,\n constructor,\n template: { $player },\n } = art;\n\n let activeTime = Date.now();\n\n proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], () => {\n this.show = true;\n removeClass($player, 'art-hide-cursor');\n addClass($player, 'art-hover');\n activeTime = Date.now();\n });\n\n art.on('video:timeupdate', () => {\n if (!art.isInput && art.playing && this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {\n this.show = false;\n addClass($player, 'art-hide-cursor');\n removeClass($player, 'art-hover');\n }\n });\n\n this.init();\n }\n\n init() {\n const { option } = this.art;\n\n if (!option.isLive) {\n this.add(\n progress({\n name: 'progress',\n position: 'top',\n index: 10,\n }),\n );\n }\n\n if (option.thumbnails.url && !option.isLive && !isMobile) {\n this.add(\n thumbnails({\n name: 'thumbnails',\n position: 'top',\n index: 20,\n }),\n );\n }\n\n this.add(\n loop({\n name: 'loop',\n position: 'top',\n index: 30,\n }),\n );\n\n this.add(\n playAndPause({\n name: 'playAndPause',\n position: 'left',\n index: 10,\n }),\n );\n\n this.add(\n volume({\n name: 'volume',\n position: 'left',\n index: 20,\n }),\n );\n\n if (!option.isLive) {\n this.add(\n time({\n name: 'time',\n position: 'left',\n index: 30,\n }),\n );\n }\n\n if (option.quality.length) {\n this.add(\n quality({\n name: 'quality',\n position: 'right',\n index: 10,\n }),\n );\n }\n\n if (option.screenshot && !isMobile) {\n this.add(\n screenshot({\n name: 'screenshot',\n position: 'right',\n index: 20,\n }),\n );\n }\n\n if (option.setting) {\n this.add(\n setting({\n name: 'setting',\n position: 'right',\n index: 30,\n }),\n );\n }\n\n if (option.pip) {\n this.add(\n pip({\n name: 'pip',\n position: 'right',\n index: 40,\n }),\n );\n }\n\n if (option.airplay && window.WebKitPlaybackTargetAvailabilityEvent) {\n this.add(\n airplay({\n name: 'airplay',\n position: 'right',\n index: 50,\n }),\n );\n }\n\n if (option.fullscreenWeb) {\n this.add(\n fullscreenWeb({\n name: 'fullscreenWeb',\n position: 'right',\n index: 60,\n }),\n );\n }\n\n if (option.fullscreen) {\n this.add(\n fullscreen({\n name: 'fullscreen',\n position: 'right',\n index: 70,\n }),\n );\n }\n\n for (let index = 0; index < option.controls.length; index++) {\n this.add(option.controls[index]);\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n const { $progress, $controlsLeft, $controlsRight } = this.art.template;\n\n switch (option.position) {\n case 'top':\n this.$parent = $progress;\n break;\n case 'left':\n this.$parent = $controlsLeft;\n break;\n case 'right':\n this.$parent = $controlsRight;\n break;\n default:\n errorHandle(false, `Control option.position must one of 'top', 'left', 'right'`);\n break;\n }\n\n super.add(option);\n }\n}\n","import {\n remove,\n append,\n tooltip,\n hasClass,\n addClass,\n getStyle,\n setStyles,\n removeClass,\n inverseClass,\n createElement,\n} from './dom';\nimport { isStringOrNumber } from './format';\nimport { errorHandle } from './error';\nimport validator from 'option-validator';\nimport { ComponentOption } from '../scheme';\n\nexport default class Component {\n constructor(art) {\n this.id = 0;\n this.art = art;\n this.cache = new Map();\n this.add = this.add.bind(this);\n this.remove = this.remove.bind(this);\n this.update = this.update.bind(this);\n }\n\n get show() {\n return hasClass(this.art.template.$player, `art-${this.name}-show`);\n }\n\n set show(value) {\n const { $player } = this.art.template;\n const className = `art-${this.name}-show`;\n if (value) {\n addClass($player, className);\n } else {\n removeClass($player, className);\n }\n this.art.emit(this.name, value);\n }\n\n toggle() {\n this.show = !this.show;\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n option.html = option.html || '';\n validator(option, ComponentOption);\n if (!this.$parent || !this.name || option.disable) return;\n const name = option.name || `${this.name}${this.id}`;\n const item = this.cache.get(name);\n errorHandle(!item, `Can't add an existing [${name}] to the [${this.name}]`);\n\n this.id += 1;\n const $ref = createElement('div');\n addClass($ref, `art-${this.name}`);\n addClass($ref, `art-${this.name}-${name}`);\n\n const childs = Array.from(this.$parent.children);\n $ref.dataset.index = option.index || this.id;\n const nextChild = childs.find((item) => Number(item.dataset.index) >= Number($ref.dataset.index));\n if (nextChild) {\n nextChild.insertAdjacentElement('beforebegin', $ref);\n } else {\n append(this.$parent, $ref);\n }\n\n if (option.html) {\n append($ref, option.html);\n }\n\n if (option.style) {\n setStyles($ref, option.style);\n }\n\n if (option.tooltip) {\n tooltip($ref, option.tooltip);\n }\n\n const events = [];\n if (option.click) {\n const destroyEvent = this.art.events.proxy($ref, 'click', (event) => {\n event.preventDefault();\n option.click.call(this.art, this, event);\n });\n events.push(destroyEvent);\n }\n\n if (option.selector && ['left', 'right'].includes(option.position)) {\n this.addSelector(option, $ref, events);\n }\n\n this[name] = $ref;\n this.cache.set(name, { $ref, events, option });\n\n if (option.mounted) {\n option.mounted.call(this.art, $ref);\n }\n\n return $ref;\n }\n\n addSelector(option, $ref, events) {\n const { hover, proxy } = this.art.events;\n\n addClass($ref, 'art-control-selector');\n const $value = createElement('div');\n addClass($value, 'art-selector-value');\n append($value, option.html);\n $ref.innerText = '';\n append($ref, $value);\n\n const list = option.selector\n .map(\n (item, index) =>\n `
${\n item.html\n }
`,\n )\n .join('');\n const $list = createElement('div');\n addClass($list, 'art-selector-list');\n append($list, list);\n append($ref, $list);\n\n const setLeft = () => {\n const refWidth = getStyle($ref, 'width');\n const listWidth = getStyle($list, 'width');\n const left = refWidth / 2 - listWidth / 2;\n $list.style.left = `${left}px`;\n };\n\n hover($ref, setLeft);\n\n const destroyEvent = proxy($list, 'click', async (event) => {\n const path = event.composedPath() || [];\n const $item = path.find((item) => hasClass(item, 'art-selector-item'));\n if (!$item) return;\n inverseClass($item, 'art-current');\n const index = Number($item.dataset.index);\n const find = option.selector[index] || {};\n $value.innerText = $item.innerText;\n if (option.onSelect) {\n const result = await option.onSelect.call(this.art, find, $item, event);\n if (isStringOrNumber(result)) {\n $value.innerHTML = result;\n }\n }\n setLeft();\n });\n\n events.push(destroyEvent);\n }\n\n remove(name) {\n const item = this.cache.get(name);\n errorHandle(item, `Can't find [${name}] from the [${this.name}]`);\n\n if (item.option.beforeUnmount) {\n item.option.beforeUnmount.call(this.art, item.$ref);\n }\n\n for (let index = 0; index < item.events.length; index++) {\n this.art.events.remove(item.events[index]);\n }\n\n this.cache.delete(name);\n delete this[name];\n remove(item.$ref);\n }\n\n update(option) {\n const item = this.cache.get(option.name);\n if (item) this.remove(option.name);\n return this.add(option);\n }\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreen(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenOn = append($control, icons.fullscreenOn);\n const $fullscreenOff = append($control, icons.fullscreenOff);\n setStyle($fullscreenOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreen = !art.fullscreen;\n });\n\n art.on('fullscreen', (state) => {\n if (state) {\n tooltip($control, i18n.get('Exit Fullscreen'));\n setStyle($fullscreenOn, 'display', 'none');\n setStyle($fullscreenOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Fullscreen'));\n setStyle($fullscreenOn, 'display', 'inline-flex');\n setStyle($fullscreenOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreenWeb(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Web Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenWebOn = append($control, icons.fullscreenWebOn);\n const $fullscreenWebOff = append($control, icons.fullscreenWebOff);\n setStyle($fullscreenWebOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreenWeb = !art.fullscreenWeb;\n });\n\n art.on('fullscreenWeb', (value) => {\n if (value) {\n tooltip($control, i18n.get('Exit Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'none');\n setStyle($fullscreenWebOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'inline-flex');\n setStyle($fullscreenWebOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('PIP Mode'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.pip);\n\n proxy($control, 'click', () => {\n art.pip = !art.pip;\n });\n\n art.on('pip', (value) => {\n tooltip($control, i18n.get(value ? 'Exit PIP Mode' : 'PIP Mode'));\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function playAndPause(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $play = append($control, icons.play);\n const $pause = append($control, icons.pause);\n tooltip($play, i18n.get('Play'));\n tooltip($pause, i18n.get('Pause'));\n\n proxy($play, 'click', () => {\n art.play();\n });\n\n proxy($pause, 'click', () => {\n art.pause();\n });\n\n function showPlay() {\n setStyle($play, 'display', 'flex');\n setStyle($pause, 'display', 'none');\n }\n\n function showPause() {\n setStyle($play, 'display', 'none');\n setStyle($pause, 'display', 'flex');\n }\n\n if (art.playing) {\n showPause();\n } else {\n showPlay();\n }\n\n art.on('video:playing', () => {\n showPause();\n });\n\n art.on('video:pause', () => {\n showPlay();\n });\n },\n });\n}\n","import { query, clamp, append, setStyle, secondToTime, includeFromEvent, isMobile } from '../utils';\n\nexport function getPosFromEvent(art, event) {\n const { $progress } = art.template;\n const { left } = $progress.getBoundingClientRect();\n const eventLeft = isMobile ? event.touches[0].clientX : event.clientX;\n const width = clamp(eventLeft - left, 0, $progress.clientWidth);\n const second = (width / $progress.clientWidth) * art.duration;\n const time = secondToTime(second);\n const percentage = clamp(width / $progress.clientWidth, 0, 1);\n return { second, time, width, percentage };\n}\n\nexport function setCurrentTime(art, event) {\n if (art.isRotate) {\n const percentage = event.touches[0].clientY / art.height;\n const second = percentage * art.duration;\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n } else {\n const { second, percentage } = getPosFromEvent(art, event);\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n }\n}\n\nexport default function progress(options) {\n return (art) => {\n const { icons, option, proxy } = art;\n\n return {\n ...options,\n html: `\n
\n
\n
\n
\n
\n
\n
\n
\n `,\n mounted: ($control) => {\n let isDroging = false;\n const $hover = query('.art-progress-hover', $control);\n const $loaded = query('.art-progress-loaded', $control);\n const $played = query('.art-progress-played', $control);\n const $highlight = query('.art-progress-highlight', $control);\n const $indicator = query('.art-progress-indicator', $control);\n const $tip = query('.art-progress-tip', $control);\n\n if (icons.indicator) {\n append($indicator, icons.indicator);\n } else {\n setStyle($indicator, 'backgroundColor', 'var(--art-theme)');\n }\n\n function showHighlight(event) {\n const { width } = getPosFromEvent(art, event);\n const { text } = event.target.dataset;\n $tip.innerHTML = text;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function showTime(event) {\n const { width, time } = getPosFromEvent(art, event);\n $tip.innerHTML = time;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function setBar(type, percentage) {\n if (type === 'loaded') {\n setStyle($loaded, 'width', `${percentage * 100}%`);\n }\n\n if (type === 'played') {\n setStyle($played, 'width', `${percentage * 100}%`);\n setStyle($indicator, 'left', `${percentage * 100}%`);\n }\n }\n\n function setHover(event) {\n const { width } = getPosFromEvent(art, event);\n setStyle($hover, 'width', `${width}px`);\n setStyle($hover, 'display', 'flex');\n }\n\n art.on('video:loadedmetadata', () => {\n for (let index = 0; index < option.highlight.length; index++) {\n const item = option.highlight[index];\n const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;\n const html = ``;\n append($highlight, html);\n }\n });\n\n setBar('loaded', art.loaded);\n\n art.on('setBar', (type, percentage) => {\n setBar(type, percentage);\n });\n\n art.on('video:progress', () => {\n setBar('loaded', art.loaded);\n });\n\n art.on('video:timeupdate', () => {\n setBar('played', art.played);\n });\n\n art.on('video:ended', () => {\n setBar('played', 1);\n });\n\n if (!isMobile) {\n proxy($control, 'click', (event) => {\n if (event.target !== $indicator) {\n setCurrentTime(art, event);\n }\n });\n\n proxy($control, 'mousemove', (event) => {\n setHover(event);\n setStyle($tip, 'display', 'flex');\n if (includeFromEvent(event, $highlight)) {\n showHighlight(event);\n } else {\n showTime(event);\n }\n });\n\n proxy($control, 'mouseleave', () => {\n setStyle($tip, 'display', 'none');\n setStyle($hover, 'display', 'none');\n });\n\n proxy($control, 'mousedown', (event) => {\n isDroging = event.button === 0;\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n const { second, percentage } = getPosFromEvent(art, event);\n setBar('played', percentage);\n art.seek = second;\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n };\n };\n}\n","import { secondToTime, isMobile } from '../utils';\n\nexport default function time(option) {\n return (art) => ({\n ...option,\n style: isMobile\n ? {\n fontSize: '12px',\n padding: '0 5px',\n }\n : {\n cursor: 'auto',\n padding: '0 10px',\n },\n mounted: ($control) => {\n function getTime() {\n const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n if (newTime !== $control.innerText) {\n $control.innerText = newTime;\n }\n }\n\n getTime();\n\n const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];\n for (let index = 0; index < events.length; index++) {\n art.on(events[index], getTime);\n }\n },\n });\n}\n","import { append, setStyle, isMobile } from '../utils';\n\nexport default function volume(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n const $volume = append($control, icons.volume);\n const $close = append($control, icons.volumeClose);\n const $panel = append($control, '
');\n const $inner = append($panel, '
');\n const $value = append($inner, `
`);\n const $slider = append($inner, `
`);\n const $handle = append($slider, `
`);\n const $loaded = append($handle, `
`);\n const $indicator = append($slider, `
`);\n\n function getVolumeFromEvent(event) {\n const { top, height } = $slider.getBoundingClientRect();\n return 1 - (event.clientY - top) / height;\n }\n\n function update() {\n if (art.muted || art.volume === 0) {\n setStyle($volume, 'display', 'none');\n setStyle($close, 'display', 'flex');\n setStyle($indicator, 'top', '100%');\n setStyle($loaded, 'top', '100%');\n $value.innerText = 0;\n } else {\n const percentage = art.volume * 100;\n setStyle($volume, 'display', 'flex');\n setStyle($close, 'display', 'none');\n setStyle($indicator, 'top', `${100 - percentage}%`);\n setStyle($loaded, 'top', `${100 - percentage}%`);\n $value.innerText = Math.floor(percentage);\n }\n }\n\n update();\n art.on('video:volumechange', update);\n\n proxy($volume, 'click', () => {\n art.muted = true;\n });\n\n proxy($close, 'click', () => {\n art.muted = false;\n });\n\n if (isMobile) {\n setStyle($panel, 'display', 'none');\n } else {\n let isDroging = false;\n\n proxy($slider, 'mousedown', (event) => {\n isDroging = event.button === 0;\n art.volume = getVolumeFromEvent(event);\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n art.muted = false;\n art.volume = getVolumeFromEvent(event);\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function setting(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Show Setting'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.setting);\n\n proxy($control, 'click', () => {\n art.setting.toggle();\n art.setting.updateStyle();\n });\n\n art.on('setting', (value) => {\n tooltip($control, i18n.get(value ? 'Hide Setting' : 'Show Setting'));\n });\n },\n });\n}\n","import { setStyle } from '../utils';\nimport { getPosFromEvent } from './progress';\n\nexport default function thumbnails(options) {\n return (art) => ({\n ...options,\n mounted: ($control) => {\n const {\n option,\n template: { $progress, $video },\n events: { proxy, loadImg },\n } = art;\n\n let image = null;\n let loading = false;\n let isLoad = false;\n\n function showThumbnails(event) {\n const { width: posWidth } = getPosFromEvent(art, event);\n const { url, number, column, width, height } = option.thumbnails;\n const width2 = width || image.naturalWidth / column;\n const height2 = height || width2 / ($video.videoWidth / $video.videoHeight);\n const perWidth = $progress.clientWidth / number;\n const perIndex = Math.floor(posWidth / perWidth);\n const yIndex = Math.ceil(perIndex / column) - 1;\n const xIndex = perIndex % column || column - 1;\n setStyle($control, 'backgroundImage', `url(${url})`);\n setStyle($control, 'height', `${height2}px`);\n setStyle($control, 'width', `${width2}px`);\n setStyle($control, 'backgroundPosition', `-${xIndex * width2}px -${yIndex * height2}px`);\n if (posWidth <= width2 / 2) {\n setStyle($control, 'left', 0);\n } else if (posWidth > $progress.clientWidth - width2 / 2) {\n setStyle($control, 'left', `${$progress.clientWidth - width2}px`);\n } else {\n setStyle($control, 'left', `${posWidth - width2 / 2}px`);\n }\n }\n\n proxy($progress, 'mousemove', async (event) => {\n if (!loading) {\n loading = true;\n const img = await loadImg(option.thumbnails.url);\n image = img;\n isLoad = true;\n }\n\n if (isLoad) {\n setStyle($control, 'display', 'flex');\n showThumbnails(event);\n }\n });\n\n proxy($progress, 'mouseleave', () => {\n setStyle($control, 'display', 'none');\n });\n\n art.on('hover', (state) => {\n if (!state) {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function screenshot(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Screenshot'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n append($control, icons.screenshot);\n proxy($control, 'click', () => {\n art.screenshot();\n });\n },\n });\n}\n","export default function quality(option) {\n return (art) => {\n const qualityOption = art.option.quality;\n const qualityDefault = qualityOption.find((item) => item.default) || qualityOption[0];\n return {\n ...option,\n style: {\n marginRight: '10px',\n },\n html: qualityDefault ? qualityDefault.html : '',\n selector: qualityOption,\n onSelect(item) {\n art.switchQuality(item.url, item.html);\n },\n };\n };\n}\n","import { append, setStyle } from '../utils';\n\nexport default function loop(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const $left = append($control, ``);\n const $right = append($control, ``);\n\n art.on('loop', (value) => {\n if (value && value.length) {\n setStyle($control, 'display', 'flex');\n setStyle($left, 'left', `calc(${(value[0] / art.duration) * 100}% - ${$left.clientWidth}px)`);\n setStyle($right, 'left', `${(value[1] / art.duration) * 100}%`);\n } else {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('AirPlay'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n append($control, icons.airplay);\n proxy($control, 'click', () => art.airplay());\n },\n });\n}\n","import { setStyles, includeFromEvent, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport playbackRate from './playbackRate';\nimport aspectRatio from './aspectRatio';\nimport flip from './flip';\nimport info from './info';\nimport version from './version';\nimport close from './close';\n\nexport default class Contextmenu extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'contextmenu';\n this.$parent = art.template.$contextmenu;\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n option,\n proxy,\n template: { $player, $contextmenu },\n } = this.art;\n\n if (option.playbackRate) {\n this.add(\n playbackRate({\n name: 'playbackRate',\n index: 10,\n }),\n );\n }\n\n if (option.aspectRatio) {\n this.add(\n aspectRatio({\n name: 'aspectRatio',\n index: 20,\n }),\n );\n }\n\n if (option.flip) {\n this.add(\n flip({\n name: 'flip',\n index: 30,\n }),\n );\n }\n\n this.add(\n info({\n name: 'info',\n index: 40,\n }),\n );\n\n this.add(\n version({\n name: 'version',\n index: 50,\n }),\n );\n\n this.add(\n close({\n name: 'close',\n index: 60,\n }),\n );\n\n for (let index = 0; index < option.contextmenu.length; index++) {\n this.add(option.contextmenu[index]);\n }\n\n proxy($player, 'contextmenu', (event) => {\n event.preventDefault();\n if (!this.art.constructor.CONTEXTMENU) return;\n\n this.show = true;\n\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { height: cHeight, width: cWidth, left: cLeft, top: cTop } = $player.getBoundingClientRect();\n const { height: mHeight, width: mWidth } = $contextmenu.getBoundingClientRect();\n let menuLeft = mouseX - cLeft;\n let menuTop = mouseY - cTop;\n\n if (mouseX + mWidth > cLeft + cWidth) {\n menuLeft = cWidth - mWidth;\n }\n\n if (mouseY + mHeight > cTop + cHeight) {\n menuTop = cHeight - mHeight;\n }\n\n setStyles($contextmenu, {\n top: `${menuTop}px`,\n left: `${menuLeft}px`,\n });\n });\n\n proxy($player, 'click', (event) => {\n if (!includeFromEvent(event, $contextmenu)) {\n this.show = false;\n }\n });\n\n this.art.on('blur', () => {\n this.show = false;\n });\n }\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function playbackRate(option) {\n return (art) => {\n const {\n i18n,\n constructor: { PLAYBACK_RATE },\n } = art;\n\n const html = PLAYBACK_RATE.map(\n (item) => `${item === 1 ? i18n.get('Normal') : item.toFixed(1)}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Play Speed')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.playbackRate = Number(value);\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"1\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('video:ratechange', () => {\n const $current = queryAll('span', $panel).find(\n (item) => Number(item.dataset.value) === art.playbackRate,\n );\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function aspectRatio(option) {\n return (art) => {\n const {\n i18n,\n constructor: { ASPECT_RATIO },\n } = art;\n\n const html = ASPECT_RATIO.map(\n (item) => `${item === 'default' ? i18n.get('Default') : item}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Aspect Ratio')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.aspectRatio = value;\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"default\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('aspectRatio', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll, capitalize } from '../utils';\n\nexport default function flip(option) {\n return (art) => {\n const {\n i18n,\n constructor: { FLIP },\n } = art;\n\n const html = FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('');\n\n return {\n ...option,\n html: `${i18n.get('Video Flip')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.flip = value.toLowerCase();\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"normal\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('flip', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","export default function info(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Video Info'),\n click: (contextmenu) => {\n art.info.show = true;\n contextmenu.show = false;\n },\n });\n}\n","export default function version(option) {\n return {\n ...option,\n html: `ArtPlayer ${process.env.APP_VER}`,\n };\n}\n","export default function close(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Close'),\n click: (contextmenu) => {\n contextmenu.show = false;\n },\n });\n}\n","import { queryAll, isMobile } from './utils';\nimport Component from './utils/component';\n\nexport default class Info extends Component {\n constructor(art) {\n super(art);\n this.name = 'info';\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n proxy,\n constructor,\n template: { $infoPanel, $infoClose, $video },\n } = this.art;\n\n proxy($infoClose, 'click', () => {\n this.show = false;\n });\n\n let timer = null;\n const $types = queryAll('[data-video]', $infoPanel) || [];\n this.art.on('destroy', () => clearTimeout(timer));\n\n function loop() {\n for (let index = 0; index < $types.length; index++) {\n const item = $types[index];\n const value = $video[item.dataset.video];\n const innerText = typeof value === 'number' ? value.toFixed(2) : value;\n if (item.innerText !== innerText) {\n item.innerText = innerText;\n }\n }\n timer = setTimeout(loop, constructor.INFO_LOOP_TIME);\n }\n\n loop();\n }\n}\n","import {\n setStyle,\n setStyles,\n srtToVtt,\n vttToBlob,\n getExt,\n assToVtt,\n escape,\n remove,\n append,\n createElement,\n} from './utils';\nimport Component from './utils/component';\nimport validator from 'option-validator';\nimport scheme from './scheme';\n\nexport default class Subtitle extends Component {\n constructor(art) {\n super(art);\n this.name = 'subtitle';\n this.eventDestroy = () => null;\n this.init(art.option.subtitle);\n\n let lastState = false;\n art.on('video:timeupdate', () => {\n if (!this.url) return;\n const state = this.art.template.$video.webkitDisplayingFullscreen;\n if (typeof state !== 'boolean') return;\n if (state !== lastState) {\n lastState = state;\n this.createTrack(state ? 'subtitles' : 'metadata', this.url);\n }\n });\n }\n\n get url() {\n return this.art.template.$track.src;\n }\n\n set url(url) {\n this.switch(url);\n }\n\n get textTrack() {\n return this.art.template.$video.textTracks[0];\n }\n\n get activeCue() {\n return this.textTrack.activeCues[0];\n }\n\n style(key, value) {\n const { $subtitle } = this.art.template;\n if (typeof key === 'object') {\n return setStyles($subtitle, key);\n }\n return setStyle($subtitle, key, value);\n }\n\n update() {\n const { $subtitle } = this.art.template;\n $subtitle.innerHTML = '';\n if (this.activeCue) {\n if (this.art.option.subtitle.escape) {\n $subtitle.innerHTML = this.activeCue.text\n .split(/\\r?\\n/)\n .map((item) => `

${escape(item)}

`)\n .join('');\n } else {\n $subtitle.innerHTML = this.activeCue.text;\n }\n this.art.emit('subtitleUpdate', this.activeCue.text);\n }\n }\n\n async switch(url, newOption = {}) {\n const { i18n, notice, option } = this.art;\n const subtitleOption = { ...option.subtitle, ...newOption, url };\n const subUrl = await this.init(subtitleOption);\n if (newOption.name) {\n notice.show = `${i18n.get('Switch Subtitle')}: ${newOption.name}`;\n }\n return subUrl;\n }\n\n createTrack(kind, url) {\n const { template, proxy } = this.art;\n const { $video, $track } = template;\n\n const $newTrack = createElement('track');\n $newTrack.default = true;\n $newTrack.kind = kind;\n $newTrack.src = url;\n $newTrack.track.mode = 'hidden';\n\n this.eventDestroy();\n remove($track);\n\n append($video, $newTrack);\n template.$track = $newTrack;\n this.eventDestroy = proxy(this.textTrack, 'cuechange', () => this.update());\n }\n\n async init(subtitleOption) {\n const {\n notice,\n template: { $subtitle },\n } = this.art;\n\n validator(subtitleOption, scheme.subtitle);\n if (!subtitleOption.url) return;\n this.style(subtitleOption.style);\n\n return fetch(subtitleOption.url)\n .then((response) => response.arrayBuffer())\n .then((buffer) => {\n const decoder = new TextDecoder(subtitleOption.encoding);\n const text = decoder.decode(buffer);\n this.art.emit('subtitleLoad', subtitleOption.url);\n switch (subtitleOption.type || getExt(subtitleOption.url)) {\n case 'srt': {\n const vtt = srtToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'ass': {\n const vtt = assToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'vtt': {\n const vttNew = subtitleOption.onVttLoad(text);\n return vttToBlob(vttNew);\n }\n default:\n return subtitleOption.url;\n }\n })\n .then((subUrl) => {\n $subtitle.innerHTML = '';\n if (this.url === subUrl) return subUrl;\n URL.revokeObjectURL(this.url);\n this.createTrack('metadata', subUrl);\n this.art.emit('subtitleSwitch', subUrl);\n return subUrl;\n })\n .catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n}\n","import { ArtPlayerError } from '../utils/error';\nimport clickInit from './clickInit';\nimport hoverInit from './hoverInit';\nimport moveInit from './moveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\nimport documentInit from './documentInit';\n\nexport default class Events {\n constructor(art) {\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n this.hover = this.hover.bind(this);\n this.loadImg = this.loadImg.bind(this);\n\n if (art.whitelist.state) {\n clickInit(art, this);\n hoverInit(art, this);\n moveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(art, this);\n documentInit(art, this);\n }\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n return name.map((item) => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n const destroy = () => target.removeEventListener(name, callback, option);\n this.destroyEvents.push(destroy);\n return destroy;\n }\n\n hover(target, mouseenter, mouseleave) {\n if (mouseenter) {\n this.proxy(target, 'mouseenter', mouseenter);\n }\n if (mouseleave) {\n this.proxy(target, 'mouseleave', mouseleave);\n }\n }\n\n loadImg(img) {\n return new Promise((resolve, reject) => {\n let image;\n\n if (img instanceof HTMLImageElement) {\n image = img;\n } else if (typeof img === 'string') {\n image = new Image();\n image.src = img;\n } else {\n return reject(new ArtPlayerError('Unable to get Image'));\n }\n\n if (image.complete) {\n return resolve(image);\n }\n\n this.proxy(image, 'load', () => resolve(image));\n this.proxy(image, 'error', () => reject(new ArtPlayerError(`Failed to load Image: ${image.src}`)));\n });\n }\n\n remove(destroyEvent) {\n const index = this.destroyEvents.indexOf(destroyEvent);\n if (index > -1) {\n destroyEvent();\n this.destroyEvents.splice(index, 1);\n }\n }\n\n destroy() {\n for (let index = 0; index < this.destroyEvents.length; index++) {\n this.destroyEvents[index]();\n }\n }\n}\n","import { includeFromEvent, isMobile } from '../utils';\n\nexport default function clickInit(art, events) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n events.proxy(document, ['click', 'contextmenu'], (event) => {\n if (includeFromEvent(event, $player)) {\n art.isInput = event.target.tagName === 'INPUT';\n art.isFocus = true;\n art.emit('focus', event);\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur', event);\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', (event) => {\n const now = Date.now();\n const { MOBILE_CLICK_PLAY, DBCLICK_TIME, MOBILE_DBCLICK_PLAY, DBCLICK_FULLSCREEN } = constructor;\n\n if (now - clickTime <= DBCLICK_TIME) {\n art.emit('dblclick', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_DBCLICK_PLAY) {\n art.toggle();\n }\n } else {\n if (DBCLICK_FULLSCREEN) {\n art.fullscreen = !art.fullscreen;\n }\n }\n } else {\n art.emit('click', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_CLICK_PLAY) {\n art.toggle();\n }\n } else {\n art.toggle();\n }\n }\n\n clickTime = now;\n });\n}\n","import { addClass, removeClass } from '../utils';\n\nexport default function hoverInit(art, events) {\n const { $player } = art.template;\n\n events.hover(\n $player,\n (event) => {\n addClass($player, 'art-hover');\n art.emit('hover', true, event);\n },\n (event) => {\n removeClass($player, 'art-hover');\n art.emit('hover', false, event);\n },\n );\n}\n","export default function moveInit(art, events) {\n const { $player } = art.template;\n\n events.proxy($player, 'mousemove', (event) => {\n art.emit('mousemove', event);\n });\n}\n","import { throttle } from '../utils';\n\nexport default function resizeInit(art, events) {\n const { option } = art;\n\n const resizeFn = throttle(() => {\n if (art.state === 'standard') {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset();\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => resizeFn());\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => resizeFn());\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\n\nfunction GetSlideAngle(dx, dy) {\n return (Math.atan2(dy, dx) * 180) / Math.PI;\n}\n\nfunction GetSlideDirection(startX, startY, endX, endY) {\n var dy = startY - endY;\n var dx = endX - startX;\n var result = 0;\n\n if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {\n return result;\n }\n\n var angle = GetSlideAngle(dx, dy);\n if (angle >= -45 && angle < 45) {\n result = 4;\n } else if (angle >= 45 && angle < 135) {\n result = 1;\n } else if (angle >= -135 && angle < -45) {\n result = 2;\n } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {\n result = 3;\n }\n\n return result;\n}\n\nexport default function gestureInit(art, events) {\n if (isMobile && !art.option.isLive) {\n const { $video, $progress } = art.template;\n\n let touchTarget = null;\n let isDroging = false;\n let startX = 0;\n let startY = 0;\n let startTime = 0;\n\n const onTouchStart = (event) => {\n if (event.touches.length === 1 && !art.isLock) {\n if (touchTarget === $progress) {\n setCurrentTime(art, event);\n }\n\n isDroging = true;\n const { pageX, pageY } = event.touches[0];\n startX = pageX;\n startY = pageY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { pageX, pageY } = event.touches[0];\n const direction = GetSlideDirection(startX, startY, pageX, pageY);\n const isHorizontal = [3, 4].includes(direction);\n const isVertical = [1, 2].includes(direction);\n const isLegal = (isHorizontal && !art.isRotate) || (isVertical && art.isRotate);\n if (isLegal) {\n const ratioX = clamp((pageX - startX) / art.width, -1, 1);\n const ratioY = clamp((pageY - startY) / art.height, -1, 1);\n const ratio = art.isRotate ? ratioY : ratioX;\n const TOUCH_MOVE_RATIO = touchTarget === $video ? art.constructor.TOUCH_MOVE_RATIO : 1;\n const currentTime = clamp(startTime + art.duration * ratio * TOUCH_MOVE_RATIO, 0, art.duration);\n art.seek = currentTime;\n art.emit('setBar', 'played', clamp(currentTime / art.duration, 0, 1));\n art.notice.show = `${secondToTime(currentTime)} / ${secondToTime(art.duration)}`;\n }\n }\n };\n\n const onTouchEnd = () => {\n if (isDroging) {\n startX = 0;\n startY = 0;\n startTime = 0;\n isDroging = false;\n touchTarget = null;\n }\n };\n\n events.proxy($progress, 'touchstart', (event) => {\n touchTarget = $progress;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchstart', (event) => {\n touchTarget = $video;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchmove', onTouchMove);\n events.proxy($progress, 'touchmove', onTouchMove);\n events.proxy(document, 'touchend', onTouchEnd);\n }\n}\n","import { throttle, isInViewport } from '../utils';\n\nexport default function viewInit(art, events) {\n const {\n option,\n constructor,\n template: { $container },\n } = art;\n\n const scrollFn = throttle(() => {\n art.emit('view', isInViewport($container, constructor.SCROLL_GAP));\n }, constructor.SCROLL_TIME);\n\n events.proxy(window, 'scroll', () => scrollFn());\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\n });\n}\n","export default function documentInit(art, events) {\n events.proxy(document, 'mousemove', (event) => {\n art.emit('document:mousemove', event);\n });\n\n events.proxy(document, 'mouseup', (event) => {\n art.emit('document:mouseup', event);\n });\n}\n","import { isMobile } from './utils';\n\nexport default class Hotkey {\n constructor(art) {\n this.art = art;\n this.keys = {};\n\n if (art.option.hotkey && !isMobile) {\n this.init();\n }\n }\n\n init() {\n const { proxy, constructor } = this.art;\n\n this.add(27, () => {\n if (this.art.fullscreenWeb) {\n this.art.fullscreenWeb = false;\n }\n });\n\n this.add(32, () => {\n this.art.toggle();\n });\n\n this.add(37, () => {\n this.art.backward = constructor.SEEK_STEP;\n });\n\n this.add(38, () => {\n this.art.volume += constructor.VOLUME_STEP;\n });\n\n this.add(39, () => {\n this.art.forward = constructor.SEEK_STEP;\n });\n\n this.add(40, () => {\n this.art.volume -= constructor.VOLUME_STEP;\n });\n\n proxy(window, 'keydown', (event) => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n const events = this.keys[event.keyCode];\n if (events) {\n event.preventDefault();\n for (let index = 0; index < events.length; index++) {\n events[index].call(this.art, event);\n }\n this.art.emit('hotkey', event);\n }\n }\n }\n });\n }\n\n add(key, event) {\n if (this.keys[key]) {\n this.keys[key].push(event);\n } else {\n this.keys[key] = [event];\n }\n return this;\n }\n\n remove(key, event) {\n if (this.keys[key]) {\n const index = this.keys[key].indexOf(event);\n if (index !== -1) {\n this.keys[key].splice(index, 1);\n }\n }\n return this;\n }\n}\n","import Component from './utils/component';\n\nexport default class Layer extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n template: { $layer },\n } = art;\n\n this.name = 'layer';\n this.$parent = $layer;\n\n for (let index = 0; index < option.layers.length; index++) {\n this.add(option.layers[index]);\n }\n }\n}\n","import { append } from './utils';\nimport Component from './utils/component';\n\nexport default class Loading extends Component {\n constructor(art) {\n super(art);\n this.name = 'loading';\n append(art.template.$loading, art.icons.loading);\n }\n}\n","import { addClass, removeClass } from './utils';\n\nexport default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n set show(msg) {\n const {\n constructor,\n template: { $player, $noticeInner },\n } = this.art;\n\n if (msg) {\n $noticeInner.innerText = msg instanceof Error ? msg.message.trim() : msg;\n addClass($player, 'art-notice-show');\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n $noticeInner.innerText = '';\n removeClass($player, 'art-notice-show');\n }, constructor.NOTICE_TIME);\n } else {\n removeClass($player, 'art-notice-show');\n }\n }\n}\n","import { append, setStyle } from './utils';\nimport Component from './utils/component';\n\nexport default class Mask extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'mask';\n const { template, icons, events } = art;\n\n const $state = append(template.$state, icons.state);\n const $error = append(template.$state, icons.error);\n\n setStyle($error, 'display', 'none');\n\n art.on('destroy', () => {\n setStyle($state, 'display', 'none');\n setStyle($error, 'display', null);\n });\n\n events.proxy(template.$state, 'click', () => art.play());\n }\n}\n","import { def, getIcon } from '../utils';\nimport loading from 'bundle-text:./loading.svg';\nimport state from 'bundle-text:./state.svg';\nimport check from 'bundle-text:./check.svg';\nimport play from 'bundle-text:./play.svg';\nimport pause from 'bundle-text:./pause.svg';\nimport volume from 'bundle-text:./volume.svg';\nimport volumeClose from 'bundle-text:./volume-close.svg';\nimport screenshot from 'bundle-text:./screenshot.svg';\nimport setting from 'bundle-text:./setting.svg';\nimport arrowLeft from 'bundle-text:./arrow-left.svg';\nimport arrowRight from 'bundle-text:./arrow-right.svg';\nimport playbackRate from 'bundle-text:./playback-rate.svg';\nimport aspectRatio from 'bundle-text:./aspect-ratio.svg';\nimport config from 'bundle-text:./config.svg';\nimport pip from 'bundle-text:./pip.svg';\nimport lock from 'bundle-text:./lock.svg';\nimport unlock from 'bundle-text:./unlock.svg';\nimport fullscreenOff from 'bundle-text:./fullscreen-off.svg';\nimport fullscreenOn from 'bundle-text:./fullscreen-on.svg';\nimport fullscreenWebOff from 'bundle-text:./fullscreen-web-off.svg';\nimport fullscreenWebOn from 'bundle-text:./fullscreen-web-on.svg';\nimport switchOn from 'bundle-text:./switch-on.svg';\nimport switchOff from 'bundle-text:./switch-off.svg';\nimport flip from 'bundle-text:./flip.svg';\nimport error from 'bundle-text:./error.svg';\nimport close from 'bundle-text:./close.svg';\nimport airplay from 'bundle-text:./airplay.svg';\n\nexport default class Icons {\n constructor(art) {\n const icons = {\n loading,\n state,\n play,\n pause,\n check,\n volume,\n volumeClose,\n screenshot,\n setting,\n pip,\n arrowLeft,\n arrowRight,\n playbackRate,\n aspectRatio,\n config,\n lock,\n flip,\n unlock,\n fullscreenOff,\n fullscreenOn,\n fullscreenWebOff,\n fullscreenWebOn,\n switchOn,\n switchOff,\n error,\n close,\n airplay,\n ...art.option.icons,\n };\n\n for (const key in icons) {\n def(this, key, {\n get: () => getIcon(key, icons[key]),\n });\n }\n }\n}\n","module.exports = \"48351807f9d17b85\";","module.exports = \"b521bd87173f07f8\";","module.exports = \"7d4d567c33bb525d\";","module.exports = \"d9cf5218ba4119f7\";","module.exports = \"1b6f706023152499\";","module.exports = \"ccea5e85f0721ac8\";","module.exports = \"7b07ee0d42ef7999\";","module.exports = \"d10cbdd15b9c3ccc\";","module.exports = \"ce7e5747dbeebf9c\";","module.exports = \"31d0f450fd3142ae\";","module.exports = \"607a9d3122cadc95\";","module.exports = \"3f2a5aef9e446414\";","module.exports = \"a3c2d6619a4bebaf\";","module.exports = \"5daee943371cdae2\";","module.exports = \"e49c27bbc31901ab\";","module.exports = \"0fd94c9b6ccce96e\";","module.exports = \"721f903406a7a9bd\";","module.exports = \"133f4e7286a8c946\";","module.exports = \"3ad4b0d674115f9f\";","module.exports = \"66f3df095ff2cfc9\";","module.exports = \"6a9b55926d7ffbd8\";","module.exports = \"ed05d01f0639f8dd\";","module.exports = \"42b075eebf138ccb\";","module.exports = \"c9dbc85ae2682806\";","module.exports = \"4e1fab3a25abda1e\";","module.exports = \"ef31f094274e03ea\";","module.exports = \"6f41eca9c8b9cda2\";","import flip from './flip';\nimport aspectRatio from './aspectRatio';\nimport playbackRate from './playbackRate';\nimport subtitleOffset from './subtitleOffset';\nimport Component from '../utils/component';\nimport { errorHandle } from '../utils/error';\nimport {\n def,\n has,\n append,\n addClass,\n setStyle,\n isMobile,\n inverseClass,\n createElement,\n includeFromEvent,\n isStringOrNumber,\n} from '../utils';\n\nexport default class Setting extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n controls,\n template: { $setting },\n } = art;\n\n this.name = 'setting';\n this.$parent = $setting;\n\n this.option = [];\n this.events = [];\n this.cache = new Map();\n\n if (option.setting) {\n this.init();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.render(this.option);\n }\n });\n\n art.on('focus', (event) => {\n const isSetting = includeFromEvent(event, controls.setting);\n const isParent = includeFromEvent(event, this.$parent);\n if (this.show && !isSetting && !isParent) {\n this.show = false;\n this.render(this.option);\n }\n });\n }\n }\n\n static makeRecursion(option, parentItem, parentList) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n item.$parentItem = parentItem;\n item.$parentList = parentList;\n Setting.makeRecursion(item.selector || [], item, option);\n }\n return option;\n }\n\n get defaultSettings() {\n const result = [];\n const { option } = this.art;\n\n if (option.playbackRate) {\n result.push(playbackRate(this.art));\n }\n\n if (option.aspectRatio) {\n result.push(aspectRatio(this.art));\n }\n\n if (option.flip) {\n result.push(flip(this.art));\n }\n\n if (option.subtitleOffset) {\n result.push(subtitleOffset(this.art));\n }\n\n return result;\n }\n\n init() {\n const { option } = this.art;\n const mergeSettings = [...this.defaultSettings, ...option.settings];\n this.option = Setting.makeRecursion(mergeSettings);\n this.destroy();\n this.render(this.option);\n }\n\n destroy() {\n for (let index = 0; index < this.events.length; index++) {\n this.art.events.remove(this.events[index]);\n }\n this.$parent.innerHTML = '';\n this.events = [];\n this.cache = new Map();\n }\n\n find(name = '', option = this.option) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (item.name === name) {\n return item;\n } else {\n const result = this.find(name, item.selector || []);\n if (result) return result;\n }\n }\n }\n\n remove(name) {\n const item = this.find(name);\n errorHandle(item, `Can't find [${name}] from the [setting]`);\n const parent = item.$parentItem?.selector || this.option;\n parent.splice(parent.indexOf(item), 1);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n update(setting) {\n const item = this.find(setting.name);\n if (item) {\n Object.assign(item, setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n } else {\n this.add(setting);\n }\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n creatHeader(item) {\n const { icons, proxy } = this.art;\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n addClass($item, 'art-setting-item-back');\n const $left = append($item, '
');\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n append($icon, icons.arrowLeft);\n append($left, $icon);\n append($left, item.$parentItem.html);\n const event = proxy($item, 'click', () => this.render(item.$parentList));\n this.events.push(event);\n return $item;\n }\n\n creatItem(type, item) {\n const { icons, proxy } = this.art;\n\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n\n if (isStringOrNumber(item.name)) {\n $item.dataset.name = item.name;\n }\n\n if (isStringOrNumber(item.value)) {\n $item.dataset.value = item.value;\n }\n\n const $left = append($item, '
');\n const $right = append($item, '
');\n\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n\n switch (type) {\n case 'switch':\n case 'range':\n append($icon, isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config);\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n append(\n $icon,\n isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config,\n );\n } else {\n append($icon, icons.check);\n }\n break;\n default:\n break;\n }\n\n append($left, $icon);\n item.$icon = $icon;\n\n def(item, 'icon', {\n configurable: true,\n get() {\n return $icon.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $icon.innerHTML = value;\n }\n },\n });\n\n const $html = createElement('div');\n addClass($html, 'art-setting-item-left-text');\n append($html, item.html || '');\n append($left, $html);\n item.$html = $html;\n\n def(item, 'html', {\n configurable: true,\n get() {\n return $html.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $html.innerHTML = value;\n }\n },\n });\n\n const $tooltip = createElement('div');\n addClass($tooltip, 'art-setting-item-right-tooltip');\n append($tooltip, item.tooltip || '');\n append($right, $tooltip);\n item.$tooltip = $tooltip;\n\n def(item, 'tooltip', {\n configurable: true,\n get() {\n return $tooltip.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $tooltip.innerHTML = value;\n }\n },\n });\n\n switch (type) {\n case 'switch': {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $switchOn = append($state, icons.switchOn);\n const $switchOff = append($state, icons.switchOff);\n setStyle(item.switch ? $switchOff : $switchOn, 'display', 'none');\n append($right, $state);\n item.$switch = item.switch;\n\n def(item, 'switch', {\n configurable: true,\n get() {\n return item.$switch;\n },\n set(value) {\n item.$switch = value;\n if (value) {\n setStyle($switchOff, 'display', 'none');\n setStyle($switchOn, 'display', null);\n } else {\n setStyle($switchOff, 'display', null);\n setStyle($switchOn, 'display', 'none');\n }\n },\n });\n break;\n }\n case 'range':\n {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $range = append($state, '');\n $range.value = item.range[0] || 0;\n $range.min = item.range[1] || 0;\n $range.max = item.range[2] || 10;\n $range.step = item.range[3] || 1;\n addClass($range, 'art-setting-range');\n append($right, $state);\n item.$range = $range;\n\n def(item, 'range', {\n configurable: true,\n get() {\n return $range.valueAsNumber;\n },\n set(value) {\n $range.value = Number(value);\n },\n });\n }\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n append($state, icons.arrowRight);\n append($right, $state);\n }\n break;\n default:\n break;\n }\n\n switch (type) {\n case 'switch': {\n if (item.onSwitch) {\n const event = proxy($item, 'click', async (event) => {\n item.switch = await item.onSwitch.call(this.art, item, $item, event);\n });\n\n this.events.push(event);\n }\n break;\n }\n case 'range': {\n if (item.$range) {\n if (item.onRange) {\n const event = proxy(item.$range, 'change', async (event) => {\n item.tooltip = await item.onRange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n\n if (item.onChange) {\n const event = proxy(item.$range, 'input', async (event) => {\n item.tooltip = await item.onChange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n }\n break;\n }\n case 'selector':\n {\n const event = proxy($item, 'click', async (event) => {\n if (item.selector && item.selector.length) {\n this.render(item.selector, item.width);\n } else {\n inverseClass($item, 'art-current');\n\n for (let index = 0; index < item.$parentItem.selector.length; index++) {\n const element = item.$parentItem.selector[index];\n element.default = element === item;\n }\n\n if (item.$parentList) {\n this.render(item.$parentList);\n }\n\n if (item.$parentItem && item.$parentItem.onSelect) {\n const result = await item.$parentItem.onSelect.call(this.art, item, $item, event);\n if (item.$parentItem.$tooltip && isStringOrNumber(result)) {\n item.$parentItem.$tooltip.innerHTML = result;\n }\n }\n }\n });\n\n this.events.push(event);\n\n if (item.default) {\n addClass($item, 'art-current');\n }\n }\n break;\n default:\n break;\n }\n\n return $item;\n }\n\n updateStyle(width) {\n const {\n controls,\n constructor,\n template: { $player, $setting },\n } = this.art;\n\n if (controls.setting && !isMobile) {\n const settingWidth = width || constructor.SETTING_WIDTH;\n const { left: controlLeft, width: controlWidth } = controls.setting.getBoundingClientRect();\n const { left: playerLeft, width: playerWidth } = $player.getBoundingClientRect();\n const settingLeft = controlLeft - playerLeft + controlWidth / 2 - settingWidth / 2;\n if (settingLeft + settingWidth > playerWidth) {\n setStyle($setting, 'left', null);\n setStyle($setting, 'right', null);\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n }\n }\n\n render(option, width) {\n const { constructor } = this.art;\n\n if (this.cache.has(option)) {\n const $panel = this.cache.get(option);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n } else {\n const $panel = createElement('div');\n addClass($panel, 'art-setting-panel');\n $panel.dataset.width = width || constructor.SETTING_WIDTH;\n $panel.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;\n\n if (option[0] && option[0].$parentItem) {\n append($panel, this.creatHeader(option[0]));\n $panel.dataset.height = Number($panel.dataset.height) + constructor.SETTING_ITEM_HEIGHT;\n }\n\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (has(item, 'switch')) {\n append($panel, this.creatItem('switch', item));\n } else if (has(item, 'range')) {\n append($panel, this.creatItem('range', item));\n } else {\n append($panel, this.creatItem('selector', item));\n }\n }\n\n append(this.$parent, $panel);\n this.cache.set(option, $panel);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n\n if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) {\n option[0].$parentItem.mounted.call(this.art, $panel, option[0].$parentItem);\n }\n }\n }\n}\n","import { inverseClass, queryAll, capitalize } from '../utils';\n\nexport default function flip(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, FLIP },\n } = art;\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = i18n.get(capitalize(value));\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'flip',\n html: i18n.get('Video Flip'),\n tooltip: i18n.get(capitalize(art.flip)),\n icon: icons.flip,\n selector: FLIP.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.flip);\n art.on('flip', () => {\n update($panel, item.$tooltip, art.flip);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function aspectRatio(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, ASPECT_RATIO },\n } = art;\n\n function getI18n(value) {\n return value === 'default' ? i18n.get('Default') : value;\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'aspect-ratio',\n html: i18n.get('Aspect Ratio'),\n icon: icons.aspectRatio,\n tooltip: getI18n(art.aspectRatio),\n selector: ASPECT_RATIO.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.aspectRatio);\n art.on('aspectRatio', () => {\n update($panel, item.$tooltip, art.aspectRatio);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function playbackRate(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, PLAYBACK_RATE },\n } = art;\n\n function getI18n(value) {\n return value === 1.0 ? i18n.get('Normal') : value.toFixed(1);\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => Number(item.dataset.value) === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'playback-rate',\n html: i18n.get('Play Speed'),\n tooltip: getI18n(art.playbackRate),\n icon: icons.playbackRate,\n selector: PLAYBACK_RATE.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.playbackRate);\n art.on('video:ratechange', () => {\n update($panel, item.$tooltip, art.playbackRate);\n });\n },\n };\n}\n","export default function subtitleOffset(art) {\n const { i18n, icons, constructor } = art;\n\n return {\n width: constructor.SETTING_ITEM_WIDTH,\n name: 'subtitle-offset',\n html: i18n.get('Subtitle Offset'),\n icon: icons.subtitle,\n tooltip: '0s',\n range: [0, -5, 5, 0.1],\n onChange(item) {\n art.subtitleOffset = item.range;\n return item.range + 's';\n },\n };\n}\n","export default class Storage {\n constructor() {\n this.name = 'artplayer_settings';\n this.settings = {};\n }\n\n get(key) {\n try {\n const storage = JSON.parse(window.localStorage.getItem(this.name)) || {};\n return key ? storage[key] : storage;\n } catch (error) {\n return key ? this.settings[key] : this.settings;\n }\n }\n\n set(key, value) {\n try {\n const storage = Object.assign({}, this.get(), {\n [key]: value,\n });\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n this.settings[key] = value;\n }\n }\n\n del(key) {\n try {\n const storage = this.get();\n delete storage[key];\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n delete this.settings[key];\n }\n }\n\n clear() {\n try {\n window.localStorage.removeItem(this.name);\n } catch (error) {\n this.settings = {};\n }\n }\n}\n","import { errorHandle, isMobile, has, def } from '../utils';\nimport miniProgressBar from './miniProgressBar';\nimport autoOrientation from './autoOrientation';\nimport autoPlayback from './autoPlayback';\nimport fastForward from './fastForward';\nimport lock from './lock';\n\nexport default class Plugins {\n constructor(art) {\n this.art = art;\n this.id = 0;\n\n const { option } = art;\n\n if (option.miniProgressBar && !option.isLive) {\n this.add(miniProgressBar);\n }\n\n if (option.lock && isMobile) {\n this.add(lock);\n }\n\n if (option.autoPlayback && !option.isLive) {\n this.add(autoPlayback);\n }\n\n if (option.autoOrientation && isMobile) {\n this.add(autoOrientation);\n }\n\n if (option.fastForward && isMobile && !option.isLive) {\n this.add(fastForward);\n }\n\n for (let index = 0; index < option.plugins.length; index++) {\n this.add(option.plugins[index]);\n }\n }\n\n add(plugin) {\n this.id += 1;\n const result = plugin.call(this.art, this.art);\n const pluginName = (result && result.name) || plugin.name || `plugin${this.id}`;\n errorHandle(!has(this, pluginName), `Cannot add a plugin that already has the same name: ${pluginName}`);\n def(this, pluginName, {\n value: result,\n });\n return this;\n }\n}\n","export default function miniProgressBar(art) {\n art.on('ready', () => {\n art.layers.add({\n name: 'mini-progress-bar',\n mounted($progressBar) {\n art.on('destroy', () => {\n $progressBar.style.display = 'none';\n });\n\n art.on('video:timeupdate', () => {\n $progressBar.style.width = `${art.played * 100}%`;\n });\n\n art.on('setBar', (type, percentage) => {\n if (type === 'played') {\n $progressBar.style.width = `${percentage * 100}%`;\n }\n });\n },\n });\n });\n\n return {\n name: 'mini-progress-bar',\n };\n}\n","import { setStyle, addClass, removeClass, hasClass } from '../utils';\n\nexport default function autoOrientation(art) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n art.on('fullscreenWeb', (state) => {\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n // There is a conflict with the fullscreen event, and it is changed to asynchronous execution\n setTimeout(() => {\n setStyle($player, 'width', `${viewHeight}px`);\n setStyle($player, 'height', `${viewWidth}px`);\n setStyle($player, 'transform-origin', '0 0');\n setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`);\n addClass($player, 'art-auto-orientation');\n art.isRotate = true;\n art.emit('resize');\n }, constructor.MOBILE_AUTO_ORIENTATION_TIME);\n }\n } else {\n if (hasClass($player, 'art-auto-orientation')) {\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.notice.show = '';\n art.emit('resize');\n }\n }\n });\n\n art.on('fullscreen', async (state) => {\n const lastOrientation = screen.orientation.type;\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n const oppositeOrientation = lastOrientation.startsWith('portrait') ? 'landscape' : 'portrait';\n await screen.orientation.lock(oppositeOrientation);\n addClass($player, 'art-auto-orientation-fullscreen');\n }\n } else {\n if (hasClass($player, 'art-auto-orientation-fullscreen')) {\n await screen.orientation.lock(lastOrientation);\n removeClass($player, 'art-auto-orientation-fullscreen');\n }\n }\n });\n\n return {\n name: 'autoOrientation',\n get state() {\n return hasClass($player, 'art-auto-orientation');\n },\n };\n}\n","import { secondToTime, setStyle, query, append } from '../utils';\n\nexport default function autoPlayback(art) {\n const {\n i18n,\n icons,\n storage,\n constructor,\n proxy,\n template: { $poster },\n } = art;\n\n const $autoPlayback = art.layers.add({\n name: 'auto-playback',\n html: `\n
\n
\n
\n `,\n });\n\n const $last = query('.art-auto-playback-last', $autoPlayback);\n const $jump = query('.art-auto-playback-jump', $autoPlayback);\n const $close = query('.art-auto-playback-close', $autoPlayback);\n\n art.on('video:timeupdate', () => {\n if (art.playing) {\n const times = storage.get('times') || {};\n const keys = Object.keys(times);\n if (keys.length > constructor.AUTO_PLAYBACK_MAX) {\n delete times[keys[0]];\n }\n times[art.option.id || art.option.url] = art.currentTime;\n storage.set('times', times);\n }\n });\n\n art.on('ready', () => {\n const times = storage.get('times') || {};\n const currentTime = times[art.option.id || art.option.url];\n if (currentTime && currentTime >= constructor.AUTO_PLAYBACK_MIN) {\n append($close, icons.close);\n setStyle($autoPlayback, 'display', 'flex');\n\n $last.innerText = `${i18n.get('Last Seen')} ${secondToTime(currentTime)}`;\n $jump.innerText = i18n.get('Jump Play');\n\n proxy($close, 'click', () => {\n setStyle($autoPlayback, 'display', 'none');\n });\n\n proxy($jump, 'click', () => {\n art.seek = currentTime;\n art.play();\n setStyle($poster, 'display', 'none');\n setStyle($autoPlayback, 'display', 'none');\n });\n\n art.once('video:timeupdate', () => {\n setTimeout(() => {\n setStyle($autoPlayback, 'display', 'none');\n }, constructor.AUTO_PLAYBACK_TIMEOUT);\n });\n }\n });\n\n return {\n name: 'auto-playback',\n get times() {\n return storage.get('times') || {};\n },\n clear() {\n return storage.del('times');\n },\n delete(id) {\n const times = storage.get('times') || {};\n delete times[id];\n storage.set('times', times);\n return times;\n },\n };\n}\n","import { hasClass, addClass, removeClass } from '../utils';\n\nexport default function fastForward(art) {\n const {\n constructor,\n proxy,\n template: { $player, $video },\n } = art;\n\n let timer = null;\n let isPress = false;\n let lastPlaybackRate = 1;\n\n const onStart = (event) => {\n if (event.touches.length === 1 && art.playing && !art.isLock) {\n timer = setTimeout(() => {\n isPress = true;\n lastPlaybackRate = art.playbackRate;\n art.playbackRate = constructor.FAST_FORWARD_VALUE;\n addClass($player, 'art-fast-forward');\n }, constructor.FAST_FORWARD_TIME);\n }\n };\n\n const onStop = () => {\n clearTimeout(timer);\n if (isPress) {\n isPress = false;\n art.playbackRate = lastPlaybackRate;\n removeClass($player, 'art-fast-forward');\n }\n };\n\n proxy($video, 'touchstart', onStart);\n proxy(document, 'touchmove', onStop);\n proxy(document, 'touchend', onStop);\n\n return {\n name: 'fastForward',\n get state() {\n return hasClass($player, 'art-fast-forward');\n },\n };\n}\n","import { append, setStyle, hasClass, addClass, removeClass } from '../utils';\n\nexport default function lock(art) {\n const {\n layers,\n icons,\n template: { $player },\n } = art;\n\n layers.add({\n name: 'lock',\n mounted($el) {\n const $lock = append($el, icons.lock);\n const $unlock = append($el, icons.unlock);\n setStyle($lock, 'display', 'none');\n\n art.on('lock', (state) => {\n if (state) {\n setStyle($lock, 'display', 'inline-flex');\n setStyle($unlock, 'display', 'none');\n } else {\n setStyle($lock, 'display', 'none');\n setStyle($unlock, 'display', 'inline-flex');\n }\n });\n },\n click() {\n if (hasClass($player, 'art-lock')) {\n removeClass($player, 'art-lock');\n this.isLock = false;\n art.emit('lock', false);\n } else {\n addClass($player, 'art-lock');\n this.isLock = true;\n art.emit('lock', true);\n }\n },\n });\n\n return {\n name: 'lock',\n get state() {\n return hasClass($player, 'art-lock');\n },\n };\n}\n","import config from './config';\nimport { clamp, getExt } from './utils';\n\nexport default class Mobile {\n constructor(art) {\n const {\n option,\n proxy,\n template: { $video },\n } = art;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n for (const key in option.moreVideoAttr) {\n $video[key] = option.moreVideoAttr[key];\n }\n\n $video.controls = true;\n\n if (option.muted) {\n $video.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n if (option.poster) {\n $video.poster = option.poster;\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n const typeName = option.type || getExt(option.url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n typeCallback($video, option.url, art);\n } else {\n $video.src = option.url;\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file +{"mappings":"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","sources":["packages/artplayer/src/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-36399c71fd65785e.js","node_modules/option-validator/dist/option-validator.js","packages/artplayer/src/utils/emitter.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","packages/artplayer/src/utils/index.js","packages/artplayer/src/utils/dom.js","packages/artplayer/src/utils/compatibility.js","packages/artplayer/src/utils/error.js","packages/artplayer/src/utils/subtitle.js","packages/artplayer/src/utils/file.js","packages/artplayer/src/utils/property.js","packages/artplayer/src/utils/time.js","packages/artplayer/src/utils/format.js","packages/artplayer/src/scheme/index.js","packages/artplayer/src/config/index.js","packages/artplayer/src/whitelist.js","packages/artplayer/src/template.js","packages/artplayer/src/i18n/index.js","packages/artplayer/src/i18n/zh-cn.json","packages/artplayer/src/i18n/zh-tw.json","packages/artplayer/src/i18n/pl.json","packages/artplayer/src/i18n/cs.json","packages/artplayer/src/i18n/es.json","packages/artplayer/src/i18n/fa.json","packages/artplayer/src/i18n/fr.json","packages/artplayer/src/i18n/id.json","packages/artplayer/src/i18n/ru.json","packages/artplayer/src/player/index.js","packages/artplayer/src/player/urlMix.js","packages/artplayer/src/player/attrMix.js","packages/artplayer/src/player/playMix.js","packages/artplayer/src/player/pauseMix.js","packages/artplayer/src/player/toggleMix.js","packages/artplayer/src/player/seekMix.js","packages/artplayer/src/player/volumeMix.js","packages/artplayer/src/player/currentTimeMix.js","packages/artplayer/src/player/durationMix.js","packages/artplayer/src/player/switchMix.js","packages/artplayer/src/player/playbackRateMix.js","packages/artplayer/src/player/aspectRatioMix.js","packages/artplayer/src/player/screenshotMix.js","packages/artplayer/src/player/fullscreenMix.js","packages/artplayer/src/libs/screenfull.js","packages/artplayer/src/player/fullscreenWebMix.js","packages/artplayer/src/player/pipMix.js","packages/artplayer/src/player/loadedMix.js","packages/artplayer/src/player/playedMix.js","packages/artplayer/src/player/playingMix.js","packages/artplayer/src/player/autoSizeMix.js","packages/artplayer/src/player/rectMix.js","packages/artplayer/src/player/flipMix.js","packages/artplayer/src/player/miniMix.js","packages/artplayer/src/player/loopMix.js","packages/artplayer/src/player/posterMix.js","packages/artplayer/src/player/autoHeightMix.js","packages/artplayer/src/player/cssVarMix.js","packages/artplayer/src/player/themeMix.js","packages/artplayer/src/player/titleMix.js","packages/artplayer/src/player/typeMix.js","packages/artplayer/src/player/stateMix.js","packages/artplayer/src/player/subtitleOffsetMix.js","packages/artplayer/src/player/airplayMix.js","packages/artplayer/src/player/optionInit.js","packages/artplayer/src/player/eventInit.js","packages/artplayer/src/control/index.js","packages/artplayer/src/utils/component.js","packages/artplayer/src/control/fullscreen.js","packages/artplayer/src/control/fullscreenWeb.js","packages/artplayer/src/control/pip.js","packages/artplayer/src/control/playAndPause.js","packages/artplayer/src/control/progress.js","packages/artplayer/src/control/time.js","packages/artplayer/src/control/volume.js","packages/artplayer/src/control/setting.js","packages/artplayer/src/control/thumbnails.js","packages/artplayer/src/control/screenshot.js","packages/artplayer/src/control/quality.js","packages/artplayer/src/control/loop.js","packages/artplayer/src/control/airplay.js","packages/artplayer/src/contextmenu/index.js","packages/artplayer/src/contextmenu/playbackRate.js","packages/artplayer/src/contextmenu/aspectRatio.js","packages/artplayer/src/contextmenu/flip.js","packages/artplayer/src/contextmenu/info.js","packages/artplayer/src/contextmenu/version.js","packages/artplayer/src/contextmenu/close.js","packages/artplayer/src/info.js","packages/artplayer/src/subtitle.js","packages/artplayer/src/events/index.js","packages/artplayer/src/events/clickInit.js","packages/artplayer/src/events/hoverInit.js","packages/artplayer/src/events/moveInit.js","packages/artplayer/src/events/resizeInit.js","packages/artplayer/src/events/gestureInit.js","packages/artplayer/src/events/viewInit.js","packages/artplayer/src/events/documentInit.js","packages/artplayer/src/hotkey.js","packages/artplayer/src/layer.js","packages/artplayer/src/loading.js","packages/artplayer/src/notice.js","packages/artplayer/src/mask.js","packages/artplayer/src/icons/index.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-cc1465de590716c3.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7354687a49315faa.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-16dba6b497e57200.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-f488ca9613523a89.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-944df7462f092344.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-905e2a3a5bf8821e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7ca6634310de48a5.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-ead51c22e001d3e4.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5f406cb67e8ce068.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4c8d4bdd32e5eb21.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-4e595cc5186a564d.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-c0889fbdfa73dc08.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-48946af7015cb1ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-424af5bfda438aed.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-7214ee73e4711a3f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-d30b61330c0a5e8f.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-aea71df79a337dd1.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-446c9535ee37c4cf.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-3e81c0d117284ebb.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-6be8b022bb1f1d0e.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-5ac93b92a83bb1c2.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bcccb383a7b6e33b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-472cc0769143224b.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-714e675b41750899.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-bfedbb03557d8834.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-900fbd1165be66ff.js","node_modules/@parcel/runtime-js/lib/bundles/runtime-925c7dcd24de3b97.js","packages/artplayer/src/setting/index.js","packages/artplayer/src/setting/flip.js","packages/artplayer/src/setting/aspectRatio.js","packages/artplayer/src/setting/playbackRate.js","packages/artplayer/src/setting/subtitleOffset.js","packages/artplayer/src/storage.js","packages/artplayer/src/plugins/index.js","packages/artplayer/src/plugins/miniProgressBar.js","packages/artplayer/src/plugins/autoOrientation.js","packages/artplayer/src/plugins/autoPlayback.js","packages/artplayer/src/plugins/fastForward.js","packages/artplayer/src/plugins/lock.js","packages/artplayer/src/mobile.js"],"sourcesContent":["import style from 'bundle-text:./style/index.less';\nimport validator from 'option-validator';\nimport Emitter from './utils/emitter';\nimport * as utils from './utils';\nimport scheme from './scheme';\nimport config from './config';\nimport Whitelist from './whitelist';\nimport Template from './template';\nimport I18n from './i18n';\nimport Player from './player';\nimport Control from './control';\nimport Contextmenu from './contextmenu';\nimport Info from './info';\nimport Subtitle from './subtitle';\nimport Events from './events';\nimport Hotkey from './hotkey';\nimport Layer from './layer';\nimport Loading from './loading';\nimport Notice from './notice';\nimport Mask from './mask';\nimport Icons from './icons';\nimport Setting from './setting';\nimport Storage from './storage';\nimport Plugins from './plugins';\nimport Mobile from './mobile';\n\nlet id = 0;\nconst instances = [];\nexport default class Artplayer extends Emitter {\n constructor(option, readyCallback) {\n super();\n\n this.id = ++id;\n\n const mergeOption = utils.mergeDeep(Artplayer.option, option);\n mergeOption.container = option.container;\n\n this.option = validator(mergeOption, scheme);\n\n this.isLock = false;\n this.isReady = false;\n this.isFocus = false;\n this.isInput = false;\n this.isRotate = false;\n this.isDestroy = false;\n\n this.whitelist = new Whitelist(this);\n this.template = new Template(this);\n this.events = new Events(this);\n\n if (this.whitelist.state) {\n this.storage = new Storage(this);\n this.icons = new Icons(this);\n this.i18n = new I18n(this);\n this.notice = new Notice(this);\n this.player = new Player(this);\n this.layers = new Layer(this);\n this.controls = new Control(this);\n this.contextmenu = new Contextmenu(this);\n this.subtitle = new Subtitle(this);\n this.info = new Info(this);\n this.loading = new Loading(this);\n this.hotkey = new Hotkey(this);\n this.mask = new Mask(this);\n this.setting = new Setting(this);\n this.plugins = new Plugins(this);\n } else {\n this.mobile = new Mobile(this);\n }\n\n if (typeof readyCallback === 'function') {\n this.on('ready', () => readyCallback.call(this, this));\n }\n\n if (Artplayer.DEBUG) {\n const log = (msg) => console.log(`[ART.${this.id}] -> ${msg}`);\n log('Version@' + Artplayer.version);\n log('Env@' + Artplayer.env);\n log('Build@' + Artplayer.build);\n for (let index = 0; index < config.events.length; index++) {\n this.on('video:' + config.events[index], (event) => log('Event@' + event.type));\n }\n }\n\n instances.push(this);\n }\n\n static get instances() {\n return instances;\n }\n\n static get version() {\n return process.env.APP_VER;\n }\n\n static get env() {\n return process.env.NODE_ENV;\n }\n\n static get build() {\n return process.env.BUILD_DATE;\n }\n\n static get config() {\n return config;\n }\n\n static get utils() {\n return utils;\n }\n\n static get scheme() {\n return scheme;\n }\n\n static get Emitter() {\n return Emitter;\n }\n\n static get validator() {\n return validator;\n }\n\n static get kindOf() {\n return validator.kindOf;\n }\n\n static get html() {\n return Template.html;\n }\n\n static get option() {\n return {\n id: '',\n container: '#artplayer',\n url: '',\n poster: '',\n title: '',\n type: '',\n theme: '#f00',\n volume: 0.7,\n isLive: false,\n muted: false,\n autoplay: false,\n autoSize: false,\n autoMini: false,\n loop: false,\n flip: false,\n playbackRate: false,\n aspectRatio: false,\n screenshot: false,\n setting: false,\n hotkey: true,\n pip: false,\n mutex: true,\n backdrop: true,\n fullscreen: false,\n fullscreenWeb: false,\n subtitleOffset: false,\n miniProgressBar: false,\n useSSR: false,\n playsInline: true,\n lock: false,\n fastForward: false,\n autoPlayback: false,\n autoOrientation: false,\n airplay: false,\n layers: [],\n contextmenu: [],\n controls: [],\n settings: [],\n quality: [],\n highlight: [],\n plugins: [],\n whitelist: [],\n thumbnails: {\n url: '',\n number: 60,\n column: 10,\n width: 0,\n height: 0,\n },\n subtitle: {\n url: '',\n type: '',\n style: {},\n escape: true,\n encoding: 'utf-8',\n onVttLoad: (vtt) => vtt,\n },\n moreVideoAttr: {\n controls: false,\n preload: utils.isSafari ? 'auto' : 'metadata',\n },\n i18n: {},\n icons: {},\n cssVar: {},\n customType: {},\n lang: navigator.language.toLowerCase(),\n };\n }\n\n get proxy() {\n return this.events.proxy;\n }\n\n get query() {\n return this.template.query;\n }\n\n get video() {\n return this.template.$video;\n }\n\n destroy(removeHtml = true) {\n this.events.destroy();\n this.template.destroy(removeHtml);\n instances.splice(instances.indexOf(this), 1);\n this.isDestroy = true;\n this.emit('destroy');\n }\n}\n\nArtplayer.DEBUG = false;\nArtplayer.CONTEXTMENU = true;\nArtplayer.NOTICE_TIME = 2000;\nArtplayer.SETTING_WIDTH = 250;\nArtplayer.SETTING_ITEM_WIDTH = 200;\nArtplayer.SETTING_ITEM_HEIGHT = 35;\nArtplayer.RESIZE_TIME = 500;\nArtplayer.SCROLL_TIME = 200;\nArtplayer.SCROLL_GAP = 50;\nArtplayer.AUTO_PLAYBACK_MAX = 10;\nArtplayer.AUTO_PLAYBACK_MIN = 5;\nArtplayer.AUTO_PLAYBACK_TIMEOUT = 3000;\nArtplayer.RECONNECT_TIME_MAX = 5;\nArtplayer.RECONNECT_SLEEP_TIME = 1000;\nArtplayer.CONTROL_HIDE_TIME = 3000;\nArtplayer.DBCLICK_TIME = 300;\nArtplayer.DBCLICK_FULLSCREEN = true;\nArtplayer.MOBILE_DBCLICK_PLAY = true;\nArtplayer.MOBILE_CLICK_PLAY = false;\nArtplayer.AUTO_ORIENTATION_TIME = 200;\nArtplayer.INFO_LOOP_TIME = 1000;\nArtplayer.FAST_FORWARD_VALUE = 3;\nArtplayer.FAST_FORWARD_TIME = 1000;\nArtplayer.TOUCH_MOVE_RATIO = 0.5;\nArtplayer.VOLUME_STEP = 0.1;\nArtplayer.SEEK_STEP = 5;\nArtplayer.PLAYBACK_RATE = [0.5, 0.75, 1, 1.25, 1.5, 2];\nArtplayer.ASPECT_RATIO = ['default', '4:3', '16:9'];\nArtplayer.FLIP = ['normal', 'horizontal', 'vertical'];\nArtplayer.FULLSCREEN_WEB_IN_BODY = false;\n\nif (typeof document !== 'undefined') {\n if (!document.getElementById('artplayer-style')) {\n const $style = utils.createElement('style');\n $style.id = 'artplayer-style';\n $style.textContent = style;\n document.head.appendChild($style);\n }\n}\n\nif (typeof window !== 'undefined') {\n window['Artplayer'] = Artplayer;\n}\n\nconsole.log(\n `%c ArtPlayer %c ${Artplayer.version} %c https://artplayer.org`,\n 'color: #fff; background: #5f5f5f',\n 'color: #fff; background: #4bc729',\n '',\n);\n","module.exports = \"028e47e77afa80d5\";","!function(r,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):r.optionValidator=t()}(this,function(){\"use strict\";function e(r){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&\"function\"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r})(r)}var n=Object.prototype.toString,c=function(r){if(void 0===r)return\"undefined\";if(null===r)return\"null\";var t=e(r);if(\"boolean\"===t)return\"boolean\";if(\"string\"===t)return\"string\";if(\"number\"===t)return\"number\";if(\"symbol\"===t)return\"symbol\";if(\"function\"===t)return function(r){return\"GeneratorFunction\"===o(r)}(r)?\"generatorfunction\":\"function\";if(function(r){return Array.isArray?Array.isArray(r):r instanceof Array}(r))return\"array\";if(function(r){if(r.constructor&&\"function\"==typeof r.constructor.isBuffer)return r.constructor.isBuffer(r);return!1}(r))return\"buffer\";if(function(r){try{if(\"number\"==typeof r.length&&\"function\"==typeof r.callee)return!0}catch(r){if(-1!==r.message.indexOf(\"callee\"))return!0}return!1}(r))return\"arguments\";if(function(r){return r instanceof Date||\"function\"==typeof r.toDateString&&\"function\"==typeof r.getDate&&\"function\"==typeof r.setDate}(r))return\"date\";if(function(r){return r instanceof Error||\"string\"==typeof r.message&&r.constructor&&\"number\"==typeof r.constructor.stackTraceLimit}(r))return\"error\";if(function(r){return r instanceof RegExp||\"string\"==typeof r.flags&&\"boolean\"==typeof r.ignoreCase&&\"boolean\"==typeof r.multiline&&\"boolean\"==typeof r.global}(r))return\"regexp\";switch(o(r)){case\"Symbol\":return\"symbol\";case\"Promise\":return\"promise\";case\"WeakMap\":return\"weakmap\";case\"WeakSet\":return\"weakset\";case\"Map\":return\"map\";case\"Set\":return\"set\";case\"Int8Array\":return\"int8array\";case\"Uint8Array\":return\"uint8array\";case\"Uint8ClampedArray\":return\"uint8clampedarray\";case\"Int16Array\":return\"int16array\";case\"Uint16Array\":return\"uint16array\";case\"Int32Array\":return\"int32array\";case\"Uint32Array\":return\"uint32array\";case\"Float32Array\":return\"float32array\";case\"Float64Array\":return\"float64array\"}if(function(r){return\"function\"==typeof r.throw&&\"function\"==typeof r.return&&\"function\"==typeof r.next}(r))return\"generator\";switch(t=n.call(r)){case\"[object Object]\":return\"object\";case\"[object Map Iterator]\":return\"mapiterator\";case\"[object Set Iterator]\":return\"setiterator\";case\"[object String Iterator]\":return\"stringiterator\";case\"[object Array Iterator]\":return\"arrayiterator\"}return t.slice(8,-1).toLowerCase().replace(/\\s/g,\"\")};function o(r){return r.constructor?r.constructor.name:null}function f(r,t){var e=2 item !== target);\n}\n\nexport function inverseClass(target, className) {\n sublings(target).forEach((item) => removeClass(item, className));\n addClass(target, className);\n}\n\nexport function tooltip(target, msg, pos = 'top') {\n if (isMobile) return;\n target.setAttribute('aria-label', msg);\n addClass(target, 'hint--rounded');\n addClass(target, `hint--${pos}`);\n}\n\nexport function isInViewport(el, offset = 0) {\n const rect = el.getBoundingClientRect();\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const vertInView = rect.top - offset <= windowHeight && rect.top + rect.height + offset >= 0;\n const horInView = rect.left - offset <= windowWidth + offset && rect.left + rect.width + offset >= 0;\n return vertInView && horInView;\n}\n\nexport function includeFromEvent(event, target) {\n return event.composedPath && event.composedPath().indexOf(target) > -1;\n}\n\nexport function replaceElement(newChild, oldChild) {\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n}\n\nexport function createElement(tag) {\n return document.createElement(tag);\n}\n\nexport function getIcon(key = '', html = '') {\n const icon = createElement('i');\n addClass(icon, 'art-icon');\n addClass(icon, `art-icon-${key}`);\n append(icon, html);\n return icon;\n}\n","export const userAgent = typeof window !== 'undefined' ? window.navigator.userAgent : '';\nexport const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent);\nexport const isWechat = /MicroMessenger/i.test(userAgent);\nexport const isIE = /MSIE|Trident/i.test(userAgent);\nexport const isAndroid = /android/i.test(userAgent);\nexport const isIOS = /iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream;\n","export class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n return condition;\n}\n","function fixSrt(srt) {\n return srt.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g, (_, $1, $2) => {\n let ms = $2.slice(0, 3);\n if ($2.length === 1) {\n ms = $2 + '00';\n }\n if ($2.length === 2) {\n ms = $2 + '0';\n }\n return `${$1},${ms}`;\n });\n}\n\nexport function srtToVtt(srtText) {\n return 'WEBVTT \\r\\n\\r\\n'.concat(\n fixSrt(srtText)\n .replace(/\\{\\\\([ibu])\\}/g, '')\n .replace(/\\{\\\\([ibu])1\\}/g, '<$1>')\n .replace(/\\{([ibu])\\}/g, '<$1>')\n .replace(/\\{\\/([ibu])\\}/g, '')\n .replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g, '$1.$2')\n .replace(/{[\\s\\S]*?}/g, '')\n .concat('\\r\\n\\r\\n'),\n );\n}\n\nexport function vttToBlob(vttText) {\n return URL.createObjectURL(\n new Blob([vttText], {\n type: 'text/vtt',\n }),\n );\n}\n\nexport function assToVtt(ass) {\n const reAss = new RegExp(\n 'Dialogue:\\\\s\\\\d,' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),' +\n '([^,]*),' +\n '([^,]*),' +\n '(?:[^,]*,){4}' +\n '([\\\\s\\\\S]*)$',\n 'i',\n );\n\n function fixTime(time = '') {\n return time\n .split(/[:.]/)\n .map((item, index, arr) => {\n if (index === arr.length - 1) {\n if (item.length === 1) {\n return `.${item}00`;\n }\n\n if (item.length === 2) {\n return `.${item}0`;\n }\n } else if (item.length === 1) {\n return (index === 0 ? '0' : ':0') + item;\n }\n\n // eslint-disable-next-line no-nested-ternary\n return index === 0 ? item : index === arr.length - 1 ? `.${item}` : `:${item}`;\n })\n .join('');\n }\n\n return `WEBVTT\\n\\n${ass\n .split(/\\r?\\n/)\n .map((line) => {\n const m = line.match(reAss);\n if (!m) return null;\n return {\n start: fixTime(m[1].trim()),\n end: fixTime(m[2].trim()),\n text: m[5]\n .replace(/{[\\s\\S]*?}/g, '')\n .replace(/(\\\\N)/g, '\\n')\n .trim()\n .split(/\\r?\\n/)\n .map((item) => item.trim())\n .join('\\n'),\n };\n })\n .filter((line) => line)\n .map((line, index) => {\n if (line) {\n return `${index + 1}\\n${line.start} --> ${line.end}\\n${line.text}`;\n }\n return '';\n })\n .filter((line) => line.trim())\n .join('\\n\\n')}`;\n}\n","export function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url.trim().toLowerCase().split('.').pop();\n}\n\nexport function download(url, name) {\n const elink = document.createElement('a');\n elink.style.display = 'none';\n elink.href = url;\n elink.download = name;\n document.body.appendChild(elink);\n elink.click();\n document.body.removeChild(elink);\n}\n","export const def = Object.defineProperty;\n\nconst { hasOwnProperty } = Object.prototype;\nexport function has(obj, name) {\n return hasOwnProperty.call(obj, name);\n}\n\nexport function get(obj, name) {\n return Object.getOwnPropertyDescriptor(obj, name);\n}\n\nexport function mergeDeep(...objects) {\n const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const pVal = prev[key];\n const oVal = obj[key];\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(...oVal);\n } else if (isObject(pVal) && isObject(oVal)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n return prev;\n }, {});\n}\n","export function sleep(ms = 0) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function debounce(func, wait, context) {\n let timeout;\n function fn(...args) {\n const later = function later() {\n timeout = null;\n func.apply(context, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n fn.clearTimeout = function ct() {\n clearTimeout(timeout);\n };\n\n return fn;\n}\n\nexport function throttle(callback, delay) {\n let isThrottled = false;\n let args;\n let context;\n function fn(...args2) {\n if (isThrottled) {\n args = args2;\n context = this;\n return;\n }\n\n isThrottled = true;\n callback.apply(this, args2);\n setTimeout(() => {\n isThrottled = false;\n if (args) {\n fn.apply(context, args);\n args = null;\n context = null;\n }\n }, delay);\n }\n return fn;\n}\n","export function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function isStringOrNumber(val) {\n return ['string', 'number'].includes(typeof val);\n}\n\nexport function secondToTime(second) {\n const add0 = (num) => (num < 10 ? `0${num}` : String(num));\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n\nexport function escape(str) {\n return str.replace(\n /[&<>'\"]/g,\n (tag) =>\n ({\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"',\n }[tag] || tag),\n );\n}\n","import { errorHandle } from '../utils';\n\nconst a = 'array';\nconst b = 'boolean';\nconst s = 'string';\nconst n = 'number';\nconst o = 'object';\nconst f = 'function';\nconst r = 'regexp';\n\nfunction validElement(value, type, paths) {\n return errorHandle(\n type === s || type === n || value instanceof Element,\n `${paths.join('.')} require '${s}' or 'Element' type`,\n );\n}\n\nexport const ComponentOption = {\n html: validElement,\n disable: `?${b}`,\n name: `?${s}`,\n index: `?${n}`,\n style: `?${o}`,\n click: `?${f}`,\n mounted: `?${f}`,\n tooltip: `?${s}|${n}`,\n width: `?${n}`,\n selector: `?${a}`,\n onSelect: `?${f}`,\n switch: `?${b}`,\n onSwitch: `?${f}`,\n range: `?${a}`,\n onRange: `?${f}`,\n onChange: `?${f}`,\n};\n\nexport default {\n id: s,\n container: validElement,\n url: s,\n poster: s,\n title: s,\n type: s,\n theme: s,\n lang: s,\n volume: n,\n isLive: b,\n muted: b,\n autoplay: b,\n autoSize: b,\n autoMini: b,\n loop: b,\n flip: b,\n playbackRate: b,\n aspectRatio: b,\n screenshot: b,\n setting: b,\n hotkey: b,\n pip: b,\n mutex: b,\n backdrop: b,\n fullscreen: b,\n fullscreenWeb: b,\n subtitleOffset: b,\n miniProgressBar: b,\n useSSR: b,\n playsInline: b,\n lock: b,\n fastForward: b,\n autoPlayback: b,\n autoOrientation: b,\n airplay: b,\n plugins: [f],\n whitelist: [`${s}|${f}|${r}`],\n layers: [ComponentOption],\n contextmenu: [ComponentOption],\n settings: [ComponentOption],\n controls: [\n {\n ...ComponentOption,\n position: (value, _, paths) => {\n const position = ['top', 'left', 'right'];\n return errorHandle(\n position.includes(value),\n `${paths.join('.')} only accept ${position.toString()} as parameters`,\n );\n },\n },\n ],\n quality: [\n {\n default: `?${b}`,\n html: s,\n url: s,\n },\n ],\n highlight: [\n {\n time: n,\n text: s,\n },\n ],\n thumbnails: {\n url: s,\n number: n,\n column: n,\n width: n,\n height: n,\n },\n subtitle: {\n url: s,\n type: s,\n style: o,\n escape: b,\n encoding: s,\n onVttLoad: f,\n },\n moreVideoAttr: o,\n i18n: o,\n icons: o,\n cssVar: o,\n customType: o,\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume',\n ],\n methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting',\n ],\n prototypes: [\n 'width',\n 'height',\n 'videoWidth',\n 'videoHeight',\n 'poster',\n 'webkitDecodedFrameCount',\n 'webkitDroppedFrameCount',\n 'playsInline',\n 'webkitSupportsFullscreen',\n 'webkitDisplayingFullscreen',\n 'onenterpictureinpicture',\n 'onleavepictureinpicture',\n 'disablePictureInPicture',\n 'cancelVideoFrameCallback',\n 'requestVideoFrameCallback',\n 'getVideoPlaybackQuality',\n 'requestPictureInPicture',\n 'webkitEnterFullScreen',\n 'webkitEnterFullscreen',\n 'webkitExitFullScreen',\n 'webkitExitFullscreen',\n ],\n};\n","import { userAgent, isMobile } from './utils';\n\nexport default class Whitelist {\n constructor(art) {\n this.art = art;\n }\n\n get state() {\n const {\n option,\n constructor: { kindOf },\n } = this.art;\n\n return (\n !isMobile ||\n !option.whitelist.length ||\n option.whitelist.some((item) => {\n switch (kindOf(item)) {\n case 'string':\n return item === '*' || userAgent.indexOf(item) > -1;\n case 'function':\n return item(userAgent);\n case 'regexp':\n return item.test(userAgent);\n default:\n return false;\n }\n })\n );\n }\n}\n","import { errorHandle, query, addClass, replaceElement, isMobile } from './utils';\n\nexport default class Template {\n constructor(art) {\n this.art = art;\n const { option, constructor, whitelist } = art;\n\n if (option.container instanceof Element) {\n this.$container = option.container;\n } else {\n this.$container = query(option.container);\n errorHandle(this.$container, `No container element found by ${option.container}`);\n }\n\n const type = this.$container.tagName.toLowerCase();\n errorHandle(type === 'div', `Unsupported container element type, only support 'div' but got '${type}'`);\n\n errorHandle(\n constructor.instances.every((ins) => ins.template.$container !== this.$container),\n 'Cannot mount multiple instances on the same dom element',\n );\n\n this.query = this.query.bind(this);\n this.$container.dataset.artId = art.id;\n this.$original = this.$container.cloneNode(true);\n\n if (whitelist.state) {\n this.desktop();\n } else {\n this.mobile();\n }\n }\n\n static get html() {\n return `\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
${process.env.APP_VER}
\n
\n
\n
Video url:
\n
\n
\n
\n
Video volume:
\n
\n
\n
\n
Video time:
\n
\n
\n
\n
Video duration:
\n
\n
\n
\n
Video resolution:
\n
\n x \n
\n
\n
\n
[x]
\n
\n
\n
\n `;\n }\n\n query(className) {\n return query(className, this.$container);\n }\n\n desktop() {\n const { option } = this.art;\n\n if (!option.useSSR) {\n this.$container.innerHTML = Template.html;\n }\n\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n this.$track = this.query('track');\n this.$poster = this.query('.art-poster');\n this.$subtitle = this.query('.art-subtitle');\n this.$danmuku = this.query('.art-danmuku');\n this.$bottom = this.query('.art-bottom');\n this.$progress = this.query('.art-progress');\n this.$controls = this.query('.art-controls');\n this.$controlsLeft = this.query('.art-controls-left');\n this.$controlsCenter = this.query('.art-controls-center');\n this.$controlsRight = this.query('.art-controls-right');\n this.$layer = this.query('.art-layers');\n this.$loading = this.query('.art-loading');\n this.$notice = this.query('.art-notice');\n this.$noticeInner = this.query('.art-notice-inner');\n this.$mask = this.query('.art-mask');\n this.$state = this.query('.art-state');\n this.$setting = this.query('.art-settings');\n this.$info = this.query('.art-info');\n this.$infoPanel = this.query('.art-info-panel');\n this.$infoClose = this.query('.art-info-close');\n this.$contextmenu = this.query('.art-contextmenus');\n\n if (option.backdrop) {\n addClass(this.$player, 'art-backdrop');\n }\n\n if (isMobile) {\n addClass(this.$player, 'art-mobile');\n }\n }\n\n mobile() {\n this.$container.innerHTML = `\n
\n \n
\n `;\n this.$player = this.query('.art-video-player');\n this.$video = this.query('.art-video');\n }\n\n destroy(removeHtml) {\n if (removeHtml) {\n replaceElement(this.$original, this.$container);\n } else {\n addClass(this.$player, 'art-destroy');\n }\n }\n}\n","import { mergeDeep } from '../utils';\nimport zhCn from './zh-cn.json';\nimport zhTw from './zh-tw.json';\nimport pl from './pl.json';\nimport cs from './cs.json';\nimport es from './es.json';\nimport fa from './fa.json';\nimport fr from './fr.json';\nimport id from './id.json';\nimport ru from './ru.json';\n\nexport default class I18n {\n constructor(art) {\n this.art = art;\n\n this.languages = {\n 'zh-cn': zhCn,\n 'zh-tw': zhTw,\n pl: pl,\n cs: cs,\n es: es,\n fa: fa,\n fr: fr,\n id: id,\n ru: ru,\n };\n\n this.update(art.option.i18n);\n }\n\n init() {\n const lang = this.art.option.lang.toLowerCase();\n this.language = this.languages[lang] || {};\n }\n\n get(key) {\n return this.language[key] || key;\n }\n\n update(value) {\n this.languages = mergeDeep(this.languages, value);\n this.init();\n }\n}\n","{\n \"Video Info\": \"统计信息\",\n \"Close\": \"关闭\",\n \"Video Load Failed\": \"加载失败\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暂停\",\n \"Rate\": \"速度\",\n \"Mute\": \"静音\",\n \"Video Flip\": \"画面翻转\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新连接\",\n \"Show Setting\": \"显示设置\",\n \"Hide Setting\": \"隐藏设置\",\n \"Screenshot\": \"截图\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"画面比例\",\n \"Default\": \"默认\",\n \"Normal\": \"正常\",\n \"Open\": \"打开\",\n \"Switch Video\": \"切换\",\n \"Switch Subtitle\": \"切换字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"网页全屏\",\n \"Exit Web Fullscreen\": \"退出网页全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"开启画中画\",\n \"Exit PIP Mode\": \"退出画中画\",\n \"PIP Not Supported\": \"不支持画中画\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳转播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"統計訊息\",\n \"Close\": \"關閉\",\n \"Video Load Failed\": \"載入失敗\",\n \"Volume\": \"音量\",\n \"Play\": \"播放\",\n \"Pause\": \"暫停\",\n \"Rate\": \"速度\",\n \"Mute\": \"靜音\",\n \"Video Flip\": \"畫面翻轉\",\n \"Horizontal\": \"水平\",\n \"Vertical\": \"垂直\",\n \"Reconnect\": \"重新連接\",\n \"Show Setting\": \"顯示设置\",\n \"Hide Setting\": \"隱藏设置\",\n \"Screenshot\": \"截圖\",\n \"Play Speed\": \"播放速度\",\n \"Aspect Ratio\": \"畫面比例\",\n \"Default\": \"默認\",\n \"Normal\": \"正常\",\n \"Open\": \"打開\",\n \"Switch Video\": \"切換\",\n \"Switch Subtitle\": \"切換字幕\",\n \"Fullscreen\": \"全屏\",\n \"Exit Fullscreen\": \"退出全屏\",\n \"Web Fullscreen\": \"網頁全屏\",\n \"Exit Web Fullscreen\": \"退出網頁全屏\",\n \"Mini Player\": \"迷你播放器\",\n \"PIP Mode\": \"開啟畫中畫\",\n \"Exit PIP Mode\": \"退出畫中畫\",\n \"PIP Not Supported\": \"不支持畫中畫\",\n \"Fullscreen Not Supported\": \"不支持全屏\",\n \"Subtitle Offset\": \"字幕偏移\",\n \"Last Seen\": \"上次看到\",\n \"Jump Play\": \"跳轉播放\",\n \"AirPlay\": \"隔空播放\",\n \"AirPlay Not Available\": \"隔空播放不可用\"\n}\n","{\n \"Video Info\": \"Informacje o wideo\",\n \"Close\": \"Zamknij\",\n \"Video Load Failed\": \"Błąd ładowania wideo\",\n \"Volume\": \"Głośność\",\n \"Play\": \"Odtwórz\",\n \"Pause\": \"Wstrzymaj\",\n \"Rate\": \"Oceń\",\n \"Mute\": \"Wycisz\",\n \"Video Flip\": \"Rotacja wideo\",\n \"Horizontal\": \"Pozioma\",\n \"Vertical\": \"Pionowa\",\n \"Reconnect\": \"Połącz ponownie\",\n \"Show Setting\": \"Pokaż ustawienia\",\n \"Hide Setting\": \"Ukryj ustawienia\",\n \"Screenshot\": \"Zrzut ekranu\",\n \"Play Speed\": \"Prędkość odtwarzania\",\n \"Aspect Ratio\": \"Współczynnik proporcji\",\n \"Default\": \"Domyślny\",\n \"Normal\": \"Normalny\",\n \"Open\": \"Otwórz\",\n \"Switch Video\": \"Przełącz wideo\",\n \"Switch Subtitle\": \"Przełącz napisy\",\n \"Fullscreen\": \"Pełny ekran\",\n \"Exit Fullscreen\": \"Zamknij pełny ekran\",\n \"Web Fullscreen\": \"Tryb pełnej strony\",\n \"Exit Web Fullscreen\": \"Zamknij tryb pełnej strony\",\n \"Mini Player\": \"Miniodtwarzacz\",\n \"PIP Mode\": \"Tryb PiP\",\n \"Exit PIP Mode\": \"Zamknij tryb PiP\",\n \"PIP Not Supported\": \"Tryb PiP nieobsługiwany\",\n \"Fullscreen Not Supported\": \"Pełny ekran nieobsługiwany\",\n \"Subtitle Offset\": \"Przesunięcie napisów\",\n \"Last Seen\": \"Ostatnio widziany\",\n \"Jump Play\": \"Skocz do gry\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay nie jest dostępny\"\n}\n","{\n \"Video Info\": \"Info o videu\",\n \"Close\": \"Zavřít\",\n \"Video Load Failed\": \"Nahrání videa selhalo\",\n \"Volume\": \"Hlasitost\",\n \"Play\": \"Přehrát\",\n \"Pause\": \"Pozastavit\",\n \"Rate\": \"Hodnocení\",\n \"Mute\": \"Ztlumit\",\n \"Video Flip\": \"Otočit video\",\n \"Horizontal\": \"Horizontálně\",\n \"Vertical\": \"Vertikálně\",\n \"Reconnect\": \"Opětovné připojení\",\n \"Show Setting\": \"Zobrazit nastavení\",\n \"Hide Setting\": \"Skrýt nastavení\",\n \"Screenshot\": \"Snímek obrazovky\",\n \"Play Speed\": \"Rychlost přehrávání\",\n \"Aspect Ratio\": \"Poměr stran\",\n \"Default\": \"Výchozí\",\n \"Normal\": \"Normální\",\n \"Open\": \"Otevřít\",\n \"Switch Video\": \"Přepnout video\",\n \"Switch Subtitle\": \"Přepnout titulky\",\n \"Fullscreen\": \"Celá obrazovka\",\n \"Exit Fullscreen\": \"Opustit režim celé obrazovky\",\n \"Web Fullscreen\": \"Celá stránka\",\n \"Exit Web Fullscreen\": \"Zavřít režim celé stránky\",\n \"Mini Player\": \"Mini přehrávač\",\n \"PIP Mode\": \"Režim PIP\",\n \"Exit PIP Mode\": \"Opustit režim PIP\",\n \"PIP Not Supported\": \"Režim PIP není podporován\",\n \"Fullscreen Not Supported\": \"Režim celé obrazovky není podporován\",\n \"Subtitle Offset\": \"Posun titulků\",\n \"Last Seen\": \"Naposledy viděn\",\n \"Jump Play\": \"Hra na skok\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay není k dispozici\"\n}\n","{\n \"Video Info\": \"Información del video\",\n \"Close\": \"Cerrar\",\n \"Video Load Failed\": \"Falló carga de video\",\n \"Volume\": \"Volumen\",\n \"Play\": \"Reproduciendo\",\n \"Pause\": \"Pausa\",\n \"Rate\": \"Velocidad\",\n \"Mute\": \"Silencio\",\n \"Video Flip\": \"Rotar video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconectando\",\n \"Show Setting\": \"Mostrar ajustes\",\n \"Hide Setting\": \"Ocultar ajustes\",\n \"Screenshot\": \"Captura de Pantalla\",\n \"Play Speed\": \"Velocidad de reproducción\",\n \"Aspect Ratio\": \"Relación de aspecto\",\n \"Default\": \"Por defecto\",\n \"Normal\": \"Normal\",\n \"Open\": \"Abrir\",\n \"Switch Video\": \"Cambiar video\",\n \"Switch Subtitle\": \"Cambiar subtítulo\",\n \"Fullscreen\": \"Pantalla completa\",\n \"Exit Fullscreen\": \"Salir de Pantalla completa\",\n \"Web Fullscreen\": \"Pantalla completa Web\",\n \"Exit Web Fullscreen\": \"Salir de Pantalla completa\",\n \"Mini Player\": \"Mini reproductor\",\n \"PIP Mode\": \"Modo PiP\",\n \"Exit PIP Mode\": \"Cerrar modo PiP\",\n \"PIP Not Supported\": \"Modo PiP no compatible\",\n \"Fullscreen Not Supported\": \"Pantalla completa no soportada\",\n \"Subtitle Offset\": \"Ajuste subtítulo\",\n \"Last Seen\": \"Visto última vez\",\n \"Jump Play\": \"Saltar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay no disponible\"\n}\n","{\n \"Video Info\": \"اطلاعات ویدیو\",\n \"Close\": \"بستن\",\n \"Video Load Failed\": \"بارگذاری ناموفق\",\n \"Play\": \"پخش\",\n \"Volume\": \"میزان صدا\",\n \"Pause\": \"توقف\",\n \"Rate\": \"نرخ\",\n \"Mute\": \"سکوت\",\n \"Video Flip\": \"چرخش تصویر\",\n \"Horizontal\": \"افقی\",\n \"Vertical\": \"عمودی\",\n \"Reconnect\": \"اتصال مجدد\",\n \"Show Setting\": \"تنظیمات\",\n \"Hide Setting\": \"بستن تنظیمات\",\n \"Screenshot\": \"عکس از صفحه\",\n \"Play Speed\": \"سرعت پخش\",\n \"Aspect Ratio\": \"نسبت تصویر\",\n \"Default\": \"حالت پیشفرض\",\n \"Normal\": \" حالت عادی\",\n \"Open\": \"بازکردن\",\n \"Switch Video\": \"تغییر ویدیو\",\n \"Switch Subtitle\": \"نغییر زیرنویس\",\n \"Fullscreen\": \"تمام صفحه\",\n \"Exit Fullscreen\": \"کوچک کردن\",\n \"Web Fullscreen\": \"حالت تئاتر\",\n \"Exit Web Fullscreen\": \"خروج از حالت تئاتر\",\n \"Mini Player\": \"حالت پخش کوچک\",\n \"PIP Mode\": \" مینی پلیر\",\n \"Exit PIP Mode\": \"خروج از مینی پلیر\",\n \"PIP Not Supported\": \"عدم پشتیبانی از مینی پلیر\",\n \"Fullscreen Not Supported\": \"عدم پشتیبانی از حالت تمام صفحه\",\n \"Subtitle Offset\": \"افست زیرنویس\",\n \"Last Seen\": \"آخرین بازدید\",\n \"Jump Play\": \"جامپ پلی\",\n \"AirPlay\": \"ایر پلی\",\n \"AirPlay Not Available\": \"عدم پشتیبانی از ایرپلی\"\n}\n","{\n \"Video Info\": \"Informations de la vidéo\",\n \"Close\": \"Fermer\",\n \"Video Load Failed\": \"Téléchargement de la vidéo échoué\",\n \"Volume\": \"Volume\",\n \"Play\": \"Lire\",\n \"Pause\": \"Pause\",\n \"Rate\": \"Vitesse\",\n \"Mute\": \"Muet\",\n \"Video Flip\": \"Rotation de la vidéo\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertical\",\n \"Reconnect\": \"Reconnexion\",\n \"Show Setting\": \"Afficher les paramètres\",\n \"Hide Setting\": \"Cacher les paramètres\",\n \"Screenshot\": \"Capture d'écran\",\n \"Play Speed\": \"Vitesse de lecture\",\n \"Aspect Ratio\": \"Rapport d'aspect\",\n \"Default\": \"Défaut\",\n \"Normal\": \"Normal\",\n \"Open\": \"Ouvrir\",\n \"Switch Video\": \"Basculer la vidéo\",\n \"Switch Subtitle\": \"Basculer le sous-titre\",\n \"Fullscreen\": \"Plein écran\",\n \"Exit Fullscreen\": \"Quitter le plein écran\",\n \"Web Fullscreen\": \"Plein écran Web\",\n \"Exit Web Fullscreen\": \"Quitter le plein écran Web\",\n \"Mini Player\": \"Mini lecteur\",\n \"PIP Mode\": \"Mode PiP\",\n \"Exit PIP Mode\": \"Fermer le mode PiP\",\n \"PIP Not Supported\": \"Mode PiP non supporté\",\n \"Fullscreen Not Supported\": \"Plein écran non supporté\",\n \"Subtitle Offset\": \"Réglage des sous-titres\",\n \"Last Seen\": \"Dernière position\",\n \"Jump Play\": \"Continuer\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay non disponible\"\n}\n","{\n \"Video Info\": \"Informasi Video\",\n \"Close\": \"Tutup\",\n \"Video Load Failed\": \"Gagal Memuat Video\",\n \"Volume\": \"Volume\",\n \"Play\": \"Putar\",\n \"Pause\": \"Jeda\",\n \"Rate\": \"Kecepatan\",\n \"Mute\": \"Senyap\",\n \"Video Flip\": \"Memutar Video\",\n \"Horizontal\": \"Horizontal\",\n \"Vertical\": \"Vertikal\",\n \"Reconnect\": \"Menyambung Kembali\",\n \"Show Setting\": \"Tampilkan Pengaturan\",\n \"Hide Setting\": \"Sembunyikan Pengaturan\",\n \"Screenshot\": \"Tangkapan Layar\",\n \"Play Speed\": \"Kecepatan Putar\",\n \"Aspect Ratio\": \"Rasio Aspek\",\n \"Default\": \"Default\",\n \"Normal\": \"Normal\",\n \"Open\": \"Buka\",\n \"Switch Video\": \"Ganti Video\",\n \"Switch Subtitle\": \"Ganti Subtitle\",\n \"Fullscreen\": \"Layar Penuh\",\n \"Exit Fullscreen\": \"Keluar dari Layar Penuh\",\n \"Web Fullscreen\": \"Layar Penuh Web\",\n \"Exit Web Fullscreen\": \"Keluar dari Layar Penuh Web\",\n \"Mini Player\": \"Pemutar Mini\",\n \"PIP Mode\": \"Mode PIP\",\n \"Exit PIP Mode\": \"Keluar dari Mode PIP\",\n \"PIP Not Supported\": \"PIP Tidak Didukung\",\n \"Fullscreen Not Supported\": \"Layar Penuh Tidak Didukung\",\n \"Subtitle Offset\": \"Pergeseran Subtitle\",\n \"Last Seen\": \"Terakhir Dilihat\",\n \"Jump Play\": \"Lompat Putar\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay Tidak Tersedia\"\n}\n","{\n \"Video Info\": \"Информация\",\n \"Close\": \"Закрыть\",\n \"Video Load Failed\": \"Ошибка загрузки видео\",\n \"Volume\": \"Громкость\",\n \"Play\": \"Играть\",\n \"Pause\": \"Пауза\",\n \"Rate\": \"Скорость\",\n \"Mute\": \"Заглушить\",\n \"Video Flip\": \"Развернуть видео\",\n \"Horizontal\": \"Горизонтально\",\n \"Vertical\": \"Вертикально\",\n \"Reconnect\": \"Переподключенине\",\n \"Show Setting\": \"Показать настройки\",\n \"Hide Setting\": \"Скрыть настройки\",\n \"Screenshot\": \"Скриншот\",\n \"Play Speed\": \"Скорость воспроизведения\",\n \"Aspect Ratio\": \"Соотношение сторон\",\n \"Default\": \"По-умолчанию\",\n \"Normal\": \"Нормальный\",\n \"Open\": \"Открыть\",\n \"Switch Video\": \"Переключить видео\",\n \"Switch Subtitle\": \"Переключить субтитры\",\n \"Fullscreen\": \"Полноэкранный режим\",\n \"Exit Fullscreen\": \"Выход из полноэкранного режима\",\n \"Web Fullscreen\": \"На все окно браузера\",\n \"Exit Web Fullscreen\": \"Выход из режима полного окна\",\n \"Mini Player\": \"Мини проигрыватель\",\n \"PIP Mode\": \"Картинка в картинке\",\n \"Exit PIP Mode\": \"Закрыть картинку в картинке\",\n \"PIP Not Supported\": \"Картинка в картинке не поддерживается\",\n \"Fullscreen Not Supported\": \"Полноэкранный режим не поддерживается\",\n \"Subtitle Offset\": \"Настройка субтитров\",\n \"Last Seen\": \"Последнее просмотренное\",\n \"Jump Play\": \"Перейти\",\n \"AirPlay\": \"AirPlay\",\n \"AirPlay Not Available\": \"AirPlay недоступен\"\n}\n","import urlMix from './urlMix';\nimport attrMix from './attrMix';\nimport playMix from './playMix';\nimport pauseMix from './pauseMix';\nimport toggleMix from './toggleMix';\nimport seekMix from './seekMix';\nimport volumeMix from './volumeMix';\nimport currentTimeMix from './currentTimeMix';\nimport durationMix from './durationMix';\nimport switchMix from './switchMix';\nimport playbackRateMix from './playbackRateMix';\nimport aspectRatioMix from './aspectRatioMix';\nimport screenshotMix from './screenshotMix';\nimport fullscreenMix from './fullscreenMix';\nimport fullscreenWebMix from './fullscreenWebMix';\nimport pipMix from './pipMix';\nimport loadedMix from './loadedMix';\nimport playedMix from './playedMix';\nimport playingMix from './playingMix';\nimport autoSizeMix from './autoSizeMix';\nimport rectMix from './rectMix';\nimport flipMix from './flipMix';\nimport miniMix from './miniMix';\nimport loopMix from './loopMix';\nimport posterMix from './posterMix';\nimport autoHeightMix from './autoHeightMix';\nimport cssVarMix from './cssVarMix';\nimport themeMix from './themeMix';\nimport titleMix from './titleMix';\nimport typeMix from './typeMix';\nimport stateMix from './stateMix';\nimport subtitleOffsetMix from './subtitleOffsetMix';\nimport airplayMix from './airplayMix';\nimport optionInit from './optionInit';\nimport eventInit from './eventInit';\n\nexport default class Player {\n constructor(art) {\n urlMix(art);\n attrMix(art);\n playMix(art);\n pauseMix(art);\n toggleMix(art);\n seekMix(art);\n volumeMix(art);\n currentTimeMix(art);\n durationMix(art);\n switchMix(art);\n playbackRateMix(art);\n aspectRatioMix(art);\n screenshotMix(art);\n fullscreenMix(art);\n fullscreenWebMix(art);\n pipMix(art);\n loadedMix(art);\n playedMix(art);\n playingMix(art);\n autoSizeMix(art);\n rectMix(art);\n flipMix(art);\n miniMix(art);\n loopMix(art);\n posterMix(art);\n autoHeightMix(art);\n cssVarMix(art);\n themeMix(art);\n titleMix(art);\n typeMix(art);\n stateMix(art);\n subtitleOffsetMix(art);\n airplayMix(art);\n eventInit(art);\n optionInit(art);\n }\n}\n","import { getExt, def, sleep } from '../utils';\n\nexport default function urlMix(art) {\n const {\n option,\n template: { $video },\n } = art;\n\n def(art, 'url', {\n get() {\n return $video.src;\n },\n async set(url) {\n if (url) {\n const oldUrl = art.url;\n const typeName = option.type || getExt(url);\n const typeCallback = option.customType[typeName];\n\n if (typeName && typeCallback) {\n await sleep();\n art.loading.show = true;\n typeCallback.call(art, $video, url, art);\n } else {\n $video.src = url;\n }\n\n if (oldUrl !== art.url) {\n art.option.url = url;\n if (art.isReady && oldUrl) {\n art.once('video:canplay', () => {\n art.emit('restart', url);\n });\n }\n }\n } else {\n await sleep();\n art.loading.show = true;\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function attrMix(art) {\n const {\n template: { $video },\n } = art;\n\n def(art, 'attr', {\n value(key, value) {\n if (value === undefined) return $video[key];\n $video[key] = value;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playMix(art) {\n const {\n i18n,\n notice,\n option,\n constructor: { instances },\n template: { $video },\n } = art;\n\n def(art, 'play', {\n value: async function () {\n const result = await $video.play();\n notice.show = i18n.get('Play');\n art.emit('play');\n\n if (option.mutex) {\n for (let index = 0; index < instances.length; index++) {\n const instance = instances[index];\n if (instance !== art) {\n instance.pause();\n }\n }\n }\n\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function pauseMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'pause', {\n value() {\n const result = $video.pause();\n notice.show = i18n.get('Pause');\n art.emit('pause');\n return result;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function toggleMix(art) {\n def(art, 'toggle', {\n value() {\n if (art.playing) {\n return art.pause();\n } else {\n return art.play();\n }\n },\n });\n}\n","import { secondToTime, def } from '../utils';\n\nexport default function seekMix(art) {\n const { notice } = art;\n\n def(art, 'seek', {\n set(time) {\n art.currentTime = time;\n art.emit('seek', art.currentTime);\n if (art.duration) {\n notice.show = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n }\n },\n });\n\n def(art, 'forward', {\n set(time) {\n art.seek = art.currentTime + time;\n },\n });\n\n def(art, 'backward', {\n set(time) {\n art.seek = art.currentTime - time;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function volumeMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n storage,\n } = art;\n\n def(art, 'volume', {\n get: () => $video.volume || 0,\n set: (percentage) => {\n $video.volume = clamp(percentage, 0, 1);\n notice.show = `${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`;\n if ($video.volume !== 0) {\n storage.set('volume', $video.volume);\n }\n },\n });\n\n def(art, 'muted', {\n get: () => $video.muted,\n set: (muted) => {\n $video.muted = muted;\n },\n });\n}\n","import { clamp, def } from '../utils';\n\nexport default function currentTimeMix(art) {\n const { $video } = art.template;\n\n def(art, 'currentTime', {\n get: () => $video.currentTime || 0,\n set: (time) => {\n time = parseFloat(time);\n if (Number.isNaN(time)) return;\n $video.currentTime = clamp(time, 0, art.duration);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function durationMix(art) {\n def(art, 'duration', {\n get: () => {\n const { duration } = art.template.$video;\n if (duration === Infinity) return 0;\n return duration || 0;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function switchMix(art) {\n const { i18n, option, notice } = art;\n\n function switchUrl(url, name, currentTime) {\n return new Promise((resolve) => {\n if (url === art.url) return resolve(url);\n const { playing } = art;\n art.pause();\n URL.revokeObjectURL(art.url);\n art.url = url;\n art.once('video:canplay', () => {\n art.playbackRate = false;\n art.aspectRatio = false;\n art.flip = 'normal';\n art.autoSize = option.autoSize;\n art.currentTime = currentTime;\n art.notice.show = '';\n if (playing) {\n art.play();\n }\n if (name) {\n notice.show = `${i18n.get('Switch Video')}: ${name}`;\n }\n resolve(url);\n });\n });\n }\n\n def(art, 'switchQuality', {\n value: (url, name) => {\n return switchUrl(url, name, art.currentTime);\n },\n });\n\n def(art, 'switchUrl', {\n value: (url, name) => {\n return switchUrl(url, name, 0);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function playbackRateMix(art) {\n const {\n template: { $video },\n i18n,\n notice,\n } = art;\n\n def(art, 'playbackRate', {\n get() {\n return $video.playbackRate;\n },\n set(rate) {\n if (rate) {\n if (rate === $video.playbackRate) return;\n $video.playbackRate = rate;\n notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;\n } else {\n art.playbackRate = 1;\n }\n },\n });\n}\n","import { setStyle, def } from '../utils';\n\nexport default function aspectRatioMix(art) {\n const {\n template: { $video, $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'aspectRatio', {\n get() {\n return $player.dataset.aspectRatio || 'default';\n },\n set(ratio) {\n if (!ratio) ratio = 'default';\n if (ratio === 'default') {\n setStyle($video, 'width', null);\n setStyle($video, 'height', null);\n setStyle($video, 'padding', null);\n delete $player.dataset.aspectRatio;\n } else {\n const ratioArray = ratio.split(':').map(Number);\n const { videoWidth, videoHeight } = $video;\n const { clientWidth, clientHeight } = $player;\n const videoRatio = videoWidth / videoHeight;\n const setupRatio = ratioArray[0] / ratioArray[1];\n if (videoRatio > setupRatio) {\n const percentage = (setupRatio * videoHeight) / videoWidth;\n setStyle($video, 'width', `${percentage * 100}%`);\n setStyle($video, 'height', '100%');\n setStyle($video, 'padding', `0 ${(clientWidth - clientWidth * percentage) / 2}px`);\n } else {\n const percentage = videoWidth / setupRatio / videoHeight;\n setStyle($video, 'width', '100%');\n setStyle($video, 'height', `${percentage * 100}%`);\n setStyle($video, 'padding', `${(clientHeight - clientHeight * percentage) / 2}px 0`);\n }\n $player.dataset.aspectRatio = ratio;\n }\n\n notice.show = `${i18n.get('Aspect Ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`;\n art.emit('aspectRatio', ratio);\n },\n });\n\n def(art, 'aspectRatioReset', {\n value() {\n const { aspectRatio } = art;\n art.aspectRatio = aspectRatio;\n },\n });\n}\n","import { secondToTime, download, def, createElement } from '../utils';\n\nexport default function screenshotMix(art) {\n const {\n option,\n notice,\n template: { $video },\n } = art;\n\n const $canvas = createElement('canvas');\n\n def(art, 'getDataURL', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n resolve($canvas.toDataURL('image/png'));\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'getBlobUrl', {\n value: () =>\n new Promise((resolve, reject) => {\n try {\n $canvas.width = $video.videoWidth;\n $canvas.height = $video.videoHeight;\n $canvas.getContext('2d').drawImage($video, 0, 0);\n $canvas.toBlob((blob) => {\n resolve(URL.createObjectURL(blob));\n });\n } catch (err) {\n notice.show = err;\n reject(err);\n }\n }),\n });\n\n def(art, 'screenshot', {\n value: async () => {\n const dataUri = await art.getDataURL();\n download(dataUri, `${option.title || 'artplayer'}_${secondToTime($video.currentTime)}.png`);\n art.emit('screenshot', dataUri);\n return dataUri;\n },\n });\n}\n","import screenfull from '../libs/screenfull';\nimport { addClass, removeClass, def, get } from '../utils';\n\nexport default function fullscreenMix(art) {\n const {\n i18n,\n notice,\n template: { $video, $player },\n } = art;\n\n const nativeScreenfull = (art) => {\n screenfull.on('change', () => {\n art.emit('fullscreen', screenfull.isFullscreen);\n });\n\n def(art, 'fullscreen', {\n get() {\n return screenfull.isFullscreen;\n },\n async set(value) {\n if (value) {\n art.state = 'fullscreen';\n art.aspectRatioReset();\n art.autoSize = false;\n await screenfull.request($player);\n addClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n } else {\n art.aspectRatioReset();\n art.autoSize = art.option.autoSize;\n await screenfull.exit();\n removeClass($player, 'art-fullscreen');\n art.emit('resize');\n notice.show = '';\n }\n },\n });\n };\n\n const webkitScreenfull = (art) => {\n def(art, 'fullscreen', {\n get() {\n return $video.webkitDisplayingFullscreen;\n },\n set(value) {\n if (value) {\n art.state = 'fullscreen';\n $video.webkitEnterFullscreen();\n art.emit('fullscreen', true);\n notice.show = '';\n } else {\n $video.webkitExitFullscreen();\n art.emit('fullscreen', false);\n notice.show = '';\n }\n },\n });\n };\n\n art.once('video:loadedmetadata', () => {\n if (screenfull.isEnabled) {\n nativeScreenfull(art);\n } else if (document.fullscreenEnabled || $video.webkitSupportsFullscreen) {\n webkitScreenfull(art);\n } else {\n def(art, 'fullscreen', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('Fullscreen Not Supported');\n },\n });\n }\n\n // Asynchronous setting\n def(art, 'fullscreen', get(art, 'fullscreen'));\n });\n}\n","const methodMap = [\n [\n 'requestFullscreen',\n 'exitFullscreen',\n 'fullscreenElement',\n 'fullscreenEnabled',\n 'fullscreenchange',\n 'fullscreenerror',\n ],\n // New WebKit\n [\n 'webkitRequestFullscreen',\n 'webkitExitFullscreen',\n 'webkitFullscreenElement',\n 'webkitFullscreenEnabled',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n // Old WebKit\n [\n 'webkitRequestFullScreen',\n 'webkitCancelFullScreen',\n 'webkitCurrentFullScreenElement',\n 'webkitCancelFullScreen',\n 'webkitfullscreenchange',\n 'webkitfullscreenerror',\n ],\n [\n 'mozRequestFullScreen',\n 'mozCancelFullScreen',\n 'mozFullScreenElement',\n 'mozFullScreenEnabled',\n 'mozfullscreenchange',\n 'mozfullscreenerror',\n ],\n [\n 'msRequestFullscreen',\n 'msExitFullscreen',\n 'msFullscreenElement',\n 'msFullscreenEnabled',\n 'MSFullscreenChange',\n 'MSFullscreenError',\n ],\n];\n\nconst nativeAPI = (() => {\n if (typeof document === 'undefined') {\n return false;\n }\n\n const unprefixedMethods = methodMap[0];\n const returnValue = {};\n\n for (const methodList of methodMap) {\n const exitFullscreenMethod = methodList[1];\n if (exitFullscreenMethod in document) {\n for (const [index, method] of methodList.entries()) {\n returnValue[unprefixedMethods[index]] = method;\n }\n\n return returnValue;\n }\n }\n\n return false;\n})();\n\nconst eventNameMap = {\n change: nativeAPI.fullscreenchange,\n error: nativeAPI.fullscreenerror,\n};\n\nlet screenfull = {\n request(element = document.documentElement, options) {\n return new Promise((resolve, reject) => {\n const onFullScreenEntered = () => {\n screenfull.off('change', onFullScreenEntered);\n resolve();\n };\n\n screenfull.on('change', onFullScreenEntered);\n\n const returnPromise = element[nativeAPI.requestFullscreen](options);\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit() {\n return new Promise((resolve, reject) => {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n\n const onFullScreenExit = () => {\n screenfull.off('change', onFullScreenExit);\n resolve();\n };\n\n screenfull.on('change', onFullScreenExit);\n\n const returnPromise = document[nativeAPI.exitFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n toggle(element, options) {\n return screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n },\n onchange(callback) {\n screenfull.on('change', callback);\n },\n onerror(callback) {\n screenfull.on('error', callback);\n },\n on(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.addEventListener(eventName, callback, false);\n }\n },\n off(event, callback) {\n const eventName = eventNameMap[event];\n if (eventName) {\n document.removeEventListener(eventName, callback, false);\n }\n },\n raw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n isFullscreen: {\n get: () => Boolean(document[nativeAPI.fullscreenElement]),\n },\n element: {\n enumerable: true,\n get: () => document[nativeAPI.fullscreenElement],\n },\n isEnabled: {\n enumerable: true,\n get: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n },\n});\n\nif (!nativeAPI) {\n screenfull = { isEnabled: false };\n}\n\nexport default screenfull;\n","import { addClass, removeClass, hasClass, def, append } from '../utils';\n\nexport default function fullscreenWebMix(art) {\n const {\n option,\n notice,\n constructor,\n template: { $container, $player },\n } = art;\n\n let cssText = '';\n def(art, 'fullscreenWeb', {\n get() {\n return hasClass($player, 'art-fullscreen-web');\n },\n set(value) {\n if (value) {\n cssText = $player.style.cssText;\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append(document.body, $player);\n }\n art.state = 'fullscreenWeb';\n addClass($player, 'art-fullscreen-web');\n art.aspectRatioReset();\n art.autoSize = false;\n art.emit('resize');\n art.emit('fullscreenWeb', true);\n notice.show = '';\n } else {\n if (constructor.FULLSCREEN_WEB_IN_BODY) {\n append($container, $player);\n }\n if (cssText) {\n $player.style.cssText = cssText;\n cssText = '';\n }\n removeClass($player, 'art-fullscreen-web');\n art.aspectRatioReset();\n art.autoSize = option.autoSize;\n art.emit('resize');\n art.emit('fullscreenWeb', false);\n notice.show = '';\n }\n },\n });\n}\n","import { def } from '../utils';\n\nfunction nativePip(art) {\n const {\n template: { $video },\n proxy,\n notice,\n } = art;\n\n $video.disablePictureInPicture = false;\n\n def(art, 'pip', {\n get() {\n return document.pictureInPictureElement;\n },\n set(value) {\n if (value) {\n art.state = 'pip';\n $video.requestPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n } else {\n document.exitPictureInPicture().catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n },\n });\n\n proxy($video, 'enterpictureinpicture', () => {\n art.emit('pip', true);\n });\n\n proxy($video, 'leavepictureinpicture', () => {\n art.emit('pip', false);\n });\n}\n\nfunction webkitPip(art) {\n const { $video } = art.template;\n\n $video.webkitSetPresentationMode('inline');\n\n def(art, 'pip', {\n get() {\n return $video.webkitPresentationMode === 'picture-in-picture';\n },\n set(value) {\n if (value) {\n art.state = 'pip';\n $video.webkitSetPresentationMode('picture-in-picture');\n art.emit('pip', true);\n } else {\n $video.webkitSetPresentationMode('inline');\n art.emit('pip', false);\n }\n },\n });\n}\n\nexport default function pipMix(art) {\n const {\n i18n,\n notice,\n template: { $video },\n } = art;\n if (document.pictureInPictureEnabled) {\n nativePip(art);\n } else if ($video.webkitSupportsPresentationMode) {\n webkitPip(art);\n } else {\n def(art, 'pip', {\n get() {\n return false;\n },\n set() {\n notice.show = i18n.get('PIP Not Supported');\n },\n });\n }\n}\n","import { def } from '../utils';\n\nexport default function seekMix(art) {\n const { $video } = art.template;\n\n def(art, 'loaded', {\n get: () => art.loadedTime / $video.duration,\n });\n\n def(art, 'loadedTime', {\n get: () => ($video.buffered.length ? $video.buffered.end($video.buffered.length - 1) : 0),\n });\n}\n","import { def } from '../utils';\n\nexport default function playedMix(art) {\n def(art, 'played', {\n get: () => art.currentTime / art.duration,\n });\n}\n","import { def } from '../utils';\n\nexport default function playingMix(art) {\n const { $video } = art.template;\n def(art, 'playing', {\n get: () => !!($video.currentTime > 0 && !$video.paused && !$video.ended && $video.readyState > 2),\n });\n}\n","import { setStyle, addClass, removeClass, hasClass, def } from '../utils';\n\nexport default function resizeMix(art) {\n const { $container, $player, $video } = art.template;\n\n def(art, 'autoSize', {\n get() {\n return hasClass($container, 'art-auto-size');\n },\n set(value) {\n if (value) {\n const { videoWidth, videoHeight } = $video;\n const { width, height } = $container.getBoundingClientRect();\n const videoRatio = videoWidth / videoHeight;\n const containerRatio = width / height;\n addClass($container, 'art-auto-size');\n if (containerRatio > videoRatio) {\n const percentage = ((height * videoRatio) / width) * 100;\n setStyle($player, 'width', `${percentage}%`);\n setStyle($player, 'height', '100%');\n } else {\n const percentage = (width / videoRatio / height) * 100;\n setStyle($player, 'width', '100%');\n setStyle($player, 'height', `${percentage}%`);\n }\n art.emit('autoSize', {\n width: art.width,\n height: art.height,\n });\n } else {\n removeClass($container, 'art-auto-size');\n setStyle($player, 'width', null);\n setStyle($player, 'height', null);\n art.emit('autoSize');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function rectMix(art) {\n def(art, 'rect', {\n get: () => {\n return art.template.$player.getBoundingClientRect();\n },\n });\n\n const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n for (let index = 0; index < keys.length; index++) {\n const key = keys[index];\n def(art, key, {\n get: () => {\n return art.rect[key];\n },\n });\n }\n\n def(art, 'x', {\n get: () => {\n return art.left + window.pageXOffset;\n },\n });\n\n def(art, 'y', {\n get: () => {\n return art.top + window.pageYOffset;\n },\n });\n}\n","import { def, capitalize } from '../utils';\n\nexport default function flipMix(art) {\n const {\n template: { $player },\n i18n,\n notice,\n } = art;\n\n def(art, 'flip', {\n get() {\n return $player.dataset.flip || 'normal';\n },\n set(flip) {\n if (!flip) flip = 'normal';\n if (flip === 'normal') {\n delete $player.dataset.flip;\n } else {\n $player.dataset.flip = flip;\n }\n\n notice.show = `${i18n.get('Video Flip')}: ${i18n.get(capitalize(flip))}`;\n art.emit('flip', flip);\n },\n });\n}\n","import { append, setStyle, addClass, removeClass, hasClass, def, isInViewport, createElement } from '../utils';\n\nexport default function miniMix(art) {\n const {\n icons,\n proxy,\n storage,\n template: { $player, $video },\n } = art;\n\n let isDroging = false;\n let lastPageX = 0;\n let lastPageY = 0;\n\n function hideMini() {\n const { $mini } = art.template;\n if ($mini) {\n removeClass($player, 'art-mini');\n setStyle($mini, 'display', 'none');\n $player.prepend($video);\n art.emit('mini', false);\n }\n }\n\n function initState($play, $pause) {\n if (art.playing) {\n setStyle($play, 'display', `none`);\n setStyle($pause, 'display', `flex`);\n } else {\n setStyle($play, 'display', `flex`);\n setStyle($pause, 'display', `none`);\n }\n }\n\n function createMini() {\n const { $mini } = art.template;\n if ($mini) {\n append($mini, $video);\n return setStyle($mini, 'display', 'flex');\n } else {\n const $mini = createElement('div');\n addClass($mini, 'art-mini-popup');\n append(document.body, $mini);\n art.template.$mini = $mini;\n append($mini, $video);\n\n const $close = append($mini, `
`);\n append($close, icons.close);\n proxy($close, 'click', hideMini);\n\n const $state = append($mini, `
`);\n const $play = append($state, icons.play);\n const $pause = append($state, icons.pause);\n proxy($play, 'click', () => art.play());\n proxy($pause, 'click', () => art.pause());\n initState($play, $pause);\n art.on('video:playing', () => initState($play, $pause));\n art.on('video:pause', () => initState($play, $pause));\n art.on('video:timeupdate', () => initState($play, $pause));\n\n proxy($mini, 'mousedown', (event) => {\n isDroging = event.button === 0;\n lastPageX = event.pageX;\n lastPageY = event.pageY;\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n addClass($mini, 'art-mini-droging');\n const x = event.pageX - lastPageX;\n const y = event.pageY - lastPageY;\n setStyle($mini, 'transform', `translate(${x}px, ${y}px)`);\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n removeClass($mini, 'art-mini-droging');\n const rect = $mini.getBoundingClientRect();\n storage.set('left', rect.left);\n storage.set('top', rect.top);\n setStyle($mini, 'left', `${rect.left}px`);\n setStyle($mini, 'top', `${rect.top}px`);\n setStyle($mini, 'transform', null);\n }\n });\n\n return $mini;\n }\n }\n\n function initMini() {\n const { $mini } = art.template;\n const rect = $mini.getBoundingClientRect();\n const top = window.innerHeight - rect.height - 50;\n const left = window.innerWidth - rect.width - 50;\n storage.set('top', top);\n storage.set('left', left);\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n }\n\n def(art, 'mini', {\n get() {\n return hasClass($player, 'art-mini');\n },\n set(value) {\n if (value) {\n addClass($player, 'art-mini');\n const $mini = createMini();\n const top = storage.get('top');\n const left = storage.get('left');\n if (top && left) {\n setStyle($mini, 'top', `${top}px`);\n setStyle($mini, 'left', `${left}px`);\n if (!isInViewport($mini)) {\n initMini();\n }\n } else {\n initMini();\n }\n art.emit('mini', true);\n } else {\n hideMini();\n }\n },\n });\n}\n","import { def, clamp } from '../utils';\n\nexport default function loopMix(art) {\n let interval = [];\n def(art, 'loop', {\n get: () => interval,\n set: (value) => {\n if (Array.isArray(value) && typeof value[0] === 'number' && typeof value[1] === 'number') {\n const start = clamp(value[0], 0, Math.min(value[1], art.duration));\n const end = clamp(value[1], start, art.duration);\n if (end - start >= 1) {\n interval = [start, end];\n } else {\n interval = [];\n }\n } else {\n interval = [];\n }\n art.emit('loop', interval);\n },\n });\n\n art.on('video:timeupdate', () => {\n if (interval.length) {\n if (art.currentTime < interval[0] || art.currentTime > interval[1]) {\n art.seek = interval[0];\n }\n }\n });\n}\n","import { def, setStyle } from '../utils';\n\nexport default function posterMix(art) {\n const {\n option,\n template: { $poster },\n } = art;\n\n def(art, 'poster', {\n get: () => option.poster,\n set(url) {\n option.poster = url;\n setStyle($poster, 'backgroundImage', `url(${url})`);\n },\n });\n}\n","import { setStyle, hasClass, addClass, removeClass, def } from '../utils';\n\nexport default function autoHeightMix(art) {\n const {\n option,\n template: { $container, $video },\n } = art;\n\n const heightCache = $container.style.height;\n\n def(art, 'autoHeight', {\n get() {\n return hasClass($container, 'art-auto-height');\n },\n set(value) {\n if (value) {\n const { clientWidth } = $container;\n const { videoHeight, videoWidth } = $video;\n const height = videoHeight * (clientWidth / videoWidth);\n setStyle($container, 'height', height + 'px');\n addClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight', height);\n } else {\n setStyle($container, 'height', heightCache);\n removeClass($container, 'art-auto-height');\n art.autoSize = option.autoSize;\n art.emit('autoHeight');\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function cssVarMix(art) {\n const { $player } = art.template;\n\n def(art, 'cssVar', {\n value(key, value) {\n if (value) {\n return $player.style.setProperty(key, value);\n } else {\n return getComputedStyle($player).getPropertyValue(key);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function themeMix(art) {\n const { option } = art;\n\n def(art, 'theme', {\n get() {\n return art.cssProperty('--art-theme');\n },\n set(theme) {\n option.theme = theme;\n art.cssProperty('--art-theme', theme);\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function titleMix(art) {\n def(art, 'title', {\n get() {\n return art.option.title;\n },\n set(title) {\n art.option.title = title;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function typeMix(art) {\n def(art, 'type', {\n get() {\n return art.option.type;\n },\n set(type) {\n art.option.type = type;\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function stateMix(art) {\n const states = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];\n def(art, 'state', {\n get: () => states.find((name) => art[name]) || 'standard',\n set(name) {\n for (let index = 0; index < states.length; index++) {\n const prop = states[index];\n if (prop !== name && art[prop]) {\n art[prop] = false;\n }\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function subtitleOffsetMix(art) {\n const { clamp } = art.constructor.utils;\n const { notice, template, i18n } = art;\n\n let offsetCache = 0;\n let cuesCache = [];\n art.on('subtitle:switch', () => {\n cuesCache = [];\n });\n\n def(art, 'subtitleOffset', {\n get() {\n return offsetCache;\n },\n set(value) {\n if (template.$track && template.$track.track) {\n const cues = Array.from(template.$track.track.cues);\n offsetCache = clamp(value, -5, 5);\n\n for (let index = 0; index < cues.length; index++) {\n const cue = cues[index];\n if (!cuesCache[index]) {\n cuesCache[index] = {\n startTime: cue.startTime,\n endTime: cue.endTime,\n };\n }\n cue.startTime = clamp(cuesCache[index].startTime + offsetCache, 0, art.duration);\n cue.endTime = clamp(cuesCache[index].endTime + offsetCache, 0, art.duration);\n }\n\n art.subtitle.update();\n notice.show = `${i18n.get('Subtitle Offset')}: ${value}s`;\n art.emit('subtitleOffset', value);\n } else {\n art.emit('subtitleOffset', 0);\n }\n },\n });\n}\n","import { def } from '../utils';\n\nexport default function airplayMix(art) {\n const {\n i18n,\n notice,\n proxy,\n template: { $video },\n } = art;\n\n let available = true;\n\n if (window.WebKitPlaybackTargetAvailabilityEvent && $video.webkitShowPlaybackTargetPicker) {\n proxy($video, 'webkitplaybacktargetavailabilitychanged', (event) => {\n switch (event.availability) {\n case 'available':\n available = true;\n break;\n case 'not-available':\n available = false;\n break;\n }\n });\n } else {\n available = false;\n }\n\n def(art, 'airplay', {\n value() {\n if (available) {\n $video.webkitShowPlaybackTargetPicker();\n art.emit('airplay');\n } else {\n notice.show = i18n.get('AirPlay Not Available');\n }\n },\n });\n}\n","import { clamp, setStyle } from '../utils';\n\nexport default function attrInit(art) {\n const {\n option,\n storage,\n template: { $video, $poster },\n } = art;\n\n for (const key in option.moreVideoAttr) {\n art.attr(key, option.moreVideoAttr[key]);\n }\n\n if (option.muted) {\n art.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n const volumeStorage = storage.get('volume');\n if (typeof volumeStorage === 'number') {\n $video.volume = clamp(volumeStorage, 0, 1);\n }\n\n if (option.poster) {\n setStyle($poster, 'backgroundImage', `url(${option.poster})`);\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n if (option.theme) {\n option.cssVar['--art-theme'] = option.theme;\n }\n\n for (const key in option.cssVar) {\n art.cssVar(key, option.cssVar[key]);\n }\n\n art.url = option.url;\n}\n","import config from '../config';\nimport { sleep, addClass, setStyle, isMobile } from '../utils';\n\nexport default function eventInit(art) {\n const {\n i18n,\n notice,\n option,\n constructor,\n proxy,\n template: { $player, $video, $poster },\n } = art;\n\n let reconnectTime = 0;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n // art.on('video:abort', () => {\n\n // });\n\n art.on('video:canplay', () => {\n reconnectTime = 0;\n art.loading.show = false;\n });\n\n art.once('video:canplay', () => {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n art.isReady = true;\n art.emit('ready');\n });\n\n // art.on('video:canplaythrough', () => {\n\n // });\n\n // art.on('video:durationchange', () => {\n\n // });\n\n // art.on('video:emptied', () => {\n\n // });\n\n art.on('video:ended', () => {\n if (option.loop) {\n art.seek = 0;\n art.play();\n art.controls.show = false;\n art.mask.show = false;\n } else {\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:error', async (error) => {\n if (reconnectTime < constructor.RECONNECT_TIME_MAX) {\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n reconnectTime += 1;\n art.url = option.url;\n notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;\n art.emit('error', error, reconnectTime);\n } else {\n art.mask.show = true;\n art.loading.show = false;\n art.controls.show = true;\n addClass($player, 'art-error');\n await sleep(constructor.RECONNECT_SLEEP_TIME);\n notice.show = i18n.get('Video Load Failed');\n art.destroy(false);\n }\n });\n\n // art.on('video:loadeddata', () => {\n\n // });\n\n art.on('video:loadedmetadata', () => {\n art.autoSize = option.autoSize;\n if (isMobile) {\n art.loading.show = false;\n art.controls.show = true;\n art.mask.show = true;\n }\n });\n\n art.on('video:loadstart', () => {\n art.loading.show = true;\n art.mask.show = false;\n art.controls.show = true;\n });\n\n art.on('video:pause', () => {\n art.controls.show = true;\n art.mask.show = true;\n });\n\n art.on('video:play', () => {\n art.mask.show = false;\n setStyle($poster, 'display', 'none');\n });\n\n art.on('video:playing', () => {\n art.mask.show = false;\n });\n\n art.on('video:progress', () => {\n if (art.playing) {\n art.loading.show = false;\n }\n });\n\n // art.on('video:ratechange', () => {\n\n // });\n\n art.on('video:seeked', () => {\n art.loading.show = false;\n });\n\n art.on('video:seeking', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n\n // art.on('video:stalled', () => {\n\n // });\n\n // art.on('video:suspend', () => {\n\n // });\n\n art.on('video:timeupdate', () => {\n art.mask.show = false;\n });\n\n // art.on('video:volumechange', () => {\n\n // });\n\n art.on('video:waiting', () => {\n art.loading.show = true;\n art.mask.show = false;\n });\n}\n","import { errorHandle, addClass, removeClass, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport fullscreen from './fullscreen';\nimport fullscreenWeb from './fullscreenWeb';\nimport pip from './pip';\nimport playAndPause from './playAndPause';\nimport progress from './progress';\nimport time from './time';\nimport volume from './volume';\nimport setting from './setting';\nimport thumbnails from './thumbnails';\nimport screenshot from './screenshot';\nimport quality from './quality';\nimport loop from './loop';\nimport airplay from './airplay';\n\nexport default class Control extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'control';\n\n const {\n proxy,\n constructor,\n template: { $player },\n } = art;\n\n let activeTime = Date.now();\n\n proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], () => {\n this.show = true;\n removeClass($player, 'art-hide-cursor');\n addClass($player, 'art-hover');\n activeTime = Date.now();\n });\n\n art.on('video:timeupdate', () => {\n if (!art.isInput && art.playing && this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {\n this.show = false;\n addClass($player, 'art-hide-cursor');\n removeClass($player, 'art-hover');\n }\n });\n\n this.init();\n }\n\n init() {\n const { option } = this.art;\n\n if (!option.isLive) {\n this.add(\n progress({\n name: 'progress',\n position: 'top',\n index: 10,\n }),\n );\n }\n\n if (option.thumbnails.url && !option.isLive && !isMobile) {\n this.add(\n thumbnails({\n name: 'thumbnails',\n position: 'top',\n index: 20,\n }),\n );\n }\n\n this.add(\n loop({\n name: 'loop',\n position: 'top',\n index: 30,\n }),\n );\n\n this.add(\n playAndPause({\n name: 'playAndPause',\n position: 'left',\n index: 10,\n }),\n );\n\n this.add(\n volume({\n name: 'volume',\n position: 'left',\n index: 20,\n }),\n );\n\n if (!option.isLive) {\n this.add(\n time({\n name: 'time',\n position: 'left',\n index: 30,\n }),\n );\n }\n\n if (option.quality.length) {\n this.add(\n quality({\n name: 'quality',\n position: 'right',\n index: 10,\n }),\n );\n }\n\n if (option.screenshot && !isMobile) {\n this.add(\n screenshot({\n name: 'screenshot',\n position: 'right',\n index: 20,\n }),\n );\n }\n\n if (option.setting) {\n this.add(\n setting({\n name: 'setting',\n position: 'right',\n index: 30,\n }),\n );\n }\n\n if (option.pip) {\n this.add(\n pip({\n name: 'pip',\n position: 'right',\n index: 40,\n }),\n );\n }\n\n if (option.airplay && window.WebKitPlaybackTargetAvailabilityEvent) {\n this.add(\n airplay({\n name: 'airplay',\n position: 'right',\n index: 50,\n }),\n );\n }\n\n if (option.fullscreenWeb) {\n this.add(\n fullscreenWeb({\n name: 'fullscreenWeb',\n position: 'right',\n index: 60,\n }),\n );\n }\n\n if (option.fullscreen) {\n this.add(\n fullscreen({\n name: 'fullscreen',\n position: 'right',\n index: 70,\n }),\n );\n }\n\n for (let index = 0; index < option.controls.length; index++) {\n this.add(option.controls[index]);\n }\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n const { $progress, $controlsLeft, $controlsRight } = this.art.template;\n\n switch (option.position) {\n case 'top':\n this.$parent = $progress;\n break;\n case 'left':\n this.$parent = $controlsLeft;\n break;\n case 'right':\n this.$parent = $controlsRight;\n break;\n default:\n errorHandle(false, `Control option.position must one of 'top', 'left', 'right'`);\n break;\n }\n\n super.add(option);\n }\n}\n","import {\n remove,\n append,\n tooltip,\n hasClass,\n addClass,\n getStyle,\n setStyles,\n removeClass,\n inverseClass,\n createElement,\n} from './dom';\nimport { isStringOrNumber } from './format';\nimport { errorHandle } from './error';\nimport validator from 'option-validator';\nimport { ComponentOption } from '../scheme';\n\nexport default class Component {\n constructor(art) {\n this.id = 0;\n this.art = art;\n this.cache = new Map();\n this.add = this.add.bind(this);\n this.remove = this.remove.bind(this);\n this.update = this.update.bind(this);\n }\n\n get show() {\n return hasClass(this.art.template.$player, `art-${this.name}-show`);\n }\n\n set show(value) {\n const { $player } = this.art.template;\n const className = `art-${this.name}-show`;\n if (value) {\n addClass($player, className);\n } else {\n removeClass($player, className);\n }\n this.art.emit(this.name, value);\n }\n\n toggle() {\n this.show = !this.show;\n }\n\n add(getOption) {\n const option = typeof getOption === 'function' ? getOption(this.art) : getOption;\n option.html = option.html || '';\n validator(option, ComponentOption);\n if (!this.$parent || !this.name || option.disable) return;\n const name = option.name || `${this.name}${this.id}`;\n const item = this.cache.get(name);\n errorHandle(!item, `Can't add an existing [${name}] to the [${this.name}]`);\n\n this.id += 1;\n const $ref = createElement('div');\n addClass($ref, `art-${this.name}`);\n addClass($ref, `art-${this.name}-${name}`);\n\n const childs = Array.from(this.$parent.children);\n $ref.dataset.index = option.index || this.id;\n const nextChild = childs.find((item) => Number(item.dataset.index) >= Number($ref.dataset.index));\n if (nextChild) {\n nextChild.insertAdjacentElement('beforebegin', $ref);\n } else {\n append(this.$parent, $ref);\n }\n\n if (option.html) {\n append($ref, option.html);\n }\n\n if (option.style) {\n setStyles($ref, option.style);\n }\n\n if (option.tooltip) {\n tooltip($ref, option.tooltip);\n }\n\n const events = [];\n if (option.click) {\n const destroyEvent = this.art.events.proxy($ref, 'click', (event) => {\n event.preventDefault();\n option.click.call(this.art, this, event);\n });\n events.push(destroyEvent);\n }\n\n if (option.selector && ['left', 'right'].includes(option.position)) {\n this.addSelector(option, $ref, events);\n }\n\n this[name] = $ref;\n this.cache.set(name, { $ref, events, option });\n\n if (option.mounted) {\n option.mounted.call(this.art, $ref);\n }\n\n return $ref;\n }\n\n addSelector(option, $ref, events) {\n const { hover, proxy } = this.art.events;\n\n addClass($ref, 'art-control-selector');\n const $value = createElement('div');\n addClass($value, 'art-selector-value');\n append($value, option.html);\n $ref.innerText = '';\n append($ref, $value);\n\n const list = option.selector\n .map(\n (item, index) =>\n `
${\n item.html\n }
`,\n )\n .join('');\n const $list = createElement('div');\n addClass($list, 'art-selector-list');\n append($list, list);\n append($ref, $list);\n\n const setLeft = () => {\n const refWidth = getStyle($ref, 'width');\n const listWidth = getStyle($list, 'width');\n const left = refWidth / 2 - listWidth / 2;\n $list.style.left = `${left}px`;\n };\n\n hover($ref, setLeft);\n\n const destroyEvent = proxy($list, 'click', async (event) => {\n const path = event.composedPath() || [];\n const $item = path.find((item) => hasClass(item, 'art-selector-item'));\n if (!$item) return;\n inverseClass($item, 'art-current');\n const index = Number($item.dataset.index);\n const find = option.selector[index] || {};\n $value.innerText = $item.innerText;\n if (option.onSelect) {\n const result = await option.onSelect.call(this.art, find, $item, event);\n if (isStringOrNumber(result)) {\n $value.innerHTML = result;\n }\n }\n setLeft();\n });\n\n events.push(destroyEvent);\n }\n\n remove(name) {\n const item = this.cache.get(name);\n errorHandle(item, `Can't find [${name}] from the [${this.name}]`);\n\n if (item.option.beforeUnmount) {\n item.option.beforeUnmount.call(this.art, item.$ref);\n }\n\n for (let index = 0; index < item.events.length; index++) {\n this.art.events.remove(item.events[index]);\n }\n\n this.cache.delete(name);\n delete this[name];\n remove(item.$ref);\n }\n\n update(option) {\n const item = this.cache.get(option.name);\n if (item) this.remove(option.name);\n return this.add(option);\n }\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreen(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenOn = append($control, icons.fullscreenOn);\n const $fullscreenOff = append($control, icons.fullscreenOff);\n setStyle($fullscreenOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreen = !art.fullscreen;\n });\n\n art.on('fullscreen', (state) => {\n if (state) {\n tooltip($control, i18n.get('Exit Fullscreen'));\n setStyle($fullscreenOn, 'display', 'none');\n setStyle($fullscreenOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Fullscreen'));\n setStyle($fullscreenOn, 'display', 'inline-flex');\n setStyle($fullscreenOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function fullscreenWeb(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Web Fullscreen'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $fullscreenWebOn = append($control, icons.fullscreenWebOn);\n const $fullscreenWebOff = append($control, icons.fullscreenWebOff);\n setStyle($fullscreenWebOff, 'display', 'none');\n\n proxy($control, 'click', () => {\n art.fullscreenWeb = !art.fullscreenWeb;\n });\n\n art.on('fullscreenWeb', (value) => {\n if (value) {\n tooltip($control, i18n.get('Exit Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'none');\n setStyle($fullscreenWebOff, 'display', 'inline-flex');\n } else {\n tooltip($control, i18n.get('Web Fullscreen'));\n setStyle($fullscreenWebOn, 'display', 'inline-flex');\n setStyle($fullscreenWebOff, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('PIP Mode'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.pip);\n\n proxy($control, 'click', () => {\n art.pip = !art.pip;\n });\n\n art.on('pip', (value) => {\n tooltip($control, i18n.get(value ? 'Exit PIP Mode' : 'PIP Mode'));\n });\n },\n });\n}\n","import { append, tooltip, setStyle } from '../utils';\n\nexport default function playAndPause(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n const $play = append($control, icons.play);\n const $pause = append($control, icons.pause);\n tooltip($play, i18n.get('Play'));\n tooltip($pause, i18n.get('Pause'));\n\n proxy($play, 'click', () => {\n art.play();\n });\n\n proxy($pause, 'click', () => {\n art.pause();\n });\n\n function showPlay() {\n setStyle($play, 'display', 'flex');\n setStyle($pause, 'display', 'none');\n }\n\n function showPause() {\n setStyle($play, 'display', 'none');\n setStyle($pause, 'display', 'flex');\n }\n\n if (art.playing) {\n showPause();\n } else {\n showPlay();\n }\n\n art.on('video:playing', () => {\n showPause();\n });\n\n art.on('video:pause', () => {\n showPlay();\n });\n },\n });\n}\n","import { query, clamp, append, setStyle, secondToTime, includeFromEvent, isMobile } from '../utils';\n\nexport function getPosFromEvent(art, event) {\n const { $progress } = art.template;\n const { left } = $progress.getBoundingClientRect();\n const eventLeft = isMobile ? event.touches[0].clientX : event.clientX;\n const width = clamp(eventLeft - left, 0, $progress.clientWidth);\n const second = (width / $progress.clientWidth) * art.duration;\n const time = secondToTime(second);\n const percentage = clamp(width / $progress.clientWidth, 0, 1);\n return { second, time, width, percentage };\n}\n\nexport function setCurrentTime(art, event) {\n if (art.isRotate) {\n const percentage = event.touches[0].clientY / art.height;\n const second = percentage * art.duration;\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n } else {\n const { second, percentage } = getPosFromEvent(art, event);\n art.emit('setBar', 'played', percentage);\n art.seek = second;\n }\n}\n\nexport default function progress(options) {\n return (art) => {\n const { icons, option, proxy } = art;\n\n return {\n ...options,\n html: `\n
\n
\n
\n
\n
\n
\n
\n
\n `,\n mounted: ($control) => {\n let isDroging = false;\n const $hover = query('.art-progress-hover', $control);\n const $loaded = query('.art-progress-loaded', $control);\n const $played = query('.art-progress-played', $control);\n const $highlight = query('.art-progress-highlight', $control);\n const $indicator = query('.art-progress-indicator', $control);\n const $tip = query('.art-progress-tip', $control);\n\n if (icons.indicator) {\n append($indicator, icons.indicator);\n } else {\n setStyle($indicator, 'backgroundColor', 'var(--art-theme)');\n }\n\n function showHighlight(event) {\n const { width } = getPosFromEvent(art, event);\n const { text } = event.target.dataset;\n $tip.innerHTML = text;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function showTime(event) {\n const { width, time } = getPosFromEvent(art, event);\n $tip.innerHTML = time;\n const tipWidth = $tip.clientWidth;\n if (width <= tipWidth / 2) {\n setStyle($tip, 'left', 0);\n } else if (width > $control.clientWidth - tipWidth / 2) {\n setStyle($tip, 'left', `${$control.clientWidth - tipWidth}px`);\n } else {\n setStyle($tip, 'left', `${width - tipWidth / 2}px`);\n }\n }\n\n function setBar(type, percentage) {\n if (type === 'loaded') {\n setStyle($loaded, 'width', `${percentage * 100}%`);\n }\n\n if (type === 'played') {\n setStyle($played, 'width', `${percentage * 100}%`);\n setStyle($indicator, 'left', `${percentage * 100}%`);\n }\n }\n\n function setHover(event) {\n const { width } = getPosFromEvent(art, event);\n setStyle($hover, 'width', `${width}px`);\n setStyle($hover, 'display', 'flex');\n }\n\n art.on('video:loadedmetadata', () => {\n for (let index = 0; index < option.highlight.length; index++) {\n const item = option.highlight[index];\n const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;\n const html = ``;\n append($highlight, html);\n }\n });\n\n setBar('loaded', art.loaded);\n\n art.on('setBar', (type, percentage) => {\n setBar(type, percentage);\n });\n\n art.on('video:progress', () => {\n setBar('loaded', art.loaded);\n });\n\n art.on('video:timeupdate', () => {\n setBar('played', art.played);\n });\n\n art.on('video:ended', () => {\n setBar('played', 1);\n });\n\n if (!isMobile) {\n proxy($control, 'click', (event) => {\n if (event.target !== $indicator) {\n setCurrentTime(art, event);\n }\n });\n\n proxy($control, 'mousemove', (event) => {\n setHover(event);\n setStyle($tip, 'display', 'flex');\n if (includeFromEvent(event, $highlight)) {\n showHighlight(event);\n } else {\n showTime(event);\n }\n });\n\n proxy($control, 'mouseleave', () => {\n setStyle($tip, 'display', 'none');\n setStyle($hover, 'display', 'none');\n });\n\n proxy($control, 'mousedown', (event) => {\n isDroging = event.button === 0;\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n const { second, percentage } = getPosFromEvent(art, event);\n setBar('played', percentage);\n art.seek = second;\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n };\n };\n}\n","import { secondToTime, isMobile } from '../utils';\n\nexport default function time(option) {\n return (art) => ({\n ...option,\n style: isMobile\n ? {\n fontSize: '12px',\n padding: '0 5px',\n }\n : {\n cursor: 'auto',\n padding: '0 10px',\n },\n mounted: ($control) => {\n function getTime() {\n const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;\n if (newTime !== $control.innerText) {\n $control.innerText = newTime;\n }\n }\n\n getTime();\n\n const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];\n for (let index = 0; index < events.length; index++) {\n art.on(events[index], getTime);\n }\n },\n });\n}\n","import { append, setStyle, isMobile } from '../utils';\n\nexport default function volume(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n const $volume = append($control, icons.volume);\n const $close = append($control, icons.volumeClose);\n const $panel = append($control, '
');\n const $inner = append($panel, '
');\n const $value = append($inner, `
`);\n const $slider = append($inner, `
`);\n const $handle = append($slider, `
`);\n const $loaded = append($handle, `
`);\n const $indicator = append($slider, `
`);\n\n function getVolumeFromEvent(event) {\n const { top, height } = $slider.getBoundingClientRect();\n return 1 - (event.clientY - top) / height;\n }\n\n function update() {\n if (art.muted || art.volume === 0) {\n setStyle($volume, 'display', 'none');\n setStyle($close, 'display', 'flex');\n setStyle($indicator, 'top', '100%');\n setStyle($loaded, 'top', '100%');\n $value.innerText = 0;\n } else {\n const percentage = art.volume * 100;\n setStyle($volume, 'display', 'flex');\n setStyle($close, 'display', 'none');\n setStyle($indicator, 'top', `${100 - percentage}%`);\n setStyle($loaded, 'top', `${100 - percentage}%`);\n $value.innerText = Math.floor(percentage);\n }\n }\n\n update();\n art.on('video:volumechange', update);\n\n proxy($volume, 'click', () => {\n art.muted = true;\n });\n\n proxy($close, 'click', () => {\n art.muted = false;\n });\n\n if (isMobile) {\n setStyle($panel, 'display', 'none');\n } else {\n let isDroging = false;\n\n proxy($slider, 'mousedown', (event) => {\n isDroging = event.button === 0;\n art.volume = getVolumeFromEvent(event);\n });\n\n art.on('document:mousemove', (event) => {\n if (isDroging) {\n art.muted = false;\n art.volume = getVolumeFromEvent(event);\n }\n });\n\n art.on('document:mouseup', () => {\n if (isDroging) {\n isDroging = false;\n }\n });\n }\n },\n });\n}\n","import { append, tooltip } from '../utils';\n\nexport default function setting(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Show Setting'),\n mounted: ($control) => {\n const { proxy, icons, i18n } = art;\n\n append($control, icons.setting);\n\n proxy($control, 'click', () => {\n art.setting.toggle();\n art.setting.updateStyle();\n });\n\n art.on('setting', (value) => {\n tooltip($control, i18n.get(value ? 'Hide Setting' : 'Show Setting'));\n });\n },\n });\n}\n","import { setStyle } from '../utils';\nimport { getPosFromEvent } from './progress';\n\nexport default function thumbnails(options) {\n return (art) => ({\n ...options,\n mounted: ($control) => {\n const {\n option,\n template: { $progress, $video },\n events: { proxy, loadImg },\n } = art;\n\n let image = null;\n let loading = false;\n let isLoad = false;\n\n function showThumbnails(event) {\n const { width: posWidth } = getPosFromEvent(art, event);\n const { url, number, column, width, height } = option.thumbnails;\n const width2 = width || image.naturalWidth / column;\n const height2 = height || width2 / ($video.videoWidth / $video.videoHeight);\n const perWidth = $progress.clientWidth / number;\n const perIndex = Math.floor(posWidth / perWidth);\n const yIndex = Math.ceil(perIndex / column) - 1;\n const xIndex = perIndex % column || column - 1;\n setStyle($control, 'backgroundImage', `url(${url})`);\n setStyle($control, 'height', `${height2}px`);\n setStyle($control, 'width', `${width2}px`);\n setStyle($control, 'backgroundPosition', `-${xIndex * width2}px -${yIndex * height2}px`);\n if (posWidth <= width2 / 2) {\n setStyle($control, 'left', 0);\n } else if (posWidth > $progress.clientWidth - width2 / 2) {\n setStyle($control, 'left', `${$progress.clientWidth - width2}px`);\n } else {\n setStyle($control, 'left', `${posWidth - width2 / 2}px`);\n }\n }\n\n proxy($progress, 'mousemove', async (event) => {\n if (!loading) {\n loading = true;\n const img = await loadImg(option.thumbnails.url);\n image = img;\n isLoad = true;\n }\n\n if (isLoad) {\n setStyle($control, 'display', 'flex');\n showThumbnails(event);\n }\n });\n\n proxy($progress, 'mouseleave', () => {\n setStyle($control, 'display', 'none');\n });\n\n art.on('hover', (state) => {\n if (!state) {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function screenshot(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('Screenshot'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n\n append($control, icons.screenshot);\n proxy($control, 'click', () => {\n art.screenshot();\n });\n },\n });\n}\n","export default function quality(option) {\n return (art) => {\n const qualityOption = art.option.quality;\n const qualityDefault = qualityOption.find((item) => item.default) || qualityOption[0];\n return {\n ...option,\n style: {\n marginRight: '10px',\n },\n html: qualityDefault ? qualityDefault.html : '',\n selector: qualityOption,\n onSelect(item) {\n art.switchQuality(item.url, item.html);\n },\n };\n };\n}\n","import { append, setStyle } from '../utils';\n\nexport default function loop(option) {\n return (art) => ({\n ...option,\n mounted: ($control) => {\n const $left = append($control, ``);\n const $right = append($control, ``);\n\n art.on('loop', (value) => {\n if (value && value.length) {\n setStyle($control, 'display', 'flex');\n setStyle($left, 'left', `calc(${(value[0] / art.duration) * 100}% - ${$left.clientWidth}px)`);\n setStyle($right, 'left', `${(value[1] / art.duration) * 100}%`);\n } else {\n setStyle($control, 'display', 'none');\n }\n });\n },\n });\n}\n","import { append } from '../utils';\n\nexport default function pip(option) {\n return (art) => ({\n ...option,\n tooltip: art.i18n.get('AirPlay'),\n mounted: ($control) => {\n const { proxy, icons } = art;\n append($control, icons.airplay);\n proxy($control, 'click', () => art.airplay());\n },\n });\n}\n","import { setStyles, includeFromEvent, isMobile } from '../utils';\nimport Component from '../utils/component';\nimport playbackRate from './playbackRate';\nimport aspectRatio from './aspectRatio';\nimport flip from './flip';\nimport info from './info';\nimport version from './version';\nimport close from './close';\n\nexport default class Contextmenu extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'contextmenu';\n this.$parent = art.template.$contextmenu;\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n option,\n proxy,\n template: { $player, $contextmenu },\n } = this.art;\n\n if (option.playbackRate) {\n this.add(\n playbackRate({\n name: 'playbackRate',\n index: 10,\n }),\n );\n }\n\n if (option.aspectRatio) {\n this.add(\n aspectRatio({\n name: 'aspectRatio',\n index: 20,\n }),\n );\n }\n\n if (option.flip) {\n this.add(\n flip({\n name: 'flip',\n index: 30,\n }),\n );\n }\n\n this.add(\n info({\n name: 'info',\n index: 40,\n }),\n );\n\n this.add(\n version({\n name: 'version',\n index: 50,\n }),\n );\n\n this.add(\n close({\n name: 'close',\n index: 60,\n }),\n );\n\n for (let index = 0; index < option.contextmenu.length; index++) {\n this.add(option.contextmenu[index]);\n }\n\n proxy($player, 'contextmenu', (event) => {\n event.preventDefault();\n if (!this.art.constructor.CONTEXTMENU) return;\n\n this.show = true;\n\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { height: cHeight, width: cWidth, left: cLeft, top: cTop } = $player.getBoundingClientRect();\n const { height: mHeight, width: mWidth } = $contextmenu.getBoundingClientRect();\n let menuLeft = mouseX - cLeft;\n let menuTop = mouseY - cTop;\n\n if (mouseX + mWidth > cLeft + cWidth) {\n menuLeft = cWidth - mWidth;\n }\n\n if (mouseY + mHeight > cTop + cHeight) {\n menuTop = cHeight - mHeight;\n }\n\n setStyles($contextmenu, {\n top: `${menuTop}px`,\n left: `${menuLeft}px`,\n });\n });\n\n proxy($player, 'click', (event) => {\n if (!includeFromEvent(event, $contextmenu)) {\n this.show = false;\n }\n });\n\n this.art.on('blur', () => {\n this.show = false;\n });\n }\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function playbackRate(option) {\n return (art) => {\n const {\n i18n,\n constructor: { PLAYBACK_RATE },\n } = art;\n\n const html = PLAYBACK_RATE.map(\n (item) => `${item === 1 ? i18n.get('Normal') : item.toFixed(1)}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Play Speed')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.playbackRate = Number(value);\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"1\"]', $panel);\n if ($default) inverseClass($default, 'art-current');\n art.on('video:ratechange', () => {\n const $current = queryAll('span', $panel).find(\n (item) => Number(item.dataset.value) === art.playbackRate,\n );\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll } from '../utils';\n\nexport default function aspectRatio(option) {\n return (art) => {\n const {\n i18n,\n constructor: { ASPECT_RATIO },\n } = art;\n\n const html = ASPECT_RATIO.map(\n (item) => `${item === 'default' ? i18n.get('Default') : item}`,\n ).join('');\n\n return {\n ...option,\n html: `${i18n.get('Aspect Ratio')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.aspectRatio = value;\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"default\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('aspectRatio', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","import { inverseClass, query, queryAll, capitalize } from '../utils';\n\nexport default function flip(option) {\n return (art) => {\n const {\n i18n,\n constructor: { FLIP },\n } = art;\n\n const html = FLIP.map((item) => `${i18n.get(capitalize(item))}`).join('');\n\n return {\n ...option,\n html: `${i18n.get('Video Flip')}: ${html}`,\n click: (contextmenu, event) => {\n const { value } = event.target.dataset;\n if (value) {\n art.flip = value.toLowerCase();\n contextmenu.show = false;\n }\n },\n mounted: ($panel) => {\n const $default = query('[data-value=\"normal\"]', $panel);\n if ($default) {\n inverseClass($default, 'art-current');\n }\n art.on('flip', (value) => {\n const $current = queryAll('span', $panel).find((item) => item.dataset.value === value);\n if ($current) {\n inverseClass($current, 'art-current');\n }\n });\n },\n };\n };\n}\n","export default function info(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Video Info'),\n click: (contextmenu) => {\n art.info.show = true;\n contextmenu.show = false;\n },\n });\n}\n","export default function version(option) {\n return {\n ...option,\n html: `ArtPlayer ${process.env.APP_VER}`,\n };\n}\n","export default function close(option) {\n return (art) => ({\n ...option,\n html: art.i18n.get('Close'),\n click: (contextmenu) => {\n contextmenu.show = false;\n },\n });\n}\n","import { queryAll, isMobile } from './utils';\nimport Component from './utils/component';\n\nexport default class Info extends Component {\n constructor(art) {\n super(art);\n this.name = 'info';\n\n if (!isMobile) {\n this.init();\n }\n }\n\n init() {\n const {\n proxy,\n constructor,\n template: { $infoPanel, $infoClose, $video },\n } = this.art;\n\n proxy($infoClose, 'click', () => {\n this.show = false;\n });\n\n let timer = null;\n const $types = queryAll('[data-video]', $infoPanel) || [];\n this.art.on('destroy', () => clearTimeout(timer));\n\n function loop() {\n for (let index = 0; index < $types.length; index++) {\n const item = $types[index];\n const value = $video[item.dataset.video];\n const innerText = typeof value === 'number' ? value.toFixed(2) : value;\n if (item.innerText !== innerText) {\n item.innerText = innerText;\n }\n }\n timer = setTimeout(loop, constructor.INFO_LOOP_TIME);\n }\n\n loop();\n }\n}\n","import {\n setStyle,\n setStyles,\n srtToVtt,\n vttToBlob,\n getExt,\n assToVtt,\n escape,\n remove,\n append,\n createElement,\n} from './utils';\nimport Component from './utils/component';\nimport validator from 'option-validator';\nimport scheme from './scheme';\n\nexport default class Subtitle extends Component {\n constructor(art) {\n super(art);\n this.name = 'subtitle';\n this.eventDestroy = () => null;\n this.init(art.option.subtitle);\n\n let lastState = false;\n art.on('video:timeupdate', () => {\n if (!this.url) return;\n const state = this.art.template.$video.webkitDisplayingFullscreen;\n if (typeof state !== 'boolean') return;\n if (state !== lastState) {\n lastState = state;\n this.createTrack(state ? 'subtitles' : 'metadata', this.url);\n }\n });\n }\n\n get url() {\n return this.art.template.$track.src;\n }\n\n set url(url) {\n this.switch(url);\n }\n\n get textTrack() {\n return this.art.template.$video.textTracks[0];\n }\n\n get activeCue() {\n return this.textTrack.activeCues[0];\n }\n\n style(key, value) {\n const { $subtitle } = this.art.template;\n if (typeof key === 'object') {\n return setStyles($subtitle, key);\n }\n return setStyle($subtitle, key, value);\n }\n\n update() {\n const { $subtitle } = this.art.template;\n $subtitle.innerHTML = '';\n if (this.activeCue) {\n if (this.art.option.subtitle.escape) {\n $subtitle.innerHTML = this.activeCue.text\n .split(/\\r?\\n/)\n .map((item) => `

${escape(item)}

`)\n .join('');\n } else {\n $subtitle.innerHTML = this.activeCue.text;\n }\n this.art.emit('subtitleUpdate', this.activeCue.text);\n }\n }\n\n async switch(url, newOption = {}) {\n const { i18n, notice, option } = this.art;\n const subtitleOption = { ...option.subtitle, ...newOption, url };\n const subUrl = await this.init(subtitleOption);\n if (newOption.name) {\n notice.show = `${i18n.get('Switch Subtitle')}: ${newOption.name}`;\n }\n return subUrl;\n }\n\n createTrack(kind, url) {\n const { template, proxy } = this.art;\n const { $video, $track } = template;\n\n const $newTrack = createElement('track');\n $newTrack.default = true;\n $newTrack.kind = kind;\n $newTrack.src = url;\n $newTrack.track.mode = 'hidden';\n\n this.eventDestroy();\n remove($track);\n\n append($video, $newTrack);\n template.$track = $newTrack;\n this.eventDestroy = proxy(this.textTrack, 'cuechange', () => this.update());\n }\n\n async init(subtitleOption) {\n const {\n notice,\n template: { $subtitle },\n } = this.art;\n\n validator(subtitleOption, scheme.subtitle);\n if (!subtitleOption.url) return;\n this.style(subtitleOption.style);\n\n return fetch(subtitleOption.url)\n .then((response) => response.arrayBuffer())\n .then((buffer) => {\n const decoder = new TextDecoder(subtitleOption.encoding);\n const text = decoder.decode(buffer);\n this.art.emit('subtitleLoad', subtitleOption.url);\n switch (subtitleOption.type || getExt(subtitleOption.url)) {\n case 'srt': {\n const vtt = srtToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'ass': {\n const vtt = assToVtt(text);\n const vttNew = subtitleOption.onVttLoad(vtt);\n return vttToBlob(vttNew);\n }\n case 'vtt': {\n const vttNew = subtitleOption.onVttLoad(text);\n return vttToBlob(vttNew);\n }\n default:\n return subtitleOption.url;\n }\n })\n .then((subUrl) => {\n $subtitle.innerHTML = '';\n if (this.url === subUrl) return subUrl;\n URL.revokeObjectURL(this.url);\n this.createTrack('metadata', subUrl);\n this.art.emit('subtitleSwitch', subUrl);\n return subUrl;\n })\n .catch((err) => {\n notice.show = err;\n throw err;\n });\n }\n}\n","import { ArtPlayerError } from '../utils/error';\nimport clickInit from './clickInit';\nimport hoverInit from './hoverInit';\nimport moveInit from './moveInit';\nimport resizeInit from './resizeInit';\nimport gestureInit from './gestureInit';\nimport viewInit from './viewInit';\nimport documentInit from './documentInit';\n\nexport default class Events {\n constructor(art) {\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n this.hover = this.hover.bind(this);\n this.loadImg = this.loadImg.bind(this);\n\n if (art.whitelist.state) {\n clickInit(art, this);\n hoverInit(art, this);\n moveInit(art, this);\n resizeInit(art, this);\n gestureInit(art, this);\n viewInit(art, this);\n documentInit(art, this);\n }\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n return name.map((item) => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n const destroy = () => target.removeEventListener(name, callback, option);\n this.destroyEvents.push(destroy);\n return destroy;\n }\n\n hover(target, mouseenter, mouseleave) {\n if (mouseenter) {\n this.proxy(target, 'mouseenter', mouseenter);\n }\n if (mouseleave) {\n this.proxy(target, 'mouseleave', mouseleave);\n }\n }\n\n loadImg(img) {\n return new Promise((resolve, reject) => {\n let image;\n\n if (img instanceof HTMLImageElement) {\n image = img;\n } else if (typeof img === 'string') {\n image = new Image();\n image.src = img;\n } else {\n return reject(new ArtPlayerError('Unable to get Image'));\n }\n\n if (image.complete) {\n return resolve(image);\n }\n\n this.proxy(image, 'load', () => resolve(image));\n this.proxy(image, 'error', () => reject(new ArtPlayerError(`Failed to load Image: ${image.src}`)));\n });\n }\n\n remove(destroyEvent) {\n const index = this.destroyEvents.indexOf(destroyEvent);\n if (index > -1) {\n destroyEvent();\n this.destroyEvents.splice(index, 1);\n }\n }\n\n destroy() {\n for (let index = 0; index < this.destroyEvents.length; index++) {\n this.destroyEvents[index]();\n }\n }\n}\n","import { includeFromEvent, isMobile } from '../utils';\n\nexport default function clickInit(art, events) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n events.proxy(document, ['click', 'contextmenu'], (event) => {\n if (includeFromEvent(event, $player)) {\n art.isInput = event.target.tagName === 'INPUT';\n art.isFocus = true;\n art.emit('focus', event);\n } else {\n art.isInput = false;\n art.isFocus = false;\n art.emit('blur', event);\n }\n });\n\n let clickTime = 0;\n events.proxy($video, 'click', (event) => {\n const now = Date.now();\n const { MOBILE_CLICK_PLAY, DBCLICK_TIME, MOBILE_DBCLICK_PLAY, DBCLICK_FULLSCREEN } = constructor;\n\n if (now - clickTime <= DBCLICK_TIME) {\n art.emit('dblclick', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_DBCLICK_PLAY) {\n art.toggle();\n }\n } else {\n if (DBCLICK_FULLSCREEN) {\n art.fullscreen = !art.fullscreen;\n }\n }\n } else {\n art.emit('click', event);\n\n if (isMobile) {\n if (!art.isLock && MOBILE_CLICK_PLAY) {\n art.toggle();\n }\n } else {\n art.toggle();\n }\n }\n\n clickTime = now;\n });\n}\n","import { addClass, removeClass } from '../utils';\n\nexport default function hoverInit(art, events) {\n const { $player } = art.template;\n\n events.hover(\n $player,\n (event) => {\n addClass($player, 'art-hover');\n art.emit('hover', true, event);\n },\n (event) => {\n removeClass($player, 'art-hover');\n art.emit('hover', false, event);\n },\n );\n}\n","export default function moveInit(art, events) {\n const { $player } = art.template;\n\n events.proxy($player, 'mousemove', (event) => {\n art.emit('mousemove', event);\n });\n}\n","import { throttle } from '../utils';\n\nexport default function resizeInit(art, events) {\n const { option } = art;\n\n const resizeFn = throttle(() => {\n if (art.state === 'standard') {\n art.autoSize = option.autoSize;\n }\n art.aspectRatioReset();\n art.notice.show = '';\n art.emit('resize');\n }, art.constructor.RESIZE_TIME);\n\n events.proxy(window, ['orientationchange', 'resize'], () => resizeFn());\n if (screen && screen.orientation && screen.orientation.onchange) {\n events.proxy(screen.orientation, 'change', () => resizeFn());\n }\n}\n","import { clamp, secondToTime, isMobile } from '../utils';\nimport { setCurrentTime } from '../control/progress';\n\nfunction GetSlideAngle(dx, dy) {\n return (Math.atan2(dy, dx) * 180) / Math.PI;\n}\n\nfunction GetSlideDirection(startX, startY, endX, endY) {\n var dy = startY - endY;\n var dx = endX - startX;\n var result = 0;\n\n if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {\n return result;\n }\n\n var angle = GetSlideAngle(dx, dy);\n if (angle >= -45 && angle < 45) {\n result = 4;\n } else if (angle >= 45 && angle < 135) {\n result = 1;\n } else if (angle >= -135 && angle < -45) {\n result = 2;\n } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {\n result = 3;\n }\n\n return result;\n}\n\nexport default function gestureInit(art, events) {\n if (isMobile && !art.option.isLive) {\n const { $video, $progress } = art.template;\n\n let touchTarget = null;\n let isDroging = false;\n let startX = 0;\n let startY = 0;\n let startTime = 0;\n\n const onTouchStart = (event) => {\n if (event.touches.length === 1 && !art.isLock) {\n if (touchTarget === $progress) {\n setCurrentTime(art, event);\n }\n\n isDroging = true;\n const { pageX, pageY } = event.touches[0];\n startX = pageX;\n startY = pageY;\n startTime = art.currentTime;\n }\n };\n\n const onTouchMove = (event) => {\n if (event.touches.length === 1 && isDroging && art.duration) {\n const { pageX, pageY } = event.touches[0];\n const direction = GetSlideDirection(startX, startY, pageX, pageY);\n const isHorizontal = [3, 4].includes(direction);\n const isVertical = [1, 2].includes(direction);\n const isLegal = (isHorizontal && !art.isRotate) || (isVertical && art.isRotate);\n if (isLegal) {\n const ratioX = clamp((pageX - startX) / art.width, -1, 1);\n const ratioY = clamp((pageY - startY) / art.height, -1, 1);\n const ratio = art.isRotate ? ratioY : ratioX;\n const TOUCH_MOVE_RATIO = touchTarget === $video ? art.constructor.TOUCH_MOVE_RATIO : 1;\n const currentTime = clamp(startTime + art.duration * ratio * TOUCH_MOVE_RATIO, 0, art.duration);\n art.seek = currentTime;\n art.emit('setBar', 'played', clamp(currentTime / art.duration, 0, 1));\n art.notice.show = `${secondToTime(currentTime)} / ${secondToTime(art.duration)}`;\n }\n }\n };\n\n const onTouchEnd = () => {\n if (isDroging) {\n startX = 0;\n startY = 0;\n startTime = 0;\n isDroging = false;\n touchTarget = null;\n }\n };\n\n events.proxy($progress, 'touchstart', (event) => {\n touchTarget = $progress;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchstart', (event) => {\n touchTarget = $video;\n onTouchStart(event);\n });\n\n events.proxy($video, 'touchmove', onTouchMove);\n events.proxy($progress, 'touchmove', onTouchMove);\n events.proxy(document, 'touchend', onTouchEnd);\n }\n}\n","import { throttle, isInViewport } from '../utils';\n\nexport default function viewInit(art, events) {\n const {\n option,\n constructor,\n template: { $container },\n } = art;\n\n const scrollFn = throttle(() => {\n art.emit('view', isInViewport($container, constructor.SCROLL_GAP));\n }, constructor.SCROLL_TIME);\n\n events.proxy(window, 'scroll', () => scrollFn());\n\n art.on('view', (state) => {\n if (option.autoMini) {\n art.mini = !state;\n }\n });\n}\n","export default function documentInit(art, events) {\n events.proxy(document, 'mousemove', (event) => {\n art.emit('document:mousemove', event);\n });\n\n events.proxy(document, 'mouseup', (event) => {\n art.emit('document:mouseup', event);\n });\n}\n","import { isMobile } from './utils';\n\nexport default class Hotkey {\n constructor(art) {\n this.art = art;\n this.keys = {};\n\n if (art.option.hotkey && !isMobile) {\n this.init();\n }\n }\n\n init() {\n const { proxy, constructor } = this.art;\n\n this.add(27, () => {\n if (this.art.fullscreenWeb) {\n this.art.fullscreenWeb = false;\n }\n });\n\n this.add(32, () => {\n this.art.toggle();\n });\n\n this.add(37, () => {\n this.art.backward = constructor.SEEK_STEP;\n });\n\n this.add(38, () => {\n this.art.volume += constructor.VOLUME_STEP;\n });\n\n this.add(39, () => {\n this.art.forward = constructor.SEEK_STEP;\n });\n\n this.add(40, () => {\n this.art.volume -= constructor.VOLUME_STEP;\n });\n\n proxy(window, 'keydown', (event) => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n const events = this.keys[event.keyCode];\n if (events) {\n event.preventDefault();\n for (let index = 0; index < events.length; index++) {\n events[index].call(this.art, event);\n }\n this.art.emit('hotkey', event);\n }\n }\n }\n });\n }\n\n add(key, event) {\n if (this.keys[key]) {\n this.keys[key].push(event);\n } else {\n this.keys[key] = [event];\n }\n return this;\n }\n\n remove(key, event) {\n if (this.keys[key]) {\n const index = this.keys[key].indexOf(event);\n if (index !== -1) {\n this.keys[key].splice(index, 1);\n }\n }\n return this;\n }\n}\n","import Component from './utils/component';\n\nexport default class Layer extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n template: { $layer },\n } = art;\n\n this.name = 'layer';\n this.$parent = $layer;\n\n for (let index = 0; index < option.layers.length; index++) {\n this.add(option.layers[index]);\n }\n }\n}\n","import { append } from './utils';\nimport Component from './utils/component';\n\nexport default class Loading extends Component {\n constructor(art) {\n super(art);\n this.name = 'loading';\n append(art.template.$loading, art.icons.loading);\n }\n}\n","import { addClass, removeClass } from './utils';\n\nexport default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n set show(msg) {\n const {\n constructor,\n template: { $player, $noticeInner },\n } = this.art;\n\n if (msg) {\n $noticeInner.innerText = msg instanceof Error ? msg.message.trim() : msg;\n addClass($player, 'art-notice-show');\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n $noticeInner.innerText = '';\n removeClass($player, 'art-notice-show');\n }, constructor.NOTICE_TIME);\n } else {\n removeClass($player, 'art-notice-show');\n }\n }\n}\n","import { append, setStyle } from './utils';\nimport Component from './utils/component';\n\nexport default class Mask extends Component {\n constructor(art) {\n super(art);\n\n this.name = 'mask';\n const { template, icons, events } = art;\n\n const $state = append(template.$state, icons.state);\n const $error = append(template.$state, icons.error);\n\n setStyle($error, 'display', 'none');\n\n art.on('destroy', () => {\n setStyle($state, 'display', 'none');\n setStyle($error, 'display', null);\n });\n\n events.proxy(template.$state, 'click', () => art.play());\n }\n}\n","import { def, getIcon } from '../utils';\nimport loading from 'bundle-text:./loading.svg';\nimport state from 'bundle-text:./state.svg';\nimport check from 'bundle-text:./check.svg';\nimport play from 'bundle-text:./play.svg';\nimport pause from 'bundle-text:./pause.svg';\nimport volume from 'bundle-text:./volume.svg';\nimport volumeClose from 'bundle-text:./volume-close.svg';\nimport screenshot from 'bundle-text:./screenshot.svg';\nimport setting from 'bundle-text:./setting.svg';\nimport arrowLeft from 'bundle-text:./arrow-left.svg';\nimport arrowRight from 'bundle-text:./arrow-right.svg';\nimport playbackRate from 'bundle-text:./playback-rate.svg';\nimport aspectRatio from 'bundle-text:./aspect-ratio.svg';\nimport config from 'bundle-text:./config.svg';\nimport pip from 'bundle-text:./pip.svg';\nimport lock from 'bundle-text:./lock.svg';\nimport unlock from 'bundle-text:./unlock.svg';\nimport fullscreenOff from 'bundle-text:./fullscreen-off.svg';\nimport fullscreenOn from 'bundle-text:./fullscreen-on.svg';\nimport fullscreenWebOff from 'bundle-text:./fullscreen-web-off.svg';\nimport fullscreenWebOn from 'bundle-text:./fullscreen-web-on.svg';\nimport switchOn from 'bundle-text:./switch-on.svg';\nimport switchOff from 'bundle-text:./switch-off.svg';\nimport flip from 'bundle-text:./flip.svg';\nimport error from 'bundle-text:./error.svg';\nimport close from 'bundle-text:./close.svg';\nimport airplay from 'bundle-text:./airplay.svg';\n\nexport default class Icons {\n constructor(art) {\n const icons = {\n loading,\n state,\n play,\n pause,\n check,\n volume,\n volumeClose,\n screenshot,\n setting,\n pip,\n arrowLeft,\n arrowRight,\n playbackRate,\n aspectRatio,\n config,\n lock,\n flip,\n unlock,\n fullscreenOff,\n fullscreenOn,\n fullscreenWebOff,\n fullscreenWebOn,\n switchOn,\n switchOff,\n error,\n close,\n airplay,\n ...art.option.icons,\n };\n\n for (const key in icons) {\n def(this, key, {\n get: () => getIcon(key, icons[key]),\n });\n }\n }\n}\n","module.exports = \"48351807f9d17b85\";","module.exports = \"b521bd87173f07f8\";","module.exports = \"7d4d567c33bb525d\";","module.exports = \"d9cf5218ba4119f7\";","module.exports = \"1b6f706023152499\";","module.exports = \"ccea5e85f0721ac8\";","module.exports = \"7b07ee0d42ef7999\";","module.exports = \"d10cbdd15b9c3ccc\";","module.exports = \"ce7e5747dbeebf9c\";","module.exports = \"31d0f450fd3142ae\";","module.exports = \"607a9d3122cadc95\";","module.exports = \"3f2a5aef9e446414\";","module.exports = \"a3c2d6619a4bebaf\";","module.exports = \"5daee943371cdae2\";","module.exports = \"e49c27bbc31901ab\";","module.exports = \"0fd94c9b6ccce96e\";","module.exports = \"721f903406a7a9bd\";","module.exports = \"133f4e7286a8c946\";","module.exports = \"3ad4b0d674115f9f\";","module.exports = \"66f3df095ff2cfc9\";","module.exports = \"6a9b55926d7ffbd8\";","module.exports = \"ed05d01f0639f8dd\";","module.exports = \"42b075eebf138ccb\";","module.exports = \"c9dbc85ae2682806\";","module.exports = \"4e1fab3a25abda1e\";","module.exports = \"ef31f094274e03ea\";","module.exports = \"6f41eca9c8b9cda2\";","import flip from './flip';\nimport aspectRatio from './aspectRatio';\nimport playbackRate from './playbackRate';\nimport subtitleOffset from './subtitleOffset';\nimport Component from '../utils/component';\nimport { errorHandle } from '../utils/error';\nimport {\n def,\n has,\n append,\n addClass,\n setStyle,\n isMobile,\n inverseClass,\n createElement,\n includeFromEvent,\n isStringOrNumber,\n} from '../utils';\n\nexport default class Setting extends Component {\n constructor(art) {\n super(art);\n\n const {\n option,\n controls,\n template: { $setting },\n } = art;\n\n this.name = 'setting';\n this.$parent = $setting;\n\n this.option = [];\n this.events = [];\n this.cache = new Map();\n\n if (option.setting) {\n this.init();\n\n art.on('blur', () => {\n if (this.show) {\n this.show = false;\n this.render(this.option);\n }\n });\n\n art.on('focus', (event) => {\n const isSetting = includeFromEvent(event, controls.setting);\n const isParent = includeFromEvent(event, this.$parent);\n if (this.show && !isSetting && !isParent) {\n this.show = false;\n this.render(this.option);\n }\n });\n }\n }\n\n static makeRecursion(option, parentItem, parentList) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n item.$parentItem = parentItem;\n item.$parentList = parentList;\n Setting.makeRecursion(item.selector || [], item, option);\n }\n return option;\n }\n\n get defaultSettings() {\n const result = [];\n const { option } = this.art;\n\n if (option.playbackRate) {\n result.push(playbackRate(this.art));\n }\n\n if (option.aspectRatio) {\n result.push(aspectRatio(this.art));\n }\n\n if (option.flip) {\n result.push(flip(this.art));\n }\n\n if (option.subtitleOffset) {\n result.push(subtitleOffset(this.art));\n }\n\n return result;\n }\n\n init() {\n const { option } = this.art;\n const mergeSettings = [...this.defaultSettings, ...option.settings];\n this.option = Setting.makeRecursion(mergeSettings);\n this.destroy();\n this.render(this.option);\n }\n\n destroy() {\n for (let index = 0; index < this.events.length; index++) {\n this.art.events.remove(this.events[index]);\n }\n this.$parent.innerHTML = '';\n this.events = [];\n this.cache = new Map();\n }\n\n find(name = '', option = this.option) {\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (item.name === name) {\n return item;\n } else {\n const result = this.find(name, item.selector || []);\n if (result) return result;\n }\n }\n }\n\n remove(name) {\n const item = this.find(name);\n errorHandle(item, `Can't find [${name}] from the [setting]`);\n const parent = item.$parentItem?.selector || this.option;\n parent.splice(parent.indexOf(item), 1);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n update(setting) {\n const item = this.find(setting.name);\n if (item) {\n Object.assign(item, setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n } else {\n this.add(setting);\n }\n return this.option;\n }\n\n add(setting) {\n this.option.push(setting);\n this.option = Setting.makeRecursion(this.option);\n this.destroy();\n this.render(this.option);\n return this.option;\n }\n\n creatHeader(item) {\n const { icons, proxy } = this.art;\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n addClass($item, 'art-setting-item-back');\n const $left = append($item, '
');\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n append($icon, icons.arrowLeft);\n append($left, $icon);\n append($left, item.$parentItem.html);\n const event = proxy($item, 'click', () => this.render(item.$parentList));\n this.events.push(event);\n return $item;\n }\n\n creatItem(type, item) {\n const { icons, proxy } = this.art;\n\n const $item = createElement('div');\n addClass($item, 'art-setting-item');\n\n if (isStringOrNumber(item.name)) {\n $item.dataset.name = item.name;\n }\n\n if (isStringOrNumber(item.value)) {\n $item.dataset.value = item.value;\n }\n\n const $left = append($item, '
');\n const $right = append($item, '
');\n\n const $icon = createElement('div');\n addClass($icon, 'art-setting-item-left-icon');\n\n switch (type) {\n case 'switch':\n case 'range':\n append($icon, isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config);\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n append(\n $icon,\n isStringOrNumber(item.icon) || item.icon instanceof Element ? item.icon : icons.config,\n );\n } else {\n append($icon, icons.check);\n }\n break;\n default:\n break;\n }\n\n append($left, $icon);\n item.$icon = $icon;\n\n def(item, 'icon', {\n configurable: true,\n get() {\n return $icon.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $icon.innerHTML = value;\n }\n },\n });\n\n const $html = createElement('div');\n addClass($html, 'art-setting-item-left-text');\n append($html, item.html || '');\n append($left, $html);\n item.$html = $html;\n\n def(item, 'html', {\n configurable: true,\n get() {\n return $html.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $html.innerHTML = value;\n }\n },\n });\n\n const $tooltip = createElement('div');\n addClass($tooltip, 'art-setting-item-right-tooltip');\n append($tooltip, item.tooltip || '');\n append($right, $tooltip);\n item.$tooltip = $tooltip;\n\n def(item, 'tooltip', {\n configurable: true,\n get() {\n return $tooltip.innerHTML;\n },\n set(value) {\n if (isStringOrNumber(value)) {\n $tooltip.innerHTML = value;\n }\n },\n });\n\n switch (type) {\n case 'switch': {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $switchOn = append($state, icons.switchOn);\n const $switchOff = append($state, icons.switchOff);\n setStyle(item.switch ? $switchOff : $switchOn, 'display', 'none');\n append($right, $state);\n item.$switch = item.switch;\n\n def(item, 'switch', {\n configurable: true,\n get() {\n return item.$switch;\n },\n set(value) {\n item.$switch = value;\n if (value) {\n setStyle($switchOff, 'display', 'none');\n setStyle($switchOn, 'display', null);\n } else {\n setStyle($switchOff, 'display', null);\n setStyle($switchOn, 'display', 'none');\n }\n },\n });\n break;\n }\n case 'range':\n {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n const $range = append($state, '');\n $range.value = item.range[0] || 0;\n $range.min = item.range[1] || 0;\n $range.max = item.range[2] || 10;\n $range.step = item.range[3] || 1;\n addClass($range, 'art-setting-range');\n append($right, $state);\n item.$range = $range;\n\n def(item, 'range', {\n configurable: true,\n get() {\n return $range.valueAsNumber;\n },\n set(value) {\n $range.value = Number(value);\n },\n });\n }\n break;\n case 'selector':\n if (item.selector && item.selector.length) {\n const $state = createElement('div');\n addClass($state, 'art-setting-item-right-icon');\n append($state, icons.arrowRight);\n append($right, $state);\n }\n break;\n default:\n break;\n }\n\n switch (type) {\n case 'switch': {\n if (item.onSwitch) {\n const event = proxy($item, 'click', async (event) => {\n item.switch = await item.onSwitch.call(this.art, item, $item, event);\n });\n\n this.events.push(event);\n }\n break;\n }\n case 'range': {\n if (item.$range) {\n if (item.onRange) {\n const event = proxy(item.$range, 'change', async (event) => {\n item.tooltip = await item.onRange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n\n if (item.onChange) {\n const event = proxy(item.$range, 'input', async (event) => {\n item.tooltip = await item.onChange.call(this.art, item, $item, event);\n });\n this.events.push(event);\n }\n }\n break;\n }\n case 'selector':\n {\n const event = proxy($item, 'click', async (event) => {\n if (item.selector && item.selector.length) {\n this.render(item.selector, item.width);\n } else {\n inverseClass($item, 'art-current');\n\n for (let index = 0; index < item.$parentItem.selector.length; index++) {\n const element = item.$parentItem.selector[index];\n element.default = element === item;\n }\n\n if (item.$parentList) {\n this.render(item.$parentList);\n }\n\n if (item.$parentItem && item.$parentItem.onSelect) {\n const result = await item.$parentItem.onSelect.call(this.art, item, $item, event);\n if (item.$parentItem.$tooltip && isStringOrNumber(result)) {\n item.$parentItem.$tooltip.innerHTML = result;\n }\n }\n }\n });\n\n this.events.push(event);\n\n if (item.default) {\n addClass($item, 'art-current');\n }\n }\n break;\n default:\n break;\n }\n\n return $item;\n }\n\n updateStyle(width) {\n const {\n controls,\n constructor,\n template: { $player, $setting },\n } = this.art;\n\n if (controls.setting && !isMobile) {\n const settingWidth = width || constructor.SETTING_WIDTH;\n const { left: controlLeft, width: controlWidth } = controls.setting.getBoundingClientRect();\n const { left: playerLeft, width: playerWidth } = $player.getBoundingClientRect();\n const settingLeft = controlLeft - playerLeft + controlWidth / 2 - settingWidth / 2;\n if (settingLeft + settingWidth > playerWidth) {\n setStyle($setting, 'left', null);\n setStyle($setting, 'right', null);\n } else {\n setStyle($setting, 'left', `${settingLeft}px`);\n setStyle($setting, 'right', 'auto');\n }\n }\n }\n\n render(option, width) {\n const { constructor } = this.art;\n\n if (this.cache.has(option)) {\n const $panel = this.cache.get(option);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n } else {\n const $panel = createElement('div');\n addClass($panel, 'art-setting-panel');\n $panel.dataset.width = width || constructor.SETTING_WIDTH;\n $panel.dataset.height = option.length * constructor.SETTING_ITEM_HEIGHT;\n\n if (option[0] && option[0].$parentItem) {\n append($panel, this.creatHeader(option[0]));\n $panel.dataset.height = Number($panel.dataset.height) + constructor.SETTING_ITEM_HEIGHT;\n }\n\n for (let index = 0; index < option.length; index++) {\n const item = option[index];\n if (has(item, 'switch')) {\n append($panel, this.creatItem('switch', item));\n } else if (has(item, 'range')) {\n append($panel, this.creatItem('range', item));\n } else {\n append($panel, this.creatItem('selector', item));\n }\n }\n\n append(this.$parent, $panel);\n this.cache.set(option, $panel);\n inverseClass($panel, 'art-current');\n setStyle(this.$parent, 'width', `${$panel.dataset.width}px`);\n setStyle(this.$parent, 'height', `${$panel.dataset.height}px`);\n this.updateStyle(Number($panel.dataset.width));\n\n if (option[0] && option[0].$parentItem && option[0].$parentItem.mounted) {\n option[0].$parentItem.mounted.call(this.art, $panel, option[0].$parentItem);\n }\n }\n }\n}\n","import { inverseClass, queryAll, capitalize } from '../utils';\n\nexport default function flip(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, FLIP },\n } = art;\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = i18n.get(capitalize(value));\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'flip',\n html: i18n.get('Video Flip'),\n tooltip: i18n.get(capitalize(art.flip)),\n icon: icons.flip,\n selector: FLIP.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.flip,\n html: i18n.get(capitalize(item)),\n };\n }),\n onSelect(item) {\n art.flip = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.flip);\n art.on('flip', () => {\n update($panel, item.$tooltip, art.flip);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function aspectRatio(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, ASPECT_RATIO },\n } = art;\n\n function getI18n(value) {\n return value === 'default' ? i18n.get('Default') : value;\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => item.dataset.value === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'aspect-ratio',\n html: i18n.get('Aspect Ratio'),\n icon: icons.aspectRatio,\n tooltip: getI18n(art.aspectRatio),\n selector: ASPECT_RATIO.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.aspectRatio,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.aspectRatio = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.aspectRatio);\n art.on('aspectRatio', () => {\n update($panel, item.$tooltip, art.aspectRatio);\n });\n },\n };\n}\n","import { inverseClass, queryAll } from '../utils';\n\nexport default function playbackRate(art) {\n const {\n i18n,\n icons,\n constructor: { SETTING_ITEM_WIDTH, PLAYBACK_RATE },\n } = art;\n\n function getI18n(value) {\n return value === 1.0 ? i18n.get('Normal') : value.toFixed(1);\n }\n\n function update($panel, $tooltip, value) {\n if ($tooltip) $tooltip.innerText = getI18n(value);\n const $current = queryAll('.art-setting-item', $panel).find((item) => Number(item.dataset.value) === value);\n if ($current) inverseClass($current, 'art-current');\n }\n\n return {\n width: SETTING_ITEM_WIDTH,\n name: 'playback-rate',\n html: i18n.get('Play Speed'),\n tooltip: getI18n(art.playbackRate),\n icon: icons.playbackRate,\n selector: PLAYBACK_RATE.map((item) => {\n return {\n value: item,\n name: `aspect-ratio-${item}`,\n default: item === art.playbackRate,\n html: getI18n(item),\n };\n }),\n onSelect(item) {\n art.playbackRate = item.value;\n return item.html;\n },\n mounted: ($panel, item) => {\n update($panel, item.$tooltip, art.playbackRate);\n art.on('video:ratechange', () => {\n update($panel, item.$tooltip, art.playbackRate);\n });\n },\n };\n}\n","export default function subtitleOffset(art) {\n const { i18n, icons, constructor } = art;\n\n return {\n width: constructor.SETTING_ITEM_WIDTH,\n name: 'subtitle-offset',\n html: i18n.get('Subtitle Offset'),\n icon: icons.subtitle,\n tooltip: '0s',\n range: [0, -5, 5, 0.1],\n onChange(item) {\n art.subtitleOffset = item.range;\n return item.range + 's';\n },\n };\n}\n","export default class Storage {\n constructor() {\n this.name = 'artplayer_settings';\n this.settings = {};\n }\n\n get(key) {\n try {\n const storage = JSON.parse(window.localStorage.getItem(this.name)) || {};\n return key ? storage[key] : storage;\n } catch (error) {\n return key ? this.settings[key] : this.settings;\n }\n }\n\n set(key, value) {\n try {\n const storage = Object.assign({}, this.get(), {\n [key]: value,\n });\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n this.settings[key] = value;\n }\n }\n\n del(key) {\n try {\n const storage = this.get();\n delete storage[key];\n window.localStorage.setItem(this.name, JSON.stringify(storage));\n } catch (error) {\n delete this.settings[key];\n }\n }\n\n clear() {\n try {\n window.localStorage.removeItem(this.name);\n } catch (error) {\n this.settings = {};\n }\n }\n}\n","import { errorHandle, isMobile, has, def } from '../utils';\nimport miniProgressBar from './miniProgressBar';\nimport autoOrientation from './autoOrientation';\nimport autoPlayback from './autoPlayback';\nimport fastForward from './fastForward';\nimport lock from './lock';\n\nexport default class Plugins {\n constructor(art) {\n this.art = art;\n this.id = 0;\n\n const { option } = art;\n\n if (option.miniProgressBar && !option.isLive) {\n this.add(miniProgressBar);\n }\n\n if (option.lock && isMobile) {\n this.add(lock);\n }\n\n if (option.autoPlayback && !option.isLive) {\n this.add(autoPlayback);\n }\n\n if (option.autoOrientation && isMobile) {\n this.add(autoOrientation);\n }\n\n if (option.fastForward && isMobile && !option.isLive) {\n this.add(fastForward);\n }\n\n for (let index = 0; index < option.plugins.length; index++) {\n this.add(option.plugins[index]);\n }\n }\n\n add(plugin) {\n this.id += 1;\n const result = plugin.call(this.art, this.art);\n const pluginName = (result && result.name) || plugin.name || `plugin${this.id}`;\n errorHandle(!has(this, pluginName), `Cannot add a plugin that already has the same name: ${pluginName}`);\n def(this, pluginName, {\n value: result,\n });\n return this;\n }\n}\n","export default function miniProgressBar(art) {\n art.on('ready', () => {\n art.layers.add({\n name: 'mini-progress-bar',\n mounted($progressBar) {\n art.on('destroy', () => {\n $progressBar.style.display = 'none';\n });\n\n art.on('video:timeupdate', () => {\n $progressBar.style.width = `${art.played * 100}%`;\n });\n\n art.on('setBar', (type, percentage) => {\n if (type === 'played') {\n $progressBar.style.width = `${percentage * 100}%`;\n }\n });\n },\n });\n });\n\n return {\n name: 'mini-progress-bar',\n };\n}\n","import { setStyle, addClass, removeClass, hasClass } from '../utils';\n\nexport default function autoOrientation(art) {\n const {\n constructor,\n template: { $player, $video },\n } = art;\n\n art.on('fullscreenWeb', (state) => {\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n // There is a conflict with the fullscreen event, and it is changed to asynchronous execution\n setTimeout(() => {\n setStyle($player, 'width', `${viewHeight}px`);\n setStyle($player, 'height', `${viewWidth}px`);\n setStyle($player, 'transform-origin', '0 0');\n setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`);\n addClass($player, 'art-auto-orientation');\n art.isRotate = true;\n art.emit('resize');\n }, constructor.AUTO_ORIENTATION_TIME);\n }\n } else {\n if (hasClass($player, 'art-auto-orientation')) {\n removeClass($player, 'art-auto-orientation');\n art.isRotate = false;\n art.notice.show = '';\n art.emit('resize');\n }\n }\n });\n\n art.on('fullscreen', async (state) => {\n const lastOrientation = screen.orientation.type;\n if (state) {\n const { videoWidth, videoHeight } = $video;\n const { clientWidth: viewWidth, clientHeight: viewHeight } = document.documentElement;\n if (\n (videoWidth > videoHeight && viewWidth < viewHeight) ||\n (videoWidth < videoHeight && viewWidth > viewHeight)\n ) {\n const oppositeOrientation = lastOrientation.startsWith('portrait') ? 'landscape' : 'portrait';\n await screen.orientation.lock(oppositeOrientation);\n addClass($player, 'art-auto-orientation-fullscreen');\n }\n } else {\n if (hasClass($player, 'art-auto-orientation-fullscreen')) {\n await screen.orientation.lock(lastOrientation);\n removeClass($player, 'art-auto-orientation-fullscreen');\n }\n }\n });\n\n return {\n name: 'autoOrientation',\n get state() {\n return hasClass($player, 'art-auto-orientation');\n },\n };\n}\n","import { secondToTime, setStyle, query, append } from '../utils';\n\nexport default function autoPlayback(art) {\n const {\n i18n,\n icons,\n storage,\n constructor,\n proxy,\n template: { $poster },\n } = art;\n\n const $autoPlayback = art.layers.add({\n name: 'auto-playback',\n html: `\n
\n
\n
\n `,\n });\n\n const $last = query('.art-auto-playback-last', $autoPlayback);\n const $jump = query('.art-auto-playback-jump', $autoPlayback);\n const $close = query('.art-auto-playback-close', $autoPlayback);\n\n art.on('video:timeupdate', () => {\n if (art.playing) {\n const times = storage.get('times') || {};\n const keys = Object.keys(times);\n if (keys.length > constructor.AUTO_PLAYBACK_MAX) {\n delete times[keys[0]];\n }\n times[art.option.id || art.option.url] = art.currentTime;\n storage.set('times', times);\n }\n });\n\n art.on('ready', () => {\n const times = storage.get('times') || {};\n const currentTime = times[art.option.id || art.option.url];\n if (currentTime && currentTime >= constructor.AUTO_PLAYBACK_MIN) {\n append($close, icons.close);\n setStyle($autoPlayback, 'display', 'flex');\n\n $last.innerText = `${i18n.get('Last Seen')} ${secondToTime(currentTime)}`;\n $jump.innerText = i18n.get('Jump Play');\n\n proxy($close, 'click', () => {\n setStyle($autoPlayback, 'display', 'none');\n });\n\n proxy($jump, 'click', () => {\n art.seek = currentTime;\n art.play();\n setStyle($poster, 'display', 'none');\n setStyle($autoPlayback, 'display', 'none');\n });\n\n art.once('video:timeupdate', () => {\n setTimeout(() => {\n setStyle($autoPlayback, 'display', 'none');\n }, constructor.AUTO_PLAYBACK_TIMEOUT);\n });\n }\n });\n\n return {\n name: 'auto-playback',\n get times() {\n return storage.get('times') || {};\n },\n clear() {\n return storage.del('times');\n },\n delete(id) {\n const times = storage.get('times') || {};\n delete times[id];\n storage.set('times', times);\n return times;\n },\n };\n}\n","import { hasClass, addClass, removeClass } from '../utils';\n\nexport default function fastForward(art) {\n const {\n constructor,\n proxy,\n template: { $player, $video },\n } = art;\n\n let timer = null;\n let isPress = false;\n let lastPlaybackRate = 1;\n\n const onStart = (event) => {\n if (event.touches.length === 1 && art.playing && !art.isLock) {\n timer = setTimeout(() => {\n isPress = true;\n lastPlaybackRate = art.playbackRate;\n art.playbackRate = constructor.FAST_FORWARD_VALUE;\n addClass($player, 'art-fast-forward');\n }, constructor.FAST_FORWARD_TIME);\n }\n };\n\n const onStop = () => {\n clearTimeout(timer);\n if (isPress) {\n isPress = false;\n art.playbackRate = lastPlaybackRate;\n removeClass($player, 'art-fast-forward');\n }\n };\n\n proxy($video, 'touchstart', onStart);\n proxy(document, 'touchmove', onStop);\n proxy(document, 'touchend', onStop);\n\n return {\n name: 'fastForward',\n get state() {\n return hasClass($player, 'art-fast-forward');\n },\n };\n}\n","import { append, setStyle, hasClass, addClass, removeClass } from '../utils';\n\nexport default function lock(art) {\n const {\n layers,\n icons,\n template: { $player },\n } = art;\n\n layers.add({\n name: 'lock',\n mounted($el) {\n const $lock = append($el, icons.lock);\n const $unlock = append($el, icons.unlock);\n setStyle($lock, 'display', 'none');\n\n art.on('lock', (state) => {\n if (state) {\n setStyle($lock, 'display', 'inline-flex');\n setStyle($unlock, 'display', 'none');\n } else {\n setStyle($lock, 'display', 'none');\n setStyle($unlock, 'display', 'inline-flex');\n }\n });\n },\n click() {\n if (hasClass($player, 'art-lock')) {\n removeClass($player, 'art-lock');\n this.isLock = false;\n art.emit('lock', false);\n } else {\n addClass($player, 'art-lock');\n this.isLock = true;\n art.emit('lock', true);\n }\n },\n });\n\n return {\n name: 'lock',\n get state() {\n return hasClass($player, 'art-lock');\n },\n };\n}\n","import config from './config';\nimport { clamp, getExt } from './utils';\n\nexport default class Mobile {\n constructor(art) {\n const {\n option,\n proxy,\n template: { $video },\n } = art;\n\n for (let index = 0; index < config.events.length; index++) {\n proxy($video, config.events[index], (event) => {\n art.emit(`video:${event.type}`, event);\n });\n }\n\n for (const key in option.moreVideoAttr) {\n $video[key] = option.moreVideoAttr[key];\n }\n\n $video.controls = true;\n\n if (option.muted) {\n $video.muted = option.muted;\n }\n\n if (option.volume) {\n $video.volume = clamp(option.volume, 0, 1);\n }\n\n if (option.poster) {\n $video.poster = option.poster;\n }\n\n if (option.autoplay) {\n $video.autoplay = option.autoplay;\n }\n\n if (option.playsInline) {\n $video.playsInline = true;\n $video['webkit-playsinline'] = true;\n }\n\n const typeName = option.type || getExt(option.url);\n const typeCallback = option.customType[typeName];\n if (typeName && typeCallback) {\n typeCallback($video, option.url, art);\n } else {\n $video.src = option.url;\n }\n }\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file diff --git a/packages/artplayer-plugin-danmuku/package.json b/packages/artplayer-plugin-danmuku/package.json index be2a8be25..481571c43 100644 --- a/packages/artplayer-plugin-danmuku/package.json +++ b/packages/artplayer-plugin-danmuku/package.json @@ -21,4 +21,4 @@ "video", "player" ] -} \ No newline at end of file +} diff --git a/packages/artplayer-vitepress/docs/.vitepress/cache/deps/@theme_index.js b/packages/artplayer-vitepress/docs/.vitepress/cache/deps/@theme_index.js index 557cd9d58..c94afeaf6 100644 --- a/packages/artplayer-vitepress/docs/.vitepress/cache/deps/@theme_index.js +++ b/packages/artplayer-vitepress/docs/.vitepress/cache/deps/@theme_index.js @@ -1,25 +1,25 @@ // ../../node_modules/vitepress/dist/client/theme-default/index.js -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/fonts.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/fonts.css"; // ../../node_modules/vitepress/dist/client/theme-default/without-fonts.js -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/vars.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/base.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/utils.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css"; -import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css"; -import VPBadge from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue"; -import Layout from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/Layout.vue"; -import { default as default2 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue"; -import { default as default3 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue"; -import { default as default4 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue"; -import { default as default5 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue"; -import { default as default6 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue"; -import { default as default7 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue"; -import { default as default8 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue"; -import { default as default9 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/vars.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/base.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/utils.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css"; +import "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css"; +import VPBadge from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue"; +import Layout from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/Layout.vue"; +import { default as default2 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue"; +import { default as default3 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue"; +import { default as default4 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue"; +import { default as default5 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue"; +import { default as default6 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue"; +import { default as default7 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue"; +import { default as default8 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue"; +import { default as default9 } from "C:/Users/laozh/Desktop/github/ArtPlayer/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue"; var theme = { Layout, enhanceApp: ({ app }) => { diff --git a/packages/artplayer-vitepress/docs/.vitepress/cache/deps/_metadata.json b/packages/artplayer-vitepress/docs/.vitepress/cache/deps/_metadata.json index a94a1ed4f..fb103a559 100644 --- a/packages/artplayer-vitepress/docs/.vitepress/cache/deps/_metadata.json +++ b/packages/artplayer-vitepress/docs/.vitepress/cache/deps/_metadata.json @@ -1,17 +1,17 @@ { - "hash": "49bbf3cf", - "browserHash": "27d1e0c3", + "hash": "87e13f7a", + "browserHash": "17e94e99", "optimized": { "vue": { "src": "../../../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "feae30a7", + "fileHash": "052bf677", "needsInterop": false }, "@theme/index": { "src": "../../../../../../node_modules/vitepress/dist/client/theme-default/index.js", "file": "@theme_index.js", - "fileHash": "c693c8dd", + "fileHash": "176080f4", "needsInterop": false } }, diff --git a/packages/artplayer-vitepress/docs/advanced/global.md b/packages/artplayer-vitepress/docs/advanced/global.md index 7208b4504..284038597 100644 --- a/packages/artplayer-vitepress/docs/advanced/global.md +++ b/packages/artplayer-vitepress/docs/advanced/global.md @@ -1,65 +1,508 @@ # 全局属性 +这里的 `全局属性` 也是指挂载在 `构造函数` 的 `一级属性`,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到 + ## DEBUG +是否开始 `debug` 模式,可以打印出视频全部的内置事件,默认关闭 + +
▶ Run Code
+ +```js +Artplayer.DEBUG = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## CONTEXTMENU +是否开启右键菜单,默认开启 + +
▶ Run Code
+ +```js +Artplayer.CONTEXTMENU = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## NOTICE_TIME +提示信息的显示时长,单位为毫秒,默认为 `2000` + +
▶ Run Code
+ +```js +Artplayer.NOTICE_TIME = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## SETTING_WIDTH +设置面板的默认宽度,单位为像素,默认为 `250` + +
▶ Run Code
+ +```js +Artplayer.SETTING_WIDTH = 300; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## SETTING_ITEM_WIDTH +设置面板的设置项的默认宽度,单位为像素,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.SETTING_ITEM_WIDTH = 300; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## SETTING_ITEM_HEIGHT +设置面板的设置项的默认高度,单位为像素,默认为 `35` + +
▶ Run Code
+ +```js +Artplayer.SETTING_ITEM_HEIGHT = 40; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## RESIZE_TIME +`resize` 事件的节流时间,单位为毫秒,默认为 `500` + +
▶ Run Code
+ +```js +Artplayer.RESIZE_TIME = 1000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('resize', () => { + console.log('resize'); +}); +``` + ## SCROLL_TIME +`scroll` 事件的节流时间,单位为毫秒,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.SCROLL_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('scroll', () => { + console.log('scroll'); +}); +``` + ## SCROLL_GAP +`view` 事件的边界容差距离,单位为像素,默认为 `50` + +
▶ Run Code
+ +```js +Artplayer.SCROLL_GAP = 100; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('scroll', () => { + console.log('scroll'); +}); +``` + ## AUTO_PLAYBACK_MAX +自动回放功能的最大记录数,默认为 `10` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_MAX = 20; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## AUTO_PLAYBACK_MIN +自动回放功能的最小记录时长,单位为秒,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_MIN = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## AUTO_PLAYBACK_TIMEOUT +自动回放功能的隐藏延迟时长,单位为毫秒,默认为 `3000` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## RECONNECT_TIME_MAX +发生连接错误时,自动连接的最大次数,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.RECONNECT_TIME_MAX = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/404.mp4', +}); +``` + ## RECONNECT_SLEEP_TIME +发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.RECONNECT_SLEEP_TIME = 3000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/404.mp4', +}); +``` + ## CONTROL_HIDE_TIME +底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 `3000` + +
▶ Run Code
+ +```js +Artplayer.CONTROL_HIDE_TIME = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## DBCLICK_TIME +双击事件的延迟事件,单位为毫秒,默认为 `300` + +
▶ Run Code
+ +```js +Artplayer.DBCLICK_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('dblclick', () => { + console.log('dblclick'); +}); +``` + ## DBCLICK_FULLSCREEN +在桌面端,是否双击切换全屏,默认为 `true` + +
▶ Run Code
+ +```js +Artplayer.DBCLICK_FULLSCREEN = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## MOBILE_DBCLICK_PLAY +在移动端,是否双击切换播放暂停,默认为 `true` + +
▶ Run Code
+ +```js +Artplayer.MOBILE_DBCLICK_PLAY = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## MOBILE_CLICK_PLAY -## MOBILE_AUTO_PLAYBACKRATE +在移动端,是否单击切换播放暂停,默认为 `false` -## MOBILE_AUTO_PLAYBACKRATE_TIME +
▶ Run Code
-## MOBILE_AUTO_ORIENTATION_TIME +```js +Artplayer.MOBILE_CLICK_PLAY = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + +## AUTO_ORIENTATION_TIME + +在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.AUTO_ORIENTATION_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoOrientation: true, +}); +``` ## INFO_LOOP_TIME +信息面板的刷新时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.INFO_LOOP_TIME = 2000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.info.show = true; +``` + ## FAST_FORWARD_VALUE +在移动端,长按加速的速率倍数,默认为 `3` + +
▶ Run Code
+ +```js +Artplayer.FAST_FORWARD_VALUE = 5; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fastForward: true, +}); +``` + ## FAST_FORWARD_TIME +在移动端,长按加速的延迟时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.FAST_FORWARD_TIME = 2000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fastForward: true, +}); +``` + ## TOUCH_MOVE_RATIO +在移动端,左右滑动进度的速率倍数,默认为 `0.5` + +
▶ Run Code
+ +```js +Artplayer.TOUCH_MOVE_RATIO = 1; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## VOLUME_STEP +快捷键调节音量的幅度比例,默认为 `0.1` + +
▶ Run Code
+ +```js +Artplayer.VOLUME_STEP = 0.2; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## SEEK_STEP +快捷键调节播放进度的幅度,单位为秒,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.SEEK_STEP = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## PLAYBACK_RATE +内置播放速率的列表,默认为 `[0.5, 0.75, 1, 1.25, 1.5, 2]` + +
▶ Run Code
+ +```js +Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5]; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + playbackRate: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## ASPECT_RATIO +内置视频长宽比的列表,默认为 `['default', '4:3', '16:9']` + +
▶ Run Code
+ +```js +Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5']; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + aspectRatio: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## FLIP +内置视频翻转的列表,默认为 `['normal', 'horizontal', 'vertical']` + +
▶ Run Code
+ +```js +Artplayer.FLIP = ['normal', 'horizontal']; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + flip: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## FULLSCREEN_WEB_IN_BODY + +网页全屏时,是否把播放器挂在在 `body` 元素下,默认为 `false` + +
▶ Run Code
+ +```js +Artplayer.FULLSCREEN_WEB_IN_BODY = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fullscreenWeb: true, +}); +``` \ No newline at end of file diff --git a/packages/artplayer-vitepress/docs/en/advanced/global.md b/packages/artplayer-vitepress/docs/en/advanced/global.md index 619a9e522..284038597 100644 --- a/packages/artplayer-vitepress/docs/en/advanced/global.md +++ b/packages/artplayer-vitepress/docs/en/advanced/global.md @@ -1,65 +1,508 @@ -# Global Property +# 全局属性 + +这里的 `全局属性` 也是指挂载在 `构造函数` 的 `一级属性`,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到 ## DEBUG +是否开始 `debug` 模式,可以打印出视频全部的内置事件,默认关闭 + +
▶ Run Code
+ +```js +Artplayer.DEBUG = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## CONTEXTMENU +是否开启右键菜单,默认开启 + +
▶ Run Code
+ +```js +Artplayer.CONTEXTMENU = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## NOTICE_TIME +提示信息的显示时长,单位为毫秒,默认为 `2000` + +
▶ Run Code
+ +```js +Artplayer.NOTICE_TIME = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## SETTING_WIDTH +设置面板的默认宽度,单位为像素,默认为 `250` + +
▶ Run Code
+ +```js +Artplayer.SETTING_WIDTH = 300; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## SETTING_ITEM_WIDTH +设置面板的设置项的默认宽度,单位为像素,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.SETTING_ITEM_WIDTH = 300; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## SETTING_ITEM_HEIGHT +设置面板的设置项的默认高度,单位为像素,默认为 `35` + +
▶ Run Code
+ +```js +Artplayer.SETTING_ITEM_HEIGHT = 40; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + loop: true, + flip: true, + playbackRate: true, + aspectRatio: true, +}); +``` + ## RESIZE_TIME +`resize` 事件的节流时间,单位为毫秒,默认为 `500` + +
▶ Run Code
+ +```js +Artplayer.RESIZE_TIME = 1000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('resize', () => { + console.log('resize'); +}); +``` + ## SCROLL_TIME +`scroll` 事件的节流时间,单位为毫秒,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.SCROLL_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('scroll', () => { + console.log('scroll'); +}); +``` + ## SCROLL_GAP +`view` 事件的边界容差距离,单位为像素,默认为 `50` + +
▶ Run Code
+ +```js +Artplayer.SCROLL_GAP = 100; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('scroll', () => { + console.log('scroll'); +}); +``` + ## AUTO_PLAYBACK_MAX +自动回放功能的最大记录数,默认为 `10` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_MAX = 20; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## AUTO_PLAYBACK_MIN +自动回放功能的最小记录时长,单位为秒,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_MIN = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## AUTO_PLAYBACK_TIMEOUT +自动回放功能的隐藏延迟时长,单位为毫秒,默认为 `3000` + +
▶ Run Code
+ +```js +Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoPlayback: true, +}); +``` + ## RECONNECT_TIME_MAX +发生连接错误时,自动连接的最大次数,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.RECONNECT_TIME_MAX = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/404.mp4', +}); +``` + ## RECONNECT_SLEEP_TIME +发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.RECONNECT_SLEEP_TIME = 3000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/404.mp4', +}); +``` + ## CONTROL_HIDE_TIME +底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 `3000` + +
▶ Run Code
+ +```js +Artplayer.CONTROL_HIDE_TIME = 5000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## DBCLICK_TIME +双击事件的延迟事件,单位为毫秒,默认为 `300` + +
▶ Run Code
+ +```js +Artplayer.DBCLICK_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('dblclick', () => { + console.log('dblclick'); +}); +``` + ## DBCLICK_FULLSCREEN +在桌面端,是否双击切换全屏,默认为 `true` + +
▶ Run Code
+ +```js +Artplayer.DBCLICK_FULLSCREEN = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## MOBILE_DBCLICK_PLAY +在移动端,是否双击切换播放暂停,默认为 `true` + +
▶ Run Code
+ +```js +Artplayer.MOBILE_DBCLICK_PLAY = false; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## MOBILE_CLICK_PLAY -## MOBILE_AUTO_PLAYBACKRATE +在移动端,是否单击切换播放暂停,默认为 `false` -## MOBILE_AUTO_PLAYBACKRATE_TIME +
▶ Run Code
-## MOBILE_AUTO_ORIENTATION_TIME +```js +Artplayer.MOBILE_CLICK_PLAY = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + +## AUTO_ORIENTATION_TIME + +在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 `200` + +
▶ Run Code
+ +```js +Artplayer.AUTO_ORIENTATION_TIME = 500; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoOrientation: true, +}); +``` ## INFO_LOOP_TIME +信息面板的刷新时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.INFO_LOOP_TIME = 2000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.info.show = true; +``` + ## FAST_FORWARD_VALUE +在移动端,长按加速的速率倍数,默认为 `3` + +
▶ Run Code
+ +```js +Artplayer.FAST_FORWARD_VALUE = 5; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fastForward: true, +}); +``` + ## FAST_FORWARD_TIME +在移动端,长按加速的延迟时间,单位为毫秒,默认为 `1000` + +
▶ Run Code
+ +```js +Artplayer.FAST_FORWARD_TIME = 2000; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fastForward: true, +}); +``` + ## TOUCH_MOVE_RATIO +在移动端,左右滑动进度的速率倍数,默认为 `0.5` + +
▶ Run Code
+ +```js +Artplayer.TOUCH_MOVE_RATIO = 1; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## VOLUME_STEP +快捷键调节音量的幅度比例,默认为 `0.1` + +
▶ Run Code
+ +```js +Artplayer.VOLUME_STEP = 0.2; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## SEEK_STEP +快捷键调节播放进度的幅度,单位为秒,默认为 `5` + +
▶ Run Code
+ +```js +Artplayer.SEEK_STEP = 10; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); +``` + ## PLAYBACK_RATE +内置播放速率的列表,默认为 `[0.5, 0.75, 1, 1.25, 1.5, 2]` + +
▶ Run Code
+ +```js +Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5]; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + playbackRate: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## ASPECT_RATIO +内置视频长宽比的列表,默认为 `['default', '4:3', '16:9']` + +
▶ Run Code
+ +```js +Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5']; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + aspectRatio: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## FLIP +内置视频翻转的列表,默认为 `['normal', 'horizontal', 'vertical']` + +
▶ Run Code
+ +```js +Artplayer.FLIP = ['normal', 'horizontal']; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + flip: true, +}); + +art.contextmenu.show = true; +art.setting.show = true; +``` + ## FULLSCREEN_WEB_IN_BODY + +网页全屏时,是否把播放器挂在在 `body` 元素下,默认为 `false` + +
▶ Run Code
+ +```js +Artplayer.FULLSCREEN_WEB_IN_BODY = true; + +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + fullscreenWeb: true, +}); +``` \ No newline at end of file diff --git a/packages/artplayer/src/index.js b/packages/artplayer/src/index.js index 400accd5c..180073941 100644 --- a/packages/artplayer/src/index.js +++ b/packages/artplayer/src/index.js @@ -240,9 +240,7 @@ Artplayer.DBCLICK_TIME = 300; Artplayer.DBCLICK_FULLSCREEN = true; Artplayer.MOBILE_DBCLICK_PLAY = true; Artplayer.MOBILE_CLICK_PLAY = false; -Artplayer.MOBILE_AUTO_PLAYBACKRATE = 3; -Artplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000; -Artplayer.MOBILE_AUTO_ORIENTATION_TIME = 200; +Artplayer.AUTO_ORIENTATION_TIME = 200; Artplayer.INFO_LOOP_TIME = 1000; Artplayer.FAST_FORWARD_VALUE = 3; Artplayer.FAST_FORWARD_TIME = 1000; diff --git a/packages/artplayer/src/plugins/autoOrientation.js b/packages/artplayer/src/plugins/autoOrientation.js index f8bb1eb14..ddd4ad273 100644 --- a/packages/artplayer/src/plugins/autoOrientation.js +++ b/packages/artplayer/src/plugins/autoOrientation.js @@ -23,7 +23,7 @@ export default function autoOrientation(art) { addClass($player, 'art-auto-orientation'); art.isRotate = true; art.emit('resize'); - }, constructor.MOBILE_AUTO_ORIENTATION_TIME); + }, constructor.AUTO_ORIENTATION_TIME); } } else { if (hasClass($player, 'art-auto-orientation')) { diff --git a/packages/artplayer/src/style/setting.less b/packages/artplayer/src/style/setting.less index 6b8bbffd2..5d8b5df08 100644 --- a/packages/artplayer/src/style/setting.less +++ b/packages/artplayer/src/style/setting.less @@ -18,6 +18,7 @@ .art-setting-panel { display: none; + height: 100%; flex-direction: column; &.art-current { @@ -28,9 +29,8 @@ display: flex; justify-content: space-between; align-items: center; - height: 35px; + flex: 1; padding: 0 5px; - line-height: 1; cursor: pointer; overflow: hidden; transition: background-color var(--art-transition-duration) ease; diff --git a/packages/artplayer/types/artplayer.d.ts b/packages/artplayer/types/artplayer.d.ts index 1502b5eb7..7ee9401da 100644 --- a/packages/artplayer/types/artplayer.d.ts +++ b/packages/artplayer/types/artplayer.d.ts @@ -48,9 +48,7 @@ declare class Artplayer extends Player { static DBCLICK_FULLSCREEN: boolean; static MOBILE_DBCLICK_PLAY: boolean; static MOBILE_CLICK_PLAY: boolean; - static MOBILE_AUTO_PLAYBACKRAT: number; - static MOBILE_AUTO_PLAYBACKRATE_TIME: number; - static MOBILE_AUTO_ORIENTATION_TIME: number; + static AUTO_ORIENTATION_TIME: number; static INFO_LOOP_TIME: number; static FAST_FORWARD_VALUE: number; static FAST_FORWARD_TIME: number;