diff --git a/IsekaiWidgets.i18n.php b/IsekaiWidgets.i18n.php new file mode 100644 index 0000000..d803955 --- /dev/null +++ b/IsekaiWidgets.i18n.php @@ -0,0 +1,7 @@ + [ + 'htmldetails' => [0, 'htmldetails'], + 'htmlsummary' => [0, 'htmlsummary'], + ], +]; \ No newline at end of file diff --git a/IsekaiWidgets.zip b/IsekaiWidgets.zip deleted file mode 100644 index 25feedd..0000000 Binary files a/IsekaiWidgets.zip and /dev/null differ diff --git a/README.md b/README.md index f801f0c..39e2733 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,49 @@ -# Isekai Create Page widget -## Useage -``` - -``` - -## Screenshots -![Screenshot](https://imgur.com/IcVNDwW.png) -![Screenshot](https://imgur.com/FAkh3gK.png) - -# 异世界百科 磁贴 -## 截图 -![Screenshot](https://i.imgur.com/RM51jak.png) - -## 用法 -### 磁贴容器 -用来把多个磁贴拼成一块的 - -```html - - - -``` - -参数 - -| 参数名 | 参数值 | 介绍 | -| ------ | ----- | ---- | -| size | xs-12 sm-12 md-12 lg-12 xl-12 xxl-12 | 控制不同屏幕上的显示宽度,和bootstrap的col差不多,最宽为12 | -| title | * | 这一组磁贴的标题 | - -### 磁贴 -显示一个矩形的磁贴 - -```html -title -``` - -参数 - -| 参数名 | 参数值 | 介绍 | -| ------ | ----- | ---- | -| size | app,small,medium,wide,large | 控制磁贴大小 | -| icon | fa fa-fw fa-map | 磁贴的图标,可以是文件路径或者css类 | -| 内容 | title | 磁贴的标题 | -| badge | 1 | 磁贴左上角显示的数字(未读消息) | -| color | #ccc | 磁贴的颜色 | -| href | [[首页]] | 指向链接,支持使用 ```[[]]``` 表示文章链接 | +# Isekai Create Page widget +## Useage +``` + +``` + +## Screenshots +![Screenshot](https://imgur.com/IcVNDwW.png) +![Screenshot](https://imgur.com/FAkh3gK.png) + +# 异世界百科 磁贴 +## 截图 +![Screenshot](https://i.imgur.com/RM51jak.png) + +## 用法 +### 磁贴容器 +用来把多个磁贴拼成一块的 + +```html + + + +``` + +参数 + +| 参数名 | 参数值 | 介绍 | +| ------ | ----- | ---- | +| size | xs-12 sm-12 md-12 lg-12 xl-12 xxl-12 | 控制不同屏幕上的显示宽度,和bootstrap的col差不多,最宽为12 | +| title | * | 这一组磁贴的标题 | + +### 磁贴 +显示一个矩形的磁贴 + +```html +title +``` + +参数 + +| 参数名 | 参数值 | 介绍 | +| ------ | ----- | ---- | +| size | app,small,medium,wide,large | 控制磁贴大小 | +| icon | fa fa-fw fa-map | 磁贴的图标,可以是文件路径或者css类 | +| 内容 | title | 磁贴的标题 | +| badge | 1 | 磁贴左上角显示的数字(未读消息) | +| color | #ccc | 磁贴的颜色 | +| href | [[首页]] | 指向链接,支持使用 ```[[]]``` 表示文章链接 | | grid | 1 2 | grid位置,格式为 ``` ``` | \ No newline at end of file diff --git a/docs/previewCard-design.md b/docs/previewCard-design.md index e2c02fa..4d6a3b2 100644 --- a/docs/previewCard-design.md +++ b/docs/previewCard-design.md @@ -1,10 +1,10 @@ -## 预览卡片设计 -```html - - [[链接1]] - [[链接2]] - - - - -``` +## 预览卡片设计 +```html + + [[链接1]] + [[链接2]] + + + + +``` diff --git a/extension.json b/extension.json index 6a141a3..ad906e0 100644 --- a/extension.json +++ b/extension.json @@ -1,107 +1,155 @@ -{ - "name": "Isekai Discover Box", - "namemsg": "isekai-widgets", - "author": "Hyperzlib", - "version": "1.0.2", - "url": "https://github.com/Isekai-Project/mediawiki-extension-IsekaiWidgets", - "descriptionmsg": "isekai-widgets-desc", - "license-name": "GPL-2.0-or-later", - "type": "parserhook", - "MessagesDirs": { - "IsekaiWidgets": [ - "i18n" - ] - }, - "AutoloadNamespaces": { - "Isekai\\Widgets\\": "includes" - }, - "Hooks": { - "ParserFirstCallInit": "Isekai\\Widgets\\Widgets::onParserSetup" - }, - "ResourceModules": { - "ext.isekai.widgets.global": { - "styles": [ - "ext.isekai.alert.less" - ] - }, - "ext.isekai.createPage": { - "scripts": [ - "createPage/ext.isekai.createPage.js", - "createPage/ext.isekai.createPage.base.js" - ], - "styles": [ - "createPage/ext.isekai.createPage.base.less" - ], - "dependencies": [ - "oojs-ui-core" - ], - "targets": [ - "desktop", - "mobile" - ], - "messages": [ - "isekai-createpage-page-title", - "isekai-createpage-create-page-button", - "isekai-createpage-page-exists", - "isekai-createpage-title-empty", - "isekai-createpage-redirecting" - ] - }, - "ext.isekai.discover": { - "scripts": [ - "discover/ext.isekai.discover.js", - "discover/ext.isekai.discover.base.js" - ], - "styles": [ - "discover/ext.isekai.discover.base.less" - ], - "dependencies": [ - "oojs", - "oojs-ui-core", - "oojs-ui.styles.icons-interactions" - ], - "targets": [ - "desktop", - "mobile" - ], - "messages": [ - "isekai-discover-change-btn", - "isekai-discover-readmore-btn", - "isekai-discover-error-cannotload" - ] - }, - "ext.isekai.previewCard": { - "scripts": [ - "previewCard/ext.isekai.previewCard.js" - ], - "styles": [ - "previewCard/ext.isekai.previewCard.less" - ], - "targets": [ - "desktop", - "mobile" - ], - "messages": [ - - ] - }, - "ext.isekai.tile": { - "scripts": [ - "tile/tile.js" - ], - "styles": [ - "tile/tile.css", - "tile/style.less" - ], - "targets": [ - "desktop", - "mobile" - ] - } - }, - "ResourceFileModulePaths": { - "localBasePath": "modules", - "remoteExtPath": "IsekaiWidgets/modules" - }, - "manifest_version": 1 +{ + "name": "Isekai Discover Box", + "namemsg": "isekai-widgets", + "author": "Hyperzlib", + "version": "1.0.2", + "url": "https://github.com/Isekai-Project/mediawiki-extension-IsekaiWidgets", + "descriptionmsg": "isekai-widgets-desc", + "license-name": "GPL-2.0-or-later", + "type": "parserhook", + "requires": { + "MediaWiki": ">= 1.34.0" + }, + "MessagesDirs": { + "IsekaiWidgets": [ + "i18n" + ] + }, + "ExtensionMessagesFiles": { + "IsekaiWidgetsMagic": "IsekaiWidgets.i18n.php" + }, + "AutoloadNamespaces": { + "Isekai\\Widgets\\": "includes" + }, + "Hooks": { + "ParserFirstCallInit": "Isekai\\Widgets\\Widgets::onParserSetup", + "BeforePageDisplay": "Isekai\\Widgets\\Widgets::onLoad" + }, + "ResourceModules": { + "ext.isekai.widgets.global": { + "styles": [ + "ext.isekai.widgets.global.less" + ] + }, + "ext.isekai.createPage": { + "scripts": [ + "createPage/ext.isekai.createPage.js", + "createPage/ext.isekai.createPage.base.js" + ], + "styles": [ + "createPage/ext.isekai.createPage.base.less" + ], + "dependencies": [ + "oojs-ui-core" + ], + "targets": [ + "desktop", + "mobile" + ], + "messages": [ + "isekai-createpage-page-title", + "isekai-createpage-create-page-button", + "isekai-createpage-page-exists", + "isekai-createpage-title-empty", + "isekai-createpage-redirecting" + ] + }, + "ext.isekai.discover": { + "scripts": [ + "discover/ext.isekai.discover.js", + "discover/ext.isekai.discover.base.js" + ], + "styles": [ + "discover/ext.isekai.discover.base.less" + ], + "dependencies": [ + "oojs", + "oojs-ui-core", + "oojs-ui.styles.icons-interactions" + ], + "targets": [ + "desktop", + "mobile" + ], + "messages": [ + "isekai-discover-change-btn", + "isekai-discover-readmore-btn", + "isekai-discover-error-cannotload" + ] + }, + "ext.isekai.feedList": { + "es6": true, + "scripts": [ + "feedList/ext.isekai.feedList.js" + ], + "styles": [ + "feedList/ext.isekai.feedList.less" + ], + "dependencies": [ + "vue" + ], + "targets": [ + "desktop", + "mobile" + ], + "messages": [ + + ] + }, + "ext.isekai.previewCard": { + "scripts": [ + "previewCard/ext.isekai.previewCard.js" + ], + "styles": [ + "previewCard/ext.isekai.previewCard.less" + ], + "targets": [ + "desktop", + "mobile" + ], + "messages": [ + + ] + }, + "ext.isekai.tile": { + "scripts": [ + "tile/tile.js" + ], + "styles": [ + "tile/tile.css", + "tile/style.less" + ], + "targets": [ + "desktop", + "mobile" + ] + }, + "ext.isekai.collapse": { + "scripts": [ + "ext.isekai.collapse.js" + ], + "styles": [ + "ext.isekai.collapse.less" + ], + "targets": [ + "desktop", + "mobile" + ] + } + }, + "ResourceFileModulePaths": { + "localBasePath": "modules", + "remoteExtPath": "IsekaiWidgets/modules" + }, + "attributes": { + "CodeMirror": { + "TagModes": { + "tilegroup": "text/mediawiki", + "exfont": "text/mediawiki", + "details": "text/mediawiki", + "summary": "text/mediawiki" + } + } + }, + "manifest_version": 2 } \ No newline at end of file diff --git a/i18n/en.json b/i18n/en.json index e5b8827..9e4b305 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -1,27 +1,27 @@ -{ - "isekai-widgets": "Isekai Widgets", - "isekai-widgets-desc": "Some custom widgets uses on Isekai Wiki", - - "isekai-createpage-page-title": "Title for new page", - "isekai-createpage-create-page": "Create page", - "isekai-createpage-create-page-button": "Create", - "isekai-createpage-page-exists": "A page with the same name already exists. Please use another name.", - "isekai-createpage-title-empty": "Please input title.", - "isekai-createpage-redirecting": "Redirecting, please wait...", - - "isekai-discover-langcode": "en", - "isekai-discover-randompage": "Random Page", - "isekai-discover-loading": "Loading...", - "isekai-discover-change-btn": "Another", - "isekai-discover-readmore-btn": "Detail", - "isekai-discover-error-cannotload": "Cannot load page from server.", - - "isekai-fontface-error-invalid-params": "Please specify src and name attributes.", - "isekai-fontface-error-font-name-invalid": "Font name cannot contain special characters.", - "isekai-fontface-error-font-not-exists": "Font file \"$1\" not exists.", - "isekai-fontface-error-font-already-defined": "Font \"$1\" already imported, please check.", - - "isekai-font-error-invalid-params": "Please specify name attributes.", - "isekai-font-error-font-name-invalid": "Font name cannot contain special characters.", - "isekai-font-error-font-not-imported": "Font \"$1\" not imported." +{ + "isekai-widgets": "Isekai Widgets", + "isekai-widgets-desc": "Some custom widgets uses on Isekai Wiki", + + "isekai-createpage-page-title": "Title for new page", + "isekai-createpage-create-page": "Create page", + "isekai-createpage-create-page-button": "Create", + "isekai-createpage-page-exists": "A page with the same name already exists. Please use another name.", + "isekai-createpage-title-empty": "Please input title.", + "isekai-createpage-redirecting": "Redirecting, please wait...", + + "isekai-discover-langcode": "en", + "isekai-discover-randompage": "Random Page", + "isekai-discover-loading": "Loading...", + "isekai-discover-change-btn": "Another", + "isekai-discover-readmore-btn": "Detail", + "isekai-discover-error-cannotload": "Cannot load page from server.", + + "isekai-fontface-error-invalid-params": "Please specify src and name attributes.", + "isekai-fontface-error-font-name-invalid": "Font name cannot contain special characters.", + "isekai-fontface-error-font-not-exists": "Font file \"$1\" not exists.", + "isekai-fontface-error-font-already-defined": "Font \"$1\" already imported, please check.", + + "isekai-font-error-invalid-params": "Please specify name attributes.", + "isekai-font-error-font-name-invalid": "Font name cannot contain special characters.", + "isekai-font-error-font-not-imported": "Font \"$1\" not imported." } \ No newline at end of file diff --git a/i18n/ja.json b/i18n/ja.json index 1a537da..2672d93 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -1,17 +1,17 @@ -{ - "isekai-widgets-desc": "異世界ウィキで使用するカスタムウィジェットたち", - - "isekai-createpage-page-title": "新しいページの名", - "isekai-createpage-create-page": "ページを新規作成", - "isekai-createpage-create-page-button": "作成", - "isekai-createpage-page-exists": "同じタイトルのページが既に存在します。変更してください。", - "isekai-createpage-title-empty": "おタイトルを入力してください", - "isekai-createpage-redirecting": "ジャンプしてお待ちください...", - - "isekai-discover-langcode": "ja", - "isekai-discover-randompage": "おまかせ表示", - "isekai-discover-loading": "読み込み中...", - "isekai-discover-change-btn": "変える", - "isekai-discover-readmore-btn": "開く", - "isekai-discover-error-cannotload": "サーバからのページを読み取りに失敗しま。" +{ + "isekai-widgets-desc": "異世界ウィキで使用するカスタムウィジェットたち", + + "isekai-createpage-page-title": "新しいページの名", + "isekai-createpage-create-page": "ページを新規作成", + "isekai-createpage-create-page-button": "作成", + "isekai-createpage-page-exists": "同じタイトルのページが既に存在します。変更してください。", + "isekai-createpage-title-empty": "おタイトルを入力してください", + "isekai-createpage-redirecting": "ジャンプしてお待ちください...", + + "isekai-discover-langcode": "ja", + "isekai-discover-randompage": "おまかせ表示", + "isekai-discover-loading": "読み込み中...", + "isekai-discover-change-btn": "変える", + "isekai-discover-readmore-btn": "開く", + "isekai-discover-error-cannotload": "サーバからのページを読み取りに失敗しました。" } \ No newline at end of file diff --git a/i18n/zh-hans.json b/i18n/zh-hans.json index a2fef24..ca2d425 100644 --- a/i18n/zh-hans.json +++ b/i18n/zh-hans.json @@ -1,27 +1,29 @@ -{ - "isekai-widgets": "异世界百科 小部件", - "isekai-widgets-desc": "在异世界百科上使用的一些小部件", - - "isekai-createpage-page-title": "页面标题", - "isekai-createpage-create-page": "新建页面", - "isekai-createpage-create-page-button": "创建", - "isekai-createpage-page-exists": "已有相同名字的页面存在,换一个名字吧。", - "isekai-createpage-title-empty": "请填写标题", - "isekai-createpage-redirecting": "正在跳转,请稍后……", - - "isekai-discover-langcode": "zh", - "isekai-discover-randompage": "随机页面", - "isekai-discover-loading": "加载中……", - "isekai-discover-change-btn": "换一个", - "isekai-discover-readmore-btn": "查看", - "isekai-discover-error-cannotload": "无法从服务器加载数据", - - "isekai-fontface-error-invalid-params": "请提供src和name参数。", - "isekai-fontface-error-font-name-invalid": "字体名中不能包含特殊字符。", - "isekai-fontface-error-font-not-exists": "字体文件 \"$1\" 不存在。", - "isekai-fontface-error-font-already-defined": "字体 \"$1\" 已引用,请检查重复引用。", - - "isekai-font-error-invalid-params": "请提供name参数。", - "isekai-font-error-font-name-invalid": "字体名中不能包含特殊字符。", - "isekai-font-error-font-not-imported": "未导入字体: \"$1\"。" +{ + "isekai-widgets": "异世界百科 小部件", + "isekai-widgets-desc": "在异世界百科上使用的一些小部件", + + "isekai-createpage-page-title": "页面标题", + "isekai-createpage-create-page": "新建页面", + "isekai-createpage-create-page-button": "创建", + "isekai-createpage-page-exists": "已有相同名字的页面存在,换一个名字吧。", + "isekai-createpage-title-empty": "请填写标题", + "isekai-createpage-redirecting": "正在跳转,请稍后……", + + "isekai-discover-langcode": "zh", + "isekai-discover-randompage": "随机页面", + "isekai-discover-loading": "加载中……", + "isekai-discover-change-btn": "换一个", + "isekai-discover-readmore-btn": "查看", + "isekai-discover-error-cannotload": "无法从服务器加载数据", + + "isekai-feed-list-title": "最近更新", + + "isekai-fontface-error-invalid-params": "请提供src和name参数。", + "isekai-fontface-error-font-name-invalid": "字体名中不能包含特殊字符。", + "isekai-fontface-error-font-not-exists": "字体文件 \"$1\" 不存在。", + "isekai-fontface-error-font-already-defined": "字体 \"$1\" 已引用,请检查重复引用。", + + "isekai-font-error-invalid-params": "请提供name参数。", + "isekai-font-error-font-name-invalid": "字体名中不能包含特殊字符。", + "isekai-font-error-font-not-imported": "未导入字体: \"$1\"。" } \ No newline at end of file diff --git a/i18n/zh-hant.json b/i18n/zh-hant.json index 464c574..79c6789 100644 --- a/i18n/zh-hant.json +++ b/i18n/zh-hant.json @@ -1,27 +1,27 @@ -{ - "isekai-widgets": "異世界百科 小部件", - "isekai-widgets-desc": "在異世界百科上使用的一些小部件", - - "isekai-createpage-page-title": "頁面標題", - "isekai-createpage-create-page": "建立頁面", - "isekai-createpage-create-page-button": "創建", - "isekai-createpage-page-exists": "已有相同名字的頁面存在,換一個名字吧。", - "isekai-createpage-title-empty": "请填写标题", - "isekai-createpage-redirecting": "正在跳轉,請稍後……", - - "isekai-discover-langcode": "zh", - "isekai-discover-randompage": "隨機頁面", - "isekai-discover-loading": "讀取中……", - "isekai-discover-change-btn": "換一個", - "isekai-discover-readmore-btn": "詳情", - "isekai-discover-error-cannotload": "無法從伺服器讀取數據", - - "isekai-fontface-error-invalid-params": "請提供src和name參數。", - "isekai-fontface-error-font-name-invalid": "字體名中不能包含特殊字元。", - "isekai-fontface-error-font-not-exists": "字體檔案 \"$1\" 不存在。", - "isekai-fontface-error-font-already-defined": "字體 \"$1\" 已被引用,請檢查重複引用。", - - "isekai-font-error-invalid-params": "請提供name參數。", - "isekai-font-error-font-name-invalid": "字體名中不能包含特殊字元。", - "isekai-font-error-font-not-imported": "未導入字體: \"$1\"。" +{ + "isekai-widgets": "異世界百科 小部件", + "isekai-widgets-desc": "在異世界百科上使用的一些小部件", + + "isekai-createpage-page-title": "頁面標題", + "isekai-createpage-create-page": "建立頁面", + "isekai-createpage-create-page-button": "創建", + "isekai-createpage-page-exists": "已有相同名字的頁面存在,換一個名字吧。", + "isekai-createpage-title-empty": "请填写标题", + "isekai-createpage-redirecting": "正在跳轉,請稍後……", + + "isekai-discover-langcode": "zh", + "isekai-discover-randompage": "隨機頁面", + "isekai-discover-loading": "讀取中……", + "isekai-discover-change-btn": "換一個", + "isekai-discover-readmore-btn": "詳情", + "isekai-discover-error-cannotload": "無法從伺服器讀取數據", + + "isekai-fontface-error-invalid-params": "請提供src和name參數。", + "isekai-fontface-error-font-name-invalid": "字體名中不能包含特殊字元。", + "isekai-fontface-error-font-not-exists": "字體檔案 \"$1\" 不存在。", + "isekai-fontface-error-font-already-defined": "字體 \"$1\" 已被引用,請檢查重複引用。", + + "isekai-font-error-invalid-params": "請提供name參數。", + "isekai-font-error-font-name-invalid": "字體名中不能包含特殊字元。", + "isekai-font-error-font-not-imported": "未導入字體: \"$1\"。" } \ No newline at end of file diff --git a/includes/CreatePageWidget.php b/includes/CreatePageWidget.php index fc86126..fb03520 100644 --- a/includes/CreatePageWidget.php +++ b/includes/CreatePageWidget.php @@ -1,17 +1,17 @@ - 'nowiki']; - } - - public static function create($text, $params, $parser, $frame){ - $parser->getOutput()->addModules('ext.isekai.createPage'); - - return self::getHtml(); - } + 'nowiki']; + } + + public static function create($text, $params, $parser, $frame){ + $parser->getOutput()->addModules('ext.isekai.createPage'); + + return self::getHtml(); + } } \ No newline at end of file diff --git a/includes/DiscoverWidget.php b/includes/DiscoverWidget.php index 5e04649..4f1e09d 100644 --- a/includes/DiscoverWidget.php +++ b/includes/DiscoverWidget.php @@ -1,17 +1,17 @@ - 'nowiki']; - } - - public static function create($text, $params, \Parser $parser, $frame){ - $parser->getOutput()->addModules('ext.isekai.discover'); - - return self::getHtml(); - } + 'nowiki']; + } + + public static function create($text, $params, \Parser $parser, $frame){ + $parser->getOutput()->addModules('ext.isekai.discover'); + + return self::getHtml(); + } } \ No newline at end of file diff --git a/includes/ExtraFontWidget.php b/includes/ExtraFontWidget.php index 3116ef0..a740505 100644 --- a/includes/ExtraFontWidget.php +++ b/includes/ExtraFontWidget.php @@ -1,39 +1,39 @@ -extIsekaiWidgetsCache->get('extraFonts', INF, []); - - $content = $text = $frame->expand($text); - if (!isset($params['name']) || empty($params['name'])) { - return '' . wfMessage('isekai-font-error-invalid-params')->parse() . '' . $content; - } - - $fontName = 'extra-' . $params['name']; - if (preg_match('/[`~!@#$%^&*()+=<>?:"{}|,.\/;\'\\\\\[\]]\r\n/', $fontName)) { - return '' . - wfMessage('isekai-font-error-font-name-invalid')->parse() . - '' . - $content; - } - - $existsFonts = $parser->extIsekaiWidgetsCache->get('extraFonts', INF, []); - if (!isset($existsFonts[$fontName])) { - return '' . - wfMessage('isekai-font-error-font-not-imported', $params['name'])->parse() . - '' . - $content; - } - $fontId = $existsFonts[$fontName]; - - return [ - Html::rawElement('span', [ - 'class' => 'isekai-extra-font font-' . $fontId, - ], $content), - "markerType" => 'nowiki' - ]; - } +extIsekaiWidgetsCache->get('extraFonts', INF, []); + + $content = $text = $parser->recursiveTagParse($text, $frame); + if (!isset($params['name']) || empty($params['name'])) { + return '' . wfMessage('isekai-font-error-invalid-params')->parse() . '' . $content; + } + + $fontName = 'extra-' . $params['name']; + if (preg_match('/[`~!@#$%^&*()+=<>?:"{}|,.\/;\'\\\\\[\]]\r\n/', $fontName)) { + return '' . + wfMessage('isekai-font-error-font-name-invalid')->parse() . + '' . + $content; + } + + $existsFonts = $parser->extIsekaiWidgetsCache->get('extraFonts', INF, []); + if (!isset($existsFonts[$fontName])) { + return '' . + wfMessage('isekai-font-error-font-not-imported', $params['name'])->parse() . + '' . + $content; + } + $fontId = $existsFonts[$fontName]; + + return [ + Html::rawElement('span', [ + 'class' => 'isekai-extra-font font-' . $fontId, + ], $content), + "markerType" => 'nowiki' + ]; + } } \ No newline at end of file diff --git a/includes/FeedListWidget.php b/includes/FeedListWidget.php new file mode 100644 index 0000000..0883562 --- /dev/null +++ b/includes/FeedListWidget.php @@ -0,0 +1,17 @@ + 'nowiki']; + } + + public static function create($text, $params, \Parser $parser, $frame){ + $parser->getOutput()->addModules('ext.isekai.feedList'); + + return self::getHtml(); + } +} \ No newline at end of file diff --git a/includes/FontFaceWidget.php b/includes/FontFaceWidget.php index 385c221..cc4c49a 100644 --- a/includes/FontFaceWidget.php +++ b/includes/FontFaceWidget.php @@ -1,53 +1,53 @@ -' . wfMessage('isekai-fontface-error-invalid-params')->parse() . ''; - } - - $service = MediaWikiServices::getInstance(); - - $fontName = 'extra-' . $params['name']; - $existsFonts = $parser->extIsekaiWidgetsCache->get('extraFonts', INF, []); - if (isset($existsFonts[$fontName])) { - return '' . - wfMessage('isekai-fontface-error-font-already-defined', $params['name'])->parse() . - ''; - } - if (preg_match('/[`~!@#$%^&*()+=<>?:"{}|,.\/;\'\\\\\[\]]\r\n/', $fontName)) { - return '' . - wfMessage('isekai-fontface-error-font-name-invalid')->parse() . - ''; - } - - $title = Title::newFromText($params['src'], NS_FILE); - $file = $service->getRepoGroup()->findFile($title); - if (!$file) { - return '' . - wfMessage('isekai-fontface-error-font-not-exists', $params['src'])->parse() . - ''; - } - - $fontUrl = $file->getUrl(); - $fontId = substr(Utils::safeBase64Encode(md5($fontName, true)), 0, 8); - $css = ""; - - $existsFonts[$fontName] = $fontId; - $existsFonts = $parser->extIsekaiWidgetsCache->set('extraFonts', $existsFonts); - - return [$css, "markerType" => 'nowiki']; - } +' . wfMessage('isekai-fontface-error-invalid-params')->parse() . ''; + } + + $service = MediaWikiServices::getInstance(); + + $fontName = 'extra-' . $params['name']; + $existsFonts = $parser->extIsekaiWidgetsCache->get('extraFonts', INF, []); + if (isset($existsFonts[$fontName])) { + return '' . + wfMessage('isekai-fontface-error-font-already-defined', $params['name'])->parse() . + ''; + } + if (preg_match('/[`~!@#$%^&*()+=<>?:"{}|,.\/;\'\\\\\[\]]\r\n/', $fontName)) { + return '' . + wfMessage('isekai-fontface-error-font-name-invalid')->parse() . + ''; + } + + $title = Title::newFromText($params['src'], NS_FILE); + $file = $service->getRepoGroup()->findFile($title); + if (!$file) { + return '' . + wfMessage('isekai-fontface-error-font-not-exists', $params['src'])->parse() . + ''; + } + + $fontUrl = $file->getUrl(); + $fontId = substr(Utils::safeBase64Encode(md5($fontName, true)), 0, 8); + $css = ""; + + $existsFonts[$fontName] = $fontId; + $existsFonts = $parser->extIsekaiWidgetsCache->set('extraFonts', $existsFonts); + + return [$css, "markerType" => 'nowiki']; + } } \ No newline at end of file diff --git a/includes/Html5Widget.php b/includes/Html5Widget.php new file mode 100644 index 0000000..570d85c --- /dev/null +++ b/includes/Html5Widget.php @@ -0,0 +1,35 @@ +getOutput()->addModules('ext.isekai.collapse'); + $allowedAttr = ['class']; + $htmlArgs = array_filter($args, function($k) use($allowedAttr) { + return in_array($k, $allowedAttr); + }, ARRAY_FILTER_USE_KEY); + + $content = ''; + if ($text) { + $content = Utils::makeParagraph($parser->recursiveTagParse($text, $frame), true); + } + + return [Html::rawElement('details', $htmlArgs, $content), "markerType" => 'nowiki']; + } + + public static function createSummary(string $text, array $args, \Parser $parser, \PPFrame $frame) { + $allowedAttr = ['class']; + $htmlArgs = array_filter($args, function($k) use($allowedAttr) { + return in_array($k, $allowedAttr); + }, ARRAY_FILTER_USE_KEY); + + $content = ''; + if ($text) { + $content = $parser->recursiveTagParse($text, $frame); + } + + return [Html::rawElement('summary', $htmlArgs, $content), "markerType" => 'nowiki']; + } +} \ No newline at end of file diff --git a/includes/PreviewCardWidget.php b/includes/PreviewCardWidget.php index 58be736..6d4705a 100644 --- a/includes/PreviewCardWidget.php +++ b/includes/PreviewCardWidget.php @@ -1,27 +1,27 @@ - 'nowiki']; - } - - public static function create($text, $params, $parser, $frame){ - $parser->getOutput()->addModules('ext.isekai.previewCard'); - - $titleChunk = explode('/', $text); - $len = count($titleChunk); - $displayTitle = $titleChunk[$len - 1]; - unset($titleChunk[$len - 1]); - $path = implode('/', $titleChunk); - return self::getHtml([ - 'title' => $text, - 'displayTitle' => $displayTitle, - 'path' => $path, - ]); - } + 'nowiki']; + } + + public static function create($text, $params, $parser, $frame){ + $parser->getOutput()->addModules('ext.isekai.previewCard'); + + $titleChunk = explode('/', $text); + $len = count($titleChunk); + $displayTitle = $titleChunk[$len - 1]; + unset($titleChunk[$len - 1]); + $path = implode('/', $titleChunk); + return self::getHtml([ + 'title' => $text, + 'displayTitle' => $displayTitle, + 'path' => $path, + ]); + } } \ No newline at end of file diff --git a/includes/TileGroupWidget.php b/includes/TileGroupWidget.php index f02d44e..522dda6 100644 --- a/includes/TileGroupWidget.php +++ b/includes/TileGroupWidget.php @@ -1,94 +1,94 @@ -parseArgs($args); - } - - public static function create(string $text, array $args, \Parser $parser, \PPFrame $frame){ - $content = $parser->recursiveTagParse($text, $frame); - - $args['content'] = $content; - - $tileGroup = new TileGroupWidget($args); - return [$tileGroup->getHtml(), "markerType" => 'nowiki']; - } - - private function parseArgs($args){ - $allowedArgs = ['content', 'size', 'title', 'class', 'style']; - - if(isset($args['content'])){ - $this->content = $args['content']; - } - - if(isset($args['size'])){ - $this->size = explode(' ', str_replace('size-', '', $args['size'])); - } - - if(isset($args['title'])){ - $this->title = $args['title']; - } - - if(isset($args['class'])){ - $this->classes = explode(' ', $args['class']); - } - - if(isset($args['style'])){ - $this->classes = explode(' ', $args['style']); - } - - foreach($args as $name => $arg){ - if(!in_array($name, $allowedArgs) && substr($name, 0, 2) !== 'on'){ - $this->attributes[$name] = $arg; - } - } - } - - private function getSizeArgs(array &$element){ - if(!empty($this->size)){ - $sizeAttr = []; - foreach($this->size as $size){ - $sizeAttr[] = 'size-' . $size; - } - $element['class'] = array_merge($element['class'], $sizeAttr); - } - } - - private function getTitleArgs(array &$element){ - if($this->title){ - $element['data-group-title'] = $this->title; - } - } - - public function getHtml(){ - $element = array_merge($this->attributes, [ - 'class' => array_merge($this->classes, ['tiles-grid', 'tiles-group']), - 'style' => $this->styles, - ]); - - $this->getSizeArgs($element); - $this->getTitleArgs($element); - - if(!empty($element['class'])){ - $element['class'] = implode(' ', $element['class']); - } else { - unset($element['class']); - } - if(!empty($element['style'])){ - $element['style'] = implode('; ', $element['style']) . ';'; - } else { - unset($element['style']); - } - return Html::rawElement('div', $element, $this->content); - } +parseArgs($args); + } + + public static function create(string $text, array $args, \Parser $parser, \PPFrame $frame){ + $content = $parser->recursiveTagParse($text, $frame); + + $args['content'] = $content; + + $tileGroup = new TileGroupWidget($args); + return [$tileGroup->getHtml(), "markerType" => 'nowiki']; + } + + private function parseArgs($args){ + $allowedArgs = ['content', 'size', 'title', 'class', 'style']; + + if(isset($args['content'])){ + $this->content = $args['content']; + } + + if(isset($args['size'])){ + $this->size = explode(' ', str_replace('size-', '', $args['size'])); + } + + if(isset($args['title'])){ + $this->title = $args['title']; + } + + if(isset($args['class'])){ + $this->classes = explode(' ', $args['class']); + } + + if(isset($args['style'])){ + $this->classes = explode(' ', $args['style']); + } + + foreach($args as $name => $arg){ + if(!in_array($name, $allowedArgs) && substr($name, 0, 2) !== 'on'){ + $this->attributes[$name] = $arg; + } + } + } + + private function getSizeArgs(array &$element){ + if(!empty($this->size)){ + $sizeAttr = []; + foreach($this->size as $size){ + $sizeAttr[] = 'size-' . $size; + } + $element['class'] = array_merge($element['class'], $sizeAttr); + } + } + + private function getTitleArgs(array &$element){ + if($this->title){ + $element['data-group-title'] = $this->title; + } + } + + public function getHtml(){ + $element = array_merge($this->attributes, [ + 'class' => array_merge($this->classes, ['tiles-grid', 'tiles-group']), + 'style' => $this->styles, + ]); + + $this->getSizeArgs($element); + $this->getTitleArgs($element); + + if(!empty($element['class'])){ + $element['class'] = implode(' ', $element['class']); + } else { + unset($element['class']); + } + if(!empty($element['style'])){ + $element['style'] = implode('; ', $element['style']) . ';'; + } else { + unset($element['style']); + } + return Html::rawElement('div', $element, $this->content); + } } \ No newline at end of file diff --git a/includes/TileWidget.php b/includes/TileWidget.php index 32a0c67..95fbb7f 100644 --- a/includes/TileWidget.php +++ b/includes/TileWidget.php @@ -1,216 +1,217 @@ -content = $content; - $this->parseArgs($args); - } - - public static function create(string $text, array $args, \Parser $parser, \PPFrame $frame){ - $parser->getOutput()->addModules('ext.isekai.tile'); - - $content = ''; - if ($text) { - $content = $frame->expand($text); - - $title = preg_replace('/\[\[.*?\]\]/', '', $content); - $title = preg_replace('/]+>/', '', $title); - $title = strip_tags(trim($title)); - $args['title'] = $title; - } - - $tile = new TileWidget($args, $content); - return [$tile->toHtml(), 'markerType' => 'nowiki']; - } - - private function parseArgs($args){ - $allowedArgs = ['size', 'icon', 'title', 'cover', 'badge', 'color', 'href', 'grid']; - - foreach($args as $name => $arg){ - if(in_array($name, $allowedArgs)){ - $this->$name = $arg; - } elseif(substr($name, 0, 2) !== 'on'){ - $this->attributes[$name] = $arg; - } - } - } - - private function getSizeArgs(array &$element, array &$content){ - $element['data-size'] = $this->size; - $element['class'][] = 'tile-' . $this->size; - } - - private function getColorArgs(array &$element, array &$content){ - if($this->color){ - if(substr($this->color, 0, 1) == '#' || substr($this->color, 0, 3) == 'rgb'){ - $element['style'][] = 'background-color: ' . $this->color; - } else { - $color = str_replace($this->color, 'bg-', ''); - $element['class'][] = 'bg-' . $color; - } - } - } - - private function getTitleArgs(array &$element, array &$content){ - if(!empty($this->title)){ - $content[] = Html::element('span', [ - 'class' => ['branding-bar'], - ], $this->title); - $element['data-title'] = $this->title; - } - } - - private function getCoverArgs(array &$element, array &$content){ - $element['data-cover'] = $this->cover; - } - - private function getHrefArgs(array &$element, array &$content){ - if(substr($this->href, 0, 2) == '[[' && substr($this->href, -2, 2) == ']]'){ //内部链接 - $titleText = substr($this->href, 2, strlen($this->href) - 4); - $title = Title::newFromText($titleText); - $href = $title->getLocalURL(); - } else { - $href = $this->href; - } - $element['href'] = $href; - } - - private function getIconArgs(array &$element, array &$content){ - if($this->icon){ - if(is_string($this->icon)){ - if(preg_match('/\.[a-zA-Z0-9]{3,4}$/', $this->icon)){ - //图片图标 - $iconSrc = $this->icon; - $type = 'image'; - } else { - $iconSrc = explode(' ', $this->icon); - $type = 'class'; - } - } else { - $type = 'class'; - $iconSrc = $this->icon; - } - - if($type == 'class'){ - $content[] = Html::element('span', [ - 'class' => array_merge($iconSrc, ['icon']), - ]); - } elseif($type == 'image'){ - $content[] = Html::element('img', [ - 'src' => $iconSrc, - 'class' => ['icon'], - ]); - } - } - } - - private function getBadgeArgs(array &$element, array &$content){ - if($this->badge){ - $content[] = Html::element('span', [ - 'class' => ['badge-bottom'], - ], strval($this->badge)); - } - } - - private function getImagesArgs(array &$element, array &$content){ - /*$service = MediaWikiServices::getInstance(); - $this->images = []; - // 提取wikitext图片 - preg_match_all('/\[\[(?.+?:.+?)(\|.*?)?\]\]/', $this->content, $matches); - if (isset($matches['title']) && !empty($matches['title'])) { - foreach ($matches['title'] as $titleText) { - $title = Title::newFromText($titleText); - if ($title->inNamespace(NS_FILE)) { - $file = $service->getRepoGroup()->findFile($title); - $thumb = $file->getUrl(); - $this->images[] = $thumb; - } - } - } - - // 提取html图片 - preg_match_all('/<img .*?src="(?<src>.*?)".*?srcset="(?<srcset>.*?)"[^\>]+>/', $this->content, $matches); - if (isset($matches['src']) && !empty($matches['src'])) { - $this->images = array_merge($this->images, $matches['src']); - }*/ - - if(!empty($this->images)){ - $element['data-effect'] = 'image-set'; - foreach($this->images as $image){ - $content[] = Html::element('img', [ - 'src' => $image, - ]); - } - } - } - - private function getGridArgs(array &$element, array &$content){ - if($this->grid){ - $grid = explode(' ', $this->grid); - $element['class'][] = 'col-' . $grid[0]; - if(count($grid) > 1){ - $element['class'][] = 'row-' . $grid[1]; - } - } - } - - public function toHtml(){ - $element = array_merge($this->attributes, [ - 'data-role' => 'tile', - ]); - $content = []; - - if(isset($element['class'])){ - $element['class'] = explode(' ', $element['class']); - } else { - $element['class'] = []; - } - if(isset($element['style'])){ - $element['style'] = explode(' ', $element['style']); - } else { - $element['style'] = []; - } - - $this->getSizeArgs($element, $content); - $this->getColorArgs($element, $content); - $this->getIconArgs($element, $content); - $this->getTitleArgs($element, $content); - $this->getCoverArgs($element, $content); - $this->getHrefArgs($element, $content); - $this->getBadgeArgs($element, $content); - $this->getImagesArgs($element, $content); - $this->getGridArgs($element, $content); - - $content = implode('', $content); - - if(!empty($element['class'])){ - $element['class'] = implode(' ', $element['class']); - } else { - unset($element['class']); - } - if(!empty($element['style'])){ - $element['style'] = implode('; ', $element['style']) . ';'; - } else { - unset($element['style']); - } - - return Html::rawElement('a', $element, $content); - } +<?php +namespace Isekai\Widgets; + +use Html; +use MediaWiki\MediaWikiServices; +use Title; + +class TileWidget { + private $size = 'medium'; + private $icon = false; + private $title = ''; + private $href = ''; + private $badge = false; + private $color = false; + private $cover = false; + private $images = []; + private $grid = false; + + private $attributes = []; + + public function __construct($args, $content){ + $this->content = $content; + $this->parseArgs($args); + } + + public static function create(string $text, array $args, \Parser $parser, \PPFrame $frame){ + $parser->getOutput()->addModules('ext.isekai.tile'); + + $content = ''; + if ($text) { + $content = $frame->expand($text); + + $title = preg_replace('/\[\[.*?\]\]/', '', $content); + $title = preg_replace('/<img .*?src="(?<src>.*?)".*?srcset="(?<srcset>.*?)"[^\>]+>/', '', $title); + $title = strip_tags(trim($title)); + $args['title'] = $title; + } + + $tile = new TileWidget($args, $content); + return [$tile->toHtml(), 'markerType' => 'nowiki']; + } + + private function parseArgs($args){ + $allowedArgs = ['size', 'icon', 'title', 'cover', 'badge', 'color', 'href', 'grid']; + + foreach($args as $name => $arg){ + if(in_array($name, $allowedArgs)){ + $this->$name = $arg; + } elseif(substr($name, 0, 2) !== 'on'){ + $this->attributes[$name] = $arg; + } + } + } + + private function getSizeArgs(array &$element, array &$content){ + $element['data-size'] = $this->size; + $element['class'][] = 'tile-' . $this->size; + } + + private function getColorArgs(array &$element, array &$content){ + if($this->color){ + if(substr($this->color, 0, 1) == '#' || substr($this->color, 0, 3) == 'rgb'){ + $element['style'][] = 'background-color: ' . $this->color; + } else { + $color = str_replace($this->color, 'bg-', ''); + $element['class'][] = 'bg-' . $color; + } + } + } + + private function getTitleArgs(array &$element, array &$content){ + if(!empty($this->title)){ + $content[] = Html::element('span', [ + 'class' => ['branding-bar'], + ], $this->title); + $element['data-title'] = $this->title; + } + } + + private function getCoverArgs(array &$element, array &$content){ + $element['data-cover'] = $this->cover; + } + + private function getHrefArgs(array &$element, array &$content){ + if(substr($this->href, 0, 2) == '[[' && substr($this->href, -2, 2) == ']]'){ //内部链接 + $titleText = substr($this->href, 2, strlen($this->href) - 4); + $title = Title::newFromText($titleText); + $href = $title->getLocalURL(); + } else { + $href = $this->href; + } + $element['href'] = $href; + } + + private function getIconArgs(array &$element, array &$content){ + if($this->icon){ + if(is_string($this->icon)){ + if(preg_match('/\.[a-zA-Z0-9]{3,4}$/', $this->icon)){ + //图片图标 + $iconSrc = $this->icon; + $type = 'image'; + } else { + $iconSrc = explode(' ', $this->icon); + $type = 'class'; + } + } else { + $type = 'class'; + $iconSrc = $this->icon; + } + + if($type == 'class'){ + $content[] = Html::element('span', [ + 'class' => array_merge($iconSrc, ['icon']), + ]); + } elseif($type == 'image'){ + $content[] = Html::element('img', [ + 'src' => $iconSrc, + 'class' => ['icon'], + ]); + } + } + } + + private function getBadgeArgs(array &$element, array &$content){ + if($this->badge){ + $content[] = Html::element('span', [ + 'class' => ['badge-bottom'], + ], strval($this->badge)); + } + } + + private function getImagesArgs(array &$element, array &$content){ + $service = MediaWikiServices::getInstance(); + $this->images = []; + // 提取wikitext图片 + preg_match_all('/\[\[(?<title>.+?:.+?)(\|.*?)?\]\]/', $this->content, $matches); + if (isset($matches['title']) && !empty($matches['title'])) { + foreach ($matches['title'] as $titleText) { + $title = Title::newFromText($titleText); + if ($title->inNamespace(NS_FILE)) { + $file = $service->getRepoGroup()->findFile($title); + $thumb = $file->getUrl(); + $this->images[] = $thumb; + } + } + } + + // 提取html图片 + preg_match_all('/<img .*?src="(?<src>.*?)".*?srcset="(?<srcset>.*?)"[^\>]+>/', $this->content, $matches); + if (isset($matches['src']) && !empty($matches['src'])) { + $this->images = array_merge($this->images, $matches['src']); + } + + if(!empty($this->images)){ + $element['data-effect'] = 'image-set'; + foreach($this->images as $image){ + $content[] = Html::element('img', [ + 'src' => $image, + 'style' => 'display: none' + ]); + } + } + } + + private function getGridArgs(array &$element, array &$content){ + if($this->grid){ + $grid = explode(' ', $this->grid); + $element['class'][] = 'col-' . $grid[0]; + if(count($grid) > 1){ + $element['class'][] = 'row-' . $grid[1]; + } + } + } + + public function toHtml(){ + $element = array_merge($this->attributes, [ + 'data-role' => 'tile', + ]); + $content = []; + + if(isset($element['class'])){ + $element['class'] = explode(' ', $element['class']); + } else { + $element['class'] = []; + } + if(isset($element['style'])){ + $element['style'] = explode(' ', $element['style']); + } else { + $element['style'] = []; + } + + $this->getSizeArgs($element, $content); + $this->getColorArgs($element, $content); + $this->getIconArgs($element, $content); + $this->getTitleArgs($element, $content); + $this->getCoverArgs($element, $content); + $this->getHrefArgs($element, $content); + $this->getBadgeArgs($element, $content); + $this->getImagesArgs($element, $content); + $this->getGridArgs($element, $content); + + $content = implode('', $content); + + if(!empty($element['class'])){ + $element['class'] = implode(' ', $element['class']); + } else { + unset($element['class']); + } + if(!empty($element['style'])){ + $element['style'] = implode('; ', $element['style']) . ';'; + } else { + unset($element['style']); + } + + return Html::rawElement('a', $element, $content); + } } \ No newline at end of file diff --git a/includes/Utils.php b/includes/Utils.php index d18d572..2ef555f 100644 --- a/includes/Utils.php +++ b/includes/Utils.php @@ -1,8 +1,35 @@ -<?php -namespace Isekai\Widgets; - -class Utils { - public static function safeBase64Encode($input) { - return str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($input)); - } +<?php +namespace Isekai\Widgets; + +class Utils { + public static function safeBase64Encode($input) { + return str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($input)); + } + + public static function makeParagraph($text, $hasUniq = false) { + $text = str_replace("\r\n", "\n", $text); + if (strpos($text, "\n\n") === false) { + return $text; + } + $prepend = ""; + $append = ""; + if ($hasUniq) { + $splitPoint = strpos($text, "\n", 1) + 1; + $prepend = substr($text, 0, $splitPoint); + $text = substr($text, $splitPoint); + } + preg_match("/(\<\/div[^\>]*?\>|\n)+$/", $text, $matches); + if (count($matches) > 0) { + $append = $matches[0]; + $text = substr($text, 0, -1 * strlen($append)); + $tagNum = substr_count($append, '</div'); + preg_match('/^(\<div[^\>]*?\>){' . $tagNum . '}/', $text, $matches); + if (count($matches) > 0) { + $prepend .= $matches[0]; + $text = substr($text, strlen($matches[0])); + } + } + $lines = explode("\n\n", $text); + return $prepend . "<p>" . implode("</p>\n<p>", $lines) . "</p>" . $append; + } } \ No newline at end of file diff --git a/includes/Widgets.php b/includes/Widgets.php index 84bc1df..f12967e 100644 --- a/includes/Widgets.php +++ b/includes/Widgets.php @@ -1,21 +1,35 @@ -<?php -namespace Isekai\Widgets; - -use MapCacheLRU; - -class Widgets { - public static function onParserSetup(&$parser){ - $parser->extIsekaiWidgetsCache = new MapCacheLRU( 100 ); // 100 is arbitrary - - $parser->setHook('createpage', CreatePageWidget::class . '::create'); - $parser->setHook('discoverbox', DiscoverWidget::class . '::create'); - $parser->setHook('previewcard', PreviewCardWidget::class . '::create'); - - $parser->setHook('tile', TileWidget::class . '::create'); - $parser->setHook('tilegroup', TileGroupWidget::class . '::create'); - - $parser->setHook('fontface', FontFaceWidget::class . '::create'); - $parser->setHook('exfont', ExtraFontWidget::class . '::create'); - return true; - } +<?php +namespace Isekai\Widgets; + +use MapCacheLRU; +use Parser; + +class Widgets { + /** + * @param \Parser $parser + */ + public static function onParserSetup(&$parser){ + $parser->extIsekaiWidgetsCache = new MapCacheLRU( 100 ); // 100 is arbitrary + + $parser->setHook('createpage', [CreatePageWidget::class, 'create']); + $parser->setHook('discoverbox', [DiscoverWidget::class, 'create']); + $parser->setHook('feedlist', [FeedListWidget::class, 'create']); + $parser->setHook('previewcard', [PreviewCardWidget::class, 'create']); + + $parser->setHook('tile', [TileWidget::class, 'create']); + $parser->setHook('tilegroup', [TileGroupWidget::class, 'create']); + + $parser->setHook('fontface', [FontFaceWidget::class, 'create']); + $parser->setHook('exfont', [ExtraFontWidget::class, 'create']); + + $parser->setHook('details', [Html5Widget::class, 'createDetails']); + $parser->setHook('summary', [Html5Widget::class, 'createSummary']); + + return true; + } + + public static function onLoad(\OutputPage $outputPage) { + $outputPage->addModuleStyles("ext.isekai.widgets.global"); + $outputPage->addModuleStyles("ext.isekai.collapse"); + } } \ No newline at end of file diff --git a/modules/createPage/ext.isekai.createPage.base.js b/modules/createPage/ext.isekai.createPage.base.js index f6e497a..dd36c54 100644 --- a/modules/createPage/ext.isekai.createPage.base.js +++ b/modules/createPage/ext.isekai.createPage.base.js @@ -1,8 +1,8 @@ -$(function(){ - if($('.isekai-create-page').length > 0){ - var CreatePageWidget = isekai.ui.CreatePageWidget; - $('.isekai-create-page').each(function(){ - new CreatePageWidget($(this)); - }); - } +$(function(){ + if($('.isekai-create-page').length > 0){ + var CreatePageWidget = isekai.ui.CreatePageWidget; + $('.isekai-create-page').each(function(){ + new CreatePageWidget($(this)); + }); + } }); \ No newline at end of file diff --git a/modules/createPage/ext.isekai.createPage.base.less b/modules/createPage/ext.isekai.createPage.base.less index cfe5705..bee10f7 100644 --- a/modules/createPage/ext.isekai.createPage.base.less +++ b/modules/createPage/ext.isekai.createPage.base.less @@ -1,67 +1,67 @@ -@height: 2.25em; -@text-size: 0.95em; - -.isekai-create-page { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0,0,0,.125); - border-radius: .25rem; - - .card-header { - padding: .75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0,0,0,.03); - border-bottom: 1px solid rgba(0,0,0,.125); - display: flex; - align-items: center; - - &:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; - } - - .card-header-text { - font-size: 1.25em; - } - - @media(max-width: 360px){ - .card-header-text { - font-size: 1em; - } - } - } - - .card-title { - margin: 1em 0 0.75em 1em; - } - - .card-body { - flex: 1 1 auto; - padding: 0.25em; - font-size: 1.25em; - - .card-content { - overflow-y: auto; - padding: 1em 0.5em; - margin: 0 0.4em; - min-height: @height; - font-size: @text-size; - - .oo-ui-fieldLayout-header { - display: none; - } - - .oo-ui-fieldLayout-messages { - margin: 0.5em 0 0 0.5em; - } - - .oo-ui-actionFieldLayout.oo-ui-fieldLayout-align-top { - max-width: none; - } - } - } +@height: 2.25em; +@text-size: 0.95em; + +.isekai-create-page { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; + + .card-header { + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0,0,0,.03); + border-bottom: 1px solid rgba(0,0,0,.125); + display: flex; + align-items: center; + + &:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; + } + + .card-header-text { + font-size: 1.25em; + } + + @media(max-width: 360px){ + .card-header-text { + font-size: 1em; + } + } + } + + .card-title { + margin: 1em 0 0.75em 1em; + } + + .card-body { + flex: 1 1 auto; + padding: 0.25em; + font-size: 1.25em; + + .card-content { + overflow-y: auto; + padding: 1em 0.5em; + margin: 0 0.4em; + min-height: @height; + font-size: @text-size; + + .oo-ui-fieldLayout-header { + display: none; + } + + .oo-ui-fieldLayout-messages { + margin: 0.5em 0 0 0.5em; + } + + .oo-ui-actionFieldLayout.oo-ui-fieldLayout-align-top { + max-width: none; + } + } + } } \ No newline at end of file diff --git a/modules/createPage/ext.isekai.createPage.tpl b/modules/createPage/ext.isekai.createPage.tpl index 5ae3a8b..21a90e6 100644 --- a/modules/createPage/ext.isekai.createPage.tpl +++ b/modules/createPage/ext.isekai.createPage.tpl @@ -1,10 +1,10 @@ -<div class="isekai-create-page"> - <div class="card-header"> - <span class="card-header-text"><?php echo wfMessage('isekai-createpage-create-page')->parse(); ?></span> - </div> - <div class="card-body"> - <div class="card-content"> - - </div> - </div> +<div class="isekai-create-page"> + <div class="card-header"> + <span class="card-header-text"><?php echo wfMessage('isekai-createpage-create-page')->parse(); ?></span> + </div> + <div class="card-body"> + <div class="card-content"> + + </div> + </div> </div> \ No newline at end of file diff --git a/modules/discover/ext.isekai.discover.base.js b/modules/discover/ext.isekai.discover.base.js index 20c7099..8d77933 100644 --- a/modules/discover/ext.isekai.discover.base.js +++ b/modules/discover/ext.isekai.discover.base.js @@ -1,8 +1,8 @@ -$(function(){ - if($('.isekai-discover').length > 0){ - var DiscoverWidget = isekai.ui.DiscoverWidget; - $('.isekai-discover').each(function(){ - new DiscoverWidget($(this)); - }); - } +$(function(){ + if($('.isekai-discover').length > 0){ + var DiscoverWidget = isekai.ui.DiscoverWidget; + $('.isekai-discover').each(function(){ + new DiscoverWidget($(this)); + }); + } }); \ No newline at end of file diff --git a/modules/discover/ext.isekai.discover.base.less b/modules/discover/ext.isekai.discover.base.less index 357bfbb..3d1708e 100644 --- a/modules/discover/ext.isekai.discover.base.less +++ b/modules/discover/ext.isekai.discover.base.less @@ -1,146 +1,147 @@ -@height: 20em; -@text-size: 0.85em; - -.discover-card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0,0,0,.125); - border-radius: .25rem; - - .card-header { - padding: .75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0,0,0,.03); - border-bottom: 1px solid rgba(0,0,0,.125); - display: flex; - align-items: center; - - &:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; - } - - .card-header-text { - font-size: 1.25em; - } - - .card-header-buttons { - margin-left: auto; - } - } - - .card-title { - margin: 1em 0 0.75em 1em; - } - - .card-body { - flex: 1 1 auto; - padding: 0.25em; - font-size: 1.25em; - - .loading { - width: 100%; - height: @height; - font-size: @text-size; - margin-top: 1px; - display: flex; - - .spinner { - margin: auto; - padding: 2em; - width: 100%; - } - } - - .card-content { - height: @height; - overflow-y: auto; - border-top: 1px solid #ccc; - padding: 0 0.6em; - margin: 0 0.4em; - font-size: @text-size; - } - } - - &.discover-card-zh { - .card-header { - @media(max-width: 410px){ - .card-header-buttons { - font-size: 0.9em; - } - } - - @media(max-width: 380px){ - .card-header-buttons { - font-size: 0.8em; - } - } - - @media(max-width: 360px){ - .card-header-text { - font-size: 1em; - } - } - - @media(max-width: 350px){ - .card-header-text { - font-size: 1.25em; - } - - .card-header-buttons { - margin-left: 0; - margin-top: 0.8em; - font-size: 1em; - } - - & { - flex-direction: column; - } - } - } - } - - &.discover-card-en { - .card-header { - @media(max-width: 500px){ - .card-header-text { - font-size: 1em; - } - - .card-header-buttons { - font-size: 0.8em; - } - } - - @media(max-width: 430px){ - .card-header-text { - font-size: 1.25em; - } - - .card-header-buttons { - margin-left: 0; - margin-top: 0.8em; - font-size: 1em; - } - - & { - flex-direction: column; - } - } - - @media(max-width: 350px){ - .card-header-text { - font-size: 1em; - } - - .card-header-buttons { - font-size: 0.8em; - } - } - } - } +@height: 20rem; +@text-size: 0.85rem; + +.discover-card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; + + .card-header { + height: 2.25rem; + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0,0,0,.03); + border-bottom: 1px solid rgba(0,0,0,.125); + display: flex; + align-items: center; + + &:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; + } + + .card-header-text { + font-size: 1.25rem; + } + + .card-header-buttons { + margin-left: auto; + } + } + + .card-title { + margin: 1rem 0 0.75rem 1rem; + } + + .card-body { + flex: 1 1 auto; + padding: 0.25rem; + font-size: 1.25rem; + + .loading { + width: 100%; + height: @height; + font-size: @text-size; + margin-top: 1px; + display: flex; + + .spinner { + margin: auto; + padding: 2rem; + width: 100%; + } + } + + .card-content { + height: @height; + overflow-y: auto; + border-top: 1px solid #ccc; + padding: 0 0.6rem; + margin: 0 0.4rem; + font-size: @text-size; + } + } + + &.discover-card-zh { + .card-header { + @media(max-width: 410px){ + .card-header-buttons { + font-size: 0.9rem; + } + } + + @media(max-width: 380px){ + .card-header-buttons { + font-size: 0.8rem; + } + } + + @media(max-width: 360px){ + .card-header-text { + font-size: 1rem; + } + } + + @media(max-width: 350px){ + .card-header-text { + font-size: 1.25rem; + } + + .card-header-buttons { + margin-left: 0; + margin-top: 0.8rem; + font-size: 1rem; + } + + & { + flex-direction: column; + } + } + } + } + + &.discover-card-en { + .card-header { + @media(max-width: 500px){ + .card-header-text { + font-size: 1rem; + } + + .card-header-buttons { + font-size: 0.8rem; + } + } + + @media(max-width: 430px){ + .card-header-text { + font-size: 1.25rem; + } + + .card-header-buttons { + margin-left: 0; + margin-top: 0.8rem; + font-size: 1rem; + } + + & { + flex-direction: column; + } + } + + @media(max-width: 350px){ + .card-header-text { + font-size: 1rem; + } + + .card-header-buttons { + font-size: 0.8rem; + } + } + } + } } \ No newline at end of file diff --git a/modules/discover/ext.isekai.discover.otherLanguage.less b/modules/discover/ext.isekai.discover.otherLanguage.less index 9bdbaf7..213f336 100644 --- a/modules/discover/ext.isekai.discover.otherLanguage.less +++ b/modules/discover/ext.isekai.discover.otherLanguage.less @@ -1,104 +1,104 @@ -@height: 20em; -@text-size: 0.85em; - -.discover-card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0,0,0,.125); - border-radius: .25rem; - - .card-header { - padding: .75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0,0,0,.03); - border-bottom: 1px solid rgba(0,0,0,.125); - display: flex; - align-items: center; - - &:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; - } - - .card-header-text { - font-size: 1.25em; - } - - .card-header-buttons { - margin-left: auto; - } - - @media(max-width: 500px){ - .card-header-text { - font-size: 1em; - } - - .card-header-buttons { - font-size: 0.8em; - } - } - - @media(max-width: 430px){ - .card-header-text { - font-size: 1.25em; - } - - .card-header-buttons { - margin-left: 0; - margin-top: 0.8em; - font-size: 1em; - } - - & { - flex-direction: column; - } - } - - @media(max-width: 350px){ - .card-header-text { - font-size: 1em; - } - - .card-header-buttons { - font-size: 0.8em; - } - } - } - - .card-title { - margin: 1em 0 0.75em 1em; - } - - .card-body { - flex: 1 1 auto; - padding: 0.25em; - font-size: 1.25em; - - .loading { - width: 100%; - height: @height; - font-size: @text-size; - margin-top: 1px; - display: flex; - - .spinner { - margin: auto; - padding: 2em; - width: 100%; - } - } - - .card-content { - height: @height; - overflow-y: auto; - border-top: 1px solid #ccc; - padding: 0 0.6em; - margin: 0 0.4em; - font-size: @text-size; - } - } +@height: 20em; +@text-size: 0.85em; + +.discover-card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; + + .card-header { + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0,0,0,.03); + border-bottom: 1px solid rgba(0,0,0,.125); + display: flex; + align-items: center; + + &:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; + } + + .card-header-text { + font-size: 1.25em; + } + + .card-header-buttons { + margin-left: auto; + } + + @media(max-width: 500px){ + .card-header-text { + font-size: 1em; + } + + .card-header-buttons { + font-size: 0.8em; + } + } + + @media(max-width: 430px){ + .card-header-text { + font-size: 1.25em; + } + + .card-header-buttons { + margin-left: 0; + margin-top: 0.8em; + font-size: 1em; + } + + & { + flex-direction: column; + } + } + + @media(max-width: 350px){ + .card-header-text { + font-size: 1em; + } + + .card-header-buttons { + font-size: 0.8em; + } + } + } + + .card-title { + margin: 1em 0 0.75em 1em; + } + + .card-body { + flex: 1 1 auto; + padding: 0.25em; + font-size: 1.25em; + + .loading { + width: 100%; + height: @height; + font-size: @text-size; + margin-top: 1px; + display: flex; + + .spinner { + margin: auto; + padding: 2em; + width: 100%; + } + } + + .card-content { + height: @height; + overflow-y: auto; + border-top: 1px solid #ccc; + padding: 0 0.6em; + margin: 0 0.4em; + font-size: @text-size; + } + } } \ No newline at end of file diff --git a/modules/discover/ext.isekai.discover.tpl b/modules/discover/ext.isekai.discover.tpl index 60fcd9b..147cc32 100644 --- a/modules/discover/ext.isekai.discover.tpl +++ b/modules/discover/ext.isekai.discover.tpl @@ -1,13 +1,13 @@ -<div class="isekai-discover discover-card discover-card-<?php echo wfMessage('isekai-discover-langcode')->parse(); ?>"> - <div class="card-header"> - <span class="card-header-text" data-msg="isekai-discover-randompage"><?php echo wfMessage('isekai-discover-randompage')->parse(); ?></span> - <span class="card-header-buttons"></span> - </div> - <div class="card-body"> - <div class="card-title" data-msg="isekai-discover-loading"><?php echo wfMessage('isekai-discover-loading')->parse(); ?></div> - <div class="loading"> - <div class="spinner"></div> - </div> - <div class="card-content" style="display: none;"></div> - </div> +<div class="isekai-discover discover-card discover-card-<?=wfMessage('isekai-discover-langcode')->parse()?>"> + <div class="card-header"> + <span class="card-header-text" data-msg="isekai-discover-randompage"><?=wfMessage('isekai-discover-randompage')->parse()?></span> + <span class="card-header-buttons"></span> + </div> + <div class="card-body"> + <div class="card-title" data-msg="isekai-discover-loading"><?=wfMessage('isekai-discover-loading')->parse()?></div> + <div class="loading"> + <div class="spinner"></div> + </div> + <div class="card-content" style="display: none;"></div> + </div> </div> \ No newline at end of file diff --git a/modules/ext.isekai.alert.less b/modules/ext.isekai.alert.less deleted file mode 100644 index e69de29..0000000 diff --git a/modules/ext.isekai.collapse.js b/modules/ext.isekai.collapse.js new file mode 100644 index 0000000..2ecd15f --- /dev/null +++ b/modules/ext.isekai.collapse.js @@ -0,0 +1,33 @@ +(function($) { + $('.isekai-collapse').addClass('animate') + $('.isekai-collapse .isekai-collapse-title').on('click', '', function(e) { + e.preventDefault(); + var titleElem = $(this); + var containerElem = titleElem.parent('.isekai-collapse'); + var contentElem = containerElem.find('.isekai-collapse-content'); + if (containerElem.prop('open')) { // 需要收起 + var collapsedHeight = titleElem.outerHeight(); + var expandedHeight = collapsedHeight + contentElem.outerHeight(); + containerElem.css('height', expandedHeight); + console.log('expandedHeight', expandedHeight); + requestAnimationFrame(function() { + console.log('collapsedHeight', collapsedHeight); + containerElem.addClass('closing').css('height', collapsedHeight); + setTimeout(function() { + containerElem.prop('open', false).removeClass('closing'); //.css('height', 'auto'); + }, 260); + }); + } else { // 需要展开 + containerElem.prop('open', true); + var collapsedHeight = titleElem.outerHeight(); + containerElem.css('height', collapsedHeight); + requestAnimationFrame(function() { + var expandedHeight = collapsedHeight + contentElem.outerHeight(); + containerElem.css('height', expandedHeight); + /*setTimeout(function() { + containerElem.css('height', 'auto'); + }, 260);*/ + }); + } + }); +})(jQuery); diff --git a/modules/ext.isekai.collapse.less b/modules/ext.isekai.collapse.less new file mode 100644 index 0000000..e303396 --- /dev/null +++ b/modules/ext.isekai.collapse.less @@ -0,0 +1,64 @@ +.isekai-collapse { + width: 50%; + background: #fff; + margin-bottom: .5rem; + box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); + border-radius: 5px; + overflow: hidden; + + @media screen and (max-width: 767px) { + width: 100%; + } + + &.animate { + overflow-y: hidden; + will-change: height; + transition: height 250ms ease-in-out; + } + + .isekai-collapse-title { + padding: 1rem; + display: block; + background-color: #f7f7f7; + padding-left: 2.2rem; + position: relative; + cursor: pointer; + color: black; + font-size: 1rem; + + &::before { + content: ''; + border-width: 0.4rem; + border-style: solid; + border-color: transparent transparent transparent #000; + position: absolute; + top: 1.32rem; + left: 1.2rem; + transform: rotate(0); + transform-origin: 0.2rem 50%; + will-change: transform; + transition: transform 250ms ease; + } + + &::-webkit-details-marker { + transform: rotate(90deg); + } + } + + .isekai-collapse-content { + padding: 1em; + } + + &[open] > .isekai-collapse-title:before { + transform: rotate(90deg); + } + + &.closing[open] > .isekai-collapse-title:before { + transform: rotate(0); + } +} + +.isekai-indent > .isekai-collapse { + padding-left: 0; + margin-left: 8px; +} \ No newline at end of file diff --git a/modules/ext.isekai.grid.less b/modules/ext.isekai.grid.less index f962049..a104131 100644 --- a/modules/ext.isekai.grid.less +++ b/modules/ext.isekai.grid.less @@ -1,18 +1,18 @@ -.isekai-row { - display: flex; - - .isekai-col { - width: 100%; - - @media(min-width: 851px){ - & { - width: 50%; - margin-left: 1em; - - &:first-child { - margin-left: 0px; - } - } - } - } +.isekai-row { + display: flex; + + .isekai-col { + width: 100%; + + @media(min-width: 851px){ + & { + width: 50%; + margin-left: 1em; + + &:first-child { + margin-left: 0px; + } + } + } + } } \ No newline at end of file diff --git a/modules/ext.isekai.widgets.global.less b/modules/ext.isekai.widgets.global.less new file mode 100644 index 0000000..e691b82 --- /dev/null +++ b/modules/ext.isekai.widgets.global.less @@ -0,0 +1,52 @@ +.isekai-card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: .25rem; + + .card-header { + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0,0,0,.03); + border-bottom: 1px solid rgba(0,0,0,.125); + display: flex; + align-items: center; + + &:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; + } + + .card-header-text { + font-size: 1.25rem; + } + + .card-header-buttons { + margin-left: auto; + } + } + + .card-title { + margin: 1rem 0 0.75rem 1rem; + } + + .card-body { + flex: 1 1 auto; + padding: 0.25rem; + } + + .card-body-fluid { + flex: 1 1 auto; + padding: 0; + } + + @media(max-width: 360px){ + .card-header-text { + font-size: 1rem; + } + } +} \ No newline at end of file diff --git a/modules/feedList/ext.isekai.feedList.js b/modules/feedList/ext.isekai.feedList.js new file mode 100644 index 0000000..38eca02 --- /dev/null +++ b/modules/feedList/ext.isekai.feedList.js @@ -0,0 +1,122 @@ +const Vue = require("vue"); + +if (document.querySelector('#isekai-feed-list')) { + new Vue({ + el: '#isekai-feed-list', + data: { + mounted: false, + loading: true, + feedList: [] + }, + mounted() { + this.$data.mounted = true; + const api = new mw.Api(); + + let recentData = { + recentNew: null, + recentEdit: null, + }; + const onLoaded = () => { + if (Array.isArray(recentData.recentNew) && Array.isArray(recentData.recentEdit)) { + // 混合两个列表 + let recentList = [ + ...recentData.recentNew, + ...recentData.recentEdit + ]; + recentList.sort((a, b) => b.orderWeight - a.orderWeight); + // 去除重复,获取pageid列表 + let pageIdList = []; + recentList = recentList.filter((item) => { + if (pageIdList.includes(item.pageid)) { + return false; + } else { + pageIdList.push(item.pageid); + return true; + } + }); + + // 获取页面详细信息 + api.get({ + "action": "query", + "prop": "extracts|info", + "pageids": pageIdList.join('|'), + "redirects": 1, + "converttitles": 1, + "exchars": 100, + "exintro": 1, + "explaintext": 1, + "inprop": "url" + }).done((data) => { + if (data.query && data.query.pages) { + const pageInfoList = data.query.pages; + recentList = recentList.map((info) => { + if (info.pageid in pageInfoList) { + const pageInfo = pageInfoList[info.pageid]; + return { + pageid: info.pageid, + title: pageInfo.title, + description: pageInfo.extract, + url: pageInfo.fullurl + } + } else { + return { + pageid: info.pageid, + title: info.title, + description: '', + url: mw.util.getUrl(info.title) + } + } + }); + // 设置data + this.$data.feedList = recentList; + this.$data.loading = false; + } + }); + } + }; + api.get({ + action: 'query', + list: 'recentchanges', + rctype: 'edit', + rcnamespace: 0, + rclimit: 20, + }).done((data) => { + recentData.recentEdit = []; + if (data.query && Array.isArray(data.query.recentchanges)) { //有成功取到数据 + data.query.recentchanges.forEach((one) => { + if (one.timestamp) { + one.timestamp = new Date(one.timestamp).getTime(); + one.orderWeight = one.timestamp; + } else { + one.orderWeight = 0; + } + recentData.recentEdit.push(one); + }); + onLoaded(); + } + }); + + api.get({ + action: 'query', + list: 'recentchanges', + rctype: 'new', + rcnamespace: 0, + rclimit: 20, + }).done((data) => { + recentData.recentNew = []; + if (data.query && Array.isArray(data.query.recentchanges)) { // 成功取到数据 + data.query.recentchanges.forEach((one) => { + if (one.timestamp) { + one.timestamp = new Date(one.timestamp).getTime(); + one.orderWeight = one.timestamp + (86400 * 1000); // 新页面保护,权重比页面更新高7天 + } else { + one.orderWeight = 0; + } + recentData.recentNew.push(one); + }); + onLoaded(); + } + }); + } + }); +} \ No newline at end of file diff --git a/modules/feedList/ext.isekai.feedList.less b/modules/feedList/ext.isekai.feedList.less new file mode 100644 index 0000000..6728fe8 --- /dev/null +++ b/modules/feedList/ext.isekai.feedList.less @@ -0,0 +1,92 @@ +@feed-list-height: 24rem; + +.isekai-feed-list-card > .card-header { + height: 2.25rem; +} + +#isekai-feed-list { + margin: 0; + height: @feed-list-height; + overflow-y: auto; + display: none; + + &.mounted { + display: block; + } + + .loading { + width: 100%; + height: 99.5%; + height: calc(100% - 2px); // fix: overflow because of border + margin-top: 1px; + display: flex; + + .spinner { + margin: auto; + padding: 2rem; + width: 100%; + } + } +} + +.isekai-list { + margin: 0 !important; + padding: 0 0 0.5rem 0 !important; + list-style: none; + background-color: transparent; + + .isekai-list-item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-height: 3rem; + padding: 0 1rem; + text-decoration: none; + cursor: pointer; + border-bottom: 1px solid rgba(0,0,0,.12); + + &:hover { + background-color: rgba(0,0,0,.08); + } + + &:last-of-type { + border-bottom: none; + } + } + + a { + color: #000; + text-decoration: none; + } + + .isekai-list-item-content { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding-top: 0.875rem; + padding-bottom: 0.875rem; + font-weight: 400; + font-size: 1rem; + line-height: 1.25rem; + } + + .isekai-list-item-title~.isekai-list-item-text { + margin-top: 0.25rem; + } + + .isekai-list-item-text { + font-size: 0.875rem; + opacity: 0.54; + -webkit-line-clamp: 1; + height: 1.25rem; + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + } +} \ No newline at end of file diff --git a/modules/feedList/ext.isekai.feedList.tpl b/modules/feedList/ext.isekai.feedList.tpl new file mode 100644 index 0000000..5c7748e --- /dev/null +++ b/modules/feedList/ext.isekai.feedList.tpl @@ -0,0 +1,24 @@ +<div class="isekai-card isekai-feed-list-card"> + <div class="card-header"> + <span class="card-header-text"><?=wfMessage('isekai-feed-list-title')->parse()?></span> + </div> + <div class="card-body-fluid"> + <div id="isekai-feed-list" :class="{ mounted: 'mounted' }"> + <div v-if="loading" class="loading"> + <div class="spinner"> + <div class="oo-ui-widget oo-ui-widget-enabled oo-ui-progressBarWidget-indeterminate oo-ui-progressBarWidget" aria-disabled="false" role="progressbar" aria-valuemin="0" aria-valuemax="100"> + <div class="oo-ui-progressBarWidget-bar"></div> + </div> + </div> + </div> + <ul v-else class="isekai-list"> + <a class="isekai-list-item" v-for="(feedItem, index) in feedList" :key="index" :href="feedItem.url"> + <div class="isekai-list-item-content"> + <div class="isekai-list-item-title">{{ feedItem.title }}</div> + <div class="isekai-list-item-text">{{ feedItem.description }}</div> + </div> + </a> + </ul> + </div> + </div> +</div> \ No newline at end of file diff --git a/modules/previewCard/ext.isekai.previewCard.js b/modules/previewCard/ext.isekai.previewCard.js index 4711582..e113c20 100644 --- a/modules/previewCard/ext.isekai.previewCard.js +++ b/modules/previewCard/ext.isekai.previewCard.js @@ -1,96 +1,96 @@ -$(function(){ - var cardList = []; - $('.isekai-preview-card').each(function(){ - //点击动画 - var animating = false; - var mouseUp = false; - var cardElem = $(this); - cardElem.on('mousedown', function(){ - cardElem.addClass('mousedown'); - mouseUp = false; - animating = true; - setTimeout(() => { - if(mouseUp){ - cardElem.removeClass('mousedown'); - } - animating = false; - }, 150); - }).on('mouseup', function(){ - if(animating){ - mouseUp = true; - } else { - cardElem.removeClass('mousedown'); - } - }); - //获取页面列表 - var pageTitle = cardElem.attr('data-title'); - if(pageTitle){ - cardList.push({ - title: pageTitle, - element: cardElem, - }); - } - }); - - //加载页面信息 - var titleList = []; - var pageInfoList = {}; - cardList.forEach((item) => { - var title = item.title; - if(titleList.indexOf(title) === -1){ - titleList.push(title); - } - }); - var api = new mw.Api(); - - function setPreviews(pageInfoList){ - cardList.forEach((item) => { - var title = item.title; - var elem = item.element; - //移除加载动画 - elem.find('.loading').remove(); - //查找数据 - if(title in pageInfoList){ - var info = pageInfoList[title]; - if(info.thumbnail){ //有缩略图 - elem.addClass('card-media'); - elem.find('.card-img').attr('src', info.thumbnail.source).show(); - } - - console.log(info); - elem.find('.card-content').text(info.extract); - } else { - elem.find('.card-content').text('页面不存在'); - } - }); - } - - api.get({ - action: 'query', - prop: ['info', 'extracts', 'pageimages', 'revisions', 'info'], - formatversion: 2, - redirects: true, - exintro: true, - exchars: 150, - explaintext: true, - piprop: 'thumbnail', - pithumbsize: 640, - pilicense: 'any', - rvprop: 'timestamp', - inprop: 'url', - titles: titleList, - smaxage: 300, - maxage: 300, - uselang: 'content', - }).done((data) => { - if(data.query && data.query.pages && data.query.pages.length > 0){ - let pages = data.query.pages; - pages.forEach((page) => { - if(!page.missing){ - pageInfoList[page.title] = page; - } - }); - setPreviews(pageInfoList); - } - }); +$(function(){ + var cardList = []; + $('.isekai-preview-card').each(function(){ + //点击动画 + var animating = false; + var mouseUp = false; + var cardElem = $(this); + cardElem.on('mousedown', function(){ + cardElem.addClass('mousedown'); + mouseUp = false; + animating = true; + setTimeout(() => { + if(mouseUp){ + cardElem.removeClass('mousedown'); + } + animating = false; + }, 150); + }).on('mouseup', function(){ + if(animating){ + mouseUp = true; + } else { + cardElem.removeClass('mousedown'); + } + }); + //获取页面列表 + var pageTitle = cardElem.attr('data-title'); + if(pageTitle){ + cardList.push({ + title: pageTitle, + element: cardElem, + }); + } + }); + + //加载页面信息 + var titleList = []; + var pageInfoList = {}; + cardList.forEach((item) => { + var title = item.title; + if(titleList.indexOf(title) === -1){ + titleList.push(title); + } + }); + var api = new mw.Api(); + + function setPreviews(pageInfoList){ + cardList.forEach((item) => { + var title = item.title; + var elem = item.element; + //移除加载动画 + elem.find('.loading').remove(); + //查找数据 + if(title in pageInfoList){ + var info = pageInfoList[title]; + if(info.thumbnail){ //有缩略图 + elem.addClass('card-media'); + elem.find('.card-img').attr('src', info.thumbnail.source).show(); + } + + console.log(info); + elem.find('.card-content').text(info.extract); + } else { + elem.find('.card-content').text('页面不存在'); + } + }); + } + + api.get({ + action: 'query', + prop: ['info', 'extracts', 'pageimages', 'revisions', 'info'], + formatversion: 2, + redirects: true, + exintro: true, + exchars: 150, + explaintext: true, + piprop: 'thumbnail', + pithumbsize: 640, + pilicense: 'any', + rvprop: 'timestamp', + inprop: 'url', + titles: titleList, + smaxage: 300, + maxage: 300, + uselang: 'content', + }).done((data) => { + if(data.query && data.query.pages && data.query.pages.length > 0){ + let pages = data.query.pages; + pages.forEach((page) => { + if(!page.missing){ + pageInfoList[page.title] = page; + } + }); + setPreviews(pageInfoList); + } + }); }); \ No newline at end of file diff --git a/modules/previewCard/ext.isekai.previewCard.less b/modules/previewCard/ext.isekai.previewCard.less index 9437ee8..9caa7c5 100644 --- a/modules/previewCard/ext.isekai.previewCard.less +++ b/modules/previewCard/ext.isekai.previewCard.less @@ -1,119 +1,119 @@ -@text-size: 1em; - -.isekai-preview-card-wrapper { - padding: .5rem; - width: 100%; - - @media (min-width: 768px) { - width: 50%; - } - - @media (min-width: 992px) { - width: 33.3333%; - } -} - -.isekai-preview-card { - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - transform: scale(1); - transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1), transform 0.15s cubic-bezier(.4,0,.2,1); - will-change: box-shadow, transform; - border-radius: 2px; - cursor: pointer; - - .card-header { - margin-bottom: 0; - display: flex; - align-items: center; - position: relative; - - .card-header-title { - padding: 1rem 1.2rem; - - .card-header-title-text { - font-weight: bold; - font-size: 1.4rem; - line-height: 2.2rem; - } - - .card-header-subtitle-text { - font-size: 0.8rem; - line-height: 1.6rem; - opacity: 0.7; - } - } - - .card-header-buttons { - margin-left: auto; - } - } - - .card-body { - flex: 1 1 auto; - - .card-content { - padding: 0rem 1rem 1.5rem; - font-size: @text-size; - line-height: 1.6em; - } - - .loading { - text-align: center; - padding: 2rem; - - .loader { - animation: isekai-spin 1s infinite linear; - } - } - } - - &.card-media { - .card-header { - .card-header-title { - position: absolute; - right: 0; - bottom: 0; - left: 0; - color: #fff; - background: rgba(0,0,0,.2); - padding: 1.4rem 1rem 1rem 1rem; - } - - .card-img { - max-height: 15rem; - width: 100%; - height: auto; - object-fit: cover; - } - } - - .card-body { - .card-content { - padding: 1rem 1rem 1.2rem; - } - } - } - - &.mousedown { - transform: scale(0.98); - } - - &:hover { - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - } -} - -@keyframes isekai-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } - } +@text-size: 1em; + +.isekai-preview-card-wrapper { + padding: .5rem; + width: 100%; + + @media (min-width: 768px) { + width: 50%; + } + + @media (min-width: 992px) { + width: 33.3333%; + } +} + +.isekai-preview-card { + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + transform: scale(1); + transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1), transform 0.15s cubic-bezier(.4,0,.2,1); + will-change: box-shadow, transform; + border-radius: 2px; + cursor: pointer; + + .card-header { + margin-bottom: 0; + display: flex; + align-items: center; + position: relative; + + .card-header-title { + padding: 1rem 1.2rem; + + .card-header-title-text { + font-weight: bold; + font-size: 1.4rem; + line-height: 2.2rem; + } + + .card-header-subtitle-text { + font-size: 0.8rem; + line-height: 1.6rem; + opacity: 0.7; + } + } + + .card-header-buttons { + margin-left: auto; + } + } + + .card-body { + flex: 1 1 auto; + + .card-content { + padding: 0rem 1rem 1.5rem; + font-size: @text-size; + line-height: 1.6em; + } + + .loading { + text-align: center; + padding: 2rem; + + .loader { + animation: isekai-spin 1s infinite linear; + } + } + } + + &.card-media { + .card-header { + .card-header-title { + position: absolute; + right: 0; + bottom: 0; + left: 0; + color: #fff; + background: rgba(0,0,0,.2); + padding: 1.4rem 1rem 1rem 1rem; + } + + .card-img { + max-height: 15rem; + width: 100%; + height: auto; + object-fit: cover; + } + } + + .card-body { + .card-content { + padding: 1rem 1rem 1.2rem; + } + } + } + + &.mousedown { + transform: scale(0.98); + } + + &:hover { + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + } +} + +@keyframes isekai-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } + } \ No newline at end of file diff --git a/modules/previewCard/ext.isekai.previewCard.html b/modules/previewCard/ext.isekai.previewCard.tpl similarity index 76% rename from modules/previewCard/ext.isekai.previewCard.html rename to modules/previewCard/ext.isekai.previewCard.tpl index 93a6f62..6f26aaf 100644 --- a/modules/previewCard/ext.isekai.previewCard.html +++ b/modules/previewCard/ext.isekai.previewCard.tpl @@ -1,20 +1,20 @@ -<div class="isekai-preview-card-wrapper"> - <div class="isekai-preview-card card-media" data-title="<?php echo $title; ?>"> - <div class="card-header"> - <div class="card-header-title"> - <div class="card-header-title-text"><?php echo $displayTitle; ?></div> - <div class="card-header-subtitle-text"><?php echo $path; ?></div> - </div> - <img class="card-img" style="display: none;"> - </div> - <div class="card-body"> - <div class="card-content"> - <div class="loading"> - <svg version="1.1" class="loader" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="40px" height="40px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve"> - <path fill="#0088dd" d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"></path> - </svg> - </div> - </div> - </div> - </div> +<div class="isekai-preview-card-wrapper"> + <div class="isekai-preview-card card-media" data-title="<?=$title?>"> + <div class="card-header"> + <div class="card-header-title"> + <div class="card-header-title-text"><?=$displayTitle?></div> + <div class="card-header-subtitle-text"><?=$path?></div> + </div> + <img class="card-img" style="display: none;"> + </div> + <div class="card-body"> + <div class="card-content"> + <div class="loading"> + <svg version="1.1" class="loader" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="40px" height="40px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve"> + <path fill="#0088dd" d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"></path> + </svg> + </div> + </div> + </div> + </div> </div> \ No newline at end of file diff --git a/modules/tile/style.less b/modules/tile/style.less index 2ecda3d..8f4bd23 100644 --- a/modules/tile/style.less +++ b/modules/tile/style.less @@ -1,21 +1,21 @@ -a { - &.tile-small, - &.tile-medium, - &.tile-wide, - &.tile-large, - &.tile-app { - color: #fff; - } -} - -.tiles-group { - margin: 5px 0; -} - -.tiles-group::before { - font-size: 1.2em; -} - -.tiles-group[data-group-title] { - margin-top: 3em; +a { + &.tile-small, + &.tile-medium, + &.tile-wide, + &.tile-large, + &.tile-app { + color: #fff; + } +} + +.tiles-group { + margin: 5px 0; +} + +.tiles-group::before { + font-size: 1.2em; +} + +.tiles-group[data-group-title] { + margin-top: 3em; } \ No newline at end of file diff --git a/modules/tile/tile.css b/modules/tile/tile.css index 93d568c..c76cd4c 100644 --- a/modules/tile/tile.css +++ b/modules/tile/tile.css @@ -1,1391 +1,1391 @@ -/* Please use node.js "less" module to complie this less */ -/* 请使用node.js的“less”模块来编译本less */ -.tile-small, -.tile-medium, -.tile-wide, -.tile-large, -.tile-app { - display: block; - background-color: #1ba1e2; - color: #ffffff; - width: 150px; - height: 150px; - box-shadow: inset 0 0 1px #FFFFCC; - cursor: pointer; - position: relative; - overflow: hidden; - user-select: none; - max-width: none!important; -} -.tile-small { - width: 70px; - height: 70px; -} -.tile-medium { - width: 150px; - height: 150px; -} -.tile-wide { - width: 310px; - height: 150px; -} -.tile-large { - width: 310px; - height: 310px; -} -.tile-app { - width: 44px; - height: 44px; -} -.tile-small .icon, -.tile-medium .icon, -.tile-wide .icon, -.tile-large .icon, -.tile-app .icon { - max-width: 33%; - height: 33%; - position: absolute; - top: 50%; - left: 50%; - transform: translateY(-50%) translateX(-50%); - /*font-size: 50px;*/ - /*line-height: 50px;*/ - z-index: 2; -} -.tile-small .branding-bar, -.tile-medium .branding-bar, -.tile-wide .branding-bar, -.tile-large .branding-bar, -.tile-app .branding-bar { - height: 32px; - line-height: 32px; - position: absolute; - left: 0; - bottom: 0; - right: 0; - padding: 0 10px 5px; - font-size: 0.875rem; - font-weight: 500; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - z-index: 2; -} -.tile-small .badge-top, -.tile-medium .badge-top, -.tile-wide .badge-top, -.tile-large .badge-top, -.tile-app .badge-top, -.tile-small .badge-bottom, -.tile-medium .badge-bottom, -.tile-wide .badge-bottom, -.tile-large .badge-bottom, -.tile-app .badge-bottom { - position: absolute; - display: block; - padding: 4px 8px; - font-size: 12px; - text-align: center; - background-color: rgba(29, 29, 29, 0.1); - z-index: 2; -} -.tile-small .badge-bottom, -.tile-medium .badge-bottom, -.tile-wide .badge-bottom, -.tile-large .badge-bottom, -.tile-app .badge-bottom { - right: 10px; - bottom: 0; -} -.tile-small .badge-top, -.tile-medium .badge-top, -.tile-wide .badge-top, -.tile-large .badge-top, -.tile-app .badge-top { - top: 10px; - right: 10px; -} -.tile-small:hover, -.tile-medium:hover, -.tile-wide:hover, -.tile-large:hover, -.tile-app:hover { - outline: rgba(29, 29, 29, 0.1) solid 4px; -} -.tile-small { - /*.branding-bar { - display: none; - }*/ -} -.tile-small .icon { - max-width: 50%; - font-size: 35px; - line-height: 35px; -} -.tile-large .icon { - font-size: 102px; - line-height: 102px; -} -.tile-app .icon { - max-width: 75%; - height: 75%; -} -.tile-small.transform-right, -.tile-medium.transform-right, -.tile-wide.transform-right, -.tile-large.transform-right, -.tile-app.transform-right { - transform-origin: left 50%; - transform: perspective(500px) rotateY(0.138372rad) !important; -} -.tile-small.transform-right.tile-small, -.tile-medium.transform-right.tile-small, -.tile-wide.transform-right.tile-small, -.tile-large.transform-right.tile-small, -.tile-app.transform-right.tile-small { - transform: perspective(500px) rotateY(0.276744rad) !important; -} -.tile-small.transform-right.tile-wide, -.tile-medium.transform-right.tile-wide, -.tile-wide.transform-right.tile-wide, -.tile-large.transform-right.tile-wide, -.tile-app.transform-right.tile-wide { - transform: perspective(500px) rotateY(0.069186rad) !important; -} -.tile-small.transform-right.tile-large, -.tile-medium.transform-right.tile-large, -.tile-wide.transform-right.tile-large, -.tile-large.transform-right.tile-large, -.tile-app.transform-right.tile-large { - transform: perspective(500px) rotateY(0.046124rad) !important; -} -.tile-small.transform-left, -.tile-medium.transform-left, -.tile-wide.transform-left, -.tile-large.transform-left, -.tile-app.transform-left { - transform-origin: right 50%; - transform: perspective(500px) rotateY(-0.138372rad) !important; -} -.tile-small.transform-left.tile-small, -.tile-medium.transform-left.tile-small, -.tile-wide.transform-left.tile-small, -.tile-large.transform-left.tile-small, -.tile-app.transform-left.tile-small { - transform: perspective(500px) rotateY(-0.276744rad) !important; -} -.tile-small.transform-left.tile-wide, -.tile-medium.transform-left.tile-wide, -.tile-wide.transform-left.tile-wide, -.tile-large.transform-left.tile-wide, -.tile-app.transform-left.tile-wide { - transform: perspective(500px) rotateY(-0.069186rad) !important; -} -.tile-small.transform-left.tile-large, -.tile-medium.transform-left.tile-large, -.tile-wide.transform-left.tile-large, -.tile-large.transform-left.tile-large, -.tile-app.transform-left.tile-large { - transform: perspective(500px) rotateY(-0.046124rad) !important; -} -.tile-small.transform-top, -.tile-medium.transform-top, -.tile-wide.transform-top, -.tile-large.transform-top, -.tile-app.transform-top { - transform-origin: 50% bottom; - transform: perspective(500px) rotateX(0.138372rad) !important; -} -.tile-small.transform-top.tile-small, -.tile-medium.transform-top.tile-small, -.tile-wide.transform-top.tile-small, -.tile-large.transform-top.tile-small, -.tile-app.transform-top.tile-small { - transform: perspective(500px) rotateX(0.276744rad) !important; -} -.tile-small.transform-top.tile-wide, -.tile-medium.transform-top.tile-wide, -.tile-wide.transform-top.tile-wide, -.tile-large.transform-top.tile-wide, -.tile-app.transform-top.tile-wide { - transform: perspective(500px) rotateX(0.069186rad) !important; -} -.tile-small.transform-top.tile-large, -.tile-medium.transform-top.tile-large, -.tile-wide.transform-top.tile-large, -.tile-large.transform-top.tile-large, -.tile-app.transform-top.tile-large { - transform: perspective(500px) rotateX(0.046124rad) !important; -} -.tile-small.transform-bottom, -.tile-medium.transform-bottom, -.tile-wide.transform-bottom, -.tile-large.transform-bottom, -.tile-app.transform-bottom { - transform-origin: 50% top; - transform: perspective(500px) rotateX(-0.138372rad) !important; -} -.tile-small.transform-bottom.tile-small, -.tile-medium.transform-bottom.tile-small, -.tile-wide.transform-bottom.tile-small, -.tile-large.transform-bottom.tile-small, -.tile-app.transform-bottom.tile-small { - transform: perspective(500px) rotateX(-0.276744rad) !important; -} -.tile-small.transform-bottom.tile-wide, -.tile-medium.transform-bottom.tile-wide, -.tile-wide.transform-bottom.tile-wide, -.tile-large.transform-bottom.tile-wide, -.tile-app.transform-bottom.tile-wide { - transform: perspective(500px) rotateX(-0.069186rad) !important; -} -.tile-small.transform-bottom.tile-large, -.tile-medium.transform-bottom.tile-large, -.tile-wide.transform-bottom.tile-large, -.tile-large.transform-bottom.tile-large, -.tile-app.transform-bottom.tile-large { - transform: perspective(500px) rotateX(-0.046124rad) !important; -} -.tiles-grid { - position: relative; - display: grid; - grid-template-columns: repeat(auto-fit, 24%); - /*grid-template-rows: repeat(auto-fit, (@tileBaseSize - 1%));*/ - grid-gap: 5px; - /*.tile-small::before, - .tile-medium::before, - .tile-large::before { - content: ''; - padding-bottom: 100%; - display: block; - } - - .tile-wide::before { - content: ''; - padding-bottom: 50%; - display: block; - }*/ -} -.tiles-grid .tile-small { - height: 100%; - width: 100%; - grid-column: span 1; - grid-row: span 1; -} -.tiles-grid .tile-medium { - height: 100%; - width: 100%; - grid-column: span 2; - grid-row: span 2; -} -.tiles-grid .tile-wide { - height: 100%; - width: 100%; - grid-column: span 4; - grid-row: span 2; -} -.tiles-grid .tile-large { - height: 100%; - width: 100%; - grid-column: span 4; - grid-row: span 4; -} -.tiles-grid .tile-small.col-1 { - grid-column: 1 / span 1; -} -.tiles-grid .tile-medium.col-1 { - grid-column: 1 / span 2; -} -.tiles-grid .tile-wide.col-1 { - grid-column: 1 / span 4; -} -.tiles-grid .tile-large.col-1 { - grid-column: 1 / span 4; -} -.tiles-grid .tile-small.row-1 { - grid-row: 1 / span 1; -} -.tiles-grid .tile-medium.row-1 { - grid-row: 1 / span 2; -} -.tiles-grid .tile-wide.row-1 { - grid-row: 1 / span 4; -} -.tiles-grid .tile-large.row-1 { - grid-row: 1 / span 4; -} -.tiles-grid .tile-small.col-2 { - grid-column: 2 / span 1; -} -.tiles-grid .tile-medium.col-2 { - grid-column: 2 / span 2; -} -.tiles-grid .tile-wide.col-2 { - grid-column: 2 / span 4; -} -.tiles-grid .tile-large.col-2 { - grid-column: 2 / span 4; -} -.tiles-grid .tile-small.row-2 { - grid-row: 2 / span 1; -} -.tiles-grid .tile-medium.row-2 { - grid-row: 2 / span 2; -} -.tiles-grid .tile-wide.row-2 { - grid-row: 2 / span 4; -} -.tiles-grid .tile-large.row-2 { - grid-row: 2 / span 4; -} -.tiles-grid .tile-small.col-3 { - grid-column: 3 / span 1; -} -.tiles-grid .tile-medium.col-3 { - grid-column: 3 / span 2; -} -.tiles-grid .tile-wide.col-3 { - grid-column: 3 / span 4; -} -.tiles-grid .tile-large.col-3 { - grid-column: 3 / span 4; -} -.tiles-grid .tile-small.row-3 { - grid-row: 3 / span 1; -} -.tiles-grid .tile-medium.row-3 { - grid-row: 3 / span 2; -} -.tiles-grid .tile-wide.row-3 { - grid-row: 3 / span 4; -} -.tiles-grid .tile-large.row-3 { - grid-row: 3 / span 4; -} -.tiles-grid .tile-small.col-4 { - grid-column: 4 / span 1; -} -.tiles-grid .tile-medium.col-4 { - grid-column: 4 / span 2; -} -.tiles-grid .tile-wide.col-4 { - grid-column: 4 / span 4; -} -.tiles-grid .tile-large.col-4 { - grid-column: 4 / span 4; -} -.tiles-grid .tile-small.row-4 { - grid-row: 4 / span 1; -} -.tiles-grid .tile-medium.row-4 { - grid-row: 4 / span 2; -} -.tiles-grid .tile-wide.row-4 { - grid-row: 4 / span 4; -} -.tiles-grid .tile-large.row-4 { - grid-row: 4 / span 4; -} -.tiles-grid .tile-small.col-5 { - grid-column: 5 / span 1; -} -.tiles-grid .tile-medium.col-5 { - grid-column: 5 / span 2; -} -.tiles-grid .tile-wide.col-5 { - grid-column: 5 / span 4; -} -.tiles-grid .tile-large.col-5 { - grid-column: 5 / span 4; -} -.tiles-grid .tile-small.row-5 { - grid-row: 5 / span 1; -} -.tiles-grid .tile-medium.row-5 { - grid-row: 5 / span 2; -} -.tiles-grid .tile-wide.row-5 { - grid-row: 5 / span 4; -} -.tiles-grid .tile-large.row-5 { - grid-row: 5 / span 4; -} -.tiles-grid .tile-small.col-6 { - grid-column: 6 / span 1; -} -.tiles-grid .tile-medium.col-6 { - grid-column: 6 / span 2; -} -.tiles-grid .tile-wide.col-6 { - grid-column: 6 / span 4; -} -.tiles-grid .tile-large.col-6 { - grid-column: 6 / span 4; -} -.tiles-grid .tile-small.row-6 { - grid-row: 6 / span 1; -} -.tiles-grid .tile-medium.row-6 { - grid-row: 6 / span 2; -} -.tiles-grid .tile-wide.row-6 { - grid-row: 6 / span 4; -} -.tiles-grid .tile-large.row-6 { - grid-row: 6 / span 4; -} -.tiles-grid .tile-small.col-7 { - grid-column: 7 / span 1; -} -.tiles-grid .tile-medium.col-7 { - grid-column: 7 / span 2; -} -.tiles-grid .tile-wide.col-7 { - grid-column: 7 / span 4; -} -.tiles-grid .tile-large.col-7 { - grid-column: 7 / span 4; -} -.tiles-grid .tile-small.row-7 { - grid-row: 7 / span 1; -} -.tiles-grid .tile-medium.row-7 { - grid-row: 7 / span 2; -} -.tiles-grid .tile-wide.row-7 { - grid-row: 7 / span 4; -} -.tiles-grid .tile-large.row-7 { - grid-row: 7 / span 4; -} -.tiles-grid .tile-small.col-8 { - grid-column: 8 / span 1; -} -.tiles-grid .tile-medium.col-8 { - grid-column: 8 / span 2; -} -.tiles-grid .tile-wide.col-8 { - grid-column: 8 / span 4; -} -.tiles-grid .tile-large.col-8 { - grid-column: 8 / span 4; -} -.tiles-grid .tile-small.row-8 { - grid-row: 8 / span 1; -} -.tiles-grid .tile-medium.row-8 { - grid-row: 8 / span 2; -} -.tiles-grid .tile-wide.row-8 { - grid-row: 8 / span 4; -} -.tiles-grid .tile-large.row-8 { - grid-row: 8 / span 4; -} -.tiles-grid .tile-small.col-9 { - grid-column: 9 / span 1; -} -.tiles-grid .tile-medium.col-9 { - grid-column: 9 / span 2; -} -.tiles-grid .tile-wide.col-9 { - grid-column: 9 / span 4; -} -.tiles-grid .tile-large.col-9 { - grid-column: 9 / span 4; -} -.tiles-grid .tile-small.row-9 { - grid-row: 9 / span 1; -} -.tiles-grid .tile-medium.row-9 { - grid-row: 9 / span 2; -} -.tiles-grid .tile-wide.row-9 { - grid-row: 9 / span 4; -} -.tiles-grid .tile-large.row-9 { - grid-row: 9 / span 4; -} -.tiles-grid .tile-small.col-10 { - grid-column: 10 / span 1; -} -.tiles-grid .tile-medium.col-10 { - grid-column: 10 / span 2; -} -.tiles-grid .tile-wide.col-10 { - grid-column: 10 / span 4; -} -.tiles-grid .tile-large.col-10 { - grid-column: 10 / span 4; -} -.tiles-grid .tile-small.row-10 { - grid-row: 10 / span 1; -} -.tiles-grid .tile-medium.row-10 { - grid-row: 10 / span 2; -} -.tiles-grid .tile-wide.row-10 { - grid-row: 10 / span 4; -} -.tiles-grid .tile-large.row-10 { - grid-row: 10 / span 4; -} -.tiles-grid .tile-small.col-11 { - grid-column: 11 / span 1; -} -.tiles-grid .tile-medium.col-11 { - grid-column: 11 / span 2; -} -.tiles-grid .tile-wide.col-11 { - grid-column: 11 / span 4; -} -.tiles-grid .tile-large.col-11 { - grid-column: 11 / span 4; -} -.tiles-grid .tile-small.row-11 { - grid-row: 11 / span 1; -} -.tiles-grid .tile-medium.row-11 { - grid-row: 11 / span 2; -} -.tiles-grid .tile-wide.row-11 { - grid-row: 11 / span 4; -} -.tiles-grid .tile-large.row-11 { - grid-row: 11 / span 4; -} -.tiles-grid .tile-small.col-12 { - grid-column: 12 / span 1; -} -.tiles-grid .tile-medium.col-12 { - grid-column: 12 / span 2; -} -.tiles-grid .tile-wide.col-12 { - grid-column: 12 / span 4; -} -.tiles-grid .tile-large.col-12 { - grid-column: 12 / span 4; -} -.tiles-grid .tile-small.row-12 { - grid-row: 12 / span 1; -} -.tiles-grid .tile-medium.row-12 { - grid-row: 12 / span 2; -} -.tiles-grid .tile-wide.row-12 { - grid-row: 12 / span 4; -} -.tiles-grid .tile-large.row-12 { - grid-row: 12 / span 4; -} -.tiles-grid.size-half { - width: 50%; -} -.tiles-grid.size-1 { - width: 8.33333333%; -} -.tiles-grid.size-2 { - width: 16.66666667%; -} -.tiles-grid.size-3 { - width: 25%; -} -.tiles-grid.size-4 { - width: 33.33333333%; -} -.tiles-grid.size-5 { - width: 41.66666667%; -} -.tiles-grid.size-6 { - width: 50%; -} -.tiles-grid.size-7 { - width: 58.33333333%; -} -.tiles-grid.size-8 { - width: 66.66666667%; -} -.tiles-grid.size-9 { - width: 75%; -} -.tiles-grid.size-10 { - width: 83.33333333%; -} -.tiles-grid.size-11 { - width: 91.66666667%; -} -.tiles-grid.size-12 { - width: 100%; -} -@media screen and (min-width: 0) { - .tiles-grid .col-fs-1 { - grid-column: 1; - } - .tiles-grid .row-fs-1 { - grid-row: 1; - } - .tiles-grid .col-fs-2 { - grid-column: 2; - } - .tiles-grid .row-fs-2 { - grid-row: 2; - } - .tiles-grid .col-fs-3 { - grid-column: 3; - } - .tiles-grid .row-fs-3 { - grid-row: 3; - } - .tiles-grid .col-fs-4 { - grid-column: 4; - } - .tiles-grid .row-fs-4 { - grid-row: 4; - } - .tiles-grid .col-fs-5 { - grid-column: 5; - } - .tiles-grid .row-fs-5 { - grid-row: 5; - } - .tiles-grid .col-fs-6 { - grid-column: 6; - } - .tiles-grid .row-fs-6 { - grid-row: 6; - } - .tiles-grid .col-fs-7 { - grid-column: 7; - } - .tiles-grid .row-fs-7 { - grid-row: 7; - } - .tiles-grid .col-fs-8 { - grid-column: 8; - } - .tiles-grid .row-fs-8 { - grid-row: 8; - } - .tiles-grid .col-fs-9 { - grid-column: 9; - } - .tiles-grid .row-fs-9 { - grid-row: 9; - } - .tiles-grid .col-fs-10 { - grid-column: 10; - } - .tiles-grid .row-fs-10 { - grid-row: 10; - } - .tiles-grid .col-fs-11 { - grid-column: 11; - } - .tiles-grid .row-fs-11 { - grid-row: 11; - } - .tiles-grid .col-fs-12 { - grid-column: 12; - } - .tiles-grid .row-fs-12 { - grid-row: 12; - } - .tiles-grid.size-fs-1 { - width: 8.33333333%; - } - .tiles-grid.size-fs-2 { - width: 16.66666667%; - } - .tiles-grid.size-fs-3 { - width: 25%; - } - .tiles-grid.size-fs-4 { - width: 33.33333333%; - } - .tiles-grid.size-fs-5 { - width: 41.66666667%; - } - .tiles-grid.size-fs-6 { - width: 50%; - } - .tiles-grid.size-fs-7 { - width: 58.33333333%; - } - .tiles-grid.size-fs-8 { - width: 66.66666667%; - } - .tiles-grid.size-fs-9 { - width: 75%; - } - .tiles-grid.size-fs-10 { - width: 83.33333333%; - } - .tiles-grid.size-fs-11 { - width: 91.66666667%; - } - .tiles-grid.size-fs-12 { - width: 100%; - } -} -@media screen and (min-width: 576px) { - .tiles-grid .col-sm-1 { - grid-column: 1; - } - .tiles-grid .row-sm-1 { - grid-row: 1; - } - .tiles-grid .col-sm-2 { - grid-column: 2; - } - .tiles-grid .row-sm-2 { - grid-row: 2; - } - .tiles-grid .col-sm-3 { - grid-column: 3; - } - .tiles-grid .row-sm-3 { - grid-row: 3; - } - .tiles-grid .col-sm-4 { - grid-column: 4; - } - .tiles-grid .row-sm-4 { - grid-row: 4; - } - .tiles-grid .col-sm-5 { - grid-column: 5; - } - .tiles-grid .row-sm-5 { - grid-row: 5; - } - .tiles-grid .col-sm-6 { - grid-column: 6; - } - .tiles-grid .row-sm-6 { - grid-row: 6; - } - .tiles-grid .col-sm-7 { - grid-column: 7; - } - .tiles-grid .row-sm-7 { - grid-row: 7; - } - .tiles-grid .col-sm-8 { - grid-column: 8; - } - .tiles-grid .row-sm-8 { - grid-row: 8; - } - .tiles-grid .col-sm-9 { - grid-column: 9; - } - .tiles-grid .row-sm-9 { - grid-row: 9; - } - .tiles-grid .col-sm-10 { - grid-column: 10; - } - .tiles-grid .row-sm-10 { - grid-row: 10; - } - .tiles-grid .col-sm-11 { - grid-column: 11; - } - .tiles-grid .row-sm-11 { - grid-row: 11; - } - .tiles-grid .col-sm-12 { - grid-column: 12; - } - .tiles-grid .row-sm-12 { - grid-row: 12; - } - .tiles-grid.size-sm-1 { - width: 8.33333333%; - } - .tiles-grid.size-sm-2 { - width: 16.66666667%; - } - .tiles-grid.size-sm-3 { - width: 25%; - } - .tiles-grid.size-sm-4 { - width: 33.33333333%; - } - .tiles-grid.size-sm-5 { - width: 41.66666667%; - } - .tiles-grid.size-sm-6 { - width: 50%; - } - .tiles-grid.size-sm-7 { - width: 58.33333333%; - } - .tiles-grid.size-sm-8 { - width: 66.66666667%; - } - .tiles-grid.size-sm-9 { - width: 75%; - } - .tiles-grid.size-sm-10 { - width: 83.33333333%; - } - .tiles-grid.size-sm-11 { - width: 91.66666667%; - } - .tiles-grid.size-sm-12 { - width: 100%; - } -} -@media screen and (min-width: 768px) { - .tiles-grid .col-md-1 { - grid-column: 1; - } - .tiles-grid .row-md-1 { - grid-row: 1; - } - .tiles-grid .col-md-2 { - grid-column: 2; - } - .tiles-grid .row-md-2 { - grid-row: 2; - } - .tiles-grid .col-md-3 { - grid-column: 3; - } - .tiles-grid .row-md-3 { - grid-row: 3; - } - .tiles-grid .col-md-4 { - grid-column: 4; - } - .tiles-grid .row-md-4 { - grid-row: 4; - } - .tiles-grid .col-md-5 { - grid-column: 5; - } - .tiles-grid .row-md-5 { - grid-row: 5; - } - .tiles-grid .col-md-6 { - grid-column: 6; - } - .tiles-grid .row-md-6 { - grid-row: 6; - } - .tiles-grid .col-md-7 { - grid-column: 7; - } - .tiles-grid .row-md-7 { - grid-row: 7; - } - .tiles-grid .col-md-8 { - grid-column: 8; - } - .tiles-grid .row-md-8 { - grid-row: 8; - } - .tiles-grid .col-md-9 { - grid-column: 9; - } - .tiles-grid .row-md-9 { - grid-row: 9; - } - .tiles-grid .col-md-10 { - grid-column: 10; - } - .tiles-grid .row-md-10 { - grid-row: 10; - } - .tiles-grid .col-md-11 { - grid-column: 11; - } - .tiles-grid .row-md-11 { - grid-row: 11; - } - .tiles-grid .col-md-12 { - grid-column: 12; - } - .tiles-grid .row-md-12 { - grid-row: 12; - } - .tiles-grid.size-md-1 { - width: 8.33333333%; - } - .tiles-grid.size-md-2 { - width: 16.66666667%; - } - .tiles-grid.size-md-3 { - width: 25%; - } - .tiles-grid.size-md-4 { - width: 33.33333333%; - } - .tiles-grid.size-md-5 { - width: 41.66666667%; - } - .tiles-grid.size-md-6 { - width: 50%; - } - .tiles-grid.size-md-7 { - width: 58.33333333%; - } - .tiles-grid.size-md-8 { - width: 66.66666667%; - } - .tiles-grid.size-md-9 { - width: 75%; - } - .tiles-grid.size-md-10 { - width: 83.33333333%; - } - .tiles-grid.size-md-11 { - width: 91.66666667%; - } - .tiles-grid.size-md-12 { - width: 100%; - } -} -@media screen and (min-width: 992px) { - .tiles-grid .col-lg-1 { - grid-column: 1; - } - .tiles-grid .row-lg-1 { - grid-row: 1; - } - .tiles-grid .col-lg-2 { - grid-column: 2; - } - .tiles-grid .row-lg-2 { - grid-row: 2; - } - .tiles-grid .col-lg-3 { - grid-column: 3; - } - .tiles-grid .row-lg-3 { - grid-row: 3; - } - .tiles-grid .col-lg-4 { - grid-column: 4; - } - .tiles-grid .row-lg-4 { - grid-row: 4; - } - .tiles-grid .col-lg-5 { - grid-column: 5; - } - .tiles-grid .row-lg-5 { - grid-row: 5; - } - .tiles-grid .col-lg-6 { - grid-column: 6; - } - .tiles-grid .row-lg-6 { - grid-row: 6; - } - .tiles-grid .col-lg-7 { - grid-column: 7; - } - .tiles-grid .row-lg-7 { - grid-row: 7; - } - .tiles-grid .col-lg-8 { - grid-column: 8; - } - .tiles-grid .row-lg-8 { - grid-row: 8; - } - .tiles-grid .col-lg-9 { - grid-column: 9; - } - .tiles-grid .row-lg-9 { - grid-row: 9; - } - .tiles-grid .col-lg-10 { - grid-column: 10; - } - .tiles-grid .row-lg-10 { - grid-row: 10; - } - .tiles-grid .col-lg-11 { - grid-column: 11; - } - .tiles-grid .row-lg-11 { - grid-row: 11; - } - .tiles-grid .col-lg-12 { - grid-column: 12; - } - .tiles-grid .row-lg-12 { - grid-row: 12; - } - .tiles-grid.size-lg-1 { - width: 8.33333333%; - } - .tiles-grid.size-lg-2 { - width: 16.66666667%; - } - .tiles-grid.size-lg-3 { - width: 25%; - } - .tiles-grid.size-lg-4 { - width: 33.33333333%; - } - .tiles-grid.size-lg-5 { - width: 41.66666667%; - } - .tiles-grid.size-lg-6 { - width: 50%; - } - .tiles-grid.size-lg-7 { - width: 58.33333333%; - } - .tiles-grid.size-lg-8 { - width: 66.66666667%; - } - .tiles-grid.size-lg-9 { - width: 75%; - } - .tiles-grid.size-lg-10 { - width: 83.33333333%; - } - .tiles-grid.size-lg-11 { - width: 91.66666667%; - } - .tiles-grid.size-lg-12 { - width: 100%; - } -} -@media screen and (min-width: 1200px) { - .tiles-grid .col-xl-1 { - grid-column: 1; - } - .tiles-grid .row-xl-1 { - grid-row: 1; - } - .tiles-grid .col-xl-2 { - grid-column: 2; - } - .tiles-grid .row-xl-2 { - grid-row: 2; - } - .tiles-grid .col-xl-3 { - grid-column: 3; - } - .tiles-grid .row-xl-3 { - grid-row: 3; - } - .tiles-grid .col-xl-4 { - grid-column: 4; - } - .tiles-grid .row-xl-4 { - grid-row: 4; - } - .tiles-grid .col-xl-5 { - grid-column: 5; - } - .tiles-grid .row-xl-5 { - grid-row: 5; - } - .tiles-grid .col-xl-6 { - grid-column: 6; - } - .tiles-grid .row-xl-6 { - grid-row: 6; - } - .tiles-grid .col-xl-7 { - grid-column: 7; - } - .tiles-grid .row-xl-7 { - grid-row: 7; - } - .tiles-grid .col-xl-8 { - grid-column: 8; - } - .tiles-grid .row-xl-8 { - grid-row: 8; - } - .tiles-grid .col-xl-9 { - grid-column: 9; - } - .tiles-grid .row-xl-9 { - grid-row: 9; - } - .tiles-grid .col-xl-10 { - grid-column: 10; - } - .tiles-grid .row-xl-10 { - grid-row: 10; - } - .tiles-grid .col-xl-11 { - grid-column: 11; - } - .tiles-grid .row-xl-11 { - grid-row: 11; - } - .tiles-grid .col-xl-12 { - grid-column: 12; - } - .tiles-grid .row-xl-12 { - grid-row: 12; - } - .tiles-grid.size-xl-1 { - width: 8.33333333%; - } - .tiles-grid.size-xl-2 { - width: 16.66666667%; - } - .tiles-grid.size-xl-3 { - width: 25%; - } - .tiles-grid.size-xl-4 { - width: 33.33333333%; - } - .tiles-grid.size-xl-5 { - width: 41.66666667%; - } - .tiles-grid.size-xl-6 { - width: 50%; - } - .tiles-grid.size-xl-7 { - width: 58.33333333%; - } - .tiles-grid.size-xl-8 { - width: 66.66666667%; - } - .tiles-grid.size-xl-9 { - width: 75%; - } - .tiles-grid.size-xl-10 { - width: 83.33333333%; - } - .tiles-grid.size-xl-11 { - width: 91.66666667%; - } - .tiles-grid.size-xl-12 { - width: 100%; - } -} -@media screen and (min-width: 1452px) { - .tiles-grid .col-xxl-1 { - grid-column: 1; - } - .tiles-grid .row-xxl-1 { - grid-row: 1; - } - .tiles-grid .col-xxl-2 { - grid-column: 2; - } - .tiles-grid .row-xxl-2 { - grid-row: 2; - } - .tiles-grid .col-xxl-3 { - grid-column: 3; - } - .tiles-grid .row-xxl-3 { - grid-row: 3; - } - .tiles-grid .col-xxl-4 { - grid-column: 4; - } - .tiles-grid .row-xxl-4 { - grid-row: 4; - } - .tiles-grid .col-xxl-5 { - grid-column: 5; - } - .tiles-grid .row-xxl-5 { - grid-row: 5; - } - .tiles-grid .col-xxl-6 { - grid-column: 6; - } - .tiles-grid .row-xxl-6 { - grid-row: 6; - } - .tiles-grid .col-xxl-7 { - grid-column: 7; - } - .tiles-grid .row-xxl-7 { - grid-row: 7; - } - .tiles-grid .col-xxl-8 { - grid-column: 8; - } - .tiles-grid .row-xxl-8 { - grid-row: 8; - } - .tiles-grid .col-xxl-9 { - grid-column: 9; - } - .tiles-grid .row-xxl-9 { - grid-row: 9; - } - .tiles-grid .col-xxl-10 { - grid-column: 10; - } - .tiles-grid .row-xxl-10 { - grid-row: 10; - } - .tiles-grid .col-xxl-11 { - grid-column: 11; - } - .tiles-grid .row-xxl-11 { - grid-row: 11; - } - .tiles-grid .col-xxl-12 { - grid-column: 12; - } - .tiles-grid .row-xxl-12 { - grid-row: 12; - } - .tiles-grid.size-xxl-1 { - width: 8.33333333%; - } - .tiles-grid.size-xxl-2 { - width: 16.66666667%; - } - .tiles-grid.size-xxl-3 { - width: 25%; - } - .tiles-grid.size-xxl-4 { - width: 33.33333333%; - } - .tiles-grid.size-xxl-5 { - width: 41.66666667%; - } - .tiles-grid.size-xxl-6 { - width: 50%; - } - .tiles-grid.size-xxl-7 { - width: 58.33333333%; - } - .tiles-grid.size-xxl-8 { - width: 66.66666667%; - } - .tiles-grid.size-xxl-9 { - width: 75%; - } - .tiles-grid.size-xxl-10 { - width: 83.33333333%; - } - .tiles-grid.size-xxl-11 { - width: 91.66666667%; - } - .tiles-grid.size-xxl-12 { - width: 100%; - } -} -.tiles-group { - width: 100%; - float: left; - overflow: visible; -} -.tiles-group::before { - content: attr(data-group-title); - display: block; - position: absolute; - left: 0; - top: -36px; - height: 1.5em; - line-height: 1.5em; - z-index: 1; - color: inherit; -} -[class*=tile-].image-set { - background-size: contain; - background-position: center; -} -[class*=tile-].image-set .img { - width: 25%; - height: 50%; - display: block; - float: left; - border: 1px solid #1d1d1d; - background-size: cover; -} -[class*=tile-].image-set .img:nth-child(1) { - width: 50%; - height: 100%; -} -[class*=tile-] .slide { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - display: block; -} -[class*=tile-] [class*=slide-] { - width: 100%; - height: 100%; - position: absolute; - transition: all 0.3s ease-in-out; -} -[class*=tile-] .slide-front { - top: 0; - left: 0; -} -[class*=tile-].effect-hover-slide-up .slide-back, -[class*=tile-].effect-hover-zoom-up .slide-back { - top: 100%; - left: 0; -} -[class*=tile-].effect-hover-slide-up:hover .slide-front, -[class*=tile-].effect-hover-zoom-up:hover .slide-front { - transform: translateY(-100%); -} -[class*=tile-].effect-hover-slide-up:hover .slide-back, -[class*=tile-].effect-hover-zoom-up:hover .slide-back { - top: 0; -} -[class*=tile-].effect-hover-slide-down .slide-back, -[class*=tile-].effect-hover-zoom-down .slide-back { - top: 0; - left: 0; - transform: translateY(-100%); -} -[class*=tile-].effect-hover-slide-down:hover .slide-front, -[class*=tile-].effect-hover-zoom-down:hover .slide-front { - top: 100%; -} -[class*=tile-].effect-hover-slide-down:hover .slide-back, -[class*=tile-].effect-hover-zoom-down:hover .slide-back { - transform: translateY(0); -} -[class*=tile-].effect-hover-slide-left .slide-back, -[class*=tile-].effect-hover-zoom-left .slide-back { - top: 0; - left: 100%; -} -[class*=tile-].effect-hover-slide-left:hover .slide-front, -[class*=tile-].effect-hover-zoom-left:hover .slide-front { - transform: translateX(-100%); -} -[class*=tile-].effect-hover-slide-left:hover .slide-back, -[class*=tile-].effect-hover-zoom-left:hover .slide-back { - left: 0; -} -[class*=tile-].effect-hover-slide-right .slide-back, -[class*=tile-].effect-hover-zoom-right .slide-back { - top: 0; - left: 0; - transform: translateX(-100%); -} -[class*=tile-].effect-hover-slide-right:hover .slide-front, -[class*=tile-].effect-hover-zoom-right:hover .slide-front { - left: 100%; -} -[class*=tile-].effect-hover-slide-right:hover .slide-back, -[class*=tile-].effect-hover-zoom-right:hover .slide-back { - transform: translateX(0); -} -[class*=tile-].effect-hover-zoom-up:hover .slide-front, -[class*=tile-].effect-hover-zoom-down:hover .slide-front, -[class*=tile-].effect-hover-zoom-left:hover .slide-front, -[class*=tile-].effect-hover-zoom-right:hover .slide-front { - left: 0; - top: 0; - transform: scale(2); -} +/* Please use node.js "less" module to complie this less */ +/* 请使用node.js的“less”模块来编译本less */ +.tile-small, +.tile-medium, +.tile-wide, +.tile-large, +.tile-app { + display: block; + background-color: #1ba1e2; + color: #ffffff; + width: 150px; + height: 150px; + box-shadow: inset 0 0 1px #FFFFCC; + cursor: pointer; + position: relative; + overflow: hidden; + user-select: none; + max-width: none!important; +} +.tile-small { + width: 70px; + height: 70px; +} +.tile-medium { + width: 150px; + height: 150px; +} +.tile-wide { + width: 310px; + height: 150px; +} +.tile-large { + width: 310px; + height: 310px; +} +.tile-app { + width: 44px; + height: 44px; +} +.tile-small .icon, +.tile-medium .icon, +.tile-wide .icon, +.tile-large .icon, +.tile-app .icon { + max-width: 33%; + height: 33%; + position: absolute; + top: 50%; + left: 50%; + transform: translateY(-50%) translateX(-50%); + /*font-size: 50px;*/ + /*line-height: 50px;*/ + z-index: 2; +} +.tile-small .branding-bar, +.tile-medium .branding-bar, +.tile-wide .branding-bar, +.tile-large .branding-bar, +.tile-app .branding-bar { + height: 32px; + line-height: 32px; + position: absolute; + left: 0; + bottom: 0; + right: 0; + padding: 0 10px 5px; + font-size: 0.875rem; + font-weight: 500; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + z-index: 2; +} +.tile-small .badge-top, +.tile-medium .badge-top, +.tile-wide .badge-top, +.tile-large .badge-top, +.tile-app .badge-top, +.tile-small .badge-bottom, +.tile-medium .badge-bottom, +.tile-wide .badge-bottom, +.tile-large .badge-bottom, +.tile-app .badge-bottom { + position: absolute; + display: block; + padding: 4px 8px; + font-size: 12px; + text-align: center; + background-color: rgba(29, 29, 29, 0.1); + z-index: 2; +} +.tile-small .badge-bottom, +.tile-medium .badge-bottom, +.tile-wide .badge-bottom, +.tile-large .badge-bottom, +.tile-app .badge-bottom { + right: 10px; + bottom: 0; +} +.tile-small .badge-top, +.tile-medium .badge-top, +.tile-wide .badge-top, +.tile-large .badge-top, +.tile-app .badge-top { + top: 10px; + right: 10px; +} +.tile-small:hover, +.tile-medium:hover, +.tile-wide:hover, +.tile-large:hover, +.tile-app:hover { + outline: rgba(29, 29, 29, 0.1) solid 4px; +} +.tile-small { + /*.branding-bar { + display: none; + }*/ +} +.tile-small .icon { + max-width: 50%; + font-size: 35px; + line-height: 35px; +} +.tile-large .icon { + font-size: 102px; + line-height: 102px; +} +.tile-app .icon { + max-width: 75%; + height: 75%; +} +.tile-small.transform-right, +.tile-medium.transform-right, +.tile-wide.transform-right, +.tile-large.transform-right, +.tile-app.transform-right { + transform-origin: left 50%; + transform: perspective(500px) rotateY(0.138372rad) !important; +} +.tile-small.transform-right.tile-small, +.tile-medium.transform-right.tile-small, +.tile-wide.transform-right.tile-small, +.tile-large.transform-right.tile-small, +.tile-app.transform-right.tile-small { + transform: perspective(500px) rotateY(0.276744rad) !important; +} +.tile-small.transform-right.tile-wide, +.tile-medium.transform-right.tile-wide, +.tile-wide.transform-right.tile-wide, +.tile-large.transform-right.tile-wide, +.tile-app.transform-right.tile-wide { + transform: perspective(500px) rotateY(0.069186rad) !important; +} +.tile-small.transform-right.tile-large, +.tile-medium.transform-right.tile-large, +.tile-wide.transform-right.tile-large, +.tile-large.transform-right.tile-large, +.tile-app.transform-right.tile-large { + transform: perspective(500px) rotateY(0.046124rad) !important; +} +.tile-small.transform-left, +.tile-medium.transform-left, +.tile-wide.transform-left, +.tile-large.transform-left, +.tile-app.transform-left { + transform-origin: right 50%; + transform: perspective(500px) rotateY(-0.138372rad) !important; +} +.tile-small.transform-left.tile-small, +.tile-medium.transform-left.tile-small, +.tile-wide.transform-left.tile-small, +.tile-large.transform-left.tile-small, +.tile-app.transform-left.tile-small { + transform: perspective(500px) rotateY(-0.276744rad) !important; +} +.tile-small.transform-left.tile-wide, +.tile-medium.transform-left.tile-wide, +.tile-wide.transform-left.tile-wide, +.tile-large.transform-left.tile-wide, +.tile-app.transform-left.tile-wide { + transform: perspective(500px) rotateY(-0.069186rad) !important; +} +.tile-small.transform-left.tile-large, +.tile-medium.transform-left.tile-large, +.tile-wide.transform-left.tile-large, +.tile-large.transform-left.tile-large, +.tile-app.transform-left.tile-large { + transform: perspective(500px) rotateY(-0.046124rad) !important; +} +.tile-small.transform-top, +.tile-medium.transform-top, +.tile-wide.transform-top, +.tile-large.transform-top, +.tile-app.transform-top { + transform-origin: 50% bottom; + transform: perspective(500px) rotateX(0.138372rad) !important; +} +.tile-small.transform-top.tile-small, +.tile-medium.transform-top.tile-small, +.tile-wide.transform-top.tile-small, +.tile-large.transform-top.tile-small, +.tile-app.transform-top.tile-small { + transform: perspective(500px) rotateX(0.276744rad) !important; +} +.tile-small.transform-top.tile-wide, +.tile-medium.transform-top.tile-wide, +.tile-wide.transform-top.tile-wide, +.tile-large.transform-top.tile-wide, +.tile-app.transform-top.tile-wide { + transform: perspective(500px) rotateX(0.069186rad) !important; +} +.tile-small.transform-top.tile-large, +.tile-medium.transform-top.tile-large, +.tile-wide.transform-top.tile-large, +.tile-large.transform-top.tile-large, +.tile-app.transform-top.tile-large { + transform: perspective(500px) rotateX(0.046124rad) !important; +} +.tile-small.transform-bottom, +.tile-medium.transform-bottom, +.tile-wide.transform-bottom, +.tile-large.transform-bottom, +.tile-app.transform-bottom { + transform-origin: 50% top; + transform: perspective(500px) rotateX(-0.138372rad) !important; +} +.tile-small.transform-bottom.tile-small, +.tile-medium.transform-bottom.tile-small, +.tile-wide.transform-bottom.tile-small, +.tile-large.transform-bottom.tile-small, +.tile-app.transform-bottom.tile-small { + transform: perspective(500px) rotateX(-0.276744rad) !important; +} +.tile-small.transform-bottom.tile-wide, +.tile-medium.transform-bottom.tile-wide, +.tile-wide.transform-bottom.tile-wide, +.tile-large.transform-bottom.tile-wide, +.tile-app.transform-bottom.tile-wide { + transform: perspective(500px) rotateX(-0.069186rad) !important; +} +.tile-small.transform-bottom.tile-large, +.tile-medium.transform-bottom.tile-large, +.tile-wide.transform-bottom.tile-large, +.tile-large.transform-bottom.tile-large, +.tile-app.transform-bottom.tile-large { + transform: perspective(500px) rotateX(-0.046124rad) !important; +} +.tiles-grid { + position: relative; + display: grid; + grid-template-columns: repeat(auto-fit, 24%); + /*grid-template-rows: repeat(auto-fit, (@tileBaseSize - 1%));*/ + grid-gap: 5px; + /*.tile-small::before, + .tile-medium::before, + .tile-large::before { + content: ''; + padding-bottom: 100%; + display: block; + } + + .tile-wide::before { + content: ''; + padding-bottom: 50%; + display: block; + }*/ +} +.tiles-grid .tile-small { + height: 100%; + width: 100%; + grid-column: span 1; + grid-row: span 1; +} +.tiles-grid .tile-medium { + height: 100%; + width: 100%; + grid-column: span 2; + grid-row: span 2; +} +.tiles-grid .tile-wide { + height: 100%; + width: 100%; + grid-column: span 4; + grid-row: span 2; +} +.tiles-grid .tile-large { + height: 100%; + width: 100%; + grid-column: span 4; + grid-row: span 4; +} +.tiles-grid .tile-small.col-1 { + grid-column: 1 / span 1; +} +.tiles-grid .tile-medium.col-1 { + grid-column: 1 / span 2; +} +.tiles-grid .tile-wide.col-1 { + grid-column: 1 / span 4; +} +.tiles-grid .tile-large.col-1 { + grid-column: 1 / span 4; +} +.tiles-grid .tile-small.row-1 { + grid-row: 1 / span 1; +} +.tiles-grid .tile-medium.row-1 { + grid-row: 1 / span 2; +} +.tiles-grid .tile-wide.row-1 { + grid-row: 1 / span 4; +} +.tiles-grid .tile-large.row-1 { + grid-row: 1 / span 4; +} +.tiles-grid .tile-small.col-2 { + grid-column: 2 / span 1; +} +.tiles-grid .tile-medium.col-2 { + grid-column: 2 / span 2; +} +.tiles-grid .tile-wide.col-2 { + grid-column: 2 / span 4; +} +.tiles-grid .tile-large.col-2 { + grid-column: 2 / span 4; +} +.tiles-grid .tile-small.row-2 { + grid-row: 2 / span 1; +} +.tiles-grid .tile-medium.row-2 { + grid-row: 2 / span 2; +} +.tiles-grid .tile-wide.row-2 { + grid-row: 2 / span 4; +} +.tiles-grid .tile-large.row-2 { + grid-row: 2 / span 4; +} +.tiles-grid .tile-small.col-3 { + grid-column: 3 / span 1; +} +.tiles-grid .tile-medium.col-3 { + grid-column: 3 / span 2; +} +.tiles-grid .tile-wide.col-3 { + grid-column: 3 / span 4; +} +.tiles-grid .tile-large.col-3 { + grid-column: 3 / span 4; +} +.tiles-grid .tile-small.row-3 { + grid-row: 3 / span 1; +} +.tiles-grid .tile-medium.row-3 { + grid-row: 3 / span 2; +} +.tiles-grid .tile-wide.row-3 { + grid-row: 3 / span 4; +} +.tiles-grid .tile-large.row-3 { + grid-row: 3 / span 4; +} +.tiles-grid .tile-small.col-4 { + grid-column: 4 / span 1; +} +.tiles-grid .tile-medium.col-4 { + grid-column: 4 / span 2; +} +.tiles-grid .tile-wide.col-4 { + grid-column: 4 / span 4; +} +.tiles-grid .tile-large.col-4 { + grid-column: 4 / span 4; +} +.tiles-grid .tile-small.row-4 { + grid-row: 4 / span 1; +} +.tiles-grid .tile-medium.row-4 { + grid-row: 4 / span 2; +} +.tiles-grid .tile-wide.row-4 { + grid-row: 4 / span 4; +} +.tiles-grid .tile-large.row-4 { + grid-row: 4 / span 4; +} +.tiles-grid .tile-small.col-5 { + grid-column: 5 / span 1; +} +.tiles-grid .tile-medium.col-5 { + grid-column: 5 / span 2; +} +.tiles-grid .tile-wide.col-5 { + grid-column: 5 / span 4; +} +.tiles-grid .tile-large.col-5 { + grid-column: 5 / span 4; +} +.tiles-grid .tile-small.row-5 { + grid-row: 5 / span 1; +} +.tiles-grid .tile-medium.row-5 { + grid-row: 5 / span 2; +} +.tiles-grid .tile-wide.row-5 { + grid-row: 5 / span 4; +} +.tiles-grid .tile-large.row-5 { + grid-row: 5 / span 4; +} +.tiles-grid .tile-small.col-6 { + grid-column: 6 / span 1; +} +.tiles-grid .tile-medium.col-6 { + grid-column: 6 / span 2; +} +.tiles-grid .tile-wide.col-6 { + grid-column: 6 / span 4; +} +.tiles-grid .tile-large.col-6 { + grid-column: 6 / span 4; +} +.tiles-grid .tile-small.row-6 { + grid-row: 6 / span 1; +} +.tiles-grid .tile-medium.row-6 { + grid-row: 6 / span 2; +} +.tiles-grid .tile-wide.row-6 { + grid-row: 6 / span 4; +} +.tiles-grid .tile-large.row-6 { + grid-row: 6 / span 4; +} +.tiles-grid .tile-small.col-7 { + grid-column: 7 / span 1; +} +.tiles-grid .tile-medium.col-7 { + grid-column: 7 / span 2; +} +.tiles-grid .tile-wide.col-7 { + grid-column: 7 / span 4; +} +.tiles-grid .tile-large.col-7 { + grid-column: 7 / span 4; +} +.tiles-grid .tile-small.row-7 { + grid-row: 7 / span 1; +} +.tiles-grid .tile-medium.row-7 { + grid-row: 7 / span 2; +} +.tiles-grid .tile-wide.row-7 { + grid-row: 7 / span 4; +} +.tiles-grid .tile-large.row-7 { + grid-row: 7 / span 4; +} +.tiles-grid .tile-small.col-8 { + grid-column: 8 / span 1; +} +.tiles-grid .tile-medium.col-8 { + grid-column: 8 / span 2; +} +.tiles-grid .tile-wide.col-8 { + grid-column: 8 / span 4; +} +.tiles-grid .tile-large.col-8 { + grid-column: 8 / span 4; +} +.tiles-grid .tile-small.row-8 { + grid-row: 8 / span 1; +} +.tiles-grid .tile-medium.row-8 { + grid-row: 8 / span 2; +} +.tiles-grid .tile-wide.row-8 { + grid-row: 8 / span 4; +} +.tiles-grid .tile-large.row-8 { + grid-row: 8 / span 4; +} +.tiles-grid .tile-small.col-9 { + grid-column: 9 / span 1; +} +.tiles-grid .tile-medium.col-9 { + grid-column: 9 / span 2; +} +.tiles-grid .tile-wide.col-9 { + grid-column: 9 / span 4; +} +.tiles-grid .tile-large.col-9 { + grid-column: 9 / span 4; +} +.tiles-grid .tile-small.row-9 { + grid-row: 9 / span 1; +} +.tiles-grid .tile-medium.row-9 { + grid-row: 9 / span 2; +} +.tiles-grid .tile-wide.row-9 { + grid-row: 9 / span 4; +} +.tiles-grid .tile-large.row-9 { + grid-row: 9 / span 4; +} +.tiles-grid .tile-small.col-10 { + grid-column: 10 / span 1; +} +.tiles-grid .tile-medium.col-10 { + grid-column: 10 / span 2; +} +.tiles-grid .tile-wide.col-10 { + grid-column: 10 / span 4; +} +.tiles-grid .tile-large.col-10 { + grid-column: 10 / span 4; +} +.tiles-grid .tile-small.row-10 { + grid-row: 10 / span 1; +} +.tiles-grid .tile-medium.row-10 { + grid-row: 10 / span 2; +} +.tiles-grid .tile-wide.row-10 { + grid-row: 10 / span 4; +} +.tiles-grid .tile-large.row-10 { + grid-row: 10 / span 4; +} +.tiles-grid .tile-small.col-11 { + grid-column: 11 / span 1; +} +.tiles-grid .tile-medium.col-11 { + grid-column: 11 / span 2; +} +.tiles-grid .tile-wide.col-11 { + grid-column: 11 / span 4; +} +.tiles-grid .tile-large.col-11 { + grid-column: 11 / span 4; +} +.tiles-grid .tile-small.row-11 { + grid-row: 11 / span 1; +} +.tiles-grid .tile-medium.row-11 { + grid-row: 11 / span 2; +} +.tiles-grid .tile-wide.row-11 { + grid-row: 11 / span 4; +} +.tiles-grid .tile-large.row-11 { + grid-row: 11 / span 4; +} +.tiles-grid .tile-small.col-12 { + grid-column: 12 / span 1; +} +.tiles-grid .tile-medium.col-12 { + grid-column: 12 / span 2; +} +.tiles-grid .tile-wide.col-12 { + grid-column: 12 / span 4; +} +.tiles-grid .tile-large.col-12 { + grid-column: 12 / span 4; +} +.tiles-grid .tile-small.row-12 { + grid-row: 12 / span 1; +} +.tiles-grid .tile-medium.row-12 { + grid-row: 12 / span 2; +} +.tiles-grid .tile-wide.row-12 { + grid-row: 12 / span 4; +} +.tiles-grid .tile-large.row-12 { + grid-row: 12 / span 4; +} +.tiles-grid.size-half { + width: 50%; +} +.tiles-grid.size-1 { + width: 8.33333333%; +} +.tiles-grid.size-2 { + width: 16.66666667%; +} +.tiles-grid.size-3 { + width: 25%; +} +.tiles-grid.size-4 { + width: 33.33333333%; +} +.tiles-grid.size-5 { + width: 41.66666667%; +} +.tiles-grid.size-6 { + width: 50%; +} +.tiles-grid.size-7 { + width: 58.33333333%; +} +.tiles-grid.size-8 { + width: 66.66666667%; +} +.tiles-grid.size-9 { + width: 75%; +} +.tiles-grid.size-10 { + width: 83.33333333%; +} +.tiles-grid.size-11 { + width: 91.66666667%; +} +.tiles-grid.size-12 { + width: 100%; +} +@media screen and (min-width: 0) { + .tiles-grid .col-fs-1 { + grid-column: 1; + } + .tiles-grid .row-fs-1 { + grid-row: 1; + } + .tiles-grid .col-fs-2 { + grid-column: 2; + } + .tiles-grid .row-fs-2 { + grid-row: 2; + } + .tiles-grid .col-fs-3 { + grid-column: 3; + } + .tiles-grid .row-fs-3 { + grid-row: 3; + } + .tiles-grid .col-fs-4 { + grid-column: 4; + } + .tiles-grid .row-fs-4 { + grid-row: 4; + } + .tiles-grid .col-fs-5 { + grid-column: 5; + } + .tiles-grid .row-fs-5 { + grid-row: 5; + } + .tiles-grid .col-fs-6 { + grid-column: 6; + } + .tiles-grid .row-fs-6 { + grid-row: 6; + } + .tiles-grid .col-fs-7 { + grid-column: 7; + } + .tiles-grid .row-fs-7 { + grid-row: 7; + } + .tiles-grid .col-fs-8 { + grid-column: 8; + } + .tiles-grid .row-fs-8 { + grid-row: 8; + } + .tiles-grid .col-fs-9 { + grid-column: 9; + } + .tiles-grid .row-fs-9 { + grid-row: 9; + } + .tiles-grid .col-fs-10 { + grid-column: 10; + } + .tiles-grid .row-fs-10 { + grid-row: 10; + } + .tiles-grid .col-fs-11 { + grid-column: 11; + } + .tiles-grid .row-fs-11 { + grid-row: 11; + } + .tiles-grid .col-fs-12 { + grid-column: 12; + } + .tiles-grid .row-fs-12 { + grid-row: 12; + } + .tiles-grid.size-fs-1 { + width: 8.33333333%; + } + .tiles-grid.size-fs-2 { + width: 16.66666667%; + } + .tiles-grid.size-fs-3 { + width: 25%; + } + .tiles-grid.size-fs-4 { + width: 33.33333333%; + } + .tiles-grid.size-fs-5 { + width: 41.66666667%; + } + .tiles-grid.size-fs-6 { + width: 50%; + } + .tiles-grid.size-fs-7 { + width: 58.33333333%; + } + .tiles-grid.size-fs-8 { + width: 66.66666667%; + } + .tiles-grid.size-fs-9 { + width: 75%; + } + .tiles-grid.size-fs-10 { + width: 83.33333333%; + } + .tiles-grid.size-fs-11 { + width: 91.66666667%; + } + .tiles-grid.size-fs-12 { + width: 100%; + } +} +@media screen and (min-width: 576px) { + .tiles-grid .col-sm-1 { + grid-column: 1; + } + .tiles-grid .row-sm-1 { + grid-row: 1; + } + .tiles-grid .col-sm-2 { + grid-column: 2; + } + .tiles-grid .row-sm-2 { + grid-row: 2; + } + .tiles-grid .col-sm-3 { + grid-column: 3; + } + .tiles-grid .row-sm-3 { + grid-row: 3; + } + .tiles-grid .col-sm-4 { + grid-column: 4; + } + .tiles-grid .row-sm-4 { + grid-row: 4; + } + .tiles-grid .col-sm-5 { + grid-column: 5; + } + .tiles-grid .row-sm-5 { + grid-row: 5; + } + .tiles-grid .col-sm-6 { + grid-column: 6; + } + .tiles-grid .row-sm-6 { + grid-row: 6; + } + .tiles-grid .col-sm-7 { + grid-column: 7; + } + .tiles-grid .row-sm-7 { + grid-row: 7; + } + .tiles-grid .col-sm-8 { + grid-column: 8; + } + .tiles-grid .row-sm-8 { + grid-row: 8; + } + .tiles-grid .col-sm-9 { + grid-column: 9; + } + .tiles-grid .row-sm-9 { + grid-row: 9; + } + .tiles-grid .col-sm-10 { + grid-column: 10; + } + .tiles-grid .row-sm-10 { + grid-row: 10; + } + .tiles-grid .col-sm-11 { + grid-column: 11; + } + .tiles-grid .row-sm-11 { + grid-row: 11; + } + .tiles-grid .col-sm-12 { + grid-column: 12; + } + .tiles-grid .row-sm-12 { + grid-row: 12; + } + .tiles-grid.size-sm-1 { + width: 8.33333333%; + } + .tiles-grid.size-sm-2 { + width: 16.66666667%; + } + .tiles-grid.size-sm-3 { + width: 25%; + } + .tiles-grid.size-sm-4 { + width: 33.33333333%; + } + .tiles-grid.size-sm-5 { + width: 41.66666667%; + } + .tiles-grid.size-sm-6 { + width: 50%; + } + .tiles-grid.size-sm-7 { + width: 58.33333333%; + } + .tiles-grid.size-sm-8 { + width: 66.66666667%; + } + .tiles-grid.size-sm-9 { + width: 75%; + } + .tiles-grid.size-sm-10 { + width: 83.33333333%; + } + .tiles-grid.size-sm-11 { + width: 91.66666667%; + } + .tiles-grid.size-sm-12 { + width: 100%; + } +} +@media screen and (min-width: 768px) { + .tiles-grid .col-md-1 { + grid-column: 1; + } + .tiles-grid .row-md-1 { + grid-row: 1; + } + .tiles-grid .col-md-2 { + grid-column: 2; + } + .tiles-grid .row-md-2 { + grid-row: 2; + } + .tiles-grid .col-md-3 { + grid-column: 3; + } + .tiles-grid .row-md-3 { + grid-row: 3; + } + .tiles-grid .col-md-4 { + grid-column: 4; + } + .tiles-grid .row-md-4 { + grid-row: 4; + } + .tiles-grid .col-md-5 { + grid-column: 5; + } + .tiles-grid .row-md-5 { + grid-row: 5; + } + .tiles-grid .col-md-6 { + grid-column: 6; + } + .tiles-grid .row-md-6 { + grid-row: 6; + } + .tiles-grid .col-md-7 { + grid-column: 7; + } + .tiles-grid .row-md-7 { + grid-row: 7; + } + .tiles-grid .col-md-8 { + grid-column: 8; + } + .tiles-grid .row-md-8 { + grid-row: 8; + } + .tiles-grid .col-md-9 { + grid-column: 9; + } + .tiles-grid .row-md-9 { + grid-row: 9; + } + .tiles-grid .col-md-10 { + grid-column: 10; + } + .tiles-grid .row-md-10 { + grid-row: 10; + } + .tiles-grid .col-md-11 { + grid-column: 11; + } + .tiles-grid .row-md-11 { + grid-row: 11; + } + .tiles-grid .col-md-12 { + grid-column: 12; + } + .tiles-grid .row-md-12 { + grid-row: 12; + } + .tiles-grid.size-md-1 { + width: 8.33333333%; + } + .tiles-grid.size-md-2 { + width: 16.66666667%; + } + .tiles-grid.size-md-3 { + width: 25%; + } + .tiles-grid.size-md-4 { + width: 33.33333333%; + } + .tiles-grid.size-md-5 { + width: 41.66666667%; + } + .tiles-grid.size-md-6 { + width: 50%; + } + .tiles-grid.size-md-7 { + width: 58.33333333%; + } + .tiles-grid.size-md-8 { + width: 66.66666667%; + } + .tiles-grid.size-md-9 { + width: 75%; + } + .tiles-grid.size-md-10 { + width: 83.33333333%; + } + .tiles-grid.size-md-11 { + width: 91.66666667%; + } + .tiles-grid.size-md-12 { + width: 100%; + } +} +@media screen and (min-width: 992px) { + .tiles-grid .col-lg-1 { + grid-column: 1; + } + .tiles-grid .row-lg-1 { + grid-row: 1; + } + .tiles-grid .col-lg-2 { + grid-column: 2; + } + .tiles-grid .row-lg-2 { + grid-row: 2; + } + .tiles-grid .col-lg-3 { + grid-column: 3; + } + .tiles-grid .row-lg-3 { + grid-row: 3; + } + .tiles-grid .col-lg-4 { + grid-column: 4; + } + .tiles-grid .row-lg-4 { + grid-row: 4; + } + .tiles-grid .col-lg-5 { + grid-column: 5; + } + .tiles-grid .row-lg-5 { + grid-row: 5; + } + .tiles-grid .col-lg-6 { + grid-column: 6; + } + .tiles-grid .row-lg-6 { + grid-row: 6; + } + .tiles-grid .col-lg-7 { + grid-column: 7; + } + .tiles-grid .row-lg-7 { + grid-row: 7; + } + .tiles-grid .col-lg-8 { + grid-column: 8; + } + .tiles-grid .row-lg-8 { + grid-row: 8; + } + .tiles-grid .col-lg-9 { + grid-column: 9; + } + .tiles-grid .row-lg-9 { + grid-row: 9; + } + .tiles-grid .col-lg-10 { + grid-column: 10; + } + .tiles-grid .row-lg-10 { + grid-row: 10; + } + .tiles-grid .col-lg-11 { + grid-column: 11; + } + .tiles-grid .row-lg-11 { + grid-row: 11; + } + .tiles-grid .col-lg-12 { + grid-column: 12; + } + .tiles-grid .row-lg-12 { + grid-row: 12; + } + .tiles-grid.size-lg-1 { + width: 8.33333333%; + } + .tiles-grid.size-lg-2 { + width: 16.66666667%; + } + .tiles-grid.size-lg-3 { + width: 25%; + } + .tiles-grid.size-lg-4 { + width: 33.33333333%; + } + .tiles-grid.size-lg-5 { + width: 41.66666667%; + } + .tiles-grid.size-lg-6 { + width: 50%; + } + .tiles-grid.size-lg-7 { + width: 58.33333333%; + } + .tiles-grid.size-lg-8 { + width: 66.66666667%; + } + .tiles-grid.size-lg-9 { + width: 75%; + } + .tiles-grid.size-lg-10 { + width: 83.33333333%; + } + .tiles-grid.size-lg-11 { + width: 91.66666667%; + } + .tiles-grid.size-lg-12 { + width: 100%; + } +} +@media screen and (min-width: 1200px) { + .tiles-grid .col-xl-1 { + grid-column: 1; + } + .tiles-grid .row-xl-1 { + grid-row: 1; + } + .tiles-grid .col-xl-2 { + grid-column: 2; + } + .tiles-grid .row-xl-2 { + grid-row: 2; + } + .tiles-grid .col-xl-3 { + grid-column: 3; + } + .tiles-grid .row-xl-3 { + grid-row: 3; + } + .tiles-grid .col-xl-4 { + grid-column: 4; + } + .tiles-grid .row-xl-4 { + grid-row: 4; + } + .tiles-grid .col-xl-5 { + grid-column: 5; + } + .tiles-grid .row-xl-5 { + grid-row: 5; + } + .tiles-grid .col-xl-6 { + grid-column: 6; + } + .tiles-grid .row-xl-6 { + grid-row: 6; + } + .tiles-grid .col-xl-7 { + grid-column: 7; + } + .tiles-grid .row-xl-7 { + grid-row: 7; + } + .tiles-grid .col-xl-8 { + grid-column: 8; + } + .tiles-grid .row-xl-8 { + grid-row: 8; + } + .tiles-grid .col-xl-9 { + grid-column: 9; + } + .tiles-grid .row-xl-9 { + grid-row: 9; + } + .tiles-grid .col-xl-10 { + grid-column: 10; + } + .tiles-grid .row-xl-10 { + grid-row: 10; + } + .tiles-grid .col-xl-11 { + grid-column: 11; + } + .tiles-grid .row-xl-11 { + grid-row: 11; + } + .tiles-grid .col-xl-12 { + grid-column: 12; + } + .tiles-grid .row-xl-12 { + grid-row: 12; + } + .tiles-grid.size-xl-1 { + width: 8.33333333%; + } + .tiles-grid.size-xl-2 { + width: 16.66666667%; + } + .tiles-grid.size-xl-3 { + width: 25%; + } + .tiles-grid.size-xl-4 { + width: 33.33333333%; + } + .tiles-grid.size-xl-5 { + width: 41.66666667%; + } + .tiles-grid.size-xl-6 { + width: 50%; + } + .tiles-grid.size-xl-7 { + width: 58.33333333%; + } + .tiles-grid.size-xl-8 { + width: 66.66666667%; + } + .tiles-grid.size-xl-9 { + width: 75%; + } + .tiles-grid.size-xl-10 { + width: 83.33333333%; + } + .tiles-grid.size-xl-11 { + width: 91.66666667%; + } + .tiles-grid.size-xl-12 { + width: 100%; + } +} +@media screen and (min-width: 1452px) { + .tiles-grid .col-xxl-1 { + grid-column: 1; + } + .tiles-grid .row-xxl-1 { + grid-row: 1; + } + .tiles-grid .col-xxl-2 { + grid-column: 2; + } + .tiles-grid .row-xxl-2 { + grid-row: 2; + } + .tiles-grid .col-xxl-3 { + grid-column: 3; + } + .tiles-grid .row-xxl-3 { + grid-row: 3; + } + .tiles-grid .col-xxl-4 { + grid-column: 4; + } + .tiles-grid .row-xxl-4 { + grid-row: 4; + } + .tiles-grid .col-xxl-5 { + grid-column: 5; + } + .tiles-grid .row-xxl-5 { + grid-row: 5; + } + .tiles-grid .col-xxl-6 { + grid-column: 6; + } + .tiles-grid .row-xxl-6 { + grid-row: 6; + } + .tiles-grid .col-xxl-7 { + grid-column: 7; + } + .tiles-grid .row-xxl-7 { + grid-row: 7; + } + .tiles-grid .col-xxl-8 { + grid-column: 8; + } + .tiles-grid .row-xxl-8 { + grid-row: 8; + } + .tiles-grid .col-xxl-9 { + grid-column: 9; + } + .tiles-grid .row-xxl-9 { + grid-row: 9; + } + .tiles-grid .col-xxl-10 { + grid-column: 10; + } + .tiles-grid .row-xxl-10 { + grid-row: 10; + } + .tiles-grid .col-xxl-11 { + grid-column: 11; + } + .tiles-grid .row-xxl-11 { + grid-row: 11; + } + .tiles-grid .col-xxl-12 { + grid-column: 12; + } + .tiles-grid .row-xxl-12 { + grid-row: 12; + } + .tiles-grid.size-xxl-1 { + width: 8.33333333%; + } + .tiles-grid.size-xxl-2 { + width: 16.66666667%; + } + .tiles-grid.size-xxl-3 { + width: 25%; + } + .tiles-grid.size-xxl-4 { + width: 33.33333333%; + } + .tiles-grid.size-xxl-5 { + width: 41.66666667%; + } + .tiles-grid.size-xxl-6 { + width: 50%; + } + .tiles-grid.size-xxl-7 { + width: 58.33333333%; + } + .tiles-grid.size-xxl-8 { + width: 66.66666667%; + } + .tiles-grid.size-xxl-9 { + width: 75%; + } + .tiles-grid.size-xxl-10 { + width: 83.33333333%; + } + .tiles-grid.size-xxl-11 { + width: 91.66666667%; + } + .tiles-grid.size-xxl-12 { + width: 100%; + } +} +.tiles-group { + width: 100%; + float: left; + overflow: visible; +} +.tiles-group::before { + content: attr(data-group-title); + display: block; + position: absolute; + left: 0; + top: -36px; + height: 1.5em; + line-height: 1.5em; + z-index: 1; + color: inherit; +} +[class*=tile-].image-set { + background-size: contain; + background-position: center; +} +[class*=tile-].image-set .img { + width: 25%; + height: 50%; + display: block; + float: left; + border: 1px solid #1d1d1d; + background-size: cover; +} +[class*=tile-].image-set .img:nth-child(1) { + width: 50%; + height: 100%; +} +[class*=tile-] .slide { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + display: block; +} +[class*=tile-] [class*=slide-] { + width: 100%; + height: 100%; + position: absolute; + transition: all 0.3s ease-in-out; +} +[class*=tile-] .slide-front { + top: 0; + left: 0; +} +[class*=tile-].effect-hover-slide-up .slide-back, +[class*=tile-].effect-hover-zoom-up .slide-back { + top: 100%; + left: 0; +} +[class*=tile-].effect-hover-slide-up:hover .slide-front, +[class*=tile-].effect-hover-zoom-up:hover .slide-front { + transform: translateY(-100%); +} +[class*=tile-].effect-hover-slide-up:hover .slide-back, +[class*=tile-].effect-hover-zoom-up:hover .slide-back { + top: 0; +} +[class*=tile-].effect-hover-slide-down .slide-back, +[class*=tile-].effect-hover-zoom-down .slide-back { + top: 0; + left: 0; + transform: translateY(-100%); +} +[class*=tile-].effect-hover-slide-down:hover .slide-front, +[class*=tile-].effect-hover-zoom-down:hover .slide-front { + top: 100%; +} +[class*=tile-].effect-hover-slide-down:hover .slide-back, +[class*=tile-].effect-hover-zoom-down:hover .slide-back { + transform: translateY(0); +} +[class*=tile-].effect-hover-slide-left .slide-back, +[class*=tile-].effect-hover-zoom-left .slide-back { + top: 0; + left: 100%; +} +[class*=tile-].effect-hover-slide-left:hover .slide-front, +[class*=tile-].effect-hover-zoom-left:hover .slide-front { + transform: translateX(-100%); +} +[class*=tile-].effect-hover-slide-left:hover .slide-back, +[class*=tile-].effect-hover-zoom-left:hover .slide-back { + left: 0; +} +[class*=tile-].effect-hover-slide-right .slide-back, +[class*=tile-].effect-hover-zoom-right .slide-back { + top: 0; + left: 0; + transform: translateX(-100%); +} +[class*=tile-].effect-hover-slide-right:hover .slide-front, +[class*=tile-].effect-hover-zoom-right:hover .slide-front { + left: 100%; +} +[class*=tile-].effect-hover-slide-right:hover .slide-back, +[class*=tile-].effect-hover-zoom-right:hover .slide-back { + transform: translateX(0); +} +[class*=tile-].effect-hover-zoom-up:hover .slide-front, +[class*=tile-].effect-hover-zoom-down:hover .slide-front, +[class*=tile-].effect-hover-zoom-left:hover .slide-front, +[class*=tile-].effect-hover-zoom-right:hover .slide-front { + left: 0; + top: 0; + transform: scale(2); +} diff --git a/modules/tile/tile.js b/modules/tile/tile.js index dd0fa2b..8a52a73 100644 --- a/modules/tile/tile.js +++ b/modules/tile/tile.js @@ -1,845 +1,853 @@ -/* global Colors */ -var TileDefaultConfig = { - tileDeferred: 0, - size: "medium", - cover: "", - coverPosition: "center", - effect: "", - effectInterval: 3000, - effectDuration: 500, - target: null, - canTransform: true, - onClick: () => {}, - onTileCreate: () => {}, -}; - -var METRO_THROWS = true; -var GRID_GAP = 5; - -if(typeof isekai == 'undefined'){ - var isekai = {}; -} - -isekai.tile = {}; - -isekai.tile.setup = function (options) { - TileDefaultConfig = jQuery.extend({}, TileDefaultConfig, options); -}; - -isekai.tile.init = function () { - -}; - -(function($){ - function rand(min, max) { // min and max included - return Math.floor(Math.random() * (max - min + 1) + min) - } - - var Utils = { - isValue: function(val){ - return val !== undefined && val !== null && val !== ""; - }, - - isUrl: function (val) { - /* eslint-disable-next-line */ - return /^(\.\/|\.\.\/|ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@\-\/]))?/.test(val); - }, - - isTag: function(val){ - /* eslint-disable-next-line */ - return /^<\/?[\w\s="/.':;#-\/\?]+>/gi.test(val); - }, - - isType: function(o, t){ - if (!Utils.isValue(o)) { - return false; - } - - if (typeof o === t) { - return o; - } - - if (Utils.isTag(o) || Utils.isUrl(o)) { - return false; - } - - if (typeof window[o] === t) { - return window[o]; - } - - if (typeof o === 'string' && o.indexOf(".") === -1) { - return false; - } - - if (typeof o === 'string' && o.indexOf("/") !== -1) { - return false; - } - - if (typeof o === 'string' && o.indexOf(" ") !== -1) { - return false; - } - - if (typeof o === 'string' && o.indexOf("(") !== -1) { - return false; - } - - if (typeof o === 'string' && o.indexOf("[") !== -1) { - return false; - } - - if (typeof o === "number" && t.toLowerCase() !== "number") { - return false; - } - - var ns = o.split("."); - var i, context = window; - - for(i = 0; i < ns.length; i++) { - context = context[ns[i]]; - } - - return typeof context === t ? context : false; - }, - - isFunc: function(f){ - return Utils.isType(f, 'function'); - }, - - /** - * - * @param {TouchEvent|Event|MouseEvent} e - * @returns {{x: (*), y: (*)}} - */ - pageXY: function(e){ - return { - x: e.changedTouches ? e.changedTouches[0].pageX : e.pageX, - y: e.changedTouches ? e.changedTouches[0].pageY : e.pageY - }; - }, - - isRightMouse: function(e){ - return "which" in e ? e.which === 3 : "button" in e ? e.button === 2 : undefined; - }, - - func: function(f){ - /* jshint -W054 */ - return new Function("a", f); - }, - - exec: function(f, args, context){ - var result; - if (f === undefined || f === null) {return false;} - var func = Utils.isFunc(f); - - if (func === false) { - func = Utils.func(f); - } - - try { - result = func.apply(context, args); - } catch (err) { - result = null; - if (METRO_THROWS === true) { - throw err; - } - } - return result; - }, - }; - - var FrameAnimation = { - duration: 100, - func: "linear", - - switch: function(current, next){ - current.hide(); - next.css({top: 0, left: 0}).show(); - }, - - slideUp: function(current, next, duration, func){ - var h = current.parent().outerHeight(true); - if (duration === undefined) {duration = this.duration;} - if (func === undefined) {func = this.func;} - - current - .css("z-index", 1) - .animate({ - draw: { - top: -h, - opacity: 0 - }, - dur: duration, - ease: func - }); - - next - .css({ - top: h, - left: 0, - zIndex: 2 - }) - .animate({ - draw: { - top: 0, - opacity: 1 - }, - dur: duration, - ease: func - }); - }, - - slideDown: function(current, next, duration, func){ - var h = current.parent().outerHeight(true); - if (duration === undefined) {duration = this.duration;} - if (func === undefined) {func = this.func;} - - current - .css("z-index", 1) - .animate({ - draw: { - top: h, - opacity: 0 - }, - dur: duration, - ease: func - }); - - next - .css({ - left: 0, - top: -h, - zIndex: 2 - }) - .animate({ - draw: { - top: 0, - opacity: 1 - }, - dur: duration, - ease: func - }); - }, - - slideLeft: function(current, next, duration, func){ - var w = current.parent().outerWidth(true); - if (duration === undefined) {duration = this.duration;} - if (func === undefined) {func = this.func;} - current - .css("z-index", 1) - .animate({ - draw: { - left: -w, - opacity: 0 - }, - dur: duration, - ease: func - }); - - next - .css({ - left: w, - zIndex: 2 - }) - .animate({ - draw: { - left: 0, - opacity: 1 - }, - dur: duration, - ease: func - }); - }, - - slideRight: function(current, next, duration, func){ - var w = current.parent().outerWidth(true); - if (duration === undefined) {duration = this.duration;} - if (func === undefined) {func = this.func;} - - current - .css("z-index", 1) - .animate({ - draw: { - left: w, - opacity: 0 - }, - dur: duration, - ease: func - }); - - next - .css({ - left: -w, - zIndex: 2 - }) - .animate({ - draw: { - left: 0, - opacity: 1 - }, - dur: duration, - ease: func - }); - }, - - fade: function(current, next, duration){ - if (duration === undefined) {duration = this.duration;} - - current - .animate({ - draw: { - opacity: 0 - }, - dur: duration - }); - - next - .css({ - top: 0, - left: 0, - opacity: 0 - }) - .animate({ - draw: { - opacity: 1 - }, - dur: duration - }); - } - }; - - var Colors = { - PALETTES: { - ALL: "colorList", - METRO: "colorListMetro", - STANDARD: "colorListStandard" - }, - - colorListMetro: { - lime: '#a4c400', - green: '#60a917', - emerald: '#008a00', - blue: '#00AFF0', - teal: '#00aba9', - cyan: '#1ba1e2', - cobalt: '#0050ef', - indigo: '#6a00ff', - violet: '#aa00ff', - pink: '#dc4fad', - magenta: '#d80073', - crimson: '#a20025', - red: '#CE352C', - orange: '#fa6800', - amber: '#f0a30a', - yellow: '#fff000', - brown: '#825a2c', - olive: '#6d8764', - steel: '#647687', - mauve: '#76608a', - taupe: '#87794e' - }, - - colorListStandard: { - aliceBlue: "#f0f8ff", - antiqueWhite: "#faebd7", - aqua: "#00ffff", - aquamarine: "#7fffd4", - azure: "#f0ffff", - beige: "#f5f5dc", - bisque: "#ffe4c4", - black: "#000000", - blanchedAlmond: "#ffebcd", - blue: "#0000ff", - blueViolet: "#8a2be2", - brown: "#a52a2a", - burlyWood: "#deb887", - cadetBlue: "#5f9ea0", - chartreuse: "#7fff00", - chocolate: "#d2691e", - coral: "#ff7f50", - cornflowerBlue: "#6495ed", - cornsilk: "#fff8dc", - crimson: "#dc143c", - cyan: "#00ffff", - darkBlue: "#00008b", - darkCyan: "#008b8b", - darkGoldenRod: "#b8860b", - darkGray: "#a9a9a9", - darkGreen: "#006400", - darkKhaki: "#bdb76b", - darkMagenta: "#8b008b", - darkOliveGreen: "#556b2f", - darkOrange: "#ff8c00", - darkOrchid: "#9932cc", - darkRed: "#8b0000", - darkSalmon: "#e9967a", - darkSeaGreen: "#8fbc8f", - darkSlateBlue: "#483d8b", - darkSlateGray: "#2f4f4f", - darkTurquoise: "#00ced1", - darkViolet: "#9400d3", - deepPink: "#ff1493", - deepSkyBlue: "#00bfff", - dimGray: "#696969", - dodgerBlue: "#1e90ff", - fireBrick: "#b22222", - floralWhite: "#fffaf0", - forestGreen: "#228b22", - fuchsia: "#ff00ff", - gainsboro: "#DCDCDC", - ghostWhite: "#F8F8FF", - gold: "#ffd700", - goldenRod: "#daa520", - gray: "#808080", - green: "#008000", - greenYellow: "#adff2f", - honeyDew: "#f0fff0", - hotPink: "#ff69b4", - indianRed: "#cd5c5c", - indigo: "#4b0082", - ivory: "#fffff0", - khaki: "#f0e68c", - lavender: "#e6e6fa", - lavenderBlush: "#fff0f5", - lawnGreen: "#7cfc00", - lemonChiffon: "#fffacd", - lightBlue: "#add8e6", - lightCoral: "#f08080", - lightCyan: "#e0ffff", - lightGoldenRodYellow: "#fafad2", - lightGray: "#d3d3d3", - lightGreen: "#90ee90", - lightPink: "#ffb6c1", - lightSalmon: "#ffa07a", - lightSeaGreen: "#20b2aa", - lightSkyBlue: "#87cefa", - lightSlateGray: "#778899", - lightSteelBlue: "#b0c4de", - lightYellow: "#ffffe0", - lime: "#00ff00", - limeGreen: "#32dc32", - linen: "#faf0e6", - magenta: "#ff00ff", - maroon: "#800000", - mediumAquaMarine: "#66cdaa", - mediumBlue: "#0000cd", - mediumOrchid: "#ba55d3", - mediumPurple: "#9370db", - mediumSeaGreen: "#3cb371", - mediumSlateBlue: "#7b68ee", - mediumSpringGreen: "#00fa9a", - mediumTurquoise: "#48d1cc", - mediumVioletRed: "#c71585", - midnightBlue: "#191970", - mintCream: "#f5fffa", - mistyRose: "#ffe4e1", - moccasin: "#ffe4b5", - navajoWhite: "#ffdead", - navy: "#000080", - oldLace: "#fdd5e6", - olive: "#808000", - oliveDrab: "#6b8e23", - orange: "#ffa500", - orangeRed: "#ff4500", - orchid: "#da70d6", - paleGoldenRod: "#eee8aa", - paleGreen: "#98fb98", - paleTurquoise: "#afeeee", - paleVioletRed: "#db7093", - papayaWhip: "#ffefd5", - peachPuff: "#ffdab9", - peru: "#cd853f", - pink: "#ffc0cb", - plum: "#dda0dd", - powderBlue: "#b0e0e6", - purple: "#800080", - rebeccaPurple: "#663399", - red: "#ff0000", - rosyBrown: "#bc8f8f", - royalBlue: "#4169e1", - saddleBrown: "#8b4513", - salmon: "#fa8072", - sandyBrown: "#f4a460", - seaGreen: "#2e8b57", - seaShell: "#fff5ee", - sienna: "#a0522d", - silver: "#c0c0c0", - slyBlue: "#87ceeb", - slateBlue: "#6a5acd", - slateGray: "#708090", - snow: "#fffafa", - springGreen: "#00ff7f", - steelBlue: "#4682b4", - tan: "#d2b48c", - teal: "#008080", - thistle: "#d8bfd8", - tomato: "#ff6347", - turquoise: "#40e0d0", - violet: "#ee82ee", - wheat: "#f5deb3", - white: "#ffffff", - whiteSmoke: "#f5f5f5", - yellow: "#ffff00", - yellowGreen: "#9acd32" - }, - - colorList: {}, - - colors: function(palette){ - var c = []; - palette = palette || this.PALETTES.ALL; - $.each(this[palette], function(){ - c.push(this); - }); - return c; - }, - } - - function Tile(options, element){ - this.init = function(options, element) { - this.effectInterval = false; - this.images = []; - this.slides = []; - this.currentSlide = -1; - this.options = $.extend({}, TileDefaultConfig, options); - this.element = element; - this.hasIcon = false; - this.hasBranding = false; - - this._fixSizeCallback = this.resize.bind(this); - - this._create(); - }; - - this._create = function(){ - this._createTile(); - this._createEvents(); - - this.element.trigger("tilecreate"); - }; - - this._createTile = function(){ - function switchImage(el, img_src, i){ - $.setTimeout(function(){ - el.fadeOut(500, function(){ - el.css("background-image", "url(" + img_src + ")"); - el.fadeIn(); - }); - }, i * 300); - } - - var that = this, element = this.element, o = this.options; - var slides = element.find(".slide"); - var slides2 = element.find(".slide-front, .slide-back"); - - element.addClass("tile-" + o.size); - - if(element.find('.icon').length > 0){ - this.hasIcon = true; - } - - if(element.find('.branding-bar')){ - this.hasBranding = true; - } - - if (o.effect.indexOf("hover-") > -1) { - element.addClass("effect-" + o.effect); - $.each(slides2, function(){ - var slide = $(this); - - if (slide.data("cover") !== undefined) { - that._setCover(slide, slide.data("cover"), slide.data("cover-position")); - } - }) - } - - if (o.effect.indexOf("animate-") > -1 && slides.length > 1) { - $.each(slides, function(i){ - var slide = $(this); - - that.slides.push(this); - - if (slide.data("cover") !== undefined) { - this._setCover(slide, slide.data("cover"), slide.data("cover-position")); - } - - if (i > 0) { - if (["animate-slide-up", "animate-slide-down"].indexOf(o.effect) > -1) slide.css("top", "100%"); - if (["animate-slide-left", "animate-slide-right"].indexOf(o.effect) > -1) slide.css("left", "100%"); - if (["animate-fade"].indexOf(o.effect) > -1) slide.css("opacity", 0); - } - }); - - this.currentSlide = 0; - - this._runEffects(); - } - - if (o.cover !== "") { - this._setCover(element, o.cover); - } - - if (o.effect === "image-set") { - element.addClass("image-set"); - - $.each(element.children("img"), function(){ - that.images.push(this); - $(this).remove(); - }); - - var temp = this.images.slice(); - - for(var i = 0; i < 5; i++) { - var rnd_index = rand(0, temp.length - 1); - var div = $("<div>").addClass("img -js-img-"+i).css("background-image", "url("+temp[rnd_index].src+")"); - element.prepend(div); - temp.splice(rnd_index, 1); - } - - var a = [0, 1, 4, 3, 2]; - - $.setInterval(function(){ - var temp = that.images.slice(); - var colors = Colors.colors(Colors.PALETTES.ALL), bg; - bg = colors[rand(0, colors.length - 1)]; - - element.css("background-color", bg); - - for(var i = 0; i < a.length; i++) { - var rnd_index = rand(0, temp.length - 1); - var div = element.find(".-js-img-"+a[i]); - switchImage(div, temp[rnd_index].src, i); - temp.splice(rnd_index, 1); - } - - a = a.reverse(); - }, 5000); - } - }; - - this._runEffects = function(){ - var o = this.options; - - if (this.effectInterval === false) this.effectInterval = $.setInterval(function(){ - var current, next; - - current = $(this.slides[this.currentSlide]); - - this.currentSlide++; - if (this.currentSlide === this.slides.length) { - this.currentSlide = 0; - } - - next = this.slides[this.currentSlide]; - - if (o.effect === "animate-slide-up") FrameAnimation.slideUp($(current), $(next), o.effectDuration); - if (o.effect === "animate-slide-down") FrameAnimation.slideDown($(current), $(next), o.effectDuration); - if (o.effect === "animate-slide-left") FrameAnimation.slideLeft($(current), $(next), o.effectDuration); - if (o.effect === "animate-slide-right") FrameAnimation.slideRight($(current), $(next), o.effectDuration); - if (o.effect === "animate-fade") FrameAnimation.fade($(current), $(next), o.effectDuration); - - }, o.effectInterval); - }; - - this._stopEffects = function(){ - $.clearInterval(this.effectInterval); - this.effectInterval = false; - }; - - this.resize = function(){ - var ratio = 1; - var padding = 0; - var grid = this.element.parent('.tiles-grid'); - var gridWidth = 0; - if(grid.length > 0){ - gridWidth = grid.width(); - } - - if(this.options.size == 'wide'){ - ratio = 0.5; - } - - //修正长宽比 - var height = this.element.width() * ratio - padding; - //this.element.height(height); - - if(this.hasIcon){ - var fontSize = height * 0.33; - var iconDom = this.element.find('.icon'); - iconDom.css('font-size', fontSize + 'px'); - - if(this.hasBranding){ //计算与标签的重叠 - var iconBottom = (height + fontSize) / 2; - - var brandingTop = height - this.element.find('.branding-bar').outerHeight(); - var overlap = iconBottom - brandingTop + (height * 0.1); - if(overlap > 0){ - iconDom.css('padding-bottom', overlap + 'px'); - } - } - } - } - - this._setCover = function(to, src, pos){ - if (!Utils.isValue(pos)) { - pos = this.options.coverPosition; - } - to.css({ - backgroundImage: "url("+src+")", - backgroundSize: "cover", - backgroundRepeat: "no-repeat", - backgroundPosition: pos - }); - }; - - this._createEvents = function(){ - var element = this.element, o = this.options; - - element.on('mousedown touchstart', function(e){ - var tile = $(this); - var dim = {w: element.width(), h: element.height()}; - var X = Utils.pageXY(e).x - tile.offset().left, - Y = Utils.pageXY(e).y - tile.offset().top; - var side; - - if (Utils.isRightMouse(e) === false) { - - if (X < dim.w * 1 / 3 && (Y < dim.h * 1 / 2 || Y > dim.h * 1 / 2)) { - side = 'left'; - } else if (X > dim.w * 2 / 3 && (Y < dim.h * 1 / 2 || Y > dim.h * 1 / 2)) { - side = 'right'; - } else if (X > dim.w * 1 / 3 && X < dim.w * 2 / 3 && Y > dim.h / 2) { - side = 'bottom'; - } else { - side = "top"; - } - - if (o.canTransform === true) tile.addClass("transform-" + side); - - if (o.target !== null) { - setTimeout(function(){ - document.location.href = o.target; - }, 100); - } - - Utils.exec(o.onClick, [side], element[0]); - element.trigger("click", { - side: side - }); - } - }); - - element.on('mouseup touchend mouseleave', function(){ - $(this) - .removeClass("transform-left") - .removeClass("transform-right") - .removeClass("transform-top") - .removeClass("transform-bottom"); - }); - - $(window).on('resize', this._fixSizeCallback); - $(this._fixSizeCallback); - }; - - this.destroy = function(){ - var element = this.element; - - element.off('mousedown touchstart'); - - element.off('mouseup touchend mouseleave'); - - $(window).off('resize', this._fixSizeCallback); - - this._stopEffects(); - }; - - this.init(options, element); - }; - - function getElementOptions(element){ - var options = {}; - $.each(element[0].attributes, function (index, attribute){ - if(attribute.name.startsWith('data-')){ - options[attribute.name.substr(5)] = attribute.value; - } - }); - - return options; - } - - $.fn.extend({ - tile: function(action, ...args){ - var result; - this.each(function(){ - var element = $(this); - if(element.attr('data-role') !== 'tile'){ - throw new Error('This element isn\'t a tile element'); - } - - var tileObj = element.data('tile'); - if(action == 'init'){ - if(tileObj){ - throw new Error('Tile already inited.'); - } - - var options = args[0] || {}; - options = $.extend({}, options, getElementOptions(element)); - tileObj = new Tile(options, element); - element.data('tile', tileObj); - } else { - if(!tileObj){ - throw new Error('Tile not inited.'); - } - - if(!tileObj[action]){ - throw new Error('Method: ' + action + ' not exists.'); - } - - result = tileObj[action].apply(tileObj, ...args); - } - }); - - if(result == undefined){ - return this; - } else { - return result; - } - } - }); - - function resizeGrid(){ - $('.tiles-grid').each(function(){ - var dom = $(this); - var width = dom.width(); - var gridSize = width / 4 - GRID_GAP; - dom.css({ - gridTemplateColumns: 'repeat(4, ' + gridSize + 'px)', - gridAutoRows: gridSize + 'px', - }); - }); - } - - $('*[data-role="tile"]').tile('init'); - $(window).resize(resizeGrid); - $(resizeGrid); - - function onCollapseDivChange(mutationsList){ - mutationsList.forEach((item) => { - if(item.type == 'attributes' && item.attributeName == 'class'){ - $('*[data-role="tile"]').tile('resize'); - resizeGrid(); - } - }); - } - - if($('body').hasClass('skin-minerva')){ - $('#mw-content-text .collapsible-block').each(function(){ - var dom = $(this); - if(dom.find('*[data-role="tile"]').length > 0){ //存在tile,监听这个dom - var observer = new MutationObserver(onCollapseDivChange); - observer.observe(dom[0], { - attributes: true, - }); - } - }); - } +/* global Colors */ +var TileDefaultConfig = { + tileDeferred: 0, + size: "medium", + cover: "", + coverPosition: "center", + effect: "", + effectInterval: 3000, + effectDuration: 500, + target: null, + canTransform: true, + onClick: () => {}, + onTileCreate: () => {}, +}; + +var METRO_THROWS = true; +var GRID_GAP = 5; + +if(typeof isekai == 'undefined'){ + var isekai = {}; +} + +isekai.tile = {}; + +isekai.tile.setup = function (options) { + TileDefaultConfig = jQuery.extend({}, TileDefaultConfig, options); +}; + +isekai.tile.init = function () { + +}; + +(function($){ + function rand(min, max) { // min and max included + return Math.floor(Math.random() * (max - min + 1) + min) + } + + var Utils = { + isValue: function(val){ + return val !== undefined && val !== null && val !== ""; + }, + + isUrl: function (val) { + /* eslint-disable-next-line */ + return /^(\.\/|\.\.\/|ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@\-\/]))?/.test(val); + }, + + isTag: function(val){ + /* eslint-disable-next-line */ + return /^<\/?[\w\s="/.':;#-\/\?]+>/gi.test(val); + }, + + isType: function(o, t){ + if (!Utils.isValue(o)) { + return false; + } + + if (typeof o === t) { + return o; + } + + if (Utils.isTag(o) || Utils.isUrl(o)) { + return false; + } + + if (typeof window[o] === t) { + return window[o]; + } + + if (typeof o === 'string' && o.indexOf(".") === -1) { + return false; + } + + if (typeof o === 'string' && o.indexOf("/") !== -1) { + return false; + } + + if (typeof o === 'string' && o.indexOf(" ") !== -1) { + return false; + } + + if (typeof o === 'string' && o.indexOf("(") !== -1) { + return false; + } + + if (typeof o === 'string' && o.indexOf("[") !== -1) { + return false; + } + + if (typeof o === "number" && t.toLowerCase() !== "number") { + return false; + } + + var ns = o.split("."); + var i, context = window; + + for(i = 0; i < ns.length; i++) { + context = context[ns[i]]; + } + + return typeof context === t ? context : false; + }, + + isFunc: function(f){ + return Utils.isType(f, 'function'); + }, + + /** + * + * @param {TouchEvent|Event|MouseEvent} e + * @returns {{x: (*), y: (*)}} + */ + pageXY: function(e){ + return { + x: e.changedTouches ? e.changedTouches[0].pageX : e.pageX, + y: e.changedTouches ? e.changedTouches[0].pageY : e.pageY + }; + }, + + isRightMouse: function(e){ + return "which" in e ? e.which === 3 : "button" in e ? e.button === 2 : undefined; + }, + + func: function(f){ + /* jshint -W054 */ + return new Function("a", f); + }, + + exec: function(f, args, context){ + var result; + if (f === undefined || f === null) {return false;} + var func = Utils.isFunc(f); + + if (func === false) { + func = Utils.func(f); + } + + try { + result = func.apply(context, args); + } catch (err) { + result = null; + if (METRO_THROWS === true) { + throw err; + } + } + return result; + }, + }; + + var FrameAnimation = { + duration: 100, + func: "linear", + + switch: function(current, next){ + current.hide(); + next.css({top: 0, left: 0}).show(); + }, + + slideUp: function(current, next, duration, func){ + var h = current.parent().outerHeight(true); + if (duration === undefined) {duration = this.duration;} + if (func === undefined) {func = this.func;} + + current + .css("z-index", 1) + .animate({ + draw: { + top: -h, + opacity: 0 + }, + dur: duration, + ease: func + }); + + next + .css({ + top: h, + left: 0, + zIndex: 2 + }) + .animate({ + draw: { + top: 0, + opacity: 1 + }, + dur: duration, + ease: func + }); + }, + + slideDown: function(current, next, duration, func){ + var h = current.parent().outerHeight(true); + if (duration === undefined) {duration = this.duration;} + if (func === undefined) {func = this.func;} + + current + .css("z-index", 1) + .animate({ + draw: { + top: h, + opacity: 0 + }, + dur: duration, + ease: func + }); + + next + .css({ + left: 0, + top: -h, + zIndex: 2 + }) + .animate({ + draw: { + top: 0, + opacity: 1 + }, + dur: duration, + ease: func + }); + }, + + slideLeft: function(current, next, duration, func){ + var w = current.parent().outerWidth(true); + if (duration === undefined) {duration = this.duration;} + if (func === undefined) {func = this.func;} + current + .css("z-index", 1) + .animate({ + draw: { + left: -w, + opacity: 0 + }, + dur: duration, + ease: func + }); + + next + .css({ + left: w, + zIndex: 2 + }) + .animate({ + draw: { + left: 0, + opacity: 1 + }, + dur: duration, + ease: func + }); + }, + + slideRight: function(current, next, duration, func){ + var w = current.parent().outerWidth(true); + if (duration === undefined) {duration = this.duration;} + if (func === undefined) {func = this.func;} + + current + .css("z-index", 1) + .animate({ + draw: { + left: w, + opacity: 0 + }, + dur: duration, + ease: func + }); + + next + .css({ + left: -w, + zIndex: 2 + }) + .animate({ + draw: { + left: 0, + opacity: 1 + }, + dur: duration, + ease: func + }); + }, + + fade: function(current, next, duration){ + if (duration === undefined) {duration = this.duration;} + + current + .animate({ + draw: { + opacity: 0 + }, + dur: duration + }); + + next + .css({ + top: 0, + left: 0, + opacity: 0 + }) + .animate({ + draw: { + opacity: 1 + }, + dur: duration + }); + } + }; + + var Colors = { + PALETTES: { + ALL: "colorList", + METRO: "colorListMetro", + STANDARD: "colorListStandard" + }, + + colorListMetro: { + lime: '#a4c400', + green: '#60a917', + emerald: '#008a00', + blue: '#00AFF0', + teal: '#00aba9', + cyan: '#1ba1e2', + cobalt: '#0050ef', + indigo: '#6a00ff', + violet: '#aa00ff', + pink: '#dc4fad', + magenta: '#d80073', + crimson: '#a20025', + red: '#CE352C', + orange: '#fa6800', + amber: '#f0a30a', + yellow: '#fff000', + brown: '#825a2c', + olive: '#6d8764', + steel: '#647687', + mauve: '#76608a', + taupe: '#87794e' + }, + + colorListStandard: { + aliceBlue: "#f0f8ff", + antiqueWhite: "#faebd7", + aqua: "#00ffff", + aquamarine: "#7fffd4", + azure: "#f0ffff", + beige: "#f5f5dc", + bisque: "#ffe4c4", + black: "#000000", + blanchedAlmond: "#ffebcd", + blue: "#0000ff", + blueViolet: "#8a2be2", + brown: "#a52a2a", + burlyWood: "#deb887", + cadetBlue: "#5f9ea0", + chartreuse: "#7fff00", + chocolate: "#d2691e", + coral: "#ff7f50", + cornflowerBlue: "#6495ed", + cornsilk: "#fff8dc", + crimson: "#dc143c", + cyan: "#00ffff", + darkBlue: "#00008b", + darkCyan: "#008b8b", + darkGoldenRod: "#b8860b", + darkGray: "#a9a9a9", + darkGreen: "#006400", + darkKhaki: "#bdb76b", + darkMagenta: "#8b008b", + darkOliveGreen: "#556b2f", + darkOrange: "#ff8c00", + darkOrchid: "#9932cc", + darkRed: "#8b0000", + darkSalmon: "#e9967a", + darkSeaGreen: "#8fbc8f", + darkSlateBlue: "#483d8b", + darkSlateGray: "#2f4f4f", + darkTurquoise: "#00ced1", + darkViolet: "#9400d3", + deepPink: "#ff1493", + deepSkyBlue: "#00bfff", + dimGray: "#696969", + dodgerBlue: "#1e90ff", + fireBrick: "#b22222", + floralWhite: "#fffaf0", + forestGreen: "#228b22", + fuchsia: "#ff00ff", + gainsboro: "#DCDCDC", + ghostWhite: "#F8F8FF", + gold: "#ffd700", + goldenRod: "#daa520", + gray: "#808080", + green: "#008000", + greenYellow: "#adff2f", + honeyDew: "#f0fff0", + hotPink: "#ff69b4", + indianRed: "#cd5c5c", + indigo: "#4b0082", + ivory: "#fffff0", + khaki: "#f0e68c", + lavender: "#e6e6fa", + lavenderBlush: "#fff0f5", + lawnGreen: "#7cfc00", + lemonChiffon: "#fffacd", + lightBlue: "#add8e6", + lightCoral: "#f08080", + lightCyan: "#e0ffff", + lightGoldenRodYellow: "#fafad2", + lightGray: "#d3d3d3", + lightGreen: "#90ee90", + lightPink: "#ffb6c1", + lightSalmon: "#ffa07a", + lightSeaGreen: "#20b2aa", + lightSkyBlue: "#87cefa", + lightSlateGray: "#778899", + lightSteelBlue: "#b0c4de", + lightYellow: "#ffffe0", + lime: "#00ff00", + limeGreen: "#32dc32", + linen: "#faf0e6", + magenta: "#ff00ff", + maroon: "#800000", + mediumAquaMarine: "#66cdaa", + mediumBlue: "#0000cd", + mediumOrchid: "#ba55d3", + mediumPurple: "#9370db", + mediumSeaGreen: "#3cb371", + mediumSlateBlue: "#7b68ee", + mediumSpringGreen: "#00fa9a", + mediumTurquoise: "#48d1cc", + mediumVioletRed: "#c71585", + midnightBlue: "#191970", + mintCream: "#f5fffa", + mistyRose: "#ffe4e1", + moccasin: "#ffe4b5", + navajoWhite: "#ffdead", + navy: "#000080", + oldLace: "#fdd5e6", + olive: "#808000", + oliveDrab: "#6b8e23", + orange: "#ffa500", + orangeRed: "#ff4500", + orchid: "#da70d6", + paleGoldenRod: "#eee8aa", + paleGreen: "#98fb98", + paleTurquoise: "#afeeee", + paleVioletRed: "#db7093", + papayaWhip: "#ffefd5", + peachPuff: "#ffdab9", + peru: "#cd853f", + pink: "#ffc0cb", + plum: "#dda0dd", + powderBlue: "#b0e0e6", + purple: "#800080", + rebeccaPurple: "#663399", + red: "#ff0000", + rosyBrown: "#bc8f8f", + royalBlue: "#4169e1", + saddleBrown: "#8b4513", + salmon: "#fa8072", + sandyBrown: "#f4a460", + seaGreen: "#2e8b57", + seaShell: "#fff5ee", + sienna: "#a0522d", + silver: "#c0c0c0", + slyBlue: "#87ceeb", + slateBlue: "#6a5acd", + slateGray: "#708090", + snow: "#fffafa", + springGreen: "#00ff7f", + steelBlue: "#4682b4", + tan: "#d2b48c", + teal: "#008080", + thistle: "#d8bfd8", + tomato: "#ff6347", + turquoise: "#40e0d0", + violet: "#ee82ee", + wheat: "#f5deb3", + white: "#ffffff", + whiteSmoke: "#f5f5f5", + yellow: "#ffff00", + yellowGreen: "#9acd32" + }, + + colorList: {}, + + colors: function(palette){ + var c = []; + palette = palette || this.PALETTES.ALL; + $.each(this[palette], function(){ + c.push(this); + }); + return c; + }, + } + + function Tile(options, element){ + this.init = function(options, element) { + this.effectInterval = false; + this.images = []; + this.slides = []; + this.currentSlide = -1; + this.options = $.extend({}, TileDefaultConfig, options); + this.element = element; + this.hasIcon = false; + this.hasBranding = false; + + this._fixSizeCallback = this.resize.bind(this); + + this._create(); + }; + + this._create = function(){ + this._createTile(); + this._createEvents(); + + this.element.trigger("tilecreate"); + }; + + this._createTile = function(){ + function switchImage(el, img_src, i){ + setTimeout(function(){ + el.fadeOut(500, function(){ + el.css("background-image", "url(" + img_src + ")"); + el.fadeIn(); + }); + }, i * 300); + } + + var that = this, element = this.element, o = this.options; + var slides = element.find(".slide"); + var slides2 = element.find(".slide-front, .slide-back"); + + element.addClass("tile-" + o.size); + + if(element.find('.icon').length > 0){ + this.hasIcon = true; + } + + if(element.find('.branding-bar')){ + this.hasBranding = true; + } + + if (o.effect.indexOf("hover-") > -1) { + element.addClass("effect-" + o.effect); + $.each(slides2, function(){ + var slide = $(this); + + if (slide.data("cover") !== undefined) { + that._setCover(slide, slide.data("cover"), slide.data("cover-position")); + } + }) + } + + if (o.effect.indexOf("animate-") > -1 && slides.length > 1) { + $.each(slides, function(i){ + var slide = $(this); + + that.slides.push(this); + + if (slide.data("cover") !== undefined) { + this._setCover(slide, slide.data("cover"), slide.data("cover-position")); + } + + if (i > 0) { + if (["animate-slide-up", "animate-slide-down"].indexOf(o.effect) > -1) slide.css("top", "100%"); + if (["animate-slide-left", "animate-slide-right"].indexOf(o.effect) > -1) slide.css("left", "100%"); + if (["animate-fade"].indexOf(o.effect) > -1) slide.css("opacity", 0); + } + }); + + this.currentSlide = 0; + + this._runEffects(); + } + + if (o.cover !== "") { + this._setCover(element, o.cover); + } + + if (o.effect === "image-set") { + element.addClass("image-set"); + + $.each(element.children("img"), function(){ + var imgElem = document.createElement('img'); + imgElem.src = this.src; + imgElem.srcset = this.srcset; + imgElem.alt = this.alt; + that.images.push(imgElem); + $(this).remove(); + }); + + var temp = this.images.slice(); + + for(var i = 0; i < 5; i++) { + var rnd_index = rand(0, temp.length - 1); + var div = $("<div>").addClass("img -js-img-"+i).css("background-image", "url("+temp[rnd_index].src+")"); + element.prepend(div); + if (temp.length > 1) { + temp.splice(rnd_index, 1); + } + } + + var a = [0, 1, 4, 3, 2]; + + setInterval(function(){ + var temp = that.images.slice(); + var colors = Colors.colors(Colors.PALETTES.ALL), bg; + bg = colors[rand(0, colors.length - 1)]; + + element.css("background-color", bg); + + for(var i = 0; i < a.length; i++) { + var rnd_index = rand(0, temp.length - 1); + var div = element.find(".-js-img-"+a[i]); + switchImage(div, temp[rnd_index].src, i); + if (temp.length > 1) { + temp.splice(rnd_index, 1); + } + } + + a = a.reverse(); + }, 5000); + } + }; + + this._runEffects = function(){ + var o = this.options; + + if (this.effectInterval === false) this.effectInterval = setInterval(function(){ + var current, next; + + current = $(this.slides[this.currentSlide]); + + this.currentSlide++; + if (this.currentSlide === this.slides.length) { + this.currentSlide = 0; + } + + next = this.slides[this.currentSlide]; + + if (o.effect === "animate-slide-up") FrameAnimation.slideUp($(current), $(next), o.effectDuration); + if (o.effect === "animate-slide-down") FrameAnimation.slideDown($(current), $(next), o.effectDuration); + if (o.effect === "animate-slide-left") FrameAnimation.slideLeft($(current), $(next), o.effectDuration); + if (o.effect === "animate-slide-right") FrameAnimation.slideRight($(current), $(next), o.effectDuration); + if (o.effect === "animate-fade") FrameAnimation.fade($(current), $(next), o.effectDuration); + + }, o.effectInterval); + }; + + this._stopEffects = function(){ + clearInterval(this.effectInterval); + this.effectInterval = false; + }; + + this.resize = function(){ + var ratio = 1; + var padding = 0; + var grid = this.element.parent('.tiles-grid'); + var gridWidth = 0; + if(grid.length > 0){ + gridWidth = grid.width(); + } + + if(this.options.size == 'wide'){ + ratio = 0.5; + } + + //修正长宽比 + var height = this.element.width() * ratio - padding; + //this.element.height(height); + + if(this.hasIcon){ + var fontSize = height * 0.33; + var iconDom = this.element.find('.icon'); + iconDom.css('font-size', fontSize + 'px'); + + if(this.hasBranding){ //计算与标签的重叠 + var iconBottom = (height + fontSize) / 2; + + var brandingTop = height - this.element.find('.branding-bar').outerHeight(); + var overlap = iconBottom - brandingTop + (height * 0.1); + if(overlap > 0){ + iconDom.css('padding-bottom', overlap + 'px'); + } + } + } + } + + this._setCover = function(to, src, pos){ + if (!Utils.isValue(pos)) { + pos = this.options.coverPosition; + } + to.css({ + backgroundImage: "url("+src+")", + backgroundSize: "cover", + backgroundRepeat: "no-repeat", + backgroundPosition: pos + }); + }; + + this._createEvents = function(){ + var element = this.element, o = this.options; + + element.on('mousedown touchstart', function(e){ + var tile = $(this); + var dim = {w: element.width(), h: element.height()}; + var X = Utils.pageXY(e).x - tile.offset().left, + Y = Utils.pageXY(e).y - tile.offset().top; + var side; + + if (Utils.isRightMouse(e) === false) { + + if (X < dim.w * 1 / 3 && (Y < dim.h * 1 / 2 || Y > dim.h * 1 / 2)) { + side = 'left'; + } else if (X > dim.w * 2 / 3 && (Y < dim.h * 1 / 2 || Y > dim.h * 1 / 2)) { + side = 'right'; + } else if (X > dim.w * 1 / 3 && X < dim.w * 2 / 3 && Y > dim.h / 2) { + side = 'bottom'; + } else { + side = "top"; + } + + if (o.canTransform === true) tile.addClass("transform-" + side); + + if (o.target !== null) { + setTimeout(function(){ + document.location.href = o.target; + }, 100); + } + + Utils.exec(o.onClick, [side], element[0]); + element.trigger("click", { + side: side + }); + } + }); + + element.on('mouseup touchend mouseleave', function(){ + $(this) + .removeClass("transform-left") + .removeClass("transform-right") + .removeClass("transform-top") + .removeClass("transform-bottom"); + }); + + $(window).on('resize', this._fixSizeCallback); + $(this._fixSizeCallback); + }; + + this.destroy = function(){ + var element = this.element; + + element.off('mousedown touchstart'); + + element.off('mouseup touchend mouseleave'); + + $(window).off('resize', this._fixSizeCallback); + + this._stopEffects(); + }; + + this.init(options, element); + }; + + function getElementOptions(element){ + var options = {}; + $.each(element[0].attributes, function (index, attribute){ + if(attribute.name.startsWith('data-')){ + options[attribute.name.substr(5)] = attribute.value; + } + }); + + return options; + } + + $.fn.extend({ + tile: function(action, ...args){ + var result; + this.each(function(){ + var element = $(this); + if(element.attr('data-role') !== 'tile'){ + throw new Error('This element isn\'t a tile element'); + } + + var tileObj = element.data('tile'); + if(action == 'init'){ + if(tileObj){ + throw new Error('Tile already inited.'); + } + + var options = args[0] || {}; + options = $.extend({}, options, getElementOptions(element)); + tileObj = new Tile(options, element); + element.data('tile', tileObj); + } else { + if(!tileObj){ + throw new Error('Tile not inited.'); + } + + if(!tileObj[action]){ + throw new Error('Method: ' + action + ' not exists.'); + } + + result = tileObj[action].apply(tileObj, ...args); + } + }); + + if(result == undefined){ + return this; + } else { + return result; + } + } + }); + + function resizeGrid(){ + $('.tiles-grid').each(function(){ + var dom = $(this); + var width = dom.width(); + var gridSize = width / 4 - GRID_GAP; + dom.css({ + gridTemplateColumns: 'repeat(4, ' + gridSize + 'px)', + gridAutoRows: gridSize + 'px', + }); + }); + } + + $('*[data-role="tile"]').tile('init'); + $(window).resize(resizeGrid); + $(resizeGrid); + + function onCollapseDivChange(mutationsList){ + mutationsList.forEach((item) => { + if(item.type == 'attributes' && item.attributeName == 'class'){ + $('*[data-role="tile"]').tile('resize'); + resizeGrid(); + } + }); + } + + if($('body').hasClass('skin-minerva')){ + $('#mw-content-text .collapsible-block').each(function(){ + var dom = $(this); + if(dom.find('*[data-role="tile"]').length > 0){ //存在tile,监听这个dom + var observer = new MutationObserver(onCollapseDivChange); + observer.observe(dom[0], { + attributes: true, + }); + } + }); + } })(jQuery); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0d93a53..5cc3bca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,3124 +1,3124 @@ -{ - "name": "isekai-widgets", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", - "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.5.tgz?cache=0&sync_timestamp=1623280306479&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.5.tgz", - "integrity": "sha1-jvTBjljoAcXJXTwcDyh0omgPreo=", - "dev": true - }, - "@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.6.tgz?cache=0&sync_timestamp=1623707878699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.6.tgz", - "integrity": "sha1-4IFOwalQAy/xbBOich3jmoQW/Ks=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.5.tgz", - "integrity": "sha1-hI17nwMcrKnQzQrwGwY/Im9S14U=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha1-e/R47Dtxcm1WqMpXdbBG/CmHnmE=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha1-uTm0P4w3dlRDoZrnStixWXjgoZE=", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz?cache=0&sync_timestamp=1623280417606&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.14.5.tgz", - "integrity": "sha1-epnF0JZ5Eely/iw0EffVtJhJjs8=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.14.6.tgz", - "integrity": "sha1-8RRGm2wG+LXFnGxOdGIfUIU2JUI=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha1-x9WsXpz2IcJgV3Ivt6ikxYiTWMQ=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha1-BSXt7FCUZTooJojTTYRuTHXpwLY=", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha1-iqcucIIFx7tkPkXHO0OGzfKh9kU=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280385237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.5.tgz", - "integrity": "sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha1-4N0nwzp45XfXyIhJFqPn7x98f40=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.5.tgz", - "integrity": "sha1-1ccOStE7QCyVFWx6U1aPUE4vt7g=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz", - "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.5.tgz?cache=0&sync_timestamp=1623280405923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.5.tgz", - "integrity": "sha1-feQvENeJtCPrkC69JAMcp3yx4Q4=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz?cache=0&sync_timestamp=1623280296194&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.14.5.tgz", - "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.14.5.tgz?cache=0&sync_timestamp=1623280405954&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha1-UUOckTYSlY9UqYek/8nuWHogRdY=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz?cache=0&sync_timestamp=1623280401049&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.14.5.tgz", - "integrity": "sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q=", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.5.tgz", - "integrity": "sha1-ZuqFz1O6C05Yi6d/yBP1OryqQcQ=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha1-lvSGrAUMqfRLAJ++W305TKs6DuQ=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280305128&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz", - "integrity": "sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg=", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz?cache=0&sync_timestamp=1623280304150&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.14.5.tgz", - "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.14.5.tgz?cache=0&sync_timestamp=1623280400923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.14.5.tgz", - "integrity": "sha1-WRnRFb8P4yi4pdY7y2EPUWAfK/8=", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.6.tgz?cache=0&sync_timestamp=1623708032832&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.6.tgz", - "integrity": "sha1-W1gwa5XxtH4qAZlDT6hlj6bCFjU=", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", - "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.6.tgz?cache=0&sync_timestamp=1623708033155&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.14.6.tgz", - "integrity": "sha1-2FzGjKPKyE6uOEwG8DKSH1In9LI=", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz?cache=0&sync_timestamp=1623280386537&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha1-S0ZzAuFUjtOxvkO+rizJz0Xgu34=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280410907&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.14.5.tgz", - "integrity": "sha1-QCSZDj3XQYH09CbqZXdp/0mi3zk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.14.5.tgz?cache=0&sync_timestamp=1623280411002&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha1-QNHuFAxbHjGjUPT17tlFCWVZtC4=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623280411252&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-static-block%2Fdownload%2F%40babel%2Fplugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha1-FY6eENRJw4Se8+zelKA9nxhBtoE=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha1-DGYX30YcDB+P/ztHzVl3I2AQHSw=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha1-260kQxDObM0IMHIWfYzqg6Uvr3Y=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.5.tgz?cache=0&sync_timestamp=1623280420044&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha1-ON5g2zYug6PYyUSshY3fnwwiOes=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.5.tgz?cache=0&sync_timestamp=1623280419692&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha1-bmIpwqmbAqspFfglceDMZGpAxzg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz?cache=0&sync_timestamp=1623280418763&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha1-7jhYnOAOLMWbKZ7D6kBvzToP2vY=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.5.tgz?cache=0&sync_timestamp=1623280419388&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha1-g2Mb8z2aUd8YTCECoGmsDFjAXxg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.5.tgz", - "integrity": "sha1-5YHVzN+hh+pu1z9WxqIcFYC5D78=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.5.tgz?cache=0&sync_timestamp=1623280419133&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha1-k53W7d7/Omf997PwRLU0cmJZjDw=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.5.tgz?cache=0&sync_timestamp=1623280397698&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha1-+oNlHmCjYOPxN5fu8AuNUZaVtgM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.14.5.tgz?cache=0&sync_timestamp=1623280416204&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha1-N0RklZlrKUXzD1vltg1eKqT1eS0=", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.14.5.tgz?cache=0&sync_timestamp=1623280416058&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha1-n2Wk0Ek6lAtMAfiqnT8YlKWH9jY=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280385924&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha1-D5XuDnV6XWR/N42qDsp+k/qou+g=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623280420297&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-class-static-block%2Fdownload%2F%40babel%2Fplugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1599827954750&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz?cache=0&sync_timestamp=1623280423879&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz?cache=0&sync_timestamp=1623280427172&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280426581&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha1-9xh9lYinaN0IC/TJ/+EX6mL3hio=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz?cache=0&sync_timestamp=1623280415969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280426909&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha1-5IZB2ZnUvBV6Z+8zautUvET9OtQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.14.5.tgz?cache=0&sync_timestamp=1623280394580&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha1-jMY+YeUPQuB45vCb53WnXyPvmTk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.14.5.tgz?cache=0&sync_timestamp=1623280406029&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.14.5.tgz", - "integrity": "sha1-DpjoIJezhVCwO0g/m1GnjeCsss8=", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.14.5.tgz?cache=0&sync_timestamp=1623280393882&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha1-G514mHQg0RIj1BGVRhzEO5dLIE8=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.14.5.tgz?cache=0&sync_timestamp=1623280428280&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.14.5.tgz", - "integrity": "sha1-0yrRn/Gm2h6GHcYnINgNl3bjvzU=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280386290&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha1-L2v3bka9+AQ7Tn4WzyRTJim6DHo=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha1-NlpIRIgb3xUB46nwJw5/D5EXeVQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.14.5.tgz?cache=0&sync_timestamp=1623280390976&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha1-UVS43Wo9/m2Qkj1hckvT3uuQtJM=", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.14.5.tgz?cache=0&sync_timestamp=1623280394473&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.14.5.tgz", - "integrity": "sha1-2uOEYT3o93wZaohpy/YCpE9/wOs=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280395990&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.14.5.tgz", - "integrity": "sha1-6Bxl7LkAdG1/MYAva+0fUtkV1vI=", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.14.5.tgz?cache=0&sync_timestamp=1623280393774&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.14.5.tgz", - "integrity": "sha1-QdBsf/XU0J489Fh70+zzkwxzD3g=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha1-s5zVISor8jWmF9Mg7CtIvMCRuKc=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.5.tgz?cache=0&sync_timestamp=1623280416173&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha1-T9nOfjQRy4uDhISAtwQdgwBIWPc=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.14.5.tgz?cache=0&sync_timestamp=1623280421563&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha1-eq7g6pgoPelNqYso+MNXAUKdrZc=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.14.5.tgz?cache=0&sync_timestamp=1623280420500&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha1-x1NC74sw3N5CldNAGq4k5lY47Sk=", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.5.tgz?cache=0&sync_timestamp=1623280420892&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha1-+2Yt/uaXzOJ0p82lJRkKeQlqpuA=", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280390978&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.14.5.tgz", - "integrity": "sha1-1Tfo7gg+5vaqT07vnSCB1VV0bkw=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha1-Mb2ui5JdyEB26/zSqZQBQ67X2/g=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.14.5.tgz?cache=0&sync_timestamp=1623280405923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.14.5.tgz", - "integrity": "sha1-0LX66snphZehYanPeMUn7ZNM3EU=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha1-SWYuhqHz3cysY2On37H/ChWK/rM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha1-DduqH4PbNgbxzfSEb6HftHNFizQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.14.5.tgz?cache=0&sync_timestamp=1623280296038&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha1-lnb9VwftKPUicnxbPAqoVERAsE8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha1-xEWJtmHP2++NQwDcx0ad/6kvgwQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha1-l/E4VfFAkzjYyty6ymcK154JGlg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha1-a9QOV/596UqpBIUZY7VhZlL3MUQ=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha1-W2F1Qmdei3dhKUOB88KMYz9Arrk=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha1-pfK8Izk32EU4hdxza92Nn/q/PZM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha1-Oa8nOemJor0pG/a1PxaYFCPUV9Q=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha1-nUvSpoHjxdes9PV/qeURddkdDGs=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280395968&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha1-TNCbbIQl3YElXHzrP7GDbnQUOC4=", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/preset-env": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.14.5.tgz?cache=0&sync_timestamp=1623280426019&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.14.5.tgz", - "integrity": "sha1-wMhOdjZh/Q50KSw9URyzOwxmiZc=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.5", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.5", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.5", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.14.0", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.nlark.com/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", - "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz?cache=0&sync_timestamp=1623708023742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.6.tgz", - "integrity": "sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0=", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1623280386138&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz", - "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/traverse": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.5.tgz?cache=0&sync_timestamp=1623280395969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.14.5.tgz", - "integrity": "sha1-wRGw9Yr6tP6j0zhaQG9pJ0jFmHA=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz", - "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz?cache=0&sync_timestamp=1620941046017&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40discoveryjs%2Fjson-ext%2Fdownload%2F%40discoveryjs%2Fjson-ext-0.5.3.tgz", - "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=", - "dev": true - }, - "@types/eslint": { - "version": "7.2.13", - "resolved": "https://registry.nlark.com/@types/eslint/download/@types/eslint-7.2.13.tgz?cache=0&sync_timestamp=1622583210245&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint%2Fdownload%2F%40types%2Feslint-7.2.13.tgz", - "integrity": "sha1-4MpyGbpd7UAgYq1vkm1JHrsp3VM=", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.0.tgz?cache=0&sync_timestamp=1621240962626&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint-scope%2Fdownload%2F%40types%2Feslint-scope-3.7.0.tgz", - "integrity": "sha1-R5KBbjERnr1QaQKkgsrsSVH6vYY=", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.47.tgz?cache=0&sync_timestamp=1622611944045&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.47.tgz", - "integrity": "sha1-16Udsg8GUO/sJM0EmU9SPZMXLtQ=", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.7.tgz", - "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", - "dev": true - }, - "@types/node": { - "version": "15.12.2", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.12.2.tgz", - "integrity": "sha1-HytCxL5xVv9Kb5FLL7A9BfqE440=", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz", - "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.0.tgz", - "integrity": "sha1-papnnv3J5RcHpCBxOdpXkgVVlh8=", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.0.tgz?cache=0&sync_timestamp=1610041307537&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.11.0.tgz", - "integrity": "sha1-NNYgUvRTzUMQHXLqtJZqAiWHlHw=", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.0.tgz?cache=0&sync_timestamp=1610041309019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.0.tgz", - "integrity": "sha1-quqPs7kj9KqptRL/VBsBP/to0tQ=", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.0.tgz", - "integrity": "sha1-0CbCXRdeOIp9valpTpHnQ8vptkI=", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.0.tgz", - "integrity": "sha1-erBBctVOMSzG6kKG19n6J8iM1Pk=", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.0.tgz?cache=0&sync_timestamp=1610041308619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha1-hf3NpBKZAv6G+Bq/fnI2lT7FpOE=", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.0.tgz", - "integrity": "sha1-nOLMiTACYlCcgBtK8RPRyiXBp1s=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.0.tgz?cache=0&sync_timestamp=1610045498486&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.0.tgz", - "integrity": "sha1-RpddWD+YKPXQlKwhDiGUQcTm9c8=", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.0.tgz?cache=0&sync_timestamp=1610041308922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.0.tgz", - "integrity": "sha1-9zU94d84qiAcup+4i0P0H3X/QDs=", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.0.tgz?cache=0&sync_timestamp=1610041309288&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.0.tgz", - "integrity": "sha1-huSPlZz0ng5QkfBppwm4YvWiyt8=", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.0.tgz?cache=0&sync_timestamp=1610041307235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.0.tgz", - "integrity": "sha1-7kpcn2dwRqIQVCrmOJcJTCAny3g=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.0.tgz?cache=0&sync_timestamp=1610041306557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.0.tgz", - "integrity": "sha1-PNs15wCC1Co1FmmI3aZPJM65er4=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.0.tgz?cache=0&sync_timestamp=1610041306793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.11.0.tgz", - "integrity": "sha1-FjiuGIE39LsDH1aKQTzSTTL5KXg=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.0.tgz?cache=0&sync_timestamp=1610041306194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.11.0.tgz", - "integrity": "sha1-PmgLiDDVsT0eyGzELzjz1KdwB1Q=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.0.tgz", - "integrity": "sha1-aA0falNl1tQBl0qOlJ4FR04fq34=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webpack-cli%2Fconfigtest%2Fdownload%2F%40webpack-cli%2Fconfigtest-1.0.4.tgz", - "integrity": "sha1-8DzmMRwIg6g9BFaeLAPGI4MW0qo=", - "dev": true - }, - "@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.nlark.com/@webpack-cli/info/download/@webpack-cli/info-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webpack-cli%2Finfo%2Fdownload%2F%40webpack-cli%2Finfo-1.3.0.tgz", - "integrity": "sha1-nXijEQGpYJl6Ss1B/9m5MAYn/is=", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.5.1", - "resolved": "https://registry.nlark.com/@webpack-cli/serve/download/@webpack-cli/serve-1.5.1.tgz", - "integrity": "sha1-tf3i8PecHhIDB8QVpMHV6xWm8ng=", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", - "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz", - "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", - "dev": true - }, - "acorn": { - "version": "8.4.0", - "resolved": "https://registry.nlark.com/acorn/download/acorn-8.4.0.tgz", - "integrity": "sha1-r1MmbmmNfP+kFnFLUDBmqCIhvmA=", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1616882441894&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz", - "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "autoprefixer": { - "version": "10.2.6", - "resolved": "https://registry.nlark.com/autoprefixer/download/autoprefixer-10.2.6.tgz", - "integrity": "sha1-qt2ew04cmNQD4BlQA4BJ8OslKUk=", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-lite": "^1.0.30001230", - "colorette": "^1.2.2", - "fraction.js": "^4.1.1", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - } - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz", - "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz?cache=0&sync_timestamp=1622023904181&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.3", - "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.3.tgz?cache=0&sync_timestamp=1623879605583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.3.tgz", - "integrity": "sha1-cq3WjPCKi/E5um5t/AsdUECY5Xs=", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz?cache=0&sync_timestamp=1622023907940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc=", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz", - "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", - "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", - "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001237", - "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001237.tgz?cache=0&sync_timestamp=1623477032412&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001237.tgz", - "integrity": "sha1-S3eDZhUVuOcVH8Y3bP2X8OQnueU=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", - "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905925551&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", - "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz", - "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259647923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", - "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1618847182423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js-compat": { - "version": "3.14.0", - "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.14.0.tgz", - "integrity": "sha1-tXTavykYRoHVsWNXvTPRBN89KaU=", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", - "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", - "dev": true - } - } - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz", - "integrity": "sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-loader": { - "version": "5.2.6", - "resolved": "https://registry.nlark.com/css-loader/download/css-loader-5.2.6.tgz", - "integrity": "sha1-w8gqt3/qHzYOWH2HGmgR9EUMyNE=", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", - "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz", - "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "desandro-matches-selector": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/desandro-matches-selector/download/desandro-matches-selector-2.0.2.tgz", - "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" - }, - "electron-to-chromium": { - "version": "1.3.752", - "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.752.tgz?cache=0&sync_timestamp=1623290597781&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.752.tgz", - "integrity": "sha1-ByhYfxublw7J/62TJJZCmu91DQk=", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz", - "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", - "dev": true - }, - "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.2.tgz", - "integrity": "sha1-Fd3HeTRcu3PpfGEc0AwBwee/TYs=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npm.taobao.org/envinfo/download/envinfo-7.8.1.tgz", - "integrity": "sha1-Bjd+Pl9NN5/qesWS1a2JJ+DE1HU=", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.nlark.com/es-module-lexer/download/es-module-lexer-0.4.1.tgz", - "integrity": "sha1-3ajGoU2PNAok40Mx4Pqwy1BDjg4=", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz", - "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true - }, - "ev-emitter": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ev-emitter/download/ev-emitter-1.1.1.tgz", - "integrity": "sha1-jxiwzlx2pdGAF/ccCnlcZbkTjyo=" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", - "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.nlark.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1618847023946&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz", - "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618847130383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fizzy-ui-utils": { - "version": "2.0.7", - "resolved": "https://registry.npm.taobao.org/fizzy-ui-utils/download/fizzy-ui-utils-2.0.7.tgz", - "integrity": "sha1-ffRdzE6zdKCLZdObuaS+7fczBQU=", - "requires": { - "desandro-matches-selector": "^2.0.0" - } - }, - "fraction.js": { - "version": "4.1.1", - "resolved": "https://registry.nlark.com/fraction.js/download/fraction.js-4.1.1.tgz", - "integrity": "sha1-rE5SBHPa5nAS1hiquR7aCby0AP8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", - "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-size": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/get-size/download/get-size-2.0.3.tgz", - "integrity": "sha1-VKHQJWsg6nrGRlFnViAnaZQa0u8=" - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", - "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/has/download/has-1.0.3.tgz?cache=0&sync_timestamp=1618847173393&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas%2Fdownload%2Fhas-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz", - "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz", - "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=", - "dev": true - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/icss-utils/download/icss-utils-5.1.0.tgz", - "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz", - "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz", - "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-2.2.0.tgz", - "integrity": "sha1-GnigtZZcQKVBbQB61vUK0nxBffk=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz", - "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-worker": { - "version": "27.0.2", - "resolved": "https://registry.nlark.com/jest-worker/download/jest-worker-27.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-worker%2Fdownload%2Fjest-worker-27.0.2.tgz", - "integrity": "sha1-Tr61bO9Is+dRRVL4DQ2AwBKfCwU=", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", - "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz", - "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", - "dev": true - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.nlark.com/loader-runner/download/loader-runner-4.2.0.tgz", - "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", - "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz", - "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "masonry-layout": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/masonry-layout/download/masonry-layout-4.2.2.tgz", - "integrity": "sha1-1XtErxPmAb/NxCPx3YNItVJN40g=", - "requires": { - "get-size": "^2.0.2", - "outlayer": "^2.1.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", - "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", - "dev": true - }, - "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433556078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz", - "integrity": "sha1-41sxBF3X6to6qtU37YijOvvvLR0=", - "dev": true - }, - "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz", - "integrity": "sha1-oA12t0MXxh+cLbIhi46fjpxcnms=", - "dev": true, - "requires": { - "mime-db": "1.48.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "1.6.0", - "resolved": "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-1.6.0.tgz", - "integrity": "sha1-tNslJa8mJIme1kojsAFuADZBGJM=", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", - "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.23.tgz?cache=0&sync_timestamp=1620673983269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.23.tgz", - "integrity": "sha1-90QIbOfCvEfuCoRyV01ceOQYOoE=", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz", - "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA=", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz?cache=0&sync_timestamp=1618847173787&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-keys%2Fdownload%2Fobject-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz", - "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "outlayer": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/outlayer/download/outlayer-2.1.1.tgz", - "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=", - "requires": { - "ev-emitter": "^1.0.0", - "fizzy-ui-utils": "^2.0.0", - "get-size": "^2.0.2" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz", - "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971613935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz", - "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648246651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", - "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz", - "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "postcss": { - "version": "8.3.5", - "resolved": "https://registry.nlark.com/postcss/download/postcss-8.3.5.tgz", - "integrity": "sha1-mCIWsRNBK8IKhiiekeuZSVKltwk=", - "dev": true, - "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - } - }, - "postcss-loader": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/postcss-loader/download/postcss-loader-6.1.0.tgz?cache=0&sync_timestamp=1623349063856&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-loader%2Fdownload%2Fpostcss-loader-6.1.0.tgz", - "integrity": "sha1-E8gAoAs8fUNKExmnPYXi3wcUzd4=", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", - "dev": true - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587682123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz", - "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", - "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, - "prettier": { - "version": "2.3.1", - "resolved": "https://registry.nlark.com/prettier/download/prettier-2.3.1.tgz?cache=0&sync_timestamp=1622888668729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-2.3.1.tgz", - "integrity": "sha1-dpA8P4xESbyaxZes76JNxa1MvqY=", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/randombytes/download/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", - "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.7.0.tgz", - "integrity": "sha1-MmUP1SwhqyUqpdZbGTEEQcfgOso=", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.nlark.com/regenerate/download/regenerate-1.4.2.tgz", - "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz", - "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz", - "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz", - "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", - "dev": true - }, - "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.9.tgz?cache=0&sync_timestamp=1616544927031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsparser%2Fdownload%2Fregjsparser-0.6.9.tgz", - "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1618846903792&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz", - "integrity": "sha1-DwB18bslRHZs9zumpuKt/ryxPy0=", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz", - "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz", - "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - }, - "sass": { - "version": "1.35.1", - "resolved": "https://registry.nlark.com/sass/download/sass-1.35.1.tgz?cache=0&sync_timestamp=1623791393536&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass%2Fdownload%2Fsass-1.35.1.tgz", - "integrity": "sha1-kOz3dN/mjwe2GTB347QvsVS54c0=", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "12.1.0", - "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-12.1.0.tgz", - "integrity": "sha1-tzMkYiIxAJ2m+6Yat2ATJWOA0gE=", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz", - "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1618847133756&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", - "integrity": "sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ=", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz", - "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.nlark.com/signal-exit/download/signal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", - "dev": true - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", - "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz", - "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz", - "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz?cache=0&sync_timestamp=1620046554687&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-final-newline%2Fdownload%2Fstrip-final-newline-2.0.0.tgz", - "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", - "dev": true - }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/style-loader/download/style-loader-2.0.0.tgz?cache=0&sync_timestamp=1618847017397&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstyle-loader%2Fdownload%2Fstyle-loader-2.0.0.tgz", - "integrity": "sha1-lmlgL9RpB0DqrsE3eZoDrdu8OTw=", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", - "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.0.tgz", - "integrity": "sha1-XDc9KB2cZyhIIT0OA30cQWWrQms=", - "dev": true - }, - "terser": { - "version": "5.7.0", - "resolved": "https://registry.nlark.com/terser/download/terser-5.7.0.tgz", - "integrity": "sha1-p2Hu7CBryHtgWrEwKYdurZOK5pM=", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.1.3", - "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.1.3.tgz?cache=0&sync_timestamp=1622475814720&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.1.3.tgz", - "integrity": "sha1-MAM+lVyii1VmTx5LMKE0fmGqI68=", - "dev": true, - "requires": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz", - "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", - "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237641463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", - "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true - }, - "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", - "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.39.0", - "resolved": "https://registry.nlark.com/webpack/download/webpack-5.39.0.tgz", - "integrity": "sha1-N9aJnx9Awx1ZAavA85vIzHIkE4w=", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", - "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-2.3.0.tgz", - "integrity": "sha1-ntLeabJRQ6TBiEdYatnsyxknjPo=", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-cli": { - "version": "4.7.2", - "resolved": "https://registry.nlark.com/webpack-cli/download/webpack-cli-4.7.2.tgz", - "integrity": "sha1-pxjbYA3m05BqQ1fgWa5YSon0waU=", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.1", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz", - "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.nlark.com/execa/download/execa-5.1.1.tgz", - "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-6.0.1.tgz", - "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.0.tgz", - "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz", - "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz", - "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.nlark.com/which/download/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/wildcard/download/wildcard-2.0.0.tgz", - "integrity": "sha1-p30g5SAMb6qsl55LOq3Hs91/j+w=", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz", - "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "dev": true - } - } -} +{ + "name": "isekai-widgets", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", + "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.5.tgz?cache=0&sync_timestamp=1623280306479&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.5.tgz", + "integrity": "sha1-jvTBjljoAcXJXTwcDyh0omgPreo=", + "dev": true + }, + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.6.tgz?cache=0&sync_timestamp=1623707878699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.6.tgz", + "integrity": "sha1-4IFOwalQAy/xbBOich3jmoQW/Ks=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.5.tgz", + "integrity": "sha1-hI17nwMcrKnQzQrwGwY/Im9S14U=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha1-e/R47Dtxcm1WqMpXdbBG/CmHnmE=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha1-uTm0P4w3dlRDoZrnStixWXjgoZE=", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz?cache=0&sync_timestamp=1623280417606&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.14.5.tgz", + "integrity": "sha1-epnF0JZ5Eely/iw0EffVtJhJjs8=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.14.6.tgz", + "integrity": "sha1-8RRGm2wG+LXFnGxOdGIfUIU2JUI=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha1-x9WsXpz2IcJgV3Ivt6ikxYiTWMQ=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha1-BSXt7FCUZTooJojTTYRuTHXpwLY=", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha1-iqcucIIFx7tkPkXHO0OGzfKh9kU=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280385237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.5.tgz", + "integrity": "sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha1-4N0nwzp45XfXyIhJFqPn7x98f40=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha1-1ccOStE7QCyVFWx6U1aPUE4vt7g=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz", + "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.5.tgz?cache=0&sync_timestamp=1623280405923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.5.tgz", + "integrity": "sha1-feQvENeJtCPrkC69JAMcp3yx4Q4=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz?cache=0&sync_timestamp=1623280296194&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.14.5.tgz", + "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.14.5.tgz?cache=0&sync_timestamp=1623280405954&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha1-UUOckTYSlY9UqYek/8nuWHogRdY=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz?cache=0&sync_timestamp=1623280401049&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.14.5.tgz", + "integrity": "sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.5.tgz", + "integrity": "sha1-ZuqFz1O6C05Yi6d/yBP1OryqQcQ=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha1-lvSGrAUMqfRLAJ++W305TKs6DuQ=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280305128&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz", + "integrity": "sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg=", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz?cache=0&sync_timestamp=1623280304150&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.14.5.tgz", + "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.14.5.tgz?cache=0&sync_timestamp=1623280400923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.14.5.tgz", + "integrity": "sha1-WRnRFb8P4yi4pdY7y2EPUWAfK/8=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.6.tgz?cache=0&sync_timestamp=1623708032832&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.6.tgz", + "integrity": "sha1-W1gwa5XxtH4qAZlDT6hlj6bCFjU=", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz", + "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.6.tgz?cache=0&sync_timestamp=1623708033155&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.14.6.tgz", + "integrity": "sha1-2FzGjKPKyE6uOEwG8DKSH1In9LI=", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz?cache=0&sync_timestamp=1623280386537&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha1-S0ZzAuFUjtOxvkO+rizJz0Xgu34=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280410907&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.14.5.tgz", + "integrity": "sha1-QCSZDj3XQYH09CbqZXdp/0mi3zk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.14.5.tgz?cache=0&sync_timestamp=1623280411002&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha1-QNHuFAxbHjGjUPT17tlFCWVZtC4=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623280411252&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-static-block%2Fdownload%2F%40babel%2Fplugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha1-FY6eENRJw4Se8+zelKA9nxhBtoE=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha1-DGYX30YcDB+P/ztHzVl3I2AQHSw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha1-260kQxDObM0IMHIWfYzqg6Uvr3Y=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.5.tgz?cache=0&sync_timestamp=1623280420044&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha1-ON5g2zYug6PYyUSshY3fnwwiOes=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.5.tgz?cache=0&sync_timestamp=1623280419692&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha1-bmIpwqmbAqspFfglceDMZGpAxzg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz?cache=0&sync_timestamp=1623280418763&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha1-7jhYnOAOLMWbKZ7D6kBvzToP2vY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.5.tgz?cache=0&sync_timestamp=1623280419388&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha1-g2Mb8z2aUd8YTCECoGmsDFjAXxg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.5.tgz", + "integrity": "sha1-5YHVzN+hh+pu1z9WxqIcFYC5D78=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.5.tgz?cache=0&sync_timestamp=1623280419133&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha1-k53W7d7/Omf997PwRLU0cmJZjDw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.5.tgz?cache=0&sync_timestamp=1623280397698&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha1-+oNlHmCjYOPxN5fu8AuNUZaVtgM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.14.5.tgz?cache=0&sync_timestamp=1623280416204&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha1-N0RklZlrKUXzD1vltg1eKqT1eS0=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.14.5.tgz?cache=0&sync_timestamp=1623280416058&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha1-n2Wk0Ek6lAtMAfiqnT8YlKWH9jY=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280385924&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha1-D5XuDnV6XWR/N42qDsp+k/qou+g=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz?cache=0&sync_timestamp=1623280420297&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-class-static-block%2Fdownload%2F%40babel%2Fplugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz?cache=0&sync_timestamp=1599827954750&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-dynamic-import%2Fdownload%2F%40babel%2Fplugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz?cache=0&sync_timestamp=1623280423879&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz?cache=0&sync_timestamp=1623280427172&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280426581&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha1-9xh9lYinaN0IC/TJ/+EX6mL3hio=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz?cache=0&sync_timestamp=1623280415969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280426909&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha1-5IZB2ZnUvBV6Z+8zautUvET9OtQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.14.5.tgz?cache=0&sync_timestamp=1623280394580&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha1-jMY+YeUPQuB45vCb53WnXyPvmTk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.14.5.tgz?cache=0&sync_timestamp=1623280406029&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.14.5.tgz", + "integrity": "sha1-DpjoIJezhVCwO0g/m1GnjeCsss8=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.14.5.tgz?cache=0&sync_timestamp=1623280393882&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha1-G514mHQg0RIj1BGVRhzEO5dLIE8=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.14.5.tgz?cache=0&sync_timestamp=1623280428280&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.14.5.tgz", + "integrity": "sha1-0yrRn/Gm2h6GHcYnINgNl3bjvzU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280386290&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha1-L2v3bka9+AQ7Tn4WzyRTJim6DHo=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha1-NlpIRIgb3xUB46nwJw5/D5EXeVQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.14.5.tgz?cache=0&sync_timestamp=1623280390976&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha1-UVS43Wo9/m2Qkj1hckvT3uuQtJM=", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.14.5.tgz?cache=0&sync_timestamp=1623280394473&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.14.5.tgz", + "integrity": "sha1-2uOEYT3o93wZaohpy/YCpE9/wOs=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280395990&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.14.5.tgz", + "integrity": "sha1-6Bxl7LkAdG1/MYAva+0fUtkV1vI=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.14.5.tgz?cache=0&sync_timestamp=1623280393774&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.14.5.tgz", + "integrity": "sha1-QdBsf/XU0J489Fh70+zzkwxzD3g=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha1-s5zVISor8jWmF9Mg7CtIvMCRuKc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.5.tgz?cache=0&sync_timestamp=1623280416173&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha1-T9nOfjQRy4uDhISAtwQdgwBIWPc=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.14.5.tgz?cache=0&sync_timestamp=1623280421563&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha1-eq7g6pgoPelNqYso+MNXAUKdrZc=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.14.5.tgz?cache=0&sync_timestamp=1623280420500&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha1-x1NC74sw3N5CldNAGq4k5lY47Sk=", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.5.tgz?cache=0&sync_timestamp=1623280420892&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha1-+2Yt/uaXzOJ0p82lJRkKeQlqpuA=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280390978&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.14.5.tgz", + "integrity": "sha1-1Tfo7gg+5vaqT07vnSCB1VV0bkw=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha1-Mb2ui5JdyEB26/zSqZQBQ67X2/g=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.14.5.tgz?cache=0&sync_timestamp=1623280405923&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.14.5.tgz", + "integrity": "sha1-0LX66snphZehYanPeMUn7ZNM3EU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha1-SWYuhqHz3cysY2On37H/ChWK/rM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha1-DduqH4PbNgbxzfSEb6HftHNFizQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.14.5.tgz?cache=0&sync_timestamp=1623280296038&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha1-lnb9VwftKPUicnxbPAqoVERAsE8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha1-xEWJtmHP2++NQwDcx0ad/6kvgwQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha1-l/E4VfFAkzjYyty6ymcK154JGlg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha1-a9QOV/596UqpBIUZY7VhZlL3MUQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha1-W2F1Qmdei3dhKUOB88KMYz9Arrk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha1-pfK8Izk32EU4hdxza92Nn/q/PZM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha1-Oa8nOemJor0pG/a1PxaYFCPUV9Q=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha1-nUvSpoHjxdes9PV/qeURddkdDGs=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280395968&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha1-TNCbbIQl3YElXHzrP7GDbnQUOC4=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.14.5.tgz?cache=0&sync_timestamp=1623280426019&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.14.5.tgz", + "integrity": "sha1-wMhOdjZh/Q50KSw9URyzOwxmiZc=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.5", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.5", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.5", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.14.0", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz", + "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.14.6", + "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz?cache=0&sync_timestamp=1623708023742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.6.tgz", + "integrity": "sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0=", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1623280386138&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz", + "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.5.tgz?cache=0&sync_timestamp=1623280395969&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.14.5.tgz", + "integrity": "sha1-wRGw9Yr6tP6j0zhaQG9pJ0jFmHA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz", + "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz?cache=0&sync_timestamp=1620941046017&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40discoveryjs%2Fjson-ext%2Fdownload%2F%40discoveryjs%2Fjson-ext-0.5.3.tgz", + "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=", + "dev": true + }, + "@types/eslint": { + "version": "7.2.13", + "resolved": "https://registry.nlark.com/@types/eslint/download/@types/eslint-7.2.13.tgz?cache=0&sync_timestamp=1622583210245&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint%2Fdownload%2F%40types%2Feslint-7.2.13.tgz", + "integrity": "sha1-4MpyGbpd7UAgYq1vkm1JHrsp3VM=", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.0.tgz?cache=0&sync_timestamp=1621240962626&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint-scope%2Fdownload%2F%40types%2Feslint-scope-3.7.0.tgz", + "integrity": "sha1-R5KBbjERnr1QaQKkgsrsSVH6vYY=", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.47", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.47.tgz?cache=0&sync_timestamp=1622611944045&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.47.tgz", + "integrity": "sha1-16Udsg8GUO/sJM0EmU9SPZMXLtQ=", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.7.tgz", + "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=", + "dev": true + }, + "@types/node": { + "version": "15.12.2", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.12.2.tgz", + "integrity": "sha1-HytCxL5xVv9Kb5FLL7A9BfqE440=", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz", + "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.0.tgz", + "integrity": "sha1-papnnv3J5RcHpCBxOdpXkgVVlh8=", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.0.tgz?cache=0&sync_timestamp=1610041307537&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.11.0.tgz", + "integrity": "sha1-NNYgUvRTzUMQHXLqtJZqAiWHlHw=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.0.tgz?cache=0&sync_timestamp=1610041309019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.0.tgz", + "integrity": "sha1-quqPs7kj9KqptRL/VBsBP/to0tQ=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.0.tgz", + "integrity": "sha1-0CbCXRdeOIp9valpTpHnQ8vptkI=", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.0.tgz", + "integrity": "sha1-erBBctVOMSzG6kKG19n6J8iM1Pk=", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.0.tgz?cache=0&sync_timestamp=1610041308619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha1-hf3NpBKZAv6G+Bq/fnI2lT7FpOE=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.0.tgz", + "integrity": "sha1-nOLMiTACYlCcgBtK8RPRyiXBp1s=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.0.tgz?cache=0&sync_timestamp=1610045498486&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.0.tgz", + "integrity": "sha1-RpddWD+YKPXQlKwhDiGUQcTm9c8=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.0.tgz?cache=0&sync_timestamp=1610041308922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.0.tgz", + "integrity": "sha1-9zU94d84qiAcup+4i0P0H3X/QDs=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.0.tgz?cache=0&sync_timestamp=1610041309288&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.0.tgz", + "integrity": "sha1-huSPlZz0ng5QkfBppwm4YvWiyt8=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.0.tgz?cache=0&sync_timestamp=1610041307235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.11.0.tgz", + "integrity": "sha1-7kpcn2dwRqIQVCrmOJcJTCAny3g=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/helper-wasm-section": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-opt": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "@webassemblyjs/wast-printer": "1.11.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.0.tgz?cache=0&sync_timestamp=1610041306557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.11.0.tgz", + "integrity": "sha1-PNs15wCC1Co1FmmI3aZPJM65er4=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.0.tgz?cache=0&sync_timestamp=1610041306793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.11.0.tgz", + "integrity": "sha1-FjiuGIE39LsDH1aKQTzSTTL5KXg=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-buffer": "1.11.0", + "@webassemblyjs/wasm-gen": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.0.tgz?cache=0&sync_timestamp=1610041306194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.11.0.tgz", + "integrity": "sha1-PmgLiDDVsT0eyGzELzjz1KdwB1Q=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/helper-api-error": "1.11.0", + "@webassemblyjs/helper-wasm-bytecode": "1.11.0", + "@webassemblyjs/ieee754": "1.11.0", + "@webassemblyjs/leb128": "1.11.0", + "@webassemblyjs/utf8": "1.11.0" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.0.tgz", + "integrity": "sha1-aA0falNl1tQBl0qOlJ4FR04fq34=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.0", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/@webpack-cli/configtest/download/@webpack-cli/configtest-1.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webpack-cli%2Fconfigtest%2Fdownload%2F%40webpack-cli%2Fconfigtest-1.0.4.tgz", + "integrity": "sha1-8DzmMRwIg6g9BFaeLAPGI4MW0qo=", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/@webpack-cli/info/download/@webpack-cli/info-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webpack-cli%2Finfo%2Fdownload%2F%40webpack-cli%2Finfo-1.3.0.tgz", + "integrity": "sha1-nXijEQGpYJl6Ss1B/9m5MAYn/is=", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.5.1", + "resolved": "https://registry.nlark.com/@webpack-cli/serve/download/@webpack-cli/serve-1.5.1.tgz", + "integrity": "sha1-tf3i8PecHhIDB8QVpMHV6xWm8ng=", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "acorn": { + "version": "8.4.0", + "resolved": "https://registry.nlark.com/acorn/download/acorn-8.4.0.tgz", + "integrity": "sha1-r1MmbmmNfP+kFnFLUDBmqCIhvmA=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1616882441894&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "autoprefixer": { + "version": "10.2.6", + "resolved": "https://registry.nlark.com/autoprefixer/download/autoprefixer-10.2.6.tgz", + "integrity": "sha1-qt2ew04cmNQD4BlQA4BJ8OslKUk=", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001230", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz", + "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz?cache=0&sync_timestamp=1622023904181&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.3.tgz?cache=0&sync_timestamp=1623879605583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.3.tgz", + "integrity": "sha1-cq3WjPCKi/E5um5t/AsdUECY5Xs=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz?cache=0&sync_timestamp=1622023907940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz", + "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001237", + "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001237.tgz?cache=0&sync_timestamp=1623477032412&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001237.tgz", + "integrity": "sha1-S3eDZhUVuOcVH8Y3bP2X8OQnueU=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905925551&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz", + "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259647923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", + "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1618847182423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js-compat": { + "version": "3.14.0", + "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.14.0.tgz", + "integrity": "sha1-tXTavykYRoHVsWNXvTPRBN89KaU=", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", + "dev": true + } + } + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz", + "integrity": "sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-loader": { + "version": "5.2.6", + "resolved": "https://registry.nlark.com/css-loader/download/css-loader-5.2.6.tgz", + "integrity": "sha1-w8gqt3/qHzYOWH2HGmgR9EUMyNE=", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz", + "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "desandro-matches-selector": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/desandro-matches-selector/download/desandro-matches-selector-2.0.2.tgz", + "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" + }, + "electron-to-chromium": { + "version": "1.3.752", + "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.752.tgz?cache=0&sync_timestamp=1623290597781&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.752.tgz", + "integrity": "sha1-ByhYfxublw7J/62TJJZCmu91DQk=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.2.tgz", + "integrity": "sha1-Fd3HeTRcu3PpfGEc0AwBwee/TYs=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npm.taobao.org/envinfo/download/envinfo-7.8.1.tgz", + "integrity": "sha1-Bjd+Pl9NN5/qesWS1a2JJ+DE1HU=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/es-module-lexer/download/es-module-lexer-0.4.1.tgz", + "integrity": "sha1-3ajGoU2PNAok40Mx4Pqwy1BDjg4=", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ev-emitter/download/ev-emitter-1.1.1.tgz", + "integrity": "sha1-jxiwzlx2pdGAF/ccCnlcZbkTjyo=" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.nlark.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1618847023946&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618847130383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fizzy-ui-utils": { + "version": "2.0.7", + "resolved": "https://registry.npm.taobao.org/fizzy-ui-utils/download/fizzy-ui-utils-2.0.7.tgz", + "integrity": "sha1-ffRdzE6zdKCLZdObuaS+7fczBQU=", + "requires": { + "desandro-matches-selector": "^2.0.0" + } + }, + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/fraction.js/download/fraction.js-4.1.1.tgz", + "integrity": "sha1-rE5SBHPa5nAS1hiquR7aCby0AP8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-size": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/get-size/download/get-size-2.0.3.tgz", + "integrity": "sha1-VKHQJWsg6nrGRlFnViAnaZQa0u8=" + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/has/download/has-1.0.3.tgz?cache=0&sync_timestamp=1618847173393&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas%2Fdownload%2Fhas-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz", + "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/icss-utils/download/icss-utils-5.1.0.tgz", + "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz", + "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-2.2.0.tgz", + "integrity": "sha1-GnigtZZcQKVBbQB61vUK0nxBffk=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz", + "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.nlark.com/jest-worker/download/jest-worker-27.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-worker%2Fdownload%2Fjest-worker-27.0.2.tgz", + "integrity": "sha1-Tr61bO9Is+dRRVL4DQ2AwBKfCwU=", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz", + "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.nlark.com/loader-runner/download/loader-runner-4.2.0.tgz", + "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "masonry-layout": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/masonry-layout/download/masonry-layout-4.2.2.tgz", + "integrity": "sha1-1XtErxPmAb/NxCPx3YNItVJN40g=", + "requires": { + "get-size": "^2.0.2", + "outlayer": "^2.1.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.48.0.tgz?cache=0&sync_timestamp=1622433556078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.48.0.tgz", + "integrity": "sha1-41sxBF3X6to6qtU37YijOvvvLR0=", + "dev": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.31.tgz?cache=0&sync_timestamp=1622569304088&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.31.tgz", + "integrity": "sha1-oA12t0MXxh+cLbIhi46fjpxcnms=", + "dev": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-1.6.0.tgz", + "integrity": "sha1-tNslJa8mJIme1kojsAFuADZBGJM=", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.23.tgz?cache=0&sync_timestamp=1620673983269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.23.tgz", + "integrity": "sha1-90QIbOfCvEfuCoRyV01ceOQYOoE=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz", + "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA=", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz?cache=0&sync_timestamp=1618847173787&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-keys%2Fdownload%2Fobject-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "outlayer": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/outlayer/download/outlayer-2.1.1.tgz", + "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=", + "requires": { + "ev-emitter": "^1.0.0", + "fizzy-ui-utils": "^2.0.0", + "get-size": "^2.0.2" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971613935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648246651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "postcss": { + "version": "8.3.5", + "resolved": "https://registry.nlark.com/postcss/download/postcss-8.3.5.tgz", + "integrity": "sha1-mCIWsRNBK8IKhiiekeuZSVKltwk=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-loader": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/postcss-loader/download/postcss-loader-6.1.0.tgz?cache=0&sync_timestamp=1623349063856&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-loader%2Fdownload%2Fpostcss-loader-6.1.0.tgz", + "integrity": "sha1-E8gAoAs8fUNKExmnPYXi3wcUzd4=", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587682123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz", + "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", + "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "prettier": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/prettier/download/prettier-2.3.1.tgz?cache=0&sync_timestamp=1622888668729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-2.3.1.tgz", + "integrity": "sha1-dpA8P4xESbyaxZes76JNxa1MvqY=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.7.0.tgz", + "integrity": "sha1-MmUP1SwhqyUqpdZbGTEEQcfgOso=", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.nlark.com/regenerate/download/regenerate-1.4.2.tgz", + "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", + "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz", + "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.9.tgz?cache=0&sync_timestamp=1616544927031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsparser%2Fdownload%2Fregjsparser-0.6.9.tgz", + "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1618846903792&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-3.0.0.tgz", + "integrity": "sha1-DwB18bslRHZs9zumpuKt/ryxPy0=", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "sass": { + "version": "1.35.1", + "resolved": "https://registry.nlark.com/sass/download/sass-1.35.1.tgz?cache=0&sync_timestamp=1623791393536&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass%2Fdownload%2Fsass-1.35.1.tgz", + "integrity": "sha1-kOz3dN/mjwe2GTB347QvsVS54c0=", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "12.1.0", + "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-12.1.0.tgz", + "integrity": "sha1-tzMkYiIxAJ2m+6Yat2ATJWOA0gE=", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-5.0.1.tgz?cache=0&sync_timestamp=1618847133756&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-5.0.1.tgz", + "integrity": "sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/shallow-clone/download/shallow-clone-3.0.1.tgz", + "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz?cache=0&sync_timestamp=1620046554687&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-final-newline%2Fdownload%2Fstrip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/style-loader/download/style-loader-2.0.0.tgz?cache=0&sync_timestamp=1618847017397&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstyle-loader%2Fdownload%2Fstyle-loader-2.0.0.tgz", + "integrity": "sha1-lmlgL9RpB0DqrsE3eZoDrdu8OTw=", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.0.tgz", + "integrity": "sha1-XDc9KB2cZyhIIT0OA30cQWWrQms=", + "dev": true + }, + "terser": { + "version": "5.7.0", + "resolved": "https://registry.nlark.com/terser/download/terser-5.7.0.tgz", + "integrity": "sha1-p2Hu7CBryHtgWrEwKYdurZOK5pM=", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.1.3", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.1.3.tgz?cache=0&sync_timestamp=1622475814720&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.1.3.tgz", + "integrity": "sha1-MAM+lVyii1VmTx5LMKE0fmGqI68=", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237641463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", + "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.39.0", + "resolved": "https://registry.nlark.com/webpack/download/webpack-5.39.0.tgz", + "integrity": "sha1-N9aJnx9Awx1ZAavA85vIzHIkE4w=", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.47", + "@webassemblyjs/ast": "1.11.0", + "@webassemblyjs/wasm-edit": "1.11.0", + "@webassemblyjs/wasm-parser": "1.11.0", + "acorn": "^8.2.1", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.4.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.1", + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz", + "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "webpack-sources": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-2.3.0.tgz", + "integrity": "sha1-ntLeabJRQ6TBiEdYatnsyxknjPo=", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-cli": { + "version": "4.7.2", + "resolved": "https://registry.nlark.com/webpack-cli/download/webpack-cli-4.7.2.tgz", + "integrity": "sha1-pxjbYA3m05BqQ1fgWa5YSon0waU=", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1622954303803&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/execa/download/execa-5.1.1.tgz", + "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-6.0.1.tgz", + "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz", + "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/wildcard/download/wildcard-2.0.0.tgz", + "integrity": "sha1-p30g5SAMb6qsl55LOq3Hs91/j+w=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz", + "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true + } + } +} diff --git a/src/createPage/ext.isekai.createPage.js b/src/createPage/ext.isekai.createPage.js index 92724ab..88646e8 100644 --- a/src/createPage/ext.isekai.createPage.js +++ b/src/createPage/ext.isekai.createPage.js @@ -1,108 +1,108 @@ -const registerModule = require('../moduleRegister'); - -class CreatePageWidget { - constructor(dom) { - this.baseDom = dom; - this.pageUrl = null; - this.api = new mw.Api(); - - this.hasError = false; - - this.initDom(); - } - - initDom() { - this.pageNameInput = new OO.ui.TextInputWidget({ - placeholder: mw.message('isekai-createpage-page-title').parse(), - }); - this.pageNameInput.on('enter', this.createPage.bind(this)); - this.pageNameInput.on('change', this.onPageNameChange.bind(this)); - - this.createButton = new OO.ui.ButtonWidget({ - label: mw.message('isekai-createpage-create-page-button').parse(), - flags: [ - 'primary', - 'progressive' - ] - }); - this.createButton.on('click', this.createPage.bind(this)); - - this.formGroup = new OO.ui.ActionFieldLayout(this.pageNameInput, this.createButton, { - align: 'top' - }); - this.baseDom.find('.card-body .card-content').append(this.formGroup.$element); - } - - createPage() { - let title = this.pageNameInput.getValue(); - if (this.hasError) { - this.clearError(); //清除errors - } - if (title.trim().length > 0) { - this.createButton.setDisabled(true); - this.pageExists(title).then((exists) => { - if (exists) { - this.createButton.setDisabled(false); - this.setError(mw.message('isekai-createpage-page-exists').parse()); //提示页面已经存在 - } else { - let targetUrl = mw.util.getUrl(title, { veaction: 'edit' }); - this.formGroup.setSuccess([ - mw.message('isekai-createpage-redirecting').parse() - ]); //提示正在跳转 - location.href = targetUrl; - } - }); - } else { - this.setError(mw.message('isekai-createpage-title-empty').parse()); - } - } - - onPageNameChange() { - if (this.hasError) { - this.clearError(); - } - - let value = this.pageNameInput.getValue(); - if (value.indexOf(':') !== -1 || value.indexOf('`') !== -1) { - let range = this.pageNameInput.getRange(); - value = value.replace(/:/g, ':').replace(/`/g, '·'); - this.pageNameInput.setValue(value); - this.pageNameInput.selectRange(range.from, range.to); - } - } - - setError(msg) { - this.formGroup.setErrors([msg]); //提示页面已经存在 - this.hasError = true; - } - - clearError() { - this.formGroup.setErrors([]); - this.hasError = false; - } - - pageExists(title) { - return new Promise((resolve, reject) => { - this.api.get({ - action: 'query', - titles: title, - }).done((data) => { - if (data.query && data.query.pages) { - if (data.query.pages["-1"]) { - resolve(false); - } else { - resolve(true); - } - } else { - resolve(false); - } - }).fail(reject); - }); - } - - setTitle(title) { - this.title.text(title); - } -} - +const registerModule = require('../moduleRegister'); + +class CreatePageWidget { + constructor(dom) { + this.baseDom = dom; + this.pageUrl = null; + this.api = new mw.Api(); + + this.hasError = false; + + this.initDom(); + } + + initDom() { + this.pageNameInput = new OO.ui.TextInputWidget({ + placeholder: mw.message('isekai-createpage-page-title').parse(), + }); + this.pageNameInput.on('enter', this.createPage.bind(this)); + this.pageNameInput.on('change', this.onPageNameChange.bind(this)); + + this.createButton = new OO.ui.ButtonWidget({ + label: mw.message('isekai-createpage-create-page-button').parse(), + flags: [ + 'primary', + 'progressive' + ] + }); + this.createButton.on('click', this.createPage.bind(this)); + + this.formGroup = new OO.ui.ActionFieldLayout(this.pageNameInput, this.createButton, { + align: 'top' + }); + this.baseDom.find('.card-body .card-content').append(this.formGroup.$element); + } + + createPage() { + let title = this.pageNameInput.getValue(); + if (this.hasError) { + this.clearError(); //清除errors + } + if (title.trim().length > 0) { + this.createButton.setDisabled(true); + this.pageExists(title).then((exists) => { + if (exists) { + this.createButton.setDisabled(false); + this.setError(mw.message('isekai-createpage-page-exists').parse()); //提示页面已经存在 + } else { + let targetUrl = mw.util.getUrl(title, { veaction: 'edit' }); + this.formGroup.setSuccess([ + mw.message('isekai-createpage-redirecting').parse() + ]); //提示正在跳转 + location.href = targetUrl; + } + }); + } else { + this.setError(mw.message('isekai-createpage-title-empty').parse()); + } + } + + onPageNameChange() { + if (this.hasError) { + this.clearError(); + } + + let value = this.pageNameInput.getValue(); + if (value.indexOf(':') !== -1 || value.indexOf('`') !== -1) { + let range = this.pageNameInput.getRange(); + value = value.replace(/:/g, ':').replace(/`/g, '·'); + this.pageNameInput.setValue(value); + this.pageNameInput.selectRange(range.from, range.to); + } + } + + setError(msg) { + this.formGroup.setErrors([msg]); //提示页面已经存在 + this.hasError = true; + } + + clearError() { + this.formGroup.setErrors([]); + this.hasError = false; + } + + pageExists(title) { + return new Promise((resolve, reject) => { + this.api.get({ + action: 'query', + titles: title, + }).done((data) => { + if (data.query && data.query.pages) { + if (data.query.pages["-1"]) { + resolve(false); + } else { + resolve(true); + } + } else { + resolve(false); + } + }).fail(reject); + }); + } + + setTitle(title) { + this.title.text(title); + } +} + registerModule('ui.CreatePageWidget', CreatePageWidget); \ No newline at end of file diff --git a/src/discover/ext.isekai.discover.js b/src/discover/ext.isekai.discover.js index 91bc1c5..59c305e 100644 --- a/src/discover/ext.isekai.discover.js +++ b/src/discover/ext.isekai.discover.js @@ -1,145 +1,145 @@ -const registerModule = require('../moduleRegister'); - -class DiscoverWidget { - constructor(dom){ - this.baseDom = dom; - this.pageUrl = null; - this.api = new mw.Api(); - - this.initDom(); - this.refreshPage(); - } - - initDom(){ - this.reloadButton = new OO.ui.ButtonWidget({ - icon: 'reload', - label: mw.message('isekai-discover-change-btn').parse(), - }); - this.reloadButton.on('click', this.refreshPage.bind(this)); - - this.readMoreButton = new OO.ui.ButtonWidget({ - icon: 'ellipsis', - label: mw.message('isekai-discover-readmore-btn').parse(), - flags: [ - 'primary', - 'progressive' - ] - }); - this.readMoreButton.on('click', this.showMore.bind(this)); - - this.loadingBar = new OO.ui.ProgressBarWidget({ - progress: false, - }); - this.baseDom.find('.card-body .loading .spinner').append(this.loadingBar.$element); - - this.buttonGroup = new OO.ui.ButtonGroupWidget({ - items: [this.reloadButton, this.readMoreButton] - }); - this.baseDom.find('.card-header .card-header-buttons').append(this.buttonGroup.$element); - this.loading = this.baseDom.find('.card-body .loading'); - this.title = this.baseDom.find('.card-body .card-title'); - this.contentContainer = this.baseDom.find('.card-body .card-content'); - } - - showMore(){ - if(this.pageUrl){ //页面存在就跳转 - window.open(this.pageUrl); - } - } - - refreshPage(){ - this.pageUrl = null; - this.clearContent(); - this.showLoading(); - this.getRandomPage().then((title) => { - this.loadPage(title); - }); - } - - setTitle(title){ - this.title.text(title); - } - - showLoading(){ - this.loading.show(); - this.contentContainer.hide(); - } - - hideLoading(){ - this.loading.hide(); - this.contentContainer.show(); - } - - clearContent(){ - this.contentContainer.children().remove(); - } - - setContent(dom){ - this.hideLoading(); - this.clearContent(); - this.contentContainer.append(dom); - } - - showError(msg){ - let errorMsg = new OO.ui.MessageWidget( { - type: 'error', - label: msg, - }); - - this.setContent(errorMsg.$element); - } - - getRandomPage(){ - return new Promise((resolve, reject) => { - this.api.get({ - action: 'query', - list: 'random', - rnlimit: 1, - rnnamespace: 0, - }).done((data) => { - if(data.query && data.query.random && data.query.random.length > 0){ - let title = data.query.random[0].title; - this.setTitle(title); - resolve(title); - } else if(data.error){ - this.showError(data.error.info); - } else { - this.showError(mw.message('isekai-discover-error-cannotload').parse()); - } - }); - }); - } - - parseHTMLString(txt) { - try { - let parser = new DOMParser(); - let xmlDoc = parser.parseFromString(txt, "text/html"); - return xmlDoc; - } catch(e) { - console.error(e.message); - } - return null; - } - - loadPage(title){ - let url = mw.util.getUrl(title); - this.pageUrl = url; - if(url.indexOf('?') >= 0){ - url += '&'; - } else { - url += '?' - } - url += 'action=render'; - $.get(url, (str) => { - let dom = $(this.parseHTMLString(str)); - let content = dom.find('.mw-parser-output'); - if(content.length > 0){ - //删除目录 - content.find('.toc').remove(); - this.setContent(content); - } - }, 'html'); - } -} - +const registerModule = require('../moduleRegister'); + +class DiscoverWidget { + constructor(dom){ + this.baseDom = dom; + this.pageUrl = null; + this.api = new mw.Api(); + + this.initDom(); + this.refreshPage(); + } + + initDom(){ + this.reloadButton = new OO.ui.ButtonWidget({ + icon: 'reload', + label: mw.message('isekai-discover-change-btn').parse(), + }); + this.reloadButton.on('click', this.refreshPage.bind(this)); + + this.readMoreButton = new OO.ui.ButtonWidget({ + icon: 'ellipsis', + label: mw.message('isekai-discover-readmore-btn').parse(), + flags: [ + 'primary', + 'progressive' + ] + }); + this.readMoreButton.on('click', this.showMore.bind(this)); + + this.loadingBar = new OO.ui.ProgressBarWidget({ + progress: false, + }); + this.baseDom.find('.card-body .loading .spinner').append(this.loadingBar.$element); + + this.buttonGroup = new OO.ui.ButtonGroupWidget({ + items: [this.reloadButton, this.readMoreButton] + }); + this.baseDom.find('.card-header .card-header-buttons').append(this.buttonGroup.$element); + this.loading = this.baseDom.find('.card-body .loading'); + this.title = this.baseDom.find('.card-body .card-title'); + this.contentContainer = this.baseDom.find('.card-body .card-content'); + } + + showMore(){ + if(this.pageUrl){ //页面存在就跳转 + window.open(this.pageUrl); + } + } + + refreshPage(){ + this.pageUrl = null; + this.clearContent(); + this.showLoading(); + this.getRandomPage().then((title) => { + this.loadPage(title); + }); + } + + setTitle(title){ + this.title.text(title); + } + + showLoading(){ + this.loading.show(); + this.contentContainer.hide(); + } + + hideLoading(){ + this.loading.hide(); + this.contentContainer.show(); + } + + clearContent(){ + this.contentContainer.children().remove(); + } + + setContent(dom){ + this.hideLoading(); + this.clearContent(); + this.contentContainer.append(dom); + } + + showError(msg){ + let errorMsg = new OO.ui.MessageWidget( { + type: 'error', + label: msg, + }); + + this.setContent(errorMsg.$element); + } + + getRandomPage(){ + return new Promise((resolve, reject) => { + this.api.get({ + action: 'query', + list: 'random', + rnlimit: 1, + rnnamespace: 0, + }).done((data) => { + if(data.query && data.query.random && data.query.random.length > 0){ + let title = data.query.random[0].title; + this.setTitle(title); + resolve(title); + } else if(data.error){ + this.showError(data.error.info); + } else { + this.showError(mw.message('isekai-discover-error-cannotload').parse()); + } + }); + }); + } + + parseHTMLString(txt) { + try { + let parser = new DOMParser(); + let xmlDoc = parser.parseFromString(txt, "text/html"); + return xmlDoc; + } catch(e) { + console.error(e.message); + } + return null; + } + + loadPage(title){ + let url = mw.util.getUrl(title); + this.pageUrl = url; + if(url.indexOf('?') >= 0){ + url += '&'; + } else { + url += '?' + } + url += 'action=render'; + $.get(url, (str) => { + let dom = $(this.parseHTMLString(str)); + let content = dom.find('.mw-parser-output'); + if(content.length > 0){ + //删除目录 + content.find('.toc').remove(); + this.setContent(content); + } + }, 'html'); + } +} + registerModule('ui.DiscoverWidget', DiscoverWidget); \ No newline at end of file diff --git a/src/moduleRegister.js b/src/moduleRegister.js index b831879..6d80974 100644 --- a/src/moduleRegister.js +++ b/src/moduleRegister.js @@ -1,19 +1,19 @@ -function register(namespace, func) { - let nsList = namespace.split('.'); - - if(!('isekai' in window)){ - window.isekai = {}; - } - - let obj = window.isekai; - for(var i = 0; i < nsList.length - 1; i ++){ - let ns = nsList[i]; - if(!(ns in obj)){ - obj[ns] = {}; - } - obj = obj[ns]; - } - obj[nsList[i]] = func; -} - +function register(namespace, func) { + let nsList = namespace.split('.'); + + if(!('isekai' in window)){ + window.isekai = {}; + } + + let obj = window.isekai; + for(var i = 0; i < nsList.length - 1; i ++){ + let ns = nsList[i]; + if(!(ns in obj)){ + obj[ns] = {}; + } + obj = obj[ns]; + } + obj[nsList[i]] = func; +} + module.exports = register; \ No newline at end of file diff --git a/src/previewCard/ext.isekai.previewCard.js b/src/previewCard/ext.isekai.previewCard.js index b6c9f2a..cd4b94a 100644 --- a/src/previewCard/ext.isekai.previewCard.js +++ b/src/previewCard/ext.isekai.previewCard.js @@ -1,27 +1,27 @@ -const registerModule = require('../moduleRegister'); - -class PreviewCardWidget { - constructor(dom) { - this.baseDom = dom; - this.pageName = null; - this.api = new mw.Api(); - - this.loaded = false; - - this.initDom(); - } - - initDom() { - this.pageName = this.baseDom.attr('data-title'); - - this.title = this.baseDom.find('card-title'); - } - - load() { - if(this.loaded) return; - - - } -} - +const registerModule = require('../moduleRegister'); + +class PreviewCardWidget { + constructor(dom) { + this.baseDom = dom; + this.pageName = null; + this.api = new mw.Api(); + + this.loaded = false; + + this.initDom(); + } + + initDom() { + this.pageName = this.baseDom.attr('data-title'); + + this.title = this.baseDom.find('card-title'); + } + + load() { + if(this.loaded) return; + + + } +} + registerModule('ui.PreviewCardWidget', PreviewCardWidget); \ No newline at end of file diff --git a/src/tile/include/default-icons.less b/src/tile/include/default-icons.less index 38ae71d..464a21b 100644 --- a/src/tile/include/default-icons.less +++ b/src/tile/include/default-icons.less @@ -1,63 +1,63 @@ -@playIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/play.svg'); -@loopIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/loop.svg'); -@stopIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/stop.svg'); -@pauseIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/pause.svg'); -@muteIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-mute.svg'); -@volumeLowIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-low.svg'); -@volumeMediumIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-medium.svg'); -@volumeHighIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-high.svg'); -@enlargeIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/enlarge.svg'); -@shrinkIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/shrink.svg'); -@playlistIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/list.svg'); -@nextIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/next.svg'); -@prevIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/prev.svg'); -@firstIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/first.svg'); -@lastIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/last.svg'); -@forwardIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/forward.svg'); -@backwardIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/backward.svg'); -@shareIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/share.svg'); -@equalizerIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/equalizer.svg'); -@ejectIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/eject.svg'); -@shuffleIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/shuffle.svg'); -@randomIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/dice.svg'); - -@playIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/play.svg'); -@loopIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/loop.svg'); -@stopIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/stop.svg'); -@pauseIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/pause.svg'); -@muteIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-mute.svg'); -@volumeLowIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-low.svg'); -@volumeMediumIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-medium.svg'); -@volumeHighIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-high.svg'); -@enlargeIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/enlarge.svg'); -@shrinkIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/shrink.svg'); -@playlistIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/list.svg'); -@nextIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/next.svg'); -@prevIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/prev.svg'); -@firstIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/first.svg'); -@lastIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/last.svg'); -@forwardIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/forward.svg'); -@backwardIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/backward.svg'); -@shareIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/share.svg'); -@equalizerIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/equalizer.svg'); -@ejectIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/eject.svg'); -@shuffleIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/shuffle.svg'); -@randomIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/dice.svg'); - -@checkIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/checkmark.svg'); -@crossIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/cross.svg'); -@searchIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/search.svg'); -@eyeIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/eye.svg'); -@plusIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/plus.svg'); -@minusIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/minus.svg'); -@helpIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/help.svg'); -@leftArrowIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/arrow-left.svg'); -@rightArrowIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/arrow-right.svg'); -@calendarIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/calendar.svg'); -@clockIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/clock.svg'); -@menuIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/menu.svg'); -@uploadIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/upload.svg'); -@pencilIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/pencil.svg'); -@chevronLeftIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/chevron-left.svg'); -@chevronRightIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/chevron-right.svg'); - +@playIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/play.svg'); +@loopIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/loop.svg'); +@stopIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/stop.svg'); +@pauseIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/pause.svg'); +@muteIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-mute.svg'); +@volumeLowIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-low.svg'); +@volumeMediumIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-medium.svg'); +@volumeHighIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/volume-high.svg'); +@enlargeIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/enlarge.svg'); +@shrinkIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/shrink.svg'); +@playlistIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/list.svg'); +@nextIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/next.svg'); +@prevIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/prev.svg'); +@firstIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/first.svg'); +@lastIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/last.svg'); +@forwardIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/forward.svg'); +@backwardIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/backward.svg'); +@shareIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/share.svg'); +@equalizerIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/equalizer.svg'); +@ejectIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/eject.svg'); +@shuffleIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/shuffle.svg'); +@randomIconLight: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/light/dice.svg'); + +@playIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/play.svg'); +@loopIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/loop.svg'); +@stopIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/stop.svg'); +@pauseIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/pause.svg'); +@muteIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-mute.svg'); +@volumeLowIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-low.svg'); +@volumeMediumIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-medium.svg'); +@volumeHighIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/volume-high.svg'); +@enlargeIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/enlarge.svg'); +@shrinkIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/shrink.svg'); +@playlistIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/list.svg'); +@nextIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/next.svg'); +@prevIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/prev.svg'); +@firstIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/first.svg'); +@lastIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/last.svg'); +@forwardIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/forward.svg'); +@backwardIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/backward.svg'); +@shareIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/share.svg'); +@equalizerIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/equalizer.svg'); +@ejectIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/eject.svg'); +@shuffleIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/shuffle.svg'); +@randomIconDark: data-uri('image/svg+xml;charset=UTF-8', 'source/images/media/dark/dice.svg'); + +@checkIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/checkmark.svg'); +@crossIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/cross.svg'); +@searchIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/search.svg'); +@eyeIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/eye.svg'); +@plusIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/plus.svg'); +@minusIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/minus.svg'); +@helpIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/help.svg'); +@leftArrowIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/arrow-left.svg'); +@rightArrowIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/arrow-right.svg'); +@calendarIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/calendar.svg'); +@clockIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/clock.svg'); +@menuIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/menu.svg'); +@uploadIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/upload.svg'); +@pencilIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/pencil.svg'); +@chevronLeftIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/chevron-left.svg'); +@chevronRightIcon: data-uri('image/svg+xml;charset=UTF-8', 'source/images/apps/chevron-right.svg'); + diff --git a/src/tile/include/mixins.less b/src/tile/include/mixins.less index 24f59c5..bf6ea35 100644 --- a/src/tile/include/mixins.less +++ b/src/tile/include/mixins.less @@ -1,538 +1,538 @@ -@import (once) "vars"; - -.show-element() { - //display: initial; - opacity: 1; - .scale(1); -} - -.hide-element() { - .scale(0); - opacity: 0; - //display: none; -} - -.debug() { - outline: 1px dotted red!important; - min-width: 1px; - min-height: 1px; -} - -.clear() { - &::after { - display: block; - clear: both; - content: ""; - } -} - -.set-relative() { - display: block; - position: relative; -} - -.set-absolute() { - position: absolute; -} - -.set-flex() { - display: flex; -} - -.reset-list() { - list-style: none inside; - margin: 0; - padding: 0; - position: relative; -} - -.px2rem(@attr: width; @size: 16) { - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( @current_value / 16, rem ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.rem2px(@attr: width; @size: 16) { - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( 16 * @current_value, px ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.pt2px(@attr: width; @size: 16) { - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( round(@current_value * 1.333333) , px ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.px2pt(@attr: width; @size: 16) { - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( round(.75 * @current_value), pt ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.pt2rem(@attr: width; @size: 16){ - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( round(@current_value * 1.333333 / 16), rem ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.rem2pt(@attr: width; @size: 16){ - .get-values(length(@size)); - .get-values(@s, @i: 1) when (@i =< length(@size)) { - @current_value: extract(@size, @i); - - & when not(@current_value = 0) { - @{attr}+_: unit( round(.75 * 16 * @current_value), pt ); - } - - & when (@current_value = 0) { - @{attr}+_: 0; - } - - .get-values(@s, @i + 1); - } -} - -.square(@size: 0, @unit) { - width: unit(@size, @unit); - height: unit(@size, @unit); -} - -.circle(@size: 0, @unit) { - width: unit(@size, @unit); - height: unit(@size, @unit); - border-radius: 50%; -} - -.halo() { - &::after { - display: block; - content: ""; - position: absolute; - .circle(3.125, rem); - background-color: rgba(187, 187, 187, 0.5); - opacity: .3; - top: 50%; - left: 50%; - .px2rem(margin-top, -25px); - .px2rem(margin-left, -25px); - } -} - -.animate(@params){ - animation: @params; -} - -.transition-scheme(@t) { - transition: @t; -} - -.collapse() { - overflow: hidden; - max-height: 0; - transition: @transition-collapse; - position: relative; -} - -.expand() { - max-height: 1000px !important; - transition: @transition-collapse !important; - transition-duration: 1s !important; - overflow: visible!important; -} - -.perspective(@perspective) { - transform+_: perspective(@perspective); -} -.rotate(@degrees) { - transform+_: rotate(@degrees); -} -.rotateX(@degrees) { - transform+_: rotateX(@degrees); -} -.rotateY(@degrees) { - transform+_: rotateY(@degrees); -} -.rotateZ(@degrees) { - transform+_: rotateZ(@degrees); -} -.scale(@ratio) { - transform+_: scale(@ratio); -} -.scaleX(@ratio) { - transform+_: scaleX(@ratio); -} -.scaleY(@ratio) { - transform+_: scaleY(@ratio); -} -.translate(@x: 0, @y: 0) { - transform+_: translate(@x, @y); -} -.skew(@x: 0, @y: 0) { - transform+_: skew(@x, @y); -} -.skewX(@x: 0) { - transform+_: skewX(@x); -} -.skewY(@y: 0) { - transform+_: skewY(@y); -} -.translate3d(@x: 0, @y: 0, @z: 0) { - transform+_: translate3d(@x, @y, @z); -} - -.transformOrigin(@origin) { - transform-origin: @origin; -} - -.transition(@time: 1s, @func: ease, @target: all){ - transition: @target @time @func; -} - -.translateX(@x: 0) { - transform+_: translateX(@x); -} -.translateY(@y: 0) { - transform+_: translateY(@y); -} - -.shadow(@x, @y, @blur, @stretch, @color, @alpha: .4){ - box-shadow+: @x @y @blur @stretch rgba(red(@color), green(@color), blue(@color), @alpha); -} - -.default-shadow() { - //.shadow(2px, 2px, 5px, 0, @black); - box-shadow: 2px 2px 2px 0 rgba(red(@ribbonDropdownShadow), green(@ribbonDropdownShadow), blue(@ribbonDropdownShadow), .7), - -.5px 0 1px 0 rgba(red(@ribbonDropdownShadow), green(@ribbonDropdownShadow), blue(@ribbonDropdownShadow), .7); -} - -.win-shadow(){ - box-shadow+: 0 0 5px 0 rgba(0, 0, 0, 0.3); -} - -.shadow(@size) when (@size = 0) { - box-shadow: none; -} - -.shadow(@size) when (@size = 1) { - box-shadow+: 0 2px 10px 0 rgba(0, 0, 0, 0.16), 0 2px 5px 0 rgba(0, 0, 0, 0.26); -} - -.shadow(@size) when (@size = 2) { - box-shadow+: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); -} - -.shadow(@size) when (@size = 3) { - box-shadow+: 0 17px 50px 0 rgba(0, 0, 0, 0.19), 0 12px 15px 0 rgba(0, 0, 0, 0.24); -} - -.shadow(@size) when (@size = 4) { - box-shadow+: 0 25px 55px 0 rgba(0, 0, 0, 0.21), 0 16px 28px 0 rgba(0, 0, 0, 0.22); -} - -.shadow(@size) when (@size = 5) { - box-shadow+: 0 40px 77px 0 rgba(0, 0, 0, 0.22), 0 27px 24px 0 rgba(0, 0, 0, 0.2); -} - -.shadow-right() { - box-shadow+: 5px 0 7px -6px rgba(0,0,0,0.75); -} - -.shadow-left() { - box-shadow+: -5px 0 7px -6px rgba(0,0,0,0.75); -} - -.text-ellipsis() { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.focus-show(@color){ - box-shadow+: 0 0 0 3px rgba(red(@color), green(@color), blue(@color), 0.45); -} - -.neb(@size: 1rem, @shift: .625rem) { - &::before { - display: block; - position: absolute; - content: ""; - width: @size; - height: @size; - background-color: inherit; - border: 1px solid transparent; - border-right-color: inherit; - border-bottom-color: inherit; - } - - &.neb-s { - &::before { - top: 100%; - left: 50%; - .translateX(-50%); - .translateY(-50%); - .rotate(45deg); - } - } - - &.neb-sw { - &::before { - top: 100%; - left: @shift; - .translateY(-50%); - .rotate(45deg); - } - } - - &.neb-se { - &::before { - top: 100%; - right: @shift; - .translateY(-50%); - .rotate(45deg); - } - } - - &.neb-n { - &::before { - top: 0; - left: 50%; - .translateX(-50%); - .translateY(-50%); - .rotate(-135deg); - } - } - - &.neb-nw { - &::before { - top: 0; - left: @shift; - .translateY(-50%); - .rotate(-135deg); - } - } - - &.neb-ne { - &::before { - top: 0; - right: @shift; - .translateY(-50%); - .rotate(-135deg); - } - } - - &.neb-en { - &::before { - top: @shift; - right: 0; - .translateX(50%); - .rotate(-45deg); - } - } - - &.neb-e { - &::before { - top: 50%; - right: 0; - .translateX(50%); - .translateY(-50%); - .rotate(-45deg); - } - } - - &.neb-es { - &::before { - bottom: @shift; - right: 0; - .translateX(50%); - .rotate(-45deg); - } - } - - &.neb-wn { - &::before { - top: @shift; - left: 0; - .translateX(-50%); - .rotate(135deg); - } - } - - &.neb-w { - &::before { - top: 50%; - left: 0; - .translateX(-50%); - .translateY(-50%); - .rotate(135deg); - } - } - - &.neb-ws { - &::before { - bottom: @shift; - left: 0; - .translateX(-50%); - .rotate(135deg); - } - } -} - -.neb2(@size: 1rem; @shift: .625rem; @color: @white){ - &::before { - display: block; - content: ""; - width: 0; - height: 0; - border-style: solid; - position: absolute; - } - - &.neb-s { - &::before { - border-width: @size @size 0 @size; - border-color: @color transparent transparent transparent; - top: 100%; - left: 50%; - .translateX(-50%); - .translateY(-50%); - } - } - - &.neb-n { - &::before { - border-width: 0 @size @size @size; - border-color: transparent transparent @color transparent; - top: 0; - left: 50%; - .translateX(-50%); - .translateY(-50%); - } - } - - &.neb-e { - &::before { - border-width: @size 0 @size @size; - border-color: transparent transparent transparent @color; - top: 50%; - right: 0; - .translateX(50%); - .translateY(-50%); - } - } - - &.neb-w { - &::before { - border-width: @size @size @size 0; - border-color: transparent @color transparent transparent; - top: 50%; - left: 0; - .translateX(-50%); - .translateY(-50%); - } - } -} - -.toggle() { - position: relative; - cursor: pointer; - padding-right: 1.5rem!important; - user-select: none; - - &::before { - display: block; - position: absolute; - vertical-align: middle; - color: transparent; - font-size: 0; - content: ""; - .px2rem(height, 5px); - .px2rem(width, 5px); - background-color: @transparent ; - border-left: 1px solid; - border-bottom: 1px solid; - border-color: @dark; - top: 50%; - left: 100%; - margin-left: -1rem; - margin-top: -.1625rem; - z-index: 2; - transform: rotate(-45deg); - transition: @transition-short; - transform-origin: center center 1px; - } -} - -.hideElement(@el){ - @{el} { - width: 1px; - height: 1px; - position: absolute; - top: 0; - left: 0; - opacity: 0; - } -} - -.hideScrollBars() { - &::-webkit-scrollbar { - display: none!important; - } - -ms-overflow-style: -ms-autohiding-scrollbar; - overflow: -moz-scrollbars-none; +@import (once) "vars"; + +.show-element() { + //display: initial; + opacity: 1; + .scale(1); +} + +.hide-element() { + .scale(0); + opacity: 0; + //display: none; +} + +.debug() { + outline: 1px dotted red!important; + min-width: 1px; + min-height: 1px; +} + +.clear() { + &::after { + display: block; + clear: both; + content: ""; + } +} + +.set-relative() { + display: block; + position: relative; +} + +.set-absolute() { + position: absolute; +} + +.set-flex() { + display: flex; +} + +.reset-list() { + list-style: none inside; + margin: 0; + padding: 0; + position: relative; +} + +.px2rem(@attr: width; @size: 16) { + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( @current_value / 16, rem ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.rem2px(@attr: width; @size: 16) { + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( 16 * @current_value, px ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.pt2px(@attr: width; @size: 16) { + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( round(@current_value * 1.333333) , px ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.px2pt(@attr: width; @size: 16) { + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( round(.75 * @current_value), pt ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.pt2rem(@attr: width; @size: 16){ + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( round(@current_value * 1.333333 / 16), rem ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.rem2pt(@attr: width; @size: 16){ + .get-values(length(@size)); + .get-values(@s, @i: 1) when (@i =< length(@size)) { + @current_value: extract(@size, @i); + + & when not(@current_value = 0) { + @{attr}+_: unit( round(.75 * 16 * @current_value), pt ); + } + + & when (@current_value = 0) { + @{attr}+_: 0; + } + + .get-values(@s, @i + 1); + } +} + +.square(@size: 0, @unit) { + width: unit(@size, @unit); + height: unit(@size, @unit); +} + +.circle(@size: 0, @unit) { + width: unit(@size, @unit); + height: unit(@size, @unit); + border-radius: 50%; +} + +.halo() { + &::after { + display: block; + content: ""; + position: absolute; + .circle(3.125, rem); + background-color: rgba(187, 187, 187, 0.5); + opacity: .3; + top: 50%; + left: 50%; + .px2rem(margin-top, -25px); + .px2rem(margin-left, -25px); + } +} + +.animate(@params){ + animation: @params; +} + +.transition-scheme(@t) { + transition: @t; +} + +.collapse() { + overflow: hidden; + max-height: 0; + transition: @transition-collapse; + position: relative; +} + +.expand() { + max-height: 1000px !important; + transition: @transition-collapse !important; + transition-duration: 1s !important; + overflow: visible!important; +} + +.perspective(@perspective) { + transform+_: perspective(@perspective); +} +.rotate(@degrees) { + transform+_: rotate(@degrees); +} +.rotateX(@degrees) { + transform+_: rotateX(@degrees); +} +.rotateY(@degrees) { + transform+_: rotateY(@degrees); +} +.rotateZ(@degrees) { + transform+_: rotateZ(@degrees); +} +.scale(@ratio) { + transform+_: scale(@ratio); +} +.scaleX(@ratio) { + transform+_: scaleX(@ratio); +} +.scaleY(@ratio) { + transform+_: scaleY(@ratio); +} +.translate(@x: 0, @y: 0) { + transform+_: translate(@x, @y); +} +.skew(@x: 0, @y: 0) { + transform+_: skew(@x, @y); +} +.skewX(@x: 0) { + transform+_: skewX(@x); +} +.skewY(@y: 0) { + transform+_: skewY(@y); +} +.translate3d(@x: 0, @y: 0, @z: 0) { + transform+_: translate3d(@x, @y, @z); +} + +.transformOrigin(@origin) { + transform-origin: @origin; +} + +.transition(@time: 1s, @func: ease, @target: all){ + transition: @target @time @func; +} + +.translateX(@x: 0) { + transform+_: translateX(@x); +} +.translateY(@y: 0) { + transform+_: translateY(@y); +} + +.shadow(@x, @y, @blur, @stretch, @color, @alpha: .4){ + box-shadow+: @x @y @blur @stretch rgba(red(@color), green(@color), blue(@color), @alpha); +} + +.default-shadow() { + //.shadow(2px, 2px, 5px, 0, @black); + box-shadow: 2px 2px 2px 0 rgba(red(@ribbonDropdownShadow), green(@ribbonDropdownShadow), blue(@ribbonDropdownShadow), .7), + -.5px 0 1px 0 rgba(red(@ribbonDropdownShadow), green(@ribbonDropdownShadow), blue(@ribbonDropdownShadow), .7); +} + +.win-shadow(){ + box-shadow+: 0 0 5px 0 rgba(0, 0, 0, 0.3); +} + +.shadow(@size) when (@size = 0) { + box-shadow: none; +} + +.shadow(@size) when (@size = 1) { + box-shadow+: 0 2px 10px 0 rgba(0, 0, 0, 0.16), 0 2px 5px 0 rgba(0, 0, 0, 0.26); +} + +.shadow(@size) when (@size = 2) { + box-shadow+: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); +} + +.shadow(@size) when (@size = 3) { + box-shadow+: 0 17px 50px 0 rgba(0, 0, 0, 0.19), 0 12px 15px 0 rgba(0, 0, 0, 0.24); +} + +.shadow(@size) when (@size = 4) { + box-shadow+: 0 25px 55px 0 rgba(0, 0, 0, 0.21), 0 16px 28px 0 rgba(0, 0, 0, 0.22); +} + +.shadow(@size) when (@size = 5) { + box-shadow+: 0 40px 77px 0 rgba(0, 0, 0, 0.22), 0 27px 24px 0 rgba(0, 0, 0, 0.2); +} + +.shadow-right() { + box-shadow+: 5px 0 7px -6px rgba(0,0,0,0.75); +} + +.shadow-left() { + box-shadow+: -5px 0 7px -6px rgba(0,0,0,0.75); +} + +.text-ellipsis() { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.focus-show(@color){ + box-shadow+: 0 0 0 3px rgba(red(@color), green(@color), blue(@color), 0.45); +} + +.neb(@size: 1rem, @shift: .625rem) { + &::before { + display: block; + position: absolute; + content: ""; + width: @size; + height: @size; + background-color: inherit; + border: 1px solid transparent; + border-right-color: inherit; + border-bottom-color: inherit; + } + + &.neb-s { + &::before { + top: 100%; + left: 50%; + .translateX(-50%); + .translateY(-50%); + .rotate(45deg); + } + } + + &.neb-sw { + &::before { + top: 100%; + left: @shift; + .translateY(-50%); + .rotate(45deg); + } + } + + &.neb-se { + &::before { + top: 100%; + right: @shift; + .translateY(-50%); + .rotate(45deg); + } + } + + &.neb-n { + &::before { + top: 0; + left: 50%; + .translateX(-50%); + .translateY(-50%); + .rotate(-135deg); + } + } + + &.neb-nw { + &::before { + top: 0; + left: @shift; + .translateY(-50%); + .rotate(-135deg); + } + } + + &.neb-ne { + &::before { + top: 0; + right: @shift; + .translateY(-50%); + .rotate(-135deg); + } + } + + &.neb-en { + &::before { + top: @shift; + right: 0; + .translateX(50%); + .rotate(-45deg); + } + } + + &.neb-e { + &::before { + top: 50%; + right: 0; + .translateX(50%); + .translateY(-50%); + .rotate(-45deg); + } + } + + &.neb-es { + &::before { + bottom: @shift; + right: 0; + .translateX(50%); + .rotate(-45deg); + } + } + + &.neb-wn { + &::before { + top: @shift; + left: 0; + .translateX(-50%); + .rotate(135deg); + } + } + + &.neb-w { + &::before { + top: 50%; + left: 0; + .translateX(-50%); + .translateY(-50%); + .rotate(135deg); + } + } + + &.neb-ws { + &::before { + bottom: @shift; + left: 0; + .translateX(-50%); + .rotate(135deg); + } + } +} + +.neb2(@size: 1rem; @shift: .625rem; @color: @white){ + &::before { + display: block; + content: ""; + width: 0; + height: 0; + border-style: solid; + position: absolute; + } + + &.neb-s { + &::before { + border-width: @size @size 0 @size; + border-color: @color transparent transparent transparent; + top: 100%; + left: 50%; + .translateX(-50%); + .translateY(-50%); + } + } + + &.neb-n { + &::before { + border-width: 0 @size @size @size; + border-color: transparent transparent @color transparent; + top: 0; + left: 50%; + .translateX(-50%); + .translateY(-50%); + } + } + + &.neb-e { + &::before { + border-width: @size 0 @size @size; + border-color: transparent transparent transparent @color; + top: 50%; + right: 0; + .translateX(50%); + .translateY(-50%); + } + } + + &.neb-w { + &::before { + border-width: @size @size @size 0; + border-color: transparent @color transparent transparent; + top: 50%; + left: 0; + .translateX(-50%); + .translateY(-50%); + } + } +} + +.toggle() { + position: relative; + cursor: pointer; + padding-right: 1.5rem!important; + user-select: none; + + &::before { + display: block; + position: absolute; + vertical-align: middle; + color: transparent; + font-size: 0; + content: ""; + .px2rem(height, 5px); + .px2rem(width, 5px); + background-color: @transparent ; + border-left: 1px solid; + border-bottom: 1px solid; + border-color: @dark; + top: 50%; + left: 100%; + margin-left: -1rem; + margin-top: -.1625rem; + z-index: 2; + transform: rotate(-45deg); + transition: @transition-short; + transform-origin: center center 1px; + } +} + +.hideElement(@el){ + @{el} { + width: 1px; + height: 1px; + position: absolute; + top: 0; + left: 0; + opacity: 0; + } +} + +.hideScrollBars() { + &::-webkit-scrollbar { + display: none!important; + } + -ms-overflow-style: -ms-autohiding-scrollbar; + overflow: -moz-scrollbars-none; } \ No newline at end of file diff --git a/src/tile/include/vars.less b/src/tile/include/vars.less index 284eb58..2045c2d 100644 --- a/src/tile/include/vars.less +++ b/src/tile/include/vars.less @@ -1,314 +1,314 @@ -@unitSize: 4px; - -// Fonts -@fontName: -apple-system, system-ui, BlinkMacSystemFont, - "Segoe UI", "Roboto", "Ubuntu", - "Helvetica Neue", sans-serif; - -@fontSize: @unitSize * 4; - - -// Colors -@lightenValue: 15%; -@darkenValue: 15%; - -@transparent: transparent; - -@brandColor1: #2ac4f4; -@brandColor2: #004d6f; - -@black: #000000; -@white: #ffffff; -@dark: #1d1d1d; -@light: #f8f8f8; -@gray: #bebebe; -@grayBlue: #607d8b; -@grayWhite: #f5f5f5; -@grayMouse: #455a64; - -@lime: #a4c400; -@green: #60a917; -@emerald: #008a00; -@blue: #00AFF0; -@teal: #00aba9; -@cyan: #1ba1e2; -@cobalt: #0050ef; -@indigo: #6a00ff; -@violet: #aa00ff; -@pink: #dc4fad; -@magenta: #d80073; -@crimson: #a20025; -@red: #CE352C; -@orange: #fa6800; -@amber: #f0a30a; -@yellow: #fff000; -@brown: #825a2c; -@olive: #6d8764; -@steel: #647687; -@mauve: #76608a; -@taupe: #87794e; - -@lightLime: lighten(@lime, @lightenValue); -@lightGreen: lighten(@green, @lightenValue); -@lightEmerald: lighten(@emerald, @lightenValue); -@lightBlue: lighten(@blue, @lightenValue); -@lightTeal: lighten(@teal, @lightenValue); -@lightCyan: lighten(@cyan, @lightenValue); -@lightCobalt: lighten(@cobalt, @lightenValue); -@lightIndigo: lighten(@indigo, @lightenValue); -@lightViolet: lighten(@violet, @lightenValue); -@lightPink: lighten(@pink, @lightenValue); -@lightMagenta: lighten(@magenta, @lightenValue); -@lightCrimson: lighten(@crimson, @lightenValue); -@lightRed: lighten(@red, @lightenValue); -@lightOrange: lighten(@orange, @lightenValue); -@lightAmber: lighten(@amber, @lightenValue); -@lightYellow: lighten(@yellow, @lightenValue); -@lightBrown: lighten(@brown, @lightenValue); -@lightOlive: lighten(@olive, @lightenValue); -@lightSteel: lighten(@steel, @lightenValue); -@lightMauve: lighten(@mauve, @lightenValue); -@lightTaupe: lighten(@taupe, @lightenValue); -@lightGray: lighten(@gray, @lightenValue); -@lightGrayBlue: lighten(@grayBlue, @lightenValue); - - -@darkLime: darken(@lime, @darkenValue); -@darkGreen: darken(@green, @darkenValue); -@darkEmerald: darken(@emerald, @darkenValue); -@darkBlue: darken(@blue, @darkenValue); -@darkTeal: darken(@teal, @darkenValue); -@darkCyan: darken(@cyan, @darkenValue); -@darkCobalt: darken(@cobalt, @darkenValue); -@darkIndigo: darken(@indigo, @darkenValue); -@darkViolet: darken(@violet, @darkenValue); -@darkPink: darken(@pink, @darkenValue); -@darkMagenta: darken(@magenta, @darkenValue); -@darkCrimson: darken(@crimson, @darkenValue); -@darkRed: darken(@red, @darkenValue); -@darkOrange: darken(@orange, @darkenValue); -@darkAmber: darken(@amber, @darkenValue); -@darkYellow: darken(@yellow, @darkenValue); -@darkBrown: darken(@brown, @darkenValue); -@darkOlive: darken(@olive, @darkenValue); -@darkSteel: darken(@steel, @darkenValue); -@darkMauve: darken(@mauve, @darkenValue); -@darkTaupe: darken(@taupe, @darkenValue); -@darkGray: darken(@gray, @darkenValue); -@darkGrayBlue: darken(@grayBlue, @darkenValue); - -@colorList: black, white, dark, light, grayBlue, grayWhite, grayMouse, brandColor1, brandColor2, - lime, green, emerald, blue, teal, cyan, cobalt, indigo, violet, pink, magenta, crimson, red, orange, amber, yellow, brown, olive, steel, mauve, taupe, gray, - lightLime, lightGreen, lightEmerald, lightBlue, lightTeal, lightCyan, lightCobalt, lightIndigo, lightViolet, lightPink, lightMagenta, lightCrimson, lightRed, lightOrange, lightAmber, lightYellow, lightBrown, lightOlive, lightSteel, lightMauve, lightTaupe, lightGray, lightGrayBlue, - darkLime, darkGreen, darkEmerald, darkBlue, darkTeal, darkCyan, darkCobalt, darkIndigo, darkViolet, darkPink, darkMagenta, darkCrimson, darkRed, darkOrange, darkAmber, darkYellow, darkBrown, darkOlive, darkSteel, darkMauve, darkTaupe, darkGray, darkGrayBlue; - -@colorListLength: length(@colorList); - -// Body -@bodyColor: lighten(@black, 13%); - -// Hover -@hoverBackground: rgba(red(@dark), green(@dark), blue(@dark), .1); -@hoverBackground2: rgba(red(@dark), green(@dark), blue(@dark), .5); -@hoverBackgroundLight3: rgba(red(@white), green(@white), blue(@white), .3); -@hoverBackgroundLight2: rgba(red(@white), green(@white), blue(@white), .2); -@hoverBackgroundLight1: rgba(red(@white), green(@white), blue(@white), .1); -@hoverBackgroundLight: rgba(red(@white), green(@white), blue(@white), .01); - -// Appbar -@appBarBackground: @brandColor2; -@appBarBackgroundActive: lighten(@brandColor2, 10%); -@appBarColor: @white; - -// Taskbar -@taskBarBackground: #053046; -@taskBarItemHover: rgba(red(@white), green(@white), blue(@white), .1); -@taskBarItemActive: rgba(red(@white), green(@white), blue(@white), .3); - -// Form and Inputs -@inputBorder: #d9d9d9; -@checkBackground: darken(@inputBorder, 10%); - -// Disabled -@disabledBackground: #e9e9e9; -@disabledBorder: #e9e9e9; -@disabledColor: lighten(@dark, 50%); - -// Borders -@borderRadius: .25rem; -@borderColor: darken(@light, 10%); - -// Links -@linkColor: #0366d6; -@linkColorHover: #0056b3; - - -// Accent colors -@primaryColor: #0366d6; -@secondaryColor: @grayBlue; -@successColor: @green; -@alertColor: @red; -@warningColor: @lightOrange; -@yellowColor: #ffe484; -@infoColor: @lightCyan; -@darkColor: lighten(@dark, 20%); -@lightColor: @light; -@brand1Color: @brandColor1; -@brand2Color: @brandColor2; - -@accentColors: primary, secondary, success, alert, warning, yellow, info, dark, light; -@buttonPredefinedTypes: primary, secondary, success, alert, warning, yellow, info, dark, light, brand1, brand2; -@buttonPredefinedTypesLength: length(@buttonPredefinedTypes); - -// Z-index -@zindex-selectedCheck: 100; -@zindex-absolute: 500; -@zindex-dropdown: 1000; -@zindex-sticky: 1020; -@zindex-fixed: 1030; -@zindex-modal-backdrop: 1040; -@zindex-modal: 1050; -@zindex-popover: 1060; -@zindex-tooltip: 1070; -@zindex-top: 1080; -@zindex-notify: 1085; -@zindex-charms: 1090; -@zindex-overlay: 2000; -@zindex-fullscreen: 2147483647; - - -// Percents breakpoints -@percentBreakpointsList: 25, 50, 75, 100; -@percentBreakpointsLength: length(@percentBreakpointsList); - -// Tiles -@tileBaseSize: 25%; -@tileApp: 44px 44px; -@tileSmall: 70px 70px; -@tileMedium: 150px 150px; -@tileWide: 310px 150px; -@tileLarge: 310px 310px; -@tileMargin: 5px; -@tileCellSize: extract(@tileMedium, 1); -@tileOutlineColor: rgba(red(@dark), green(@dark), blue(@dark), .1); -@tileTransformPerspective: 500px; -@tileTransformRotate: 0.138372rad; -@tileSize: extract(@tileMedium, 1); - - -// Media breakpoints -@fs: 0; -@xs: 360px; -@sm: 576px; -@ld: 640px; -@md: 768px; -@lg: 992px; -@xl: 1200px; -@xxl: 1452px; - -@mediaBreakpointListMobile: fs, sm, md, lg, xl, xxl; -@mediaBreakpointListMobile2: sm, md, lg, xl, xxl; -@mediaBreakpointListMobile3: xs, sm, ld, md, lg, xl, xxl; -@mediaBreakpointListDesktop: xxl, xl, lg, md, sm, fs; -@mediaBreakpointListDesktop2: xxl, xl, lg, md, sm; -@mediaBreakpointListDesktop3: xxl, xl, lg, md, ld, sm, xs; - -@mediaBreakpointListMobileLength: length(@mediaBreakpointListMobile); -@mediaBreakpointListMobile2Length: length(@mediaBreakpointListMobile2); -@mediaBreakpointListMobile3Length: length(@mediaBreakpointListMobile3); -@mediaBreakpointListDesktopLength: length(@mediaBreakpointListDesktop); -@mediaBreakpointListDesktop2Length: length(@mediaBreakpointListDesktop2); -@mediaBreakpointListDesktop3Length: length(@mediaBreakpointListDesktop3); - -@percents: 25, 33, 50, 75, 100; -@percentsLength: length(@percents); - -// Transition -@transition-speed: .3s; -@transition-short: all .15s ease-in-out; -@transition-base: all .3s ease-in-out; -@transition-long: all 1s ease-in-out; -@transition-margin: margin .3s ease-in-out; -@transition-fade: opacity .15s linear; -@transition-color: color .3s linear; -@transition-collapse: max-height .3s ease; -@transition-width: width .3s ease; -@transition-left: left .3s ease; -@transition-right: right .3s ease; -@transition-top: top .3s ease; -@transition-bottom: bottom .3s ease; -@transition-transform: transform .3s ease; - -// Grid -@gridColumns12: 12; -@gridGapSize: 12px; -@gridCellBaseSize: 8.333335%; - -// Windows -@winBorderSize: .5rem; -@winBorderColor: #6badf6; -@winBorderColorInactive: #ebebeb; -@winDialogContentBackground: #ededed; -@winFlatBackgroundColor: #ffffff; -@winFlatBorderColor: #e9e9e9; -@winFlatSystemButtonHoverBackground: #cde6f7; -@winFlatSystemButtonActiveBackground: #92c0e0; -@winFlatSystemButtonActiveColor: #2a8dd4; -@winFlatSystemButtonRestColor: #777777; -@winCloseButtonColor: #c75050; -@winCloseButtonActiveColor: #e04343; -@winCloseButtonInActiveColor: #bcbcbc; -@winCaptionBackground: #3c6478; -@winCaptionColor: @white; - -@streamerItemWidth: 224px; -@streamerTimelineImage: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOAAAAATCAYAAACJKwFWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2OWY4NzBhNi0zODU3LWFmNDEtYWMzZS03YzlkOTcxZjMxOTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEREMzg4NkJBQjkyMTFFN0JDQTVFMzg4RUE0RDc4RkQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEREMzg4NkFBQjkyMTFFN0JDQTVFMzg4RUE0RDc4RkQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YzEyZGQ1NjktNmM3YS0yZTQ2LTg2MmQtZWY3OGU5MmQ4NWY2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY5Zjg3MGE2LTM4NTctYWY0MS1hYzNlLTdjOWQ5NzFmMzE5MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv3rUTMAAAIHSURBVHja7Jq/S0JRHMWfpj37oSA8qikIImioIaghaHDrD2hqaG4R6i8paGksh2iIQGhoCYewocChhkDEoAjsx5IGDZV2Ll6huXvoKZwPHHwuh3O/737f03tvpNVqeUKIcIiYBiwUCoe4LhH8FqAadO/oE0BT0AUh0xxUhyqOPklohpRpFvqEbh194tA8dGX9XJi2fteE8S1CN1DD0WcSSpHmpslUhl4dfcahMeiSMTdj9qKYyWR2/uKA5v39dd1OUNebOAKtQtuEQa5Bd9C5o4+pVRbaImRagd6hU4LXJinTMjQMHZEymfn05eizBE1AOUKmDegAeiY8PE0z7xIyZaP2op/0Rk1AaYKPeQP6pEyD9inqyigx05B9ozLG5ttPV5I2FwPf1suVFGlsnUwBwSdt5zmD/qh+hQsRHmpAIdSAQqgBhRBqQCHUgEKIfyBG9jP7SD4pV5KYibFs3EfMZJbWu+0I0oDH24ZI2nq5krD3j5UpTvDxiZnoDWg2Ot8IPmbjfI+UqQo9EXw+vPZJCgYn0HeXNeCjx9vfKtt6uVIjPqhMpjrBx5ykqXRrA1ZJPg3P/RhTh2OSzwu0T/J66MJfQ2dEL1adisRMOZJPyeMcjdN/QCHCRg0ohBpQCDWgECKkBgxUip4k4rVXLiMqRU8SdBowr1r0JE2vvbTeVCl6kvyPAAMASGlSBhr76A8AAAAASUVORK5CYII="; - -@activityRingTime: 4000ms; -@activityRingSize: 32px; -@activityColor: @white; -@activityColorDark: @darkGray; -@activityRingRotate: -14deg; -@activityRingTimeMute: 30; - -@hintBackground: rgba(255, 252, 192, 1); -@hintColor: @dark; - -@mpStep: 4; -@mpUnit: px; - -@playerInactiveColor: #555555; -@playerActiveColor: @green; -@playerHoverColor: @white; -@playerControlsBackground: rgba(34, 34, 34, 0.5); - -@ribbonMenuStaticBackground: #1979ca; -@ribbonMenuBackground: #ffffff; -@ribbonMenuActiveBackground: #f5f6f7; -@ribbonMenuBorder: #dadbdc; -@ribbonMenuItemBorder: #a4cef9; -@ribbonMenuItemActiveBorder: #1979ca; -@ribbonMenuItemHoverBackground: rgba(red(#a4cef9), green(#a4cef9), blue(#a4cef9), .2); -@ribbonMenuItemActiveBackground: rgba(red(#a4cef9), green(#a4cef9), blue(#a4cef9), .8); -@ribbonDropdownBackground: #fbfcfd; -@ribbonDropdownDivider: #dcddde; -@ribbonDropdownShadow: #e3e4e5; - -@inputHeight: 36px; - -@input-lx: 50px; -@input-sx: 28px; - -@badgeFontSize: 12px; - -@johnDoe: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAUABQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+t+KKPxo/GgA70Yo/Gj8aADFH4VesdC1HUl3WtjcXCf344yV/PGKW+0HUtNXddWNzbp/fkjIX88YoAofhR+FH40fjQAfhR+FH40fjQAUUUUAFepeAPh5D9li1LVYhK8g3Q27j5VXszDuT6f5HA+FtOXVvEWn2rjMcko3j1UckfkDX0MBgYHAoARVCKFUBVHAA6ClZQwKkZBGCDS0UAec+Pvh3BJay6lpUQimjBeW3QYVx3Kjsfbv/PyqvpuvnvxfpqaT4l1C1QbY0lJUDsrfMB+RoAyKKKKACiiigDa8GXq6f4p02eQgIJQpJ7Bvlz+tfQP4V8yDg17P4A8cw65ZxWV5IE1KMbfmP+uA7j39R+NAHaUfhSUUAL+FeA+OL1NQ8WalNGQU83YCO+0Bf6V6b498cQ6BZyWlrIJNSkXaApz5QP8AEff0FeKk5OTyTQAUUUUAH40fjRU1naTX93DbQIXmlYIijuTQBc0Dw/eeI74W1mm49XkbhUHqTXsHhz4eaXoCpI8YvbscmaYZAP8Asr0H8/etHwv4cg8M6XHaxANIfmllxy7dz9PStigA/Gk/GlooA5bxJ8PdL19XkWMWd43PnwjGT/tL0P8AP3rx/X/D954cvjbXibT1SReVceoNfRFZHijw5B4m0uS1lAWQfNFLjlG7H6etAHz5+NH41NeWk1hdzW06FJonKMp7EGoaACvQfhBowudTudRkXK2y7I8j+Nup/Afzrz6vafhRaCDwmkgHM8zufwO3/wBloA7Kiij8KACkpaSgBaSj8KKAPJvi/owttTttRjXC3K7JMf3l6H8R/KvPq9p+K1qJ/CbyEcwTI4P1O3/2avFqAP/Z"; - -// animation -@defaultPerspective: 600px; -@defaultAnimationSpeed: .3s; - -// additional; colors -@ribbedSize: 20px; -@ribbedAlpha: .15; -@ribbedAngle: -45deg; -@alpha: .1; +@unitSize: 4px; + +// Fonts +@fontName: -apple-system, system-ui, BlinkMacSystemFont, + "Segoe UI", "Roboto", "Ubuntu", + "Helvetica Neue", sans-serif; + +@fontSize: @unitSize * 4; + + +// Colors +@lightenValue: 15%; +@darkenValue: 15%; + +@transparent: transparent; + +@brandColor1: #2ac4f4; +@brandColor2: #004d6f; + +@black: #000000; +@white: #ffffff; +@dark: #1d1d1d; +@light: #f8f8f8; +@gray: #bebebe; +@grayBlue: #607d8b; +@grayWhite: #f5f5f5; +@grayMouse: #455a64; + +@lime: #a4c400; +@green: #60a917; +@emerald: #008a00; +@blue: #00AFF0; +@teal: #00aba9; +@cyan: #1ba1e2; +@cobalt: #0050ef; +@indigo: #6a00ff; +@violet: #aa00ff; +@pink: #dc4fad; +@magenta: #d80073; +@crimson: #a20025; +@red: #CE352C; +@orange: #fa6800; +@amber: #f0a30a; +@yellow: #fff000; +@brown: #825a2c; +@olive: #6d8764; +@steel: #647687; +@mauve: #76608a; +@taupe: #87794e; + +@lightLime: lighten(@lime, @lightenValue); +@lightGreen: lighten(@green, @lightenValue); +@lightEmerald: lighten(@emerald, @lightenValue); +@lightBlue: lighten(@blue, @lightenValue); +@lightTeal: lighten(@teal, @lightenValue); +@lightCyan: lighten(@cyan, @lightenValue); +@lightCobalt: lighten(@cobalt, @lightenValue); +@lightIndigo: lighten(@indigo, @lightenValue); +@lightViolet: lighten(@violet, @lightenValue); +@lightPink: lighten(@pink, @lightenValue); +@lightMagenta: lighten(@magenta, @lightenValue); +@lightCrimson: lighten(@crimson, @lightenValue); +@lightRed: lighten(@red, @lightenValue); +@lightOrange: lighten(@orange, @lightenValue); +@lightAmber: lighten(@amber, @lightenValue); +@lightYellow: lighten(@yellow, @lightenValue); +@lightBrown: lighten(@brown, @lightenValue); +@lightOlive: lighten(@olive, @lightenValue); +@lightSteel: lighten(@steel, @lightenValue); +@lightMauve: lighten(@mauve, @lightenValue); +@lightTaupe: lighten(@taupe, @lightenValue); +@lightGray: lighten(@gray, @lightenValue); +@lightGrayBlue: lighten(@grayBlue, @lightenValue); + + +@darkLime: darken(@lime, @darkenValue); +@darkGreen: darken(@green, @darkenValue); +@darkEmerald: darken(@emerald, @darkenValue); +@darkBlue: darken(@blue, @darkenValue); +@darkTeal: darken(@teal, @darkenValue); +@darkCyan: darken(@cyan, @darkenValue); +@darkCobalt: darken(@cobalt, @darkenValue); +@darkIndigo: darken(@indigo, @darkenValue); +@darkViolet: darken(@violet, @darkenValue); +@darkPink: darken(@pink, @darkenValue); +@darkMagenta: darken(@magenta, @darkenValue); +@darkCrimson: darken(@crimson, @darkenValue); +@darkRed: darken(@red, @darkenValue); +@darkOrange: darken(@orange, @darkenValue); +@darkAmber: darken(@amber, @darkenValue); +@darkYellow: darken(@yellow, @darkenValue); +@darkBrown: darken(@brown, @darkenValue); +@darkOlive: darken(@olive, @darkenValue); +@darkSteel: darken(@steel, @darkenValue); +@darkMauve: darken(@mauve, @darkenValue); +@darkTaupe: darken(@taupe, @darkenValue); +@darkGray: darken(@gray, @darkenValue); +@darkGrayBlue: darken(@grayBlue, @darkenValue); + +@colorList: black, white, dark, light, grayBlue, grayWhite, grayMouse, brandColor1, brandColor2, + lime, green, emerald, blue, teal, cyan, cobalt, indigo, violet, pink, magenta, crimson, red, orange, amber, yellow, brown, olive, steel, mauve, taupe, gray, + lightLime, lightGreen, lightEmerald, lightBlue, lightTeal, lightCyan, lightCobalt, lightIndigo, lightViolet, lightPink, lightMagenta, lightCrimson, lightRed, lightOrange, lightAmber, lightYellow, lightBrown, lightOlive, lightSteel, lightMauve, lightTaupe, lightGray, lightGrayBlue, + darkLime, darkGreen, darkEmerald, darkBlue, darkTeal, darkCyan, darkCobalt, darkIndigo, darkViolet, darkPink, darkMagenta, darkCrimson, darkRed, darkOrange, darkAmber, darkYellow, darkBrown, darkOlive, darkSteel, darkMauve, darkTaupe, darkGray, darkGrayBlue; + +@colorListLength: length(@colorList); + +// Body +@bodyColor: lighten(@black, 13%); + +// Hover +@hoverBackground: rgba(red(@dark), green(@dark), blue(@dark), .1); +@hoverBackground2: rgba(red(@dark), green(@dark), blue(@dark), .5); +@hoverBackgroundLight3: rgba(red(@white), green(@white), blue(@white), .3); +@hoverBackgroundLight2: rgba(red(@white), green(@white), blue(@white), .2); +@hoverBackgroundLight1: rgba(red(@white), green(@white), blue(@white), .1); +@hoverBackgroundLight: rgba(red(@white), green(@white), blue(@white), .01); + +// Appbar +@appBarBackground: @brandColor2; +@appBarBackgroundActive: lighten(@brandColor2, 10%); +@appBarColor: @white; + +// Taskbar +@taskBarBackground: #053046; +@taskBarItemHover: rgba(red(@white), green(@white), blue(@white), .1); +@taskBarItemActive: rgba(red(@white), green(@white), blue(@white), .3); + +// Form and Inputs +@inputBorder: #d9d9d9; +@checkBackground: darken(@inputBorder, 10%); + +// Disabled +@disabledBackground: #e9e9e9; +@disabledBorder: #e9e9e9; +@disabledColor: lighten(@dark, 50%); + +// Borders +@borderRadius: .25rem; +@borderColor: darken(@light, 10%); + +// Links +@linkColor: #0366d6; +@linkColorHover: #0056b3; + + +// Accent colors +@primaryColor: #0366d6; +@secondaryColor: @grayBlue; +@successColor: @green; +@alertColor: @red; +@warningColor: @lightOrange; +@yellowColor: #ffe484; +@infoColor: @lightCyan; +@darkColor: lighten(@dark, 20%); +@lightColor: @light; +@brand1Color: @brandColor1; +@brand2Color: @brandColor2; + +@accentColors: primary, secondary, success, alert, warning, yellow, info, dark, light; +@buttonPredefinedTypes: primary, secondary, success, alert, warning, yellow, info, dark, light, brand1, brand2; +@buttonPredefinedTypesLength: length(@buttonPredefinedTypes); + +// Z-index +@zindex-selectedCheck: 100; +@zindex-absolute: 500; +@zindex-dropdown: 1000; +@zindex-sticky: 1020; +@zindex-fixed: 1030; +@zindex-modal-backdrop: 1040; +@zindex-modal: 1050; +@zindex-popover: 1060; +@zindex-tooltip: 1070; +@zindex-top: 1080; +@zindex-notify: 1085; +@zindex-charms: 1090; +@zindex-overlay: 2000; +@zindex-fullscreen: 2147483647; + + +// Percents breakpoints +@percentBreakpointsList: 25, 50, 75, 100; +@percentBreakpointsLength: length(@percentBreakpointsList); + +// Tiles +@tileBaseSize: 25%; +@tileApp: 44px 44px; +@tileSmall: 70px 70px; +@tileMedium: 150px 150px; +@tileWide: 310px 150px; +@tileLarge: 310px 310px; +@tileMargin: 5px; +@tileCellSize: extract(@tileMedium, 1); +@tileOutlineColor: rgba(red(@dark), green(@dark), blue(@dark), .1); +@tileTransformPerspective: 500px; +@tileTransformRotate: 0.138372rad; +@tileSize: extract(@tileMedium, 1); + + +// Media breakpoints +@fs: 0; +@xs: 360px; +@sm: 576px; +@ld: 640px; +@md: 768px; +@lg: 992px; +@xl: 1200px; +@xxl: 1452px; + +@mediaBreakpointListMobile: fs, sm, md, lg, xl, xxl; +@mediaBreakpointListMobile2: sm, md, lg, xl, xxl; +@mediaBreakpointListMobile3: xs, sm, ld, md, lg, xl, xxl; +@mediaBreakpointListDesktop: xxl, xl, lg, md, sm, fs; +@mediaBreakpointListDesktop2: xxl, xl, lg, md, sm; +@mediaBreakpointListDesktop3: xxl, xl, lg, md, ld, sm, xs; + +@mediaBreakpointListMobileLength: length(@mediaBreakpointListMobile); +@mediaBreakpointListMobile2Length: length(@mediaBreakpointListMobile2); +@mediaBreakpointListMobile3Length: length(@mediaBreakpointListMobile3); +@mediaBreakpointListDesktopLength: length(@mediaBreakpointListDesktop); +@mediaBreakpointListDesktop2Length: length(@mediaBreakpointListDesktop2); +@mediaBreakpointListDesktop3Length: length(@mediaBreakpointListDesktop3); + +@percents: 25, 33, 50, 75, 100; +@percentsLength: length(@percents); + +// Transition +@transition-speed: .3s; +@transition-short: all .15s ease-in-out; +@transition-base: all .3s ease-in-out; +@transition-long: all 1s ease-in-out; +@transition-margin: margin .3s ease-in-out; +@transition-fade: opacity .15s linear; +@transition-color: color .3s linear; +@transition-collapse: max-height .3s ease; +@transition-width: width .3s ease; +@transition-left: left .3s ease; +@transition-right: right .3s ease; +@transition-top: top .3s ease; +@transition-bottom: bottom .3s ease; +@transition-transform: transform .3s ease; + +// Grid +@gridColumns12: 12; +@gridGapSize: 12px; +@gridCellBaseSize: 8.333335%; + +// Windows +@winBorderSize: .5rem; +@winBorderColor: #6badf6; +@winBorderColorInactive: #ebebeb; +@winDialogContentBackground: #ededed; +@winFlatBackgroundColor: #ffffff; +@winFlatBorderColor: #e9e9e9; +@winFlatSystemButtonHoverBackground: #cde6f7; +@winFlatSystemButtonActiveBackground: #92c0e0; +@winFlatSystemButtonActiveColor: #2a8dd4; +@winFlatSystemButtonRestColor: #777777; +@winCloseButtonColor: #c75050; +@winCloseButtonActiveColor: #e04343; +@winCloseButtonInActiveColor: #bcbcbc; +@winCaptionBackground: #3c6478; +@winCaptionColor: @white; + +@streamerItemWidth: 224px; +@streamerTimelineImage: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOAAAAATCAYAAACJKwFWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2OWY4NzBhNi0zODU3LWFmNDEtYWMzZS03YzlkOTcxZjMxOTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEREMzg4NkJBQjkyMTFFN0JDQTVFMzg4RUE0RDc4RkQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEREMzg4NkFBQjkyMTFFN0JDQTVFMzg4RUE0RDc4RkQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YzEyZGQ1NjktNmM3YS0yZTQ2LTg2MmQtZWY3OGU5MmQ4NWY2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY5Zjg3MGE2LTM4NTctYWY0MS1hYzNlLTdjOWQ5NzFmMzE5MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv3rUTMAAAIHSURBVHja7Jq/S0JRHMWfpj37oSA8qikIImioIaghaHDrD2hqaG4R6i8paGksh2iIQGhoCYewocChhkDEoAjsx5IGDZV2Ll6huXvoKZwPHHwuh3O/737f03tvpNVqeUKIcIiYBiwUCoe4LhH8FqAadO/oE0BT0AUh0xxUhyqOPklohpRpFvqEbh194tA8dGX9XJi2fteE8S1CN1DD0WcSSpHmpslUhl4dfcahMeiSMTdj9qKYyWR2/uKA5v39dd1OUNebOAKtQtuEQa5Bd9C5o4+pVRbaImRagd6hU4LXJinTMjQMHZEymfn05eizBE1AOUKmDegAeiY8PE0z7xIyZaP2op/0Rk1AaYKPeQP6pEyD9inqyigx05B9ozLG5ttPV5I2FwPf1suVFGlsnUwBwSdt5zmD/qh+hQsRHmpAIdSAQqgBhRBqQCHUgEKIfyBG9jP7SD4pV5KYibFs3EfMZJbWu+0I0oDH24ZI2nq5krD3j5UpTvDxiZnoDWg2Ot8IPmbjfI+UqQo9EXw+vPZJCgYn0HeXNeCjx9vfKtt6uVIjPqhMpjrBx5ykqXRrA1ZJPg3P/RhTh2OSzwu0T/J66MJfQ2dEL1adisRMOZJPyeMcjdN/QCHCRg0ohBpQCDWgECKkBgxUip4k4rVXLiMqRU8SdBowr1r0JE2vvbTeVCl6kvyPAAMASGlSBhr76A8AAAAASUVORK5CYII="; + +@activityRingTime: 4000ms; +@activityRingSize: 32px; +@activityColor: @white; +@activityColorDark: @darkGray; +@activityRingRotate: -14deg; +@activityRingTimeMute: 30; + +@hintBackground: rgba(255, 252, 192, 1); +@hintColor: @dark; + +@mpStep: 4; +@mpUnit: px; + +@playerInactiveColor: #555555; +@playerActiveColor: @green; +@playerHoverColor: @white; +@playerControlsBackground: rgba(34, 34, 34, 0.5); + +@ribbonMenuStaticBackground: #1979ca; +@ribbonMenuBackground: #ffffff; +@ribbonMenuActiveBackground: #f5f6f7; +@ribbonMenuBorder: #dadbdc; +@ribbonMenuItemBorder: #a4cef9; +@ribbonMenuItemActiveBorder: #1979ca; +@ribbonMenuItemHoverBackground: rgba(red(#a4cef9), green(#a4cef9), blue(#a4cef9), .2); +@ribbonMenuItemActiveBackground: rgba(red(#a4cef9), green(#a4cef9), blue(#a4cef9), .8); +@ribbonDropdownBackground: #fbfcfd; +@ribbonDropdownDivider: #dcddde; +@ribbonDropdownShadow: #e3e4e5; + +@inputHeight: 36px; + +@input-lx: 50px; +@input-sx: 28px; + +@badgeFontSize: 12px; + +@johnDoe: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAUABQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+t+KKPxo/GgA70Yo/Gj8aADFH4VesdC1HUl3WtjcXCf344yV/PGKW+0HUtNXddWNzbp/fkjIX88YoAofhR+FH40fjQAfhR+FH40fjQAUUUUAFepeAPh5D9li1LVYhK8g3Q27j5VXszDuT6f5HA+FtOXVvEWn2rjMcko3j1UckfkDX0MBgYHAoARVCKFUBVHAA6ClZQwKkZBGCDS0UAec+Pvh3BJay6lpUQimjBeW3QYVx3Kjsfbv/PyqvpuvnvxfpqaT4l1C1QbY0lJUDsrfMB+RoAyKKKKACiiigDa8GXq6f4p02eQgIJQpJ7Bvlz+tfQP4V8yDg17P4A8cw65ZxWV5IE1KMbfmP+uA7j39R+NAHaUfhSUUAL+FeA+OL1NQ8WalNGQU83YCO+0Bf6V6b498cQ6BZyWlrIJNSkXaApz5QP8AEff0FeKk5OTyTQAUUUUAH40fjRU1naTX93DbQIXmlYIijuTQBc0Dw/eeI74W1mm49XkbhUHqTXsHhz4eaXoCpI8YvbscmaYZAP8Asr0H8/etHwv4cg8M6XHaxANIfmllxy7dz9PStigA/Gk/GlooA5bxJ8PdL19XkWMWd43PnwjGT/tL0P8AP3rx/X/D954cvjbXibT1SReVceoNfRFZHijw5B4m0uS1lAWQfNFLjlG7H6etAHz5+NH41NeWk1hdzW06FJonKMp7EGoaACvQfhBowudTudRkXK2y7I8j+Nup/Afzrz6vafhRaCDwmkgHM8zufwO3/wBloA7Kiij8KACkpaSgBaSj8KKAPJvi/owttTttRjXC3K7JMf3l6H8R/KvPq9p+K1qJ/CbyEcwTI4P1O3/2avFqAP/Z"; + +// animation +@defaultPerspective: 600px; +@defaultAnimationSpeed: .3s; + +// additional; colors +@ribbedSize: 20px; +@ribbedAlpha: .15; +@ribbedAngle: -45deg; +@alpha: .1; diff --git a/src/tile/tile.less b/src/tile/tile.less index 0c9b280..b2b29a9 100644 --- a/src/tile/tile.less +++ b/src/tile/tile.less @@ -1,482 +1,482 @@ -/* Please use node.js "less" module to complie this less */ -/* 请使用node.js的“less”模块来编译本less */ -@import (once) "./include/vars"; -@import (once) "./include/mixins"; - -.tile-small, -.tile-medium, -.tile-wide, -.tile-large, -.tile-app { - display: block; - background-color: @cyan; - color: @white; - width: extract(@tileMedium, 1); - height: extract(@tileMedium, 2); - box-shadow: inset 0 0 1px #FFFFCC; - cursor: pointer; - position: relative; - overflow: hidden; - user-select: none; - max-width: none!important; -} - -.tile { - &-small { - width: extract(@tileSmall, 1); - height: extract(@tileSmall, 2); - } - &-medium { - width: extract(@tileMedium, 1); - height: extract(@tileMedium, 2); - } - &-wide { - width: extract(@tileWide, 1); - height: extract(@tileWide, 2); - } - &-large { - width: extract(@tileLarge, 1); - height: extract(@tileLarge, 2); - } - &-app { - width: extract(@tileApp, 1); - height: extract(@tileApp, 2); - } -} - -.tile-small, -.tile-medium, -.tile-wide, -.tile-large, -.tile-app { - .icon { - max-width: 33%; - height: 33%; - position: absolute; - top: 50%; - left: 50%; - .translateY(-50%); - .translateX(-50%); - /*font-size: 50px;*/ - /*line-height: 50px;*/ - z-index: 2; - } - - .branding-bar { - height: 32px; - line-height: 32px; - position: absolute; - left: 0; - bottom: 0; - right: 0; - padding: 0 10px 5px; - font-size: .875rem; - font-weight: 500; - .text-ellipsis(); - z-index: 2; - } - - .badge-top, .badge-bottom { - position: absolute; - display: block; - padding: 4px 8px; - font-size: 12px; - text-align: center; - background-color: @hoverBackground; - z-index: 2; - } - - .badge-bottom { - right: 10px; - bottom: 0; - } - - .badge-top { - top: 10px; - right: 10px; - } - - &:hover { - outline: @tileOutlineColor solid 4px; - } -} - -.tile { - &-small { - .icon { - max-width: 50%; - font-size: 35px; - line-height: 35px; - } - - /*.branding-bar { - display: none; - }*/ - } - &-large { - .icon { - font-size: 102px; - line-height: 102px; - } - } - &-app { - .icon { - max-width: 75%; - height: 75%; - } - } -} - -.tile-small, -.tile-medium, -.tile-wide, -.tile-large, -.tile-app { - &.transform-right { - .transformOrigin(left 50%); - .perspective(@tileTransformPerspective)!important; - .rotateY(@tileTransformRotate)!important; - - &.tile-small { - .perspective(@tileTransformPerspective)!important; - .rotateY(@tileTransformRotate * 2)!important; - } - - &.tile-wide { - .perspective(@tileTransformPerspective)!important; - .rotateY(@tileTransformRotate / 2)!important; - } - - &.tile-large { - .perspective(@tileTransformPerspective)!important; - .rotateY(@tileTransformRotate / 3)!important; - } - } - - &.transform-left { - .transformOrigin(right 50%); - .perspective(@tileTransformPerspective)!important; - .rotateY(-@tileTransformRotate)!important; - - &.tile-small { - .perspective(@tileTransformPerspective)!important; - .rotateY(-@tileTransformRotate * 2)!important; - } - - &.tile-wide { - .perspective(@tileTransformPerspective)!important; - .rotateY(-@tileTransformRotate / 2)!important; - } - - &.tile-large { - .perspective(@tileTransformPerspective)!important; - .rotateY(-@tileTransformRotate / 3)!important; - } - } - - &.transform-top { - .transformOrigin(50% bottom); - .perspective(@tileTransformPerspective)!important; - .rotateX(@tileTransformRotate)!important; - - &.tile-small { - .perspective(@tileTransformPerspective)!important; - .rotateX(@tileTransformRotate * 2)!important; - } - - &.tile-wide { - .perspective(@tileTransformPerspective)!important; - .rotateX(@tileTransformRotate / 2)!important; - } - - &.tile-large { - .perspective(@tileTransformPerspective)!important; - .rotateX(@tileTransformRotate / 3)!important; - } - } - - &.transform-bottom { - .transformOrigin(50% top); - .perspective(@tileTransformPerspective)!important; - .rotateX(-@tileTransformRotate)!important; - - &.tile-small { - .perspective(@tileTransformPerspective)!important; - .rotateX(-@tileTransformRotate * 2)!important; - } - - &.tile-wide { - .perspective(@tileTransformPerspective)!important; - .rotateX(-@tileTransformRotate / 2)!important; - } - - &.tile-large { - .perspective(@tileTransformPerspective)!important; - .rotateX(-@tileTransformRotate / 3)!important; - } - } -} - - -.tiles-grid { - position: relative; - display: grid; - grid-template-columns: repeat(auto-fit, (@tileBaseSize - 1%)); - /*grid-template-rows: repeat(auto-fit, (@tileBaseSize - 1%));*/ - grid-gap: 5px; - - .tile-small { - height: 100%; - width: 100%; - grid-column: span 1; - grid-row: span 1; - } - - .tile-medium { - height: 100%; - width: 100%; - grid-column: span 2; - grid-row: span 2; - } - - .tile-wide { - height: 100%; - width: 100%; - grid-column: span 4; - grid-row: span 2; - } - - .tile-large { - height: 100%; - width: 100%; - grid-column: span 4; - grid-row: span 4; - } - - /*.tile-small::before, - .tile-medium::before, - .tile-large::before { - content: ''; - padding-bottom: 100%; - display: block; - } - - .tile-wide::before { - content: ''; - padding-bottom: 50%; - display: block; - }*/ -} - -.tiles-grid { - .create-tiles-cells(@i: 1, @k: 1) when (@k <= @i) { - - .tile-small.col-@{k} { - grid-column: @k / span 1; - } - - .tile-medium.col-@{k} { - grid-column: @k / span 2; - } - - .tile-wide.col-@{k} { - grid-column: @k / span 4; - } - - .tile-large.col-@{k} { - grid-column: @k / span 4; - } - - .tile-small.row-@{k} { - grid-row: @k / span 1; - } - - .tile-medium.row-@{k} { - grid-row: @k / span 2; - } - - .tile-wide.row-@{k} { - grid-row: @k / span 4; - } - - .tile-large.row-@{k} { - grid-row: @k / span 4; - } - - .create-tiles-cells(@i; @k + 1); - } - .create-tiles-cells(12); -} - -.tiles-grid { - &.size-half { - width: 50%; - } - - .create-tiles-grid-size(@i: 1, @k: 1) when (@k <= @i) { - &.size-@{k} { - width: (100% * @k / 12); - } - - .create-tiles-grid-size(@i; @k + 1); - } - .create-tiles-grid-size(12); -} - -.tiles-grid { - each(@mediaBreakpointListMobile, .(@m) { - @media screen and (min-width: @@m) { - each(range(12), .(@k) { - .col-@{m}-@{k} { - grid-column: @k; - } - .row-@{m}-@{k} { - grid-row: @k; - } - }) - each(range(12), .(@k) { - &.size-@{m}-@{k} { - width: (100% * @k / 12); - } - }) - } - }) -} - -.tiles-group { - width: 100%; - float: left; - overflow: visible; - - &::before { - content: attr(data-group-title); - display: block; - position: absolute; - left: 0; - top: -36px; - height: 1.5em; - line-height: 1.5em; - z-index: 1; - color: inherit; - } -} - -// Tiles effects -[class*=tile-] { - &.image-set { - .img { - width: 25%; - height: 50%; - display: block; - float: left; - border: 1px solid @dark; - background-size: cover; - - &:nth-child(1) { - width: 50%; - height: 100%; - } - } - - background-size: contain; - background-position: center; - } - - .slide { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - display: block; - } - - [class*=slide-] { - width: 100%; - height: 100%; - position: absolute; - transition: @transition-base; - } - - .slide-front { - top: 0; - left: 0; - } - - &.effect-hover-slide-up, &.effect-hover-zoom-up { - - .slide-back { - top: 100%; - left: 0; - } - - &:hover { - .slide-front { - .translateY(-100%); - } - .slide-back { - top: 0; - } - } - } - - &.effect-hover-slide-down, &.effect-hover-zoom-down { - .slide-back { - top: 0; - left: 0; - .translateY(-100%); - } - - &:hover { - .slide-front { - top: 100%; - } - .slide-back { - .translateY(0); - } - } - } - - &.effect-hover-slide-left, &.effect-hover-zoom-left { - .slide-back { - top: 0; - left: 100%; - } - - &:hover { - .slide-front { - .translateX(-100%); - } - .slide-back { - left: 0; - } - } - } - - &.effect-hover-slide-right, &.effect-hover-zoom-right { - .slide-back { - top: 0; - left: 0; - .translateX(-100%); - } - - &:hover { - .slide-front { - left: 100%; - } - .slide-back { - .translateX(0); - } - } - } - - &.effect-hover-zoom-up, &.effect-hover-zoom-down, &.effect-hover-zoom-left, &.effect-hover-zoom-right { - &:hover { - .slide-front { - left: 0; - top: 0; - .scale(2); - } - } - } -} +/* Please use node.js "less" module to complie this less */ +/* 请使用node.js的“less”模块来编译本less */ +@import (once) "./include/vars"; +@import (once) "./include/mixins"; + +.tile-small, +.tile-medium, +.tile-wide, +.tile-large, +.tile-app { + display: block; + background-color: @cyan; + color: @white; + width: extract(@tileMedium, 1); + height: extract(@tileMedium, 2); + box-shadow: inset 0 0 1px #FFFFCC; + cursor: pointer; + position: relative; + overflow: hidden; + user-select: none; + max-width: none!important; +} + +.tile { + &-small { + width: extract(@tileSmall, 1); + height: extract(@tileSmall, 2); + } + &-medium { + width: extract(@tileMedium, 1); + height: extract(@tileMedium, 2); + } + &-wide { + width: extract(@tileWide, 1); + height: extract(@tileWide, 2); + } + &-large { + width: extract(@tileLarge, 1); + height: extract(@tileLarge, 2); + } + &-app { + width: extract(@tileApp, 1); + height: extract(@tileApp, 2); + } +} + +.tile-small, +.tile-medium, +.tile-wide, +.tile-large, +.tile-app { + .icon { + max-width: 33%; + height: 33%; + position: absolute; + top: 50%; + left: 50%; + .translateY(-50%); + .translateX(-50%); + /*font-size: 50px;*/ + /*line-height: 50px;*/ + z-index: 2; + } + + .branding-bar { + height: 32px; + line-height: 32px; + position: absolute; + left: 0; + bottom: 0; + right: 0; + padding: 0 10px 5px; + font-size: .875rem; + font-weight: 500; + .text-ellipsis(); + z-index: 2; + } + + .badge-top, .badge-bottom { + position: absolute; + display: block; + padding: 4px 8px; + font-size: 12px; + text-align: center; + background-color: @hoverBackground; + z-index: 2; + } + + .badge-bottom { + right: 10px; + bottom: 0; + } + + .badge-top { + top: 10px; + right: 10px; + } + + &:hover { + outline: @tileOutlineColor solid 4px; + } +} + +.tile { + &-small { + .icon { + max-width: 50%; + font-size: 35px; + line-height: 35px; + } + + /*.branding-bar { + display: none; + }*/ + } + &-large { + .icon { + font-size: 102px; + line-height: 102px; + } + } + &-app { + .icon { + max-width: 75%; + height: 75%; + } + } +} + +.tile-small, +.tile-medium, +.tile-wide, +.tile-large, +.tile-app { + &.transform-right { + .transformOrigin(left 50%); + .perspective(@tileTransformPerspective)!important; + .rotateY(@tileTransformRotate)!important; + + &.tile-small { + .perspective(@tileTransformPerspective)!important; + .rotateY(@tileTransformRotate * 2)!important; + } + + &.tile-wide { + .perspective(@tileTransformPerspective)!important; + .rotateY(@tileTransformRotate / 2)!important; + } + + &.tile-large { + .perspective(@tileTransformPerspective)!important; + .rotateY(@tileTransformRotate / 3)!important; + } + } + + &.transform-left { + .transformOrigin(right 50%); + .perspective(@tileTransformPerspective)!important; + .rotateY(-@tileTransformRotate)!important; + + &.tile-small { + .perspective(@tileTransformPerspective)!important; + .rotateY(-@tileTransformRotate * 2)!important; + } + + &.tile-wide { + .perspective(@tileTransformPerspective)!important; + .rotateY(-@tileTransformRotate / 2)!important; + } + + &.tile-large { + .perspective(@tileTransformPerspective)!important; + .rotateY(-@tileTransformRotate / 3)!important; + } + } + + &.transform-top { + .transformOrigin(50% bottom); + .perspective(@tileTransformPerspective)!important; + .rotateX(@tileTransformRotate)!important; + + &.tile-small { + .perspective(@tileTransformPerspective)!important; + .rotateX(@tileTransformRotate * 2)!important; + } + + &.tile-wide { + .perspective(@tileTransformPerspective)!important; + .rotateX(@tileTransformRotate / 2)!important; + } + + &.tile-large { + .perspective(@tileTransformPerspective)!important; + .rotateX(@tileTransformRotate / 3)!important; + } + } + + &.transform-bottom { + .transformOrigin(50% top); + .perspective(@tileTransformPerspective)!important; + .rotateX(-@tileTransformRotate)!important; + + &.tile-small { + .perspective(@tileTransformPerspective)!important; + .rotateX(-@tileTransformRotate * 2)!important; + } + + &.tile-wide { + .perspective(@tileTransformPerspective)!important; + .rotateX(-@tileTransformRotate / 2)!important; + } + + &.tile-large { + .perspective(@tileTransformPerspective)!important; + .rotateX(-@tileTransformRotate / 3)!important; + } + } +} + + +.tiles-grid { + position: relative; + display: grid; + grid-template-columns: repeat(auto-fit, (@tileBaseSize - 1%)); + /*grid-template-rows: repeat(auto-fit, (@tileBaseSize - 1%));*/ + grid-gap: 5px; + + .tile-small { + height: 100%; + width: 100%; + grid-column: span 1; + grid-row: span 1; + } + + .tile-medium { + height: 100%; + width: 100%; + grid-column: span 2; + grid-row: span 2; + } + + .tile-wide { + height: 100%; + width: 100%; + grid-column: span 4; + grid-row: span 2; + } + + .tile-large { + height: 100%; + width: 100%; + grid-column: span 4; + grid-row: span 4; + } + + /*.tile-small::before, + .tile-medium::before, + .tile-large::before { + content: ''; + padding-bottom: 100%; + display: block; + } + + .tile-wide::before { + content: ''; + padding-bottom: 50%; + display: block; + }*/ +} + +.tiles-grid { + .create-tiles-cells(@i: 1, @k: 1) when (@k <= @i) { + + .tile-small.col-@{k} { + grid-column: @k / span 1; + } + + .tile-medium.col-@{k} { + grid-column: @k / span 2; + } + + .tile-wide.col-@{k} { + grid-column: @k / span 4; + } + + .tile-large.col-@{k} { + grid-column: @k / span 4; + } + + .tile-small.row-@{k} { + grid-row: @k / span 1; + } + + .tile-medium.row-@{k} { + grid-row: @k / span 2; + } + + .tile-wide.row-@{k} { + grid-row: @k / span 4; + } + + .tile-large.row-@{k} { + grid-row: @k / span 4; + } + + .create-tiles-cells(@i; @k + 1); + } + .create-tiles-cells(12); +} + +.tiles-grid { + &.size-half { + width: 50%; + } + + .create-tiles-grid-size(@i: 1, @k: 1) when (@k <= @i) { + &.size-@{k} { + width: (100% * @k / 12); + } + + .create-tiles-grid-size(@i; @k + 1); + } + .create-tiles-grid-size(12); +} + +.tiles-grid { + each(@mediaBreakpointListMobile, .(@m) { + @media screen and (min-width: @@m) { + each(range(12), .(@k) { + .col-@{m}-@{k} { + grid-column: @k; + } + .row-@{m}-@{k} { + grid-row: @k; + } + }) + each(range(12), .(@k) { + &.size-@{m}-@{k} { + width: (100% * @k / 12); + } + }) + } + }) +} + +.tiles-group { + width: 100%; + float: left; + overflow: visible; + + &::before { + content: attr(data-group-title); + display: block; + position: absolute; + left: 0; + top: -36px; + height: 1.5em; + line-height: 1.5em; + z-index: 1; + color: inherit; + } +} + +// Tiles effects +[class*=tile-] { + &.image-set { + .img { + width: 25%; + height: 50%; + display: block; + float: left; + border: 1px solid @dark; + background-size: cover; + + &:nth-child(1) { + width: 50%; + height: 100%; + } + } + + background-size: contain; + background-position: center; + } + + .slide { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + display: block; + } + + [class*=slide-] { + width: 100%; + height: 100%; + position: absolute; + transition: @transition-base; + } + + .slide-front { + top: 0; + left: 0; + } + + &.effect-hover-slide-up, &.effect-hover-zoom-up { + + .slide-back { + top: 100%; + left: 0; + } + + &:hover { + .slide-front { + .translateY(-100%); + } + .slide-back { + top: 0; + } + } + } + + &.effect-hover-slide-down, &.effect-hover-zoom-down { + .slide-back { + top: 0; + left: 0; + .translateY(-100%); + } + + &:hover { + .slide-front { + top: 100%; + } + .slide-back { + .translateY(0); + } + } + } + + &.effect-hover-slide-left, &.effect-hover-zoom-left { + .slide-back { + top: 0; + left: 100%; + } + + &:hover { + .slide-front { + .translateX(-100%); + } + .slide-back { + left: 0; + } + } + } + + &.effect-hover-slide-right, &.effect-hover-zoom-right { + .slide-back { + top: 0; + left: 0; + .translateX(-100%); + } + + &:hover { + .slide-front { + left: 100%; + } + .slide-back { + .translateX(0); + } + } + } + + &.effect-hover-zoom-up, &.effect-hover-zoom-down, &.effect-hover-zoom-left, &.effect-hover-zoom-right { + &:hover { + .slide-front { + left: 0; + top: 0; + .scale(2); + } + } + } +}