Merge branch 'develop'
This commit is contained in:
		
						commit
						ad9e6a4ec5
					
				
					 24 changed files with 463 additions and 799 deletions
				
			
		
							
								
								
									
										1
									
								
								.vscode/extensions.json
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.vscode/extensions.json
									
										
									
									
										vendored
									
									
								
							|  | @ -2,7 +2,6 @@ | ||||||
| 	"recommendations": [ | 	"recommendations": [ | ||||||
| 		"editorconfig.editorconfig", | 		"editorconfig.editorconfig", | ||||||
| 		"eg2.vscode-npm-script", | 		"eg2.vscode-npm-script", | ||||||
| 		"ms-vscode.typescript-javascript-grammar", |  | ||||||
| 		"dbaeumer.vscode-eslint", | 		"dbaeumer.vscode-eslint", | ||||||
| 		"johnsoncodehk.volar", | 		"johnsoncodehk.volar", | ||||||
| 		"sysoev.language-stylus" | 		"sysoev.language-stylus" | ||||||
|  |  | ||||||
|  | @ -7,6 +7,14 @@ | ||||||
| 
 | 
 | ||||||
| --> | --> | ||||||
| 
 | 
 | ||||||
|  | ## 12.100.0 (2021/12/17) | ||||||
|  | 
 | ||||||
|  | ### Improvements | ||||||
|  | - クライアント: モバイルでの各種メニュー、リアクションピッカーの表示を改善 | ||||||
|  | 
 | ||||||
|  | ### Bugfixes | ||||||
|  | - クライアント: 一部のコンポーネントが裏に隠れるのを修正 | ||||||
|  | 
 | ||||||
| ## 12.99.3 (2021/12/14) | ## 12.99.3 (2021/12/14) | ||||||
| ### Bugfixes | ### Bugfixes | ||||||
| - クライアント: オートコンプリートがダイアログの裏に隠れる問題を修正 | - クライアント: オートコンプリートがダイアログの裏に隠れる問題を修正 | ||||||
|  |  | ||||||
|  | @ -106,7 +106,7 @@ clickToShow: "クリックして表示" | ||||||
| sensitive: "閲覧注意" | sensitive: "閲覧注意" | ||||||
| add: "追加" | add: "追加" | ||||||
| reaction: "リアクション" | reaction: "リアクション" | ||||||
| reactionSettingDescription: "リアクションピッカーに表示するリアクションを設定します。" | reactionSetting: "ピッカーに表示するリアクション" | ||||||
| reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。" | reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。" | ||||||
| rememberNoteVisibility: "公開範囲を記憶する" | rememberNoteVisibility: "公開範囲を記憶する" | ||||||
| attachCancel: "添付取り消し" | attachCancel: "添付取り消し" | ||||||
|  | @ -815,6 +815,7 @@ voteConfirm: "「{choice}」に投票しますか?" | ||||||
| hide: "隠す" | hide: "隠す" | ||||||
| leaveGroup: "グループから抜ける" | leaveGroup: "グループから抜ける" | ||||||
| leaveGroupConfirm: "「{name}」から抜けますか?" | leaveGroupConfirm: "「{name}」から抜けますか?" | ||||||
|  | useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示" | ||||||
| 
 | 
 | ||||||
| _emailUnavailable: | _emailUnavailable: | ||||||
|   used: "既に使用されています" |   used: "既に使用されています" | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
| 	"name": "misskey", | 	"name": "misskey", | ||||||
| 	"version": "12.99.3", | 	"version": "12.100.0", | ||||||
| 	"codename": "indigo", | 	"codename": "indigo", | ||||||
| 	"repository": { | 	"repository": { | ||||||
| 		"type": "git", | 		"type": "git", | ||||||
|  |  | ||||||
|  | @ -170,7 +170,7 @@ | ||||||
| 		"strict-event-emitter-types": "2.0.0", | 		"strict-event-emitter-types": "2.0.0", | ||||||
| 		"stringz": "2.1.0", | 		"stringz": "2.1.0", | ||||||
| 		"style-loader": "3.3.1", | 		"style-loader": "3.3.1", | ||||||
| 		"summaly": "2.4.1", | 		"summaly": "2.5.0", | ||||||
| 		"syslog-pro": "1.0.0", | 		"syslog-pro": "1.0.0", | ||||||
| 		"systeminformation": "5.9.9", | 		"systeminformation": "5.9.9", | ||||||
| 		"throttle-debounce": "3.0.1", | 		"throttle-debounce": "3.0.1", | ||||||
|  |  | ||||||
|  | @ -188,6 +188,11 @@ | ||||||
|     node-fetch "^2.6.1" |     node-fetch "^2.6.1" | ||||||
|     yaml-ast-parser "0.0.43" |     yaml-ast-parser "0.0.43" | ||||||
| 
 | 
 | ||||||
|  | "@sindresorhus/is@^3.0.0": | ||||||
|  |   version "3.1.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-3.1.2.tgz#548650de521b344e3781fbdb0ece4aa6f729afb8" | ||||||
|  |   integrity sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ== | ||||||
|  | 
 | ||||||
| "@sindresorhus/is@^4.0.0": | "@sindresorhus/is@^4.0.0": | ||||||
|   version "4.0.0" |   version "4.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" |   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" | ||||||
|  | @ -314,13 +319,6 @@ | ||||||
|   dependencies: |   dependencies: | ||||||
|     cbor "*" |     cbor "*" | ||||||
| 
 | 
 | ||||||
| "@types/cheerio@0.22.18": |  | ||||||
|   version "0.22.18" |  | ||||||
|   resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.18.tgz#19018dceae691509901e339d63edf1e935978fe6" |  | ||||||
|   integrity sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw== |  | ||||||
|   dependencies: |  | ||||||
|     "@types/node" "*" |  | ||||||
| 
 |  | ||||||
| "@types/color-name@^1.1.1": | "@types/color-name@^1.1.1": | ||||||
|   version "1.1.1" |   version "1.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" |   resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" | ||||||
|  | @ -738,11 +736,6 @@ | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
| 
 | 
 | ||||||
| "@types/rsvp@^4.0.4": |  | ||||||
|   version "4.0.4" |  | ||||||
|   resolved "https://registry.yarnpkg.com/@types/rsvp/-/rsvp-4.0.4.tgz#55e93e7054027f1ad4b4ebc1e60e59eb091e2d32" |  | ||||||
|   integrity sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg== |  | ||||||
| 
 |  | ||||||
| "@types/sanitize-html@2.5.0": | "@types/sanitize-html@2.5.0": | ||||||
|   version "2.5.0" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-2.5.0.tgz#bfef58fbcf2674b20ffcc23c3506faa68c3a13e3" |   resolved "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-2.5.0.tgz#bfef58fbcf2674b20ffcc23c3506faa68c3a13e3" | ||||||
|  | @ -1230,7 +1223,7 @@ ajv-keywords@^3.5.2: | ||||||
|   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" |   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" | ||||||
|   integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== |   integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== | ||||||
| 
 | 
 | ||||||
| ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5: | ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: | ||||||
|   version "6.12.5" |   version "6.12.5" | ||||||
|   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" |   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" | ||||||
|   integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== |   integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== | ||||||
|  | @ -1290,7 +1283,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: | ||||||
|     "@types/color-name" "^1.1.1" |     "@types/color-name" "^1.1.1" | ||||||
|     color-convert "^2.0.1" |     color-convert "^2.0.1" | ||||||
| 
 | 
 | ||||||
| any-promise@^1.0.0, any-promise@^1.1.0: | any-promise@^1.0.0: | ||||||
|   version "1.3.0" |   version "1.3.0" | ||||||
|   resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" |   resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" | ||||||
|   integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= |   integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= | ||||||
|  | @ -1483,16 +1476,6 @@ aws-sdk@2.1013.0: | ||||||
|     uuid "3.3.2" |     uuid "3.3.2" | ||||||
|     xml2js "0.4.19" |     xml2js "0.4.19" | ||||||
| 
 | 
 | ||||||
| aws-sign2@~0.7.0: |  | ||||||
|   version "0.7.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" |  | ||||||
|   integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= |  | ||||||
| 
 |  | ||||||
| aws4@^1.8.0: |  | ||||||
|   version "1.9.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" |  | ||||||
|   integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== |  | ||||||
| 
 |  | ||||||
| axios@^0.19.2: | axios@^0.19.2: | ||||||
|   version "0.19.2" |   version "0.19.2" | ||||||
|   resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" |   resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" | ||||||
|  | @ -1882,11 +1865,6 @@ canonicalize@^1.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-1.0.1.tgz#657b4f3fa38a6ecb97a9e5b7b26d7a19cc6e0da9" |   resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-1.0.1.tgz#657b4f3fa38a6ecb97a9e5b7b26d7a19cc6e0da9" | ||||||
|   integrity sha512-N3cmB3QLhS5TJ5smKFf1w42rJXWe6C1qP01z4dxJiI5v269buii4fLHWETDyf7yEd0azGLNC63VxNMiPd2u0Cg== |   integrity sha512-N3cmB3QLhS5TJ5smKFf1w42rJXWe6C1qP01z4dxJiI5v269buii4fLHWETDyf7yEd0azGLNC63VxNMiPd2u0Cg== | ||||||
| 
 | 
 | ||||||
| caseless@~0.12.0: |  | ||||||
|   version "0.12.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" |  | ||||||
|   integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= |  | ||||||
| 
 |  | ||||||
| cbor@*: | cbor@*: | ||||||
|   version "7.0.5" |   version "7.0.5" | ||||||
|   resolved "https://registry.yarnpkg.com/cbor/-/cbor-7.0.5.tgz#ed54cdbc19fa7352bb328d00a5393aa7ce45a10f" |   resolved "https://registry.yarnpkg.com/cbor/-/cbor-7.0.5.tgz#ed54cdbc19fa7352bb328d00a5393aa7ce45a10f" | ||||||
|  | @ -1964,31 +1942,7 @@ chartjs-plugin-zoom@1.1.1: | ||||||
|   dependencies: |   dependencies: | ||||||
|     hammerjs "^2.0.8" |     hammerjs "^2.0.8" | ||||||
| 
 | 
 | ||||||
| cheerio-httpcli@0.8.2: | cheerio@0.22.0: | ||||||
|   version "0.8.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/cheerio-httpcli/-/cheerio-httpcli-0.8.2.tgz#0189bda71c8bd2852de78e154291e2288184fbf2" |  | ||||||
|   integrity sha512-grIzTwQg/nE7Oy6VvL19pf0UlM6wiluy/AOpXfQLVFrSi21F8wnO3dLchtaH2hfMF6jz68ot0/ngyQQVrp2VTw== |  | ||||||
|   dependencies: |  | ||||||
|     "@types/cheerio" "0.22.18" |  | ||||||
|     "@types/rsvp" "^4.0.4" |  | ||||||
|     async "^3.2.0" |  | ||||||
|     cheerio "^0.22.0" |  | ||||||
|     colors "^1.4.0" |  | ||||||
|     foreach "^2.0.5" |  | ||||||
|     he "^1.2.0" |  | ||||||
|     iconv-lite "^0.6.3" |  | ||||||
|     import-fresh "^3.3.0" |  | ||||||
|     jschardet "^3.0.0" |  | ||||||
|     object-assign "^4.1.1" |  | ||||||
|     os-locale "^5.0.0" |  | ||||||
|     prettyjson "^1.2.1" |  | ||||||
|     request "^2.88.2" |  | ||||||
|     rsvp "^4.8.5" |  | ||||||
|     tough-cookie "^2.5.0" |  | ||||||
|     type-of "^2.0.1" |  | ||||||
|     valid-url "^1.0.9" |  | ||||||
| 
 |  | ||||||
| cheerio@^0.22.0: |  | ||||||
|   version "0.22.0" |   version "0.22.0" | ||||||
|   resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" |   resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" | ||||||
|   integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= |   integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= | ||||||
|  | @ -2169,12 +2123,7 @@ colorette@^1.2.0, colorette@^1.2.1, colorette@^1.2.2: | ||||||
|   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" |   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" | ||||||
|   integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== |   integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== | ||||||
| 
 | 
 | ||||||
| colors@^1.1.2, colors@^1.4.0: | combined-stream@^1.0.8: | ||||||
|   version "1.4.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" |  | ||||||
|   integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== |  | ||||||
| 
 |  | ||||||
| combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: |  | ||||||
|   version "1.0.8" |   version "1.0.8" | ||||||
|   resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" |   resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" | ||||||
|   integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== |   integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== | ||||||
|  | @ -2329,7 +2278,7 @@ cross-env@7.0.3: | ||||||
|   dependencies: |   dependencies: | ||||||
|     cross-spawn "^7.0.1" |     cross-spawn "^7.0.1" | ||||||
| 
 | 
 | ||||||
| cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: | cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: | ||||||
|   version "7.0.3" |   version "7.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" |   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" | ||||||
|   integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== |   integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== | ||||||
|  | @ -2535,14 +2484,14 @@ debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: | ||||||
|   dependencies: |   dependencies: | ||||||
|     ms "2.1.2" |     ms "2.1.2" | ||||||
| 
 | 
 | ||||||
| debug@4.3.2, debug@^4.3.2: | debug@4.3.3: | ||||||
|   version "4.3.2" |   version "4.3.3" | ||||||
|   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" |   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" | ||||||
|   integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== |   integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== | ||||||
|   dependencies: |   dependencies: | ||||||
|     ms "2.1.2" |     ms "2.1.2" | ||||||
| 
 | 
 | ||||||
| debug@=3.1.0, debug@~3.1.0: | debug@=3.1.0: | ||||||
|   version "3.1.0" |   version "3.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" |   resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" | ||||||
|   integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== |   integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== | ||||||
|  | @ -2563,6 +2512,13 @@ debug@^3.2.7: | ||||||
|   dependencies: |   dependencies: | ||||||
|     ms "^2.1.1" |     ms "^2.1.1" | ||||||
| 
 | 
 | ||||||
|  | debug@^4.3.2: | ||||||
|  |   version "4.3.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" | ||||||
|  |   integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== | ||||||
|  |   dependencies: | ||||||
|  |     ms "2.1.2" | ||||||
|  | 
 | ||||||
| debuglog@^1.0.0: | debuglog@^1.0.0: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" |   resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" | ||||||
|  | @ -3296,21 +3252,6 @@ execa@6.0.0: | ||||||
|     signal-exit "^3.0.5" |     signal-exit "^3.0.5" | ||||||
|     strip-final-newline "^3.0.0" |     strip-final-newline "^3.0.0" | ||||||
| 
 | 
 | ||||||
| execa@^4.0.0: |  | ||||||
|   version "4.1.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" |  | ||||||
|   integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== |  | ||||||
|   dependencies: |  | ||||||
|     cross-spawn "^7.0.0" |  | ||||||
|     get-stream "^5.0.0" |  | ||||||
|     human-signals "^1.1.1" |  | ||||||
|     is-stream "^2.0.0" |  | ||||||
|     merge-stream "^2.0.0" |  | ||||||
|     npm-run-path "^4.0.0" |  | ||||||
|     onetime "^5.1.0" |  | ||||||
|     signal-exit "^3.0.2" |  | ||||||
|     strip-final-newline "^2.0.0" |  | ||||||
| 
 |  | ||||||
| exit-on-epipe@~1.0.1: | exit-on-epipe@~1.0.1: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" |   resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" | ||||||
|  | @ -3342,11 +3283,6 @@ extend-shallow@^2.0.1: | ||||||
|   dependencies: |   dependencies: | ||||||
|     is-extendable "^0.1.0" |     is-extendable "^0.1.0" | ||||||
| 
 | 
 | ||||||
| extend@~3.0.2: |  | ||||||
|   version "3.0.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" |  | ||||||
|   integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== |  | ||||||
| 
 |  | ||||||
| extsprintf@1.3.0: | extsprintf@1.3.0: | ||||||
|   version "1.3.0" |   version "1.3.0" | ||||||
|   resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" |   resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" | ||||||
|  | @ -3509,16 +3445,6 @@ follow-redirects@1.5.10: | ||||||
|   dependencies: |   dependencies: | ||||||
|     debug "=3.1.0" |     debug "=3.1.0" | ||||||
| 
 | 
 | ||||||
| foreach@^2.0.5: |  | ||||||
|   version "2.0.5" |  | ||||||
|   resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" |  | ||||||
|   integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= |  | ||||||
| 
 |  | ||||||
| forever-agent@~0.6.1: |  | ||||||
|   version "0.6.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" |  | ||||||
|   integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= |  | ||||||
| 
 |  | ||||||
| form-data@^3.0.0: | form-data@^3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" |   resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" | ||||||
|  | @ -3528,15 +3454,6 @@ form-data@^3.0.0: | ||||||
|     combined-stream "^1.0.8" |     combined-stream "^1.0.8" | ||||||
|     mime-types "^2.1.12" |     mime-types "^2.1.12" | ||||||
| 
 | 
 | ||||||
| form-data@~2.3.2: |  | ||||||
|   version "2.3.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" |  | ||||||
|   integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== |  | ||||||
|   dependencies: |  | ||||||
|     asynckit "^0.4.0" |  | ||||||
|     combined-stream "^1.0.6" |  | ||||||
|     mime-types "^2.1.12" |  | ||||||
| 
 |  | ||||||
| fresh@~0.5.2: | fresh@~0.5.2: | ||||||
|   version "0.5.2" |   version "0.5.2" | ||||||
|   resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" |   resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" | ||||||
|  | @ -3623,7 +3540,7 @@ get-port@^5.1.1: | ||||||
|   resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" |   resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" | ||||||
|   integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== |   integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== | ||||||
| 
 | 
 | ||||||
| get-stream@^5.0.0, get-stream@^5.1.0: | get-stream@^5.1.0: | ||||||
|   version "5.2.0" |   version "5.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" |   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" | ||||||
|   integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== |   integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== | ||||||
|  | @ -3744,6 +3661,23 @@ globby@^11.0.4: | ||||||
|     merge2 "^1.3.0" |     merge2 "^1.3.0" | ||||||
|     slash "^3.0.0" |     slash "^3.0.0" | ||||||
| 
 | 
 | ||||||
|  | got@11.5.1: | ||||||
|  |   version "11.5.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/got/-/got-11.5.1.tgz#bf098a270fe80b3fb88ffd5a043a59ebb0a391db" | ||||||
|  |   integrity sha512-reQEZcEBMTGnujmQ+Wm97mJs/OK6INtO6HmLI+xt3+9CvnRwWjXutUvb2mqr+Ao4Lu05Rx6+udx9sOQAmExMxA== | ||||||
|  |   dependencies: | ||||||
|  |     "@sindresorhus/is" "^3.0.0" | ||||||
|  |     "@szmarczak/http-timer" "^4.0.5" | ||||||
|  |     "@types/cacheable-request" "^6.0.1" | ||||||
|  |     "@types/responselike" "^1.0.0" | ||||||
|  |     cacheable-lookup "^5.0.3" | ||||||
|  |     cacheable-request "^7.0.1" | ||||||
|  |     decompress-response "^6.0.0" | ||||||
|  |     http2-wrapper "^1.0.0-beta.5.0" | ||||||
|  |     lowercase-keys "^2.0.0" | ||||||
|  |     p-cancelable "^2.0.0" | ||||||
|  |     responselike "^2.0.0" | ||||||
|  | 
 | ||||||
| got@11.8.2: | got@11.8.2: | ||||||
|   version "11.8.2" |   version "11.8.2" | ||||||
|   resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" |   resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" | ||||||
|  | @ -3786,19 +3720,6 @@ hammerjs@^2.0.8: | ||||||
|   resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" |   resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" | ||||||
|   integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= |   integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= | ||||||
| 
 | 
 | ||||||
| har-schema@^2.0.0: |  | ||||||
|   version "2.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" |  | ||||||
|   integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= |  | ||||||
| 
 |  | ||||||
| har-validator@~5.1.3: |  | ||||||
|   version "5.1.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" |  | ||||||
|   integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== |  | ||||||
|   dependencies: |  | ||||||
|     ajv "^6.5.5" |  | ||||||
|     har-schema "^2.0.0" |  | ||||||
| 
 |  | ||||||
| has-bigints@^1.0.1: | has-bigints@^1.0.1: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" |   resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" | ||||||
|  | @ -3843,7 +3764,7 @@ has@^1.0.3: | ||||||
|   dependencies: |   dependencies: | ||||||
|     function-bind "^1.1.1" |     function-bind "^1.1.1" | ||||||
| 
 | 
 | ||||||
| he@1.2.0, he@^1.2.0: | he@1.2.0: | ||||||
|   version "1.2.0" |   version "1.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" |   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" | ||||||
|   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== |   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== | ||||||
|  | @ -3963,14 +3884,13 @@ http-signature@1.3.5: | ||||||
|     jsprim "^1.2.2" |     jsprim "^1.2.2" | ||||||
|     sshpk "^1.14.1" |     sshpk "^1.14.1" | ||||||
| 
 | 
 | ||||||
| http-signature@~1.2.0: | http2-wrapper@^1.0.0-beta.5.0: | ||||||
|   version "1.2.0" |   version "1.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" |   resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" | ||||||
|   integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= |   integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== | ||||||
|   dependencies: |   dependencies: | ||||||
|     assert-plus "^1.0.0" |     quick-lru "^5.1.1" | ||||||
|     jsprim "^1.2.2" |     resolve-alpn "^1.0.0" | ||||||
|     sshpk "^1.7.0" |  | ||||||
| 
 | 
 | ||||||
| http2-wrapper@^1.0.0-beta.5.2: | http2-wrapper@^1.0.0-beta.5.2: | ||||||
|   version "1.0.0-beta.5.2" |   version "1.0.0-beta.5.2" | ||||||
|  | @ -3995,11 +3915,6 @@ https-proxy-agent@^5.0.0: | ||||||
|     agent-base "6" |     agent-base "6" | ||||||
|     debug "4" |     debug "4" | ||||||
| 
 | 
 | ||||||
| human-signals@^1.1.1: |  | ||||||
|   version "1.1.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" |  | ||||||
|   integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== |  | ||||||
| 
 |  | ||||||
| human-signals@^3.0.1: | human-signals@^3.0.1: | ||||||
|   version "3.0.1" |   version "3.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" |   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" | ||||||
|  | @ -4031,13 +3946,6 @@ iconv-lite@^0.6.2: | ||||||
|   dependencies: |   dependencies: | ||||||
|     safer-buffer ">= 2.1.2 < 3.0.0" |     safer-buffer ">= 2.1.2 < 3.0.0" | ||||||
| 
 | 
 | ||||||
| iconv-lite@^0.6.3: |  | ||||||
|   version "0.6.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" |  | ||||||
|   integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== |  | ||||||
|   dependencies: |  | ||||||
|     safer-buffer ">= 2.1.2 < 3.0.0" |  | ||||||
| 
 |  | ||||||
| icss-utils@^5.0.0, icss-utils@^5.1.0: | icss-utils@^5.0.0, icss-utils@^5.1.0: | ||||||
|   version "5.1.0" |   version "5.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" |   resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" | ||||||
|  | @ -4083,14 +3991,6 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: | ||||||
|     parent-module "^1.0.0" |     parent-module "^1.0.0" | ||||||
|     resolve-from "^4.0.0" |     resolve-from "^4.0.0" | ||||||
| 
 | 
 | ||||||
| import-fresh@^3.3.0: |  | ||||||
|   version "3.3.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" |  | ||||||
|   integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== |  | ||||||
|   dependencies: |  | ||||||
|     parent-module "^1.0.0" |  | ||||||
|     resolve-from "^4.0.0" |  | ||||||
| 
 |  | ||||||
| imurmurhash@^0.1.4: | imurmurhash@^0.1.4: | ||||||
|   version "0.1.4" |   version "0.1.4" | ||||||
|   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" |   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" | ||||||
|  | @ -4158,11 +4058,6 @@ internal-slot@^1.0.3: | ||||||
|     has "^1.0.3" |     has "^1.0.3" | ||||||
|     side-channel "^1.0.4" |     side-channel "^1.0.4" | ||||||
| 
 | 
 | ||||||
| invert-kv@^3.0.0: |  | ||||||
|   version "3.0.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" |  | ||||||
|   integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw== |  | ||||||
| 
 |  | ||||||
| ioredis@^4.27.0: | ioredis@^4.27.0: | ||||||
|   version "4.27.6" |   version "4.27.6" | ||||||
|   resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.27.6.tgz#a53d427d3fe75fbd10ed7ad150ce00559df8dcf8" |   resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.27.6.tgz#a53d427d3fe75fbd10ed7ad150ce00559df8dcf8" | ||||||
|  | @ -4418,11 +4313,6 @@ is-shared-array-buffer@^1.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" |   resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" | ||||||
|   integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== |   integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== | ||||||
| 
 | 
 | ||||||
| is-stream@^2.0.0: |  | ||||||
|   version "2.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" |  | ||||||
|   integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== |  | ||||||
| 
 |  | ||||||
| is-stream@^3.0.0: | is-stream@^3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" |   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" | ||||||
|  | @ -4456,7 +4346,7 @@ is-symbol@^1.0.3: | ||||||
|   dependencies: |   dependencies: | ||||||
|     has-symbols "^1.0.2" |     has-symbols "^1.0.2" | ||||||
| 
 | 
 | ||||||
| is-typedarray@^1.0.0, is-typedarray@~1.0.0: | is-typedarray@^1.0.0: | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" |   resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" | ||||||
|   integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= |   integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= | ||||||
|  | @ -4498,11 +4388,6 @@ isexe@^2.0.0: | ||||||
|   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" |   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" | ||||||
|   integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= |   integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= | ||||||
| 
 | 
 | ||||||
| isstream@~0.1.2: |  | ||||||
|   version "0.1.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" |  | ||||||
|   integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= |  | ||||||
| 
 |  | ||||||
| jest-worker@^26.6.2: | jest-worker@^26.6.2: | ||||||
|   version "26.6.2" |   version "26.6.2" | ||||||
|   resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" |   resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" | ||||||
|  | @ -4575,7 +4460,7 @@ jsbn@~0.1.0: | ||||||
|   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" |   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" | ||||||
|   integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= |   integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= | ||||||
| 
 | 
 | ||||||
| jschardet@^3.0.0: | jschardet@3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882" |   resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882" | ||||||
|   integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ== |   integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ== | ||||||
|  | @ -4643,7 +4528,7 @@ json-stable-stringify-without-jsonify@^1.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" |   resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" | ||||||
|   integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= |   integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= | ||||||
| 
 | 
 | ||||||
| json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: | json-stringify-safe@^5.0.1: | ||||||
|   version "5.0.1" |   version "5.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" |   resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" | ||||||
|   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= |   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= | ||||||
|  | @ -4773,26 +4658,11 @@ koa-bodyparser@4.3.0: | ||||||
|     co-body "^6.0.0" |     co-body "^6.0.0" | ||||||
|     copy-to "^2.0.1" |     copy-to "^2.0.1" | ||||||
| 
 | 
 | ||||||
| koa-compose@^3.0.0: |  | ||||||
|   version "3.2.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" |  | ||||||
|   integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= |  | ||||||
|   dependencies: |  | ||||||
|     any-promise "^1.1.0" |  | ||||||
| 
 |  | ||||||
| koa-compose@^4.1.0: | koa-compose@^4.1.0: | ||||||
|   version "4.1.0" |   version "4.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" |   resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" | ||||||
|   integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== |   integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== | ||||||
| 
 | 
 | ||||||
| koa-convert@^1.2.0: |  | ||||||
|   version "1.2.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" |  | ||||||
|   integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= |  | ||||||
|   dependencies: |  | ||||||
|     co "^4.6.0" |  | ||||||
|     koa-compose "^3.0.0" |  | ||||||
| 
 |  | ||||||
| koa-convert@^2.0.0: | koa-convert@^2.0.0: | ||||||
|   version "2.0.0" |   version "2.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" |   resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" | ||||||
|  | @ -4877,35 +4747,6 @@ koa-views@7.0.2: | ||||||
|     pretty "^2.0.0" |     pretty "^2.0.0" | ||||||
|     resolve-path "^1.4.0" |     resolve-path "^1.4.0" | ||||||
| 
 | 
 | ||||||
| koa@2.13.1: |  | ||||||
|   version "2.13.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" |  | ||||||
|   integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== |  | ||||||
|   dependencies: |  | ||||||
|     accepts "^1.3.5" |  | ||||||
|     cache-content-type "^1.0.0" |  | ||||||
|     content-disposition "~0.5.2" |  | ||||||
|     content-type "^1.0.4" |  | ||||||
|     cookies "~0.8.0" |  | ||||||
|     debug "~3.1.0" |  | ||||||
|     delegates "^1.0.0" |  | ||||||
|     depd "^2.0.0" |  | ||||||
|     destroy "^1.0.4" |  | ||||||
|     encodeurl "^1.0.2" |  | ||||||
|     escape-html "^1.0.3" |  | ||||||
|     fresh "~0.5.2" |  | ||||||
|     http-assert "^1.3.0" |  | ||||||
|     http-errors "^1.6.3" |  | ||||||
|     is-generator-function "^1.0.7" |  | ||||||
|     koa-compose "^4.1.0" |  | ||||||
|     koa-convert "^1.2.0" |  | ||||||
|     on-finished "^2.3.0" |  | ||||||
|     only "~0.0.2" |  | ||||||
|     parseurl "^1.3.2" |  | ||||||
|     statuses "^1.5.0" |  | ||||||
|     type-is "^1.6.16" |  | ||||||
|     vary "^1.1.2" |  | ||||||
| 
 |  | ||||||
| koa@2.13.4: | koa@2.13.4: | ||||||
|   version "2.13.4" |   version "2.13.4" | ||||||
|   resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" |   resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" | ||||||
|  | @ -4960,13 +4801,6 @@ lazystream@^1.0.0: | ||||||
|   dependencies: |   dependencies: | ||||||
|     readable-stream "^2.0.5" |     readable-stream "^2.0.5" | ||||||
| 
 | 
 | ||||||
| lcid@^3.0.0: |  | ||||||
|   version "3.1.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0" |  | ||||||
|   integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg== |  | ||||||
|   dependencies: |  | ||||||
|     invert-kv "^3.0.0" |  | ||||||
| 
 |  | ||||||
| levn@^0.4.1: | levn@^0.4.1: | ||||||
|   version "0.4.1" |   version "0.4.1" | ||||||
|   resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" |   resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" | ||||||
|  | @ -5193,13 +5027,6 @@ make-fetch-happen@^8.0.14: | ||||||
|     socks-proxy-agent "^5.0.0" |     socks-proxy-agent "^5.0.0" | ||||||
|     ssri "^8.0.0" |     ssri "^8.0.0" | ||||||
| 
 | 
 | ||||||
| map-age-cleaner@^0.1.3: |  | ||||||
|   version "0.1.3" |  | ||||||
|   resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" |  | ||||||
|   integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== |  | ||||||
|   dependencies: |  | ||||||
|     p-defer "^1.0.0" |  | ||||||
| 
 |  | ||||||
| mdn-data@2.0.14: | mdn-data@2.0.14: | ||||||
|   version "2.0.14" |   version "2.0.14" | ||||||
|   resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" |   resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" | ||||||
|  | @ -5210,15 +5037,6 @@ media-typer@0.3.0: | ||||||
|   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" |   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" | ||||||
|   integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= |   integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= | ||||||
| 
 | 
 | ||||||
| mem@^5.0.0: |  | ||||||
|   version "5.1.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" |  | ||||||
|   integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== |  | ||||||
|   dependencies: |  | ||||||
|     map-age-cleaner "^0.1.3" |  | ||||||
|     mimic-fn "^2.1.0" |  | ||||||
|     p-is-promise "^2.1.0" |  | ||||||
| 
 |  | ||||||
| merge-stream@^2.0.0: | merge-stream@^2.0.0: | ||||||
|   version "2.0.0" |   version "2.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" |   resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" | ||||||
|  | @ -5284,18 +5102,13 @@ mime-types@2.1.34: | ||||||
|   dependencies: |   dependencies: | ||||||
|     mime-db "1.51.0" |     mime-db "1.51.0" | ||||||
| 
 | 
 | ||||||
| mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24: | mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@~2.1.24: | ||||||
|   version "2.1.27" |   version "2.1.27" | ||||||
|   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" |   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" | ||||||
|   integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== |   integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== | ||||||
|   dependencies: |   dependencies: | ||||||
|     mime-db "1.44.0" |     mime-db "1.44.0" | ||||||
| 
 | 
 | ||||||
| mimic-fn@^2.1.0: |  | ||||||
|   version "2.1.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" |  | ||||||
|   integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== |  | ||||||
| 
 |  | ||||||
| mimic-fn@^4.0.0: | mimic-fn@^4.0.0: | ||||||
|   version "4.0.0" |   version "4.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" |   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" | ||||||
|  | @ -5690,13 +5503,6 @@ normalize-url@^6.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" |   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" | ||||||
|   integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== |   integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== | ||||||
| 
 | 
 | ||||||
| npm-run-path@^4.0.0: |  | ||||||
|   version "4.0.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" |  | ||||||
|   integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== |  | ||||||
|   dependencies: |  | ||||||
|     path-key "^3.0.0" |  | ||||||
| 
 |  | ||||||
| npm-run-path@^5.0.1: | npm-run-path@^5.0.1: | ||||||
|   version "5.0.1" |   version "5.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.0.1.tgz#748dd68ed7de377bb1f7132c7dafe657be5ab400" |   resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.0.1.tgz#748dd68ed7de377bb1f7132c7dafe657be5ab400" | ||||||
|  | @ -5738,11 +5544,6 @@ nwsapi@^2.2.0: | ||||||
|   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" |   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" | ||||||
|   integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== |   integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== | ||||||
| 
 | 
 | ||||||
| oauth-sign@~0.9.0: |  | ||||||
|   version "0.9.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" |  | ||||||
|   integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== |  | ||||||
| 
 |  | ||||||
| oauth@0.9.15: | oauth@0.9.15: | ||||||
|   version "0.9.15" |   version "0.9.15" | ||||||
|   resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" |   resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" | ||||||
|  | @ -5824,13 +5625,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: | ||||||
|   dependencies: |   dependencies: | ||||||
|     wrappy "1" |     wrappy "1" | ||||||
| 
 | 
 | ||||||
| onetime@^5.1.0: |  | ||||||
|   version "5.1.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" |  | ||||||
|   integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== |  | ||||||
|   dependencies: |  | ||||||
|     mimic-fn "^2.1.0" |  | ||||||
| 
 |  | ||||||
| onetime@^6.0.0: | onetime@^6.0.0: | ||||||
|   version "6.0.0" |   version "6.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" |   resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" | ||||||
|  | @ -5877,15 +5671,6 @@ os-homedir@^1.0.0: | ||||||
|   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" |   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" | ||||||
|   integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= |   integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= | ||||||
| 
 | 
 | ||||||
| os-locale@^5.0.0: |  | ||||||
|   version "5.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-5.0.0.tgz#6d26c1d95b6597c5d5317bf5fba37eccec3672e0" |  | ||||||
|   integrity sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA== |  | ||||||
|   dependencies: |  | ||||||
|     execa "^4.0.0" |  | ||||||
|     lcid "^3.0.0" |  | ||||||
|     mem "^5.0.0" |  | ||||||
| 
 |  | ||||||
| os-tmpdir@^1.0.0: | os-tmpdir@^1.0.0: | ||||||
|   version "1.0.2" |   version "1.0.2" | ||||||
|   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" |   resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" | ||||||
|  | @ -5909,21 +5694,11 @@ p-cancelable@^2.0.0: | ||||||
|   resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" |   resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" | ||||||
|   integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== |   integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== | ||||||
| 
 | 
 | ||||||
| p-defer@^1.0.0: |  | ||||||
|   version "1.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" |  | ||||||
|   integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= |  | ||||||
| 
 |  | ||||||
| p-finally@^1.0.0: | p-finally@^1.0.0: | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" |   resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" | ||||||
|   integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= |   integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= | ||||||
| 
 | 
 | ||||||
| p-is-promise@^2.1.0: |  | ||||||
|   version "2.1.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" |  | ||||||
|   integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== |  | ||||||
| 
 |  | ||||||
| p-limit@^1.1.0: | p-limit@^1.1.0: | ||||||
|   version "1.3.0" |   version "1.3.0" | ||||||
|   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" |   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" | ||||||
|  | @ -6066,7 +5841,7 @@ path-is-absolute@1.0.1, path-is-absolute@^1.0.0: | ||||||
|   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" |   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" | ||||||
|   integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= |   integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= | ||||||
| 
 | 
 | ||||||
| path-key@^3.0.0, path-key@^3.1.0: | path-key@^3.1.0: | ||||||
|   version "3.1.1" |   version "3.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" |   resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" | ||||||
|   integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== |   integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== | ||||||
|  | @ -6096,11 +5871,6 @@ peek-readable@^4.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.1.tgz#9a045f291db254111c3412c1ce4fec27ddd4d202" |   resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.1.tgz#9a045f291db254111c3412c1ce4fec27ddd4d202" | ||||||
|   integrity sha512-7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ== |   integrity sha512-7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ== | ||||||
| 
 | 
 | ||||||
| performance-now@^2.1.0: |  | ||||||
|   version "2.1.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" |  | ||||||
|   integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= |  | ||||||
| 
 |  | ||||||
| pg-connection-string@^2.5.0: | pg-connection-string@^2.5.0: | ||||||
|   version "2.5.0" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" |   resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" | ||||||
|  | @ -6529,14 +6299,6 @@ pretty@^2.0.0: | ||||||
|     extend-shallow "^2.0.1" |     extend-shallow "^2.0.1" | ||||||
|     js-beautify "^1.6.12" |     js-beautify "^1.6.12" | ||||||
| 
 | 
 | ||||||
| prettyjson@^1.2.1: |  | ||||||
|   version "1.2.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" |  | ||||||
|   integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= |  | ||||||
|   dependencies: |  | ||||||
|     colors "^1.1.2" |  | ||||||
|     minimist "^1.2.0" |  | ||||||
| 
 |  | ||||||
| printj@~1.1.0: | printj@~1.1.0: | ||||||
|   version "1.1.2" |   version "1.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" |   resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" | ||||||
|  | @ -6620,7 +6382,7 @@ pseudomap@^1.0.2: | ||||||
|   resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" |   resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" | ||||||
|   integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= |   integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= | ||||||
| 
 | 
 | ||||||
| psl@^1.1.28, psl@^1.1.33: | psl@^1.1.33: | ||||||
|   version "1.8.0" |   version "1.8.0" | ||||||
|   resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" |   resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" | ||||||
|   integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== |   integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== | ||||||
|  | @ -6778,11 +6540,6 @@ qs@^6.4.0, qs@^6.5.2: | ||||||
|   resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e" |   resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e" | ||||||
|   integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== |   integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== | ||||||
| 
 | 
 | ||||||
| qs@~6.5.2: |  | ||||||
|   version "6.5.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" |  | ||||||
|   integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== |  | ||||||
| 
 |  | ||||||
| querystring@0.2.0: | querystring@0.2.0: | ||||||
|   version "0.2.0" |   version "0.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" |   resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" | ||||||
|  | @ -6966,22 +6723,6 @@ rename@1.0.4: | ||||||
|   dependencies: |   dependencies: | ||||||
|     debug "^2.5.2" |     debug "^2.5.2" | ||||||
| 
 | 
 | ||||||
| request-promise-core@1.1.4: |  | ||||||
|   version "1.1.4" |  | ||||||
|   resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" |  | ||||||
|   integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== |  | ||||||
|   dependencies: |  | ||||||
|     lodash "^4.17.19" |  | ||||||
| 
 |  | ||||||
| request-promise-native@1.0.9: |  | ||||||
|   version "1.0.9" |  | ||||||
|   resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" |  | ||||||
|   integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== |  | ||||||
|   dependencies: |  | ||||||
|     request-promise-core "1.1.4" |  | ||||||
|     stealthy-require "^1.1.1" |  | ||||||
|     tough-cookie "^2.3.3" |  | ||||||
| 
 |  | ||||||
| request-stats@3.0.0: | request-stats@3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/request-stats/-/request-stats-3.0.0.tgz#769155dc8974d78d4a1cb87bbf14eaab985afe25" |   resolved "https://registry.yarnpkg.com/request-stats/-/request-stats-3.0.0.tgz#769155dc8974d78d4a1cb87bbf14eaab985afe25" | ||||||
|  | @ -6990,32 +6731,6 @@ request-stats@3.0.0: | ||||||
|     http-headers "^3.0.1" |     http-headers "^3.0.1" | ||||||
|     once "^1.4.0" |     once "^1.4.0" | ||||||
| 
 | 
 | ||||||
| request@2.88.2, request@^2.88.2: |  | ||||||
|   version "2.88.2" |  | ||||||
|   resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" |  | ||||||
|   integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== |  | ||||||
|   dependencies: |  | ||||||
|     aws-sign2 "~0.7.0" |  | ||||||
|     aws4 "^1.8.0" |  | ||||||
|     caseless "~0.12.0" |  | ||||||
|     combined-stream "~1.0.6" |  | ||||||
|     extend "~3.0.2" |  | ||||||
|     forever-agent "~0.6.1" |  | ||||||
|     form-data "~2.3.2" |  | ||||||
|     har-validator "~5.1.3" |  | ||||||
|     http-signature "~1.2.0" |  | ||||||
|     is-typedarray "~1.0.0" |  | ||||||
|     isstream "~0.1.2" |  | ||||||
|     json-stringify-safe "~5.0.1" |  | ||||||
|     mime-types "~2.1.19" |  | ||||||
|     oauth-sign "~0.9.0" |  | ||||||
|     performance-now "^2.1.0" |  | ||||||
|     qs "~6.5.2" |  | ||||||
|     safe-buffer "^5.1.2" |  | ||||||
|     tough-cookie "~2.5.0" |  | ||||||
|     tunnel-agent "^0.6.0" |  | ||||||
|     uuid "^3.3.2" |  | ||||||
| 
 |  | ||||||
| require-all@3.0.0: | require-all@3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/require-all/-/require-all-3.0.0.tgz#473d49704be310115ce124f77383b1ebd8671312" |   resolved "https://registry.yarnpkg.com/require-all/-/require-all-3.0.0.tgz#473d49704be310115ce124f77383b1ebd8671312" | ||||||
|  | @ -7102,11 +6817,6 @@ rndstr@1.0.0: | ||||||
|     rangestr "0.0.1" |     rangestr "0.0.1" | ||||||
|     seedrandom "2.4.2" |     seedrandom "2.4.2" | ||||||
| 
 | 
 | ||||||
| rsvp@^4.8.5: |  | ||||||
|   version "4.8.5" |  | ||||||
|   resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" |  | ||||||
|   integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== |  | ||||||
| 
 |  | ||||||
| run-parallel@^1.1.9: | run-parallel@^1.1.9: | ||||||
|   version "1.1.9" |   version "1.1.9" | ||||||
|   resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" |   resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" | ||||||
|  | @ -7132,7 +6842,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: | ||||||
|   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" |   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" | ||||||
|   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== |   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== | ||||||
| 
 | 
 | ||||||
| safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: | ||||||
|   version "5.2.0" |   version "5.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" |   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" | ||||||
|   integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== |   integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== | ||||||
|  | @ -7294,7 +7004,7 @@ sigmund@^1.0.1: | ||||||
|   resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" |   resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" | ||||||
|   integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= |   integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= | ||||||
| 
 | 
 | ||||||
| signal-exit@^3.0.0, signal-exit@^3.0.2: | signal-exit@^3.0.0: | ||||||
|   version "3.0.3" |   version "3.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" |   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" | ||||||
|   integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== |   integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== | ||||||
|  | @ -7404,7 +7114,7 @@ sprintf-js@~1.0.2: | ||||||
|   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" |   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" | ||||||
|   integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= |   integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= | ||||||
| 
 | 
 | ||||||
| sshpk@^1.14.1, sshpk@^1.7.0: | sshpk@^1.14.1: | ||||||
|   version "1.16.1" |   version "1.16.1" | ||||||
|   resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" |   resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" | ||||||
|   integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== |   integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== | ||||||
|  | @ -7441,11 +7151,6 @@ standard-as-callback@^2.1.0: | ||||||
|   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" |   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" | ||||||
|   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= |   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= | ||||||
| 
 | 
 | ||||||
| stealthy-require@^1.1.1: |  | ||||||
|   version "1.1.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" |  | ||||||
|   integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= |  | ||||||
| 
 |  | ||||||
| stream-parser@~0.3.1: | stream-parser@~0.3.1: | ||||||
|   version "0.3.1" |   version "0.3.1" | ||||||
|   resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" |   resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" | ||||||
|  | @ -7614,11 +7319,6 @@ strip-bom@^3.0.0: | ||||||
|   resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" |   resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" | ||||||
|   integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= |   integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= | ||||||
| 
 | 
 | ||||||
| strip-final-newline@^2.0.0: |  | ||||||
|   version "2.0.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" |  | ||||||
|   integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== |  | ||||||
| 
 |  | ||||||
| strip-final-newline@^3.0.0: | strip-final-newline@^3.0.0: | ||||||
|   version "3.0.0" |   version "3.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" |   resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" | ||||||
|  | @ -7655,18 +7355,19 @@ stylehacks@^5.0.1: | ||||||
|     browserslist "^4.16.0" |     browserslist "^4.16.0" | ||||||
|     postcss-selector-parser "^6.0.4" |     postcss-selector-parser "^6.0.4" | ||||||
| 
 | 
 | ||||||
| summaly@2.4.1: | summaly@2.5.0: | ||||||
|   version "2.4.1" |   version "2.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/summaly/-/summaly-2.4.1.tgz#d2a8fa6bad10c1651eb0b849aab3009e87216a3d" |   resolved "https://registry.yarnpkg.com/summaly/-/summaly-2.5.0.tgz#ec5af6e84857efcb6c844d896e83569e64a923ea" | ||||||
|   integrity sha512-1gETEQXqK5RD7yIGgdGeTwGL1uh+uj14u99atzNLNmvsxwdtZbPvDHZBPXkAW0cqsd8teoBJln5Dh1QeAhvGIg== |   integrity sha512-IzvO2s7yj/PUyH42qWjVjSPpIiPlgTRWGh33t4cIZKOqPQJ2INo7e83hXhHFr4hXTb3JRcIdCuM1ELjlrujiUQ== | ||||||
|   dependencies: |   dependencies: | ||||||
|     cheerio-httpcli "0.8.2" |     cheerio "0.22.0" | ||||||
|     debug "4.3.2" |     debug "4.3.3" | ||||||
|     escape-regexp "0.0.1" |     escape-regexp "0.0.1" | ||||||
|  |     got "11.5.1" | ||||||
|     html-entities "2.3.2" |     html-entities "2.3.2" | ||||||
|     koa "2.13.1" |     jschardet "3.0.0" | ||||||
|     request "2.88.2" |     koa "2.13.4" | ||||||
|     request-promise-native "1.0.9" |     private-ip "2.3.3" | ||||||
|     require-all "3.0.0" |     require-all "3.0.0" | ||||||
|     trace-redirect "1.0.6" |     trace-redirect "1.0.6" | ||||||
| 
 | 
 | ||||||
|  | @ -7889,14 +7590,6 @@ token-types@^4.1.1: | ||||||
|     "@tokenizer/token" "^0.3.0" |     "@tokenizer/token" "^0.3.0" | ||||||
|     ieee754 "^1.2.1" |     ieee754 "^1.2.1" | ||||||
| 
 | 
 | ||||||
| tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: |  | ||||||
|   version "2.5.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" |  | ||||||
|   integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== |  | ||||||
|   dependencies: |  | ||||||
|     psl "^1.1.28" |  | ||||||
|     punycode "^2.1.1" |  | ||||||
| 
 |  | ||||||
| tough-cookie@^4.0.0: | tough-cookie@^4.0.0: | ||||||
|   version "4.0.0" |   version "4.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" |   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" | ||||||
|  | @ -8055,11 +7748,6 @@ type-is@^1.6.14, type-is@^1.6.16, type-is@^1.6.4: | ||||||
|     media-typer "0.3.0" |     media-typer "0.3.0" | ||||||
|     mime-types "~2.1.24" |     mime-types "~2.1.24" | ||||||
| 
 | 
 | ||||||
| type-of@^2.0.1: |  | ||||||
|   version "2.0.1" |  | ||||||
|   resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" |  | ||||||
|   integrity sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI= |  | ||||||
| 
 |  | ||||||
| type@^1.0.1: | type@^1.0.1: | ||||||
|   version "1.2.0" |   version "1.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" |   resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" | ||||||
|  | @ -8223,21 +7911,11 @@ uuid@8.3.2, uuid@^8.3.0: | ||||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" |   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | ||||||
|   integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== |   integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== | ||||||
| 
 | 
 | ||||||
| uuid@^3.3.2: |  | ||||||
|   version "3.4.0" |  | ||||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" |  | ||||||
|   integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== |  | ||||||
| 
 |  | ||||||
| v8-compile-cache@^2.0.3: | v8-compile-cache@^2.0.3: | ||||||
|   version "2.2.0" |   version "2.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" |   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" | ||||||
|   integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== |   integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== | ||||||
| 
 | 
 | ||||||
| valid-url@^1.0.9: |  | ||||||
|   version "1.0.9" |  | ||||||
|   resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" |  | ||||||
|   integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= |  | ||||||
| 
 |  | ||||||
| vary@^1.1.2: | vary@^1.1.2: | ||||||
|   version "1.1.2" |   version "1.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" |   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <MkModal ref="modal" :front="true" @click="done(true)" @closed="$emit('closed')"> | <MkModal ref="modal" :prefer-type="'dialog'" :front="true" @click="done(true)" @closed="$emit('closed')"> | ||||||
| 	<div class="mk-dialog"> | 	<div class="mk-dialog"> | ||||||
| 		<div v-if="icon" class="icon"> | 		<div v-if="icon" class="icon"> | ||||||
| 			<i :class="icon"></i> | 			<i :class="icon"></i> | ||||||
|  |  | ||||||
|  | @ -1,17 +1,17 @@ | ||||||
| <template> | <template> | ||||||
| <MkPopup ref="popup" v-slot="{ point, close }" :manual-showing="manualShowing" :src="src" :front="true" @click="close()" @opening="opening" @close="$emit('close')" @closed="$emit('closed')"> | <MkModal ref="modal" v-slot="{ type, maxHeight }" :prefer-type="asReactionPicker && $store.state.reactionPickerUseDrawerForMobile === false ? 'popup' : 'auto'" :transparent-bg="true" :manual-showing="manualShowing" :src="src" :front="true" @click="$refs.modal.close()" @opening="opening" @close="$emit('close')" @closed="$emit('closed')"> | ||||||
| 	<MkEmojiPicker ref="picker" class="ryghynhb _popup _shadow" :class="{ pointer: point === 'top' }" :show-pinned="showPinned" :as-reaction-picker="asReactionPicker" @chosen="chosen"/> | 	<MkEmojiPicker ref="picker" class="ryghynhb _popup _shadow" :class="{ drawer: type === 'drawer' }" :show-pinned="showPinned" :as-reaction-picker="asReactionPicker" :as-drawer="type === 'drawer'" :max-height="maxHeight" @chosen="chosen"/> | ||||||
| </MkPopup> | </MkModal> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent, markRaw } from 'vue'; | import { defineComponent, markRaw } from 'vue'; | ||||||
| import MkPopup from '@/components/ui/popup.vue'; | import MkModal from '@/components/ui/modal.vue'; | ||||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | import MkEmojiPicker from '@/components/emoji-picker.vue'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		MkPopup, | 		MkModal, | ||||||
| 		MkEmojiPicker, | 		MkEmojiPicker, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -44,7 +44,7 @@ export default defineComponent({ | ||||||
| 	methods: { | 	methods: { | ||||||
| 		chosen(emoji: any) { | 		chosen(emoji: any) { | ||||||
| 			this.$emit('done', emoji); | 			this.$emit('done', emoji); | ||||||
| 			this.$refs.popup.close(); | 			this.$refs.modal.close(); | ||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
| 		opening() { | 		opening() { | ||||||
|  | @ -57,20 +57,10 @@ export default defineComponent({ | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .ryghynhb { | .ryghynhb { | ||||||
| 	&.pointer { | 	&.drawer { | ||||||
| 		&:before { | 		border-radius: 24px; | ||||||
| 			--size: 8px; | 		border-bottom-right-radius: 0; | ||||||
| 			content: ''; | 		border-bottom-left-radius: 0; | ||||||
| 			display: block; |  | ||||||
| 			position: absolute; |  | ||||||
| 			top: calc(0px - (var(--size) * 2)); |  | ||||||
| 			left: 0; |  | ||||||
| 			right: 0; |  | ||||||
| 			width: 0; |  | ||||||
| 			margin: auto; |  | ||||||
| 			border: solid var(--size) transparent; |  | ||||||
| 			border-bottom-color: var(--popup); |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <div class="omfetrab" :class="['w' + width, 'h' + height, { big }]"> | <div class="omfetrab" :class="['w' + width, 'h' + height, { big, asDrawer }]" :style="{ maxHeight: maxHeight ? maxHeight + 'px' : null }"> | ||||||
| 	<input ref="search" v-model.trim="q" class="search" data-prevent-emoji-insert :class="{ filled: q != null && q != '' }" :placeholder="$ts.search" @paste.stop="paste" @keyup.enter="done()"> | 	<input ref="search" v-model.trim="q" class="search" data-prevent-emoji-insert :class="{ filled: q != null && q != '' }" :placeholder="$ts.search" @paste.stop="paste" @keyup.enter="done()"> | ||||||
| 	<div ref="emojis" class="emojis"> | 	<div ref="emojis" class="emojis"> | ||||||
| 		<section class="result"> | 		<section class="result"> | ||||||
|  | @ -92,9 +92,17 @@ export default defineComponent({ | ||||||
| 	props: { | 	props: { | ||||||
| 		showPinned: { | 		showPinned: { | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: true | 			default: true, | ||||||
| 		}, | 		}, | ||||||
| 		asReactionPicker: { | 		asReactionPicker: { | ||||||
|  | 			required: false, | ||||||
|  | 		}, | ||||||
|  | 		maxHeight: { | ||||||
|  | 			type: Number, | ||||||
|  | 			required: false, | ||||||
|  | 		}, | ||||||
|  | 		asDrawer: { | ||||||
|  | 			type: Boolean, | ||||||
| 			required: false | 			required: false | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
|  | @ -353,26 +361,60 @@ export default defineComponent({ | ||||||
| 
 | 
 | ||||||
| 	&.w1 { | 	&.w1 { | ||||||
| 		width: calc((var(--eachSize) * 5) + (#{$pad} * 2)); | 		width: calc((var(--eachSize) * 5) + (#{$pad} * 2)); | ||||||
|  | 		--columns: 1fr 1fr 1fr 1fr 1fr; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	&.w2 { | 	&.w2 { | ||||||
| 		width: calc((var(--eachSize) * 6) + (#{$pad} * 2)); | 		width: calc((var(--eachSize) * 6) + (#{$pad} * 2)); | ||||||
|  | 		--columns: 1fr 1fr 1fr 1fr 1fr 1fr; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	&.w3 { | 	&.w3 { | ||||||
| 		width: calc((var(--eachSize) * 7) + (#{$pad} * 2)); | 		width: calc((var(--eachSize) * 7) + (#{$pad} * 2)); | ||||||
|  | 		--columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	&.h1 { | 	&.h1 { | ||||||
| 		--height: calc((var(--eachSize) * 4) + (#{$pad} * 2)); | 		height: calc((var(--eachSize) * 4) + (#{$pad} * 2)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	&.h2 { | 	&.h2 { | ||||||
| 		--height: calc((var(--eachSize) * 6) + (#{$pad} * 2)); | 		height: calc((var(--eachSize) * 6) + (#{$pad} * 2)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	&.h3 { | 	&.h3 { | ||||||
| 		--height: calc((var(--eachSize) * 8) + (#{$pad} * 2)); | 		height: calc((var(--eachSize) * 8) + (#{$pad} * 2)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	&.asDrawer { | ||||||
|  | 		width: 100% !important; | ||||||
|  | 
 | ||||||
|  | 		> .emojis { | ||||||
|  | 			::v-deep(section) { | ||||||
|  | 				> header { | ||||||
|  | 					height: 32px; | ||||||
|  | 					line-height: 32px; | ||||||
|  | 					padding: 0 12px; | ||||||
|  | 					font-size: 15px; | ||||||
|  | 				} | ||||||
|  | 
 | ||||||
|  | 				> div { | ||||||
|  | 					display: grid; | ||||||
|  | 					grid-template-columns: var(--columns); | ||||||
|  | 
 | ||||||
|  | 					> button { | ||||||
|  | 						aspect-ratio: 1 / 1; | ||||||
|  | 						width: auto; | ||||||
|  | 						height: auto; | ||||||
|  | 						min-width: 0; | ||||||
|  | 
 | ||||||
|  | 						> * { | ||||||
|  | 							font-size: 30px; | ||||||
|  | 						} | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .search { | 	> .search { | ||||||
|  | @ -409,7 +451,7 @@ export default defineComponent({ | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .emojis { | 	> .emojis { | ||||||
| 		height: var(--height); | 		height: 100%; | ||||||
| 		overflow-y: auto; | 		overflow-y: auto; | ||||||
| 		overflow-x: hidden; | 		overflow-x: hidden; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <MkModal ref="modal" @click="$refs.modal.close()" @closed="$emit('closed')"> | <MkModal ref="modal" :prefer-type="'dialog'" @click="$refs.modal.close()" @closed="$emit('closed')"> | ||||||
| 	<div class="szkkfdyq _popup"> | 	<div class="szkkfdyq _popup"> | ||||||
| 		<div class="main"> | 		<div class="main"> | ||||||
| 			<template v-for="item in items"> | 			<template v-for="item in items"> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <MkModal ref="modal" :position="'top'" @click="$refs.modal.close()" @closed="$emit('closed')"> | <MkModal ref="modal" :prefer-type="'dialog:top'" @click="$refs.modal.close()" @closed="$emit('closed')"> | ||||||
| 	<MkPostForm v-bind="$attrs" @posted="$refs.modal.close()" @cancel="$refs.modal.close()" @esc="$refs.modal.close()"/> | 	<MkPostForm v-bind="$attrs" @posted="$refs.modal.close()" @cancel="$refs.modal.close()" @esc="$refs.modal.close()"/> | ||||||
| </MkModal> | </MkModal> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <div class="mk-toast"> | <div class="mk-toast" style="{ zIndex }"> | ||||||
| 	<transition name="notification-slide" appear @after-leave="$emit('closed')"> | 	<transition name="notification-slide" appear @after-leave="$emit('closed')"> | ||||||
| 		<XNotification v-if="showing" :notification="notification" class="notification _acrylic"/> | 		<XNotification v-if="showing" :notification="notification" class="notification _acrylic"/> | ||||||
| 	</transition> | 	</transition> | ||||||
|  | @ -9,6 +9,7 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import XNotification from './notification.vue'; | import XNotification from './notification.vue'; | ||||||
|  | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
|  | @ -23,7 +24,8 @@ export default defineComponent({ | ||||||
| 	emits: ['closed'], | 	emits: ['closed'], | ||||||
| 	data() { | 	data() { | ||||||
| 		return { | 		return { | ||||||
| 			showing: true | 			showing: true, | ||||||
|  | 			zIndex: os.claimZIndex(true), | ||||||
| 		}; | 		}; | ||||||
| 	}, | 	}, | ||||||
| 	mounted() { | 	mounted() { | ||||||
|  | @ -45,7 +47,6 @@ export default defineComponent({ | ||||||
| 
 | 
 | ||||||
| .mk-toast { | .mk-toast { | ||||||
| 	position: fixed; | 	position: fixed; | ||||||
| 	z-index: 10000; |  | ||||||
| 	left: 0; | 	left: 0; | ||||||
| 	width: 250px; | 	width: 250px; | ||||||
| 	top: 32px; | 	top: 32px; | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| <template> | <template> | ||||||
| <div ref="items" v-hotkey="keymap" | <div ref="items" v-hotkey="keymap" | ||||||
| 	class="rrevdjwt" | 	class="rrevdjwt" | ||||||
| 	:class="{ center: align === 'center' }" | 	:class="{ center: align === 'center', asDrawer }" | ||||||
| 	:style="{ width: width ? width + 'px' : null, maxHeight: maxHeight ? maxHeight + 'px' : null }" | 	:style="{ width: (width && !asDrawer) ? width + 'px' : null, maxHeight: maxHeight ? maxHeight + 'px' : null }" | ||||||
| 	@contextmenu.self="e => e.preventDefault()" | 	@contextmenu.self="e => e.preventDefault()" | ||||||
| > | > | ||||||
| 	<template v-for="(item, i) in items2"> | 	<template v-for="(item, i) in items2"> | ||||||
|  | @ -56,6 +56,10 @@ export default defineComponent({ | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: false | 			required: false | ||||||
| 		}, | 		}, | ||||||
|  | 		asDrawer: { | ||||||
|  | 			type: Boolean, | ||||||
|  | 			required: false | ||||||
|  | 		}, | ||||||
| 		align: { | 		align: { | ||||||
| 			type: String, | 			type: String, | ||||||
| 			requried: false | 			requried: false | ||||||
|  | @ -279,5 +283,29 @@ export default defineComponent({ | ||||||
| 		height: 1px; | 		height: 1px; | ||||||
| 		background: var(--divider); | 		background: var(--divider); | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	&.asDrawer { | ||||||
|  | 		padding: 12px 0; | ||||||
|  | 		width: 100%; | ||||||
|  | 
 | ||||||
|  | 		> .item { | ||||||
|  | 			font-size: 1em; | ||||||
|  | 			padding: 12px 24px; | ||||||
|  | 
 | ||||||
|  | 			&:before { | ||||||
|  | 				width: calc(100% - 24px); | ||||||
|  | 				border-radius: 12px; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			> i { | ||||||
|  | 				margin-right: 14px; | ||||||
|  | 				width: 24px; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		> .divider { | ||||||
|  | 			margin: 12px 0; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <MkModal ref="modal" @click="$emit('click')" @closed="$emit('closed')"> | <MkModal ref="modal" :prefer-type="'dialog'" @click="$emit('click')" @closed="$emit('closed')"> | ||||||
| 	<div class="ebkgoccj _window _narrow_" :style="{ width: `${width}px`, height: scroll ? (height ? `${height}px` : null) : (height ? `min(${height}px, 100%)` : '100%') }" @keydown="onKeydown"> | 	<div class="ebkgoccj _window _narrow_" :style="{ width: `${width}px`, height: scroll ? (height ? `${height}px` : null) : (height ? `min(${height}px, 100%)` : '100%') }" @keydown="onKeydown"> | ||||||
| 		<div class="header"> | 		<div class="header"> | ||||||
| 			<button v-if="withOkButton" class="_button" @click="$emit('close')"><i class="fas fa-times"></i></button> | 			<button v-if="withOkButton" class="_button" @click="$emit('close')"><i class="fas fa-times"></i></button> | ||||||
|  |  | ||||||
|  | @ -1,17 +1,18 @@ | ||||||
| <template> | <template> | ||||||
| <transition :name="$store.state.animation ? popup ? 'modal-popup' : 'modal' : ''" :duration="$store.state.animation ? popup ? 500 : 300 : 0" appear @after-leave="onClosed" @enter="$emit('opening')" @after-enter="childRendered"> | <transition :name="$store.state.animation ? (type === 'drawer') ? 'modal-drawer' : (type === 'popup') ? 'modal-popup' : 'modal' : ''" :duration="$store.state.animation ? 200 : 0" appear @after-leave="$emit('closed')" @enter="$emit('opening')" @after-enter="childRendered"> | ||||||
| 	<div v-show="manualShowing != null ? manualShowing : showing" v-hotkey.global="keymap" class="qzhlnise" :style="{ pointerEvents: (manualShowing != null ? manualShowing : showing) ? 'auto' : 'none', '--transformOrigin': transformOrigin }"> | 	<div v-show="manualShowing != null ? manualShowing : showing" v-hotkey.global="keymap" class="qzhlnise" :class="{ drawer: type === 'drawer', dialog: type === 'dialog' || type === 'dialog:top', popup: type === 'popup' }" :style="{ zIndex, pointerEvents: (manualShowing != null ? manualShowing : showing) ? 'auto' : 'none', '--transformOrigin': transformOrigin }"> | ||||||
| 		<div class="bg _modalBg" :style="{ zIndex }" @click="onBgClick" @contextmenu.prevent.stop="() => {}"></div> | 		<div class="bg _modalBg" :class="{ transparent: transparentBg && (type === 'popup') }" :style="{ zIndex }" @click="onBgClick" @contextmenu.prevent.stop="() => {}"></div> | ||||||
| 		<div ref="content" class="content" :class="{ popup, fixed, top: position === 'top' }" :style="{ zIndex }" @click.self="onBgClick"> | 		<div ref="content" class="content" :class="{ fixed, top: type === 'dialog:top' }" :style="{ zIndex }" @click.self="onBgClick"> | ||||||
| 			<slot></slot> | 			<slot :max-height="maxHeight" :type="type"></slot> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| </transition> | </transition> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent, nextTick, onMounted, computed, PropType, ref, watch } from 'vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
|  | import { isTouchUsing } from '@/scripts/touch'; | ||||||
| 
 | 
 | ||||||
| function getFixedContainer(el: Element | null): Element | null { | function getFixedContainer(el: Element | null): Element | null { | ||||||
| 	if (el == null || el.tagName === 'BODY') return null; | 	if (el == null || el.tagName === 'BODY') return null; | ||||||
|  | @ -27,6 +28,7 @@ export default defineComponent({ | ||||||
| 	provide: { | 	provide: { | ||||||
| 		modal: true | 		modal: true | ||||||
| 	}, | 	}, | ||||||
|  | 
 | ||||||
| 	props: { | 	props: { | ||||||
| 		manualShowing: { | 		manualShowing: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
|  | @ -38,61 +40,86 @@ export default defineComponent({ | ||||||
| 			required: false | 			required: false | ||||||
| 		}, | 		}, | ||||||
| 		src: { | 		src: { | ||||||
|  | 			type: Object as PropType<HTMLElement>, | ||||||
| 			required: false, | 			required: false, | ||||||
|  | 			default: null, | ||||||
| 		}, | 		}, | ||||||
| 		position: { | 		preferType: { | ||||||
| 			required: false | 			required: false, | ||||||
|  | 			type: String, | ||||||
|  | 			default: 'auto', | ||||||
| 		}, | 		}, | ||||||
| 		front: { | 		front: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: false, | 			default: false, | ||||||
| 		} |  | ||||||
| 	}, |  | ||||||
| 	emits: ['opening', 'click', 'esc', 'close', 'closed'], |  | ||||||
| 	data() { |  | ||||||
| 		return { |  | ||||||
| 			zIndex: os.claimZIndex(this.front), |  | ||||||
| 			showing: true, |  | ||||||
| 			fixed: false, |  | ||||||
| 			transformOrigin: 'center', |  | ||||||
| 			contentClicking: false, |  | ||||||
| 		}; |  | ||||||
| 	}, |  | ||||||
| 	computed: { |  | ||||||
| 		keymap(): any { |  | ||||||
| 			return { |  | ||||||
| 				'esc': () => this.$emit('esc'), |  | ||||||
| 			}; |  | ||||||
| 		}, | 		}, | ||||||
| 		popup(): boolean { | 		noOverlap: { | ||||||
| 			return this.src != null; | 			type: Boolean, | ||||||
| 		} | 			required: false, | ||||||
|  | 			default: true, | ||||||
|  | 		}, | ||||||
|  | 		transparentBg: { | ||||||
|  | 			type: Boolean, | ||||||
|  | 			required: false, | ||||||
|  | 			default: false, | ||||||
|  | 		}, | ||||||
| 	}, | 	}, | ||||||
| 	mounted() { |  | ||||||
| 		this.$watch('src', () => { |  | ||||||
| 			this.fixed = getFixedContainer(this.src) != null; |  | ||||||
| 			this.$nextTick(() => { |  | ||||||
| 				this.align(); |  | ||||||
| 			}); |  | ||||||
| 		}, { immediate: true }); |  | ||||||
| 
 | 
 | ||||||
| 		this.$nextTick(() => { | 	emits: ['opening', 'click', 'esc', 'close', 'closed'], | ||||||
| 			const popover = this.$refs.content as any; | 
 | ||||||
| 			new ResizeObserver((entries, observer) => { | 	setup(props, context) { | ||||||
| 				this.align(); | 		const maxHeight = ref<number>(); | ||||||
| 			}).observe(popover); | 		const fixed = ref(false); | ||||||
|  | 		const transformOrigin = ref('center'); | ||||||
|  | 		const showing = ref(true); | ||||||
|  | 		const content = ref<HTMLElement>(); | ||||||
|  | 		const zIndex = os.claimZIndex(props.front); | ||||||
|  | 		const type = computed(() => { | ||||||
|  | 			if (props.preferType === 'auto') { | ||||||
|  | 				if (isTouchUsing && window.innerWidth < 500 && window.innerHeight < 1000) { | ||||||
|  | 					return 'drawer'; | ||||||
|  | 				} else { | ||||||
|  | 					return props.src != null ? 'popup' : 'dialog'; | ||||||
|  | 				} | ||||||
|  | 			} else { | ||||||
|  | 				return props.preferType; | ||||||
|  | 			} | ||||||
| 		}); | 		}); | ||||||
| 	}, | 		 | ||||||
| 	methods: { | 		let contentClicking = false; | ||||||
| 		align() { |  | ||||||
| 			if (!this.popup) return; |  | ||||||
| 
 | 
 | ||||||
| 			const popover = this.$refs.content as any; | 		const close = () => { | ||||||
|  | 			// eslint-disable-next-line vue/no-mutating-props | ||||||
|  | 			if (props.src) props.src.style.pointerEvents = 'auto'; | ||||||
|  | 			showing.value = false; | ||||||
|  | 			context.emit('close'); | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		const onBgClick = () => { | ||||||
|  | 			if (contentClicking) return; | ||||||
|  | 			context.emit('click'); | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		if (type.value === 'drawer') { | ||||||
|  | 			maxHeight.value = window.innerHeight - 100; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		const keymap = { | ||||||
|  | 			'esc': () => context.emit('esc'), | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		const MARGIN = 16; | ||||||
|  | 
 | ||||||
|  | 		const align = () => { | ||||||
|  | 			if (props.src == null) return; | ||||||
|  | 			if (type.value === 'drawer') return; | ||||||
|  | 
 | ||||||
|  | 			const popover = content.value!; | ||||||
| 
 | 
 | ||||||
| 			if (popover == null) return; | 			if (popover == null) return; | ||||||
| 
 | 
 | ||||||
| 			const rect = this.src.getBoundingClientRect(); | 			const rect = props.src.getBoundingClientRect(); | ||||||
| 			 | 			 | ||||||
| 			const width = popover.offsetWidth; | 			const width = popover.offsetWidth; | ||||||
| 			const height = popover.offsetHeight; | 			const height = popover.offsetHeight; | ||||||
|  | @ -100,102 +127,143 @@ export default defineComponent({ | ||||||
| 			let left; | 			let left; | ||||||
| 			let top; | 			let top; | ||||||
| 
 | 
 | ||||||
| 			if (this.srcCenter) { | 			if (props.srcCenter) { | ||||||
| 				const x = rect.left + (this.fixed ? 0 : window.pageXOffset) + (this.src.offsetWidth / 2); | 				const x = rect.left + (fixed.value ? 0 : window.pageXOffset) + (props.src.offsetWidth / 2); | ||||||
| 				const y = rect.top + (this.fixed ? 0 : window.pageYOffset) + (this.src.offsetHeight / 2); | 				const y = rect.top + (fixed.value ? 0 : window.pageYOffset) + (props.src.offsetHeight / 2); | ||||||
| 				left = (x - (width / 2)); | 				left = (x - (width / 2)); | ||||||
| 				top = (y - (height / 2)); | 				top = (y - (height / 2)); | ||||||
| 			} else { | 			} else { | ||||||
| 				const x = rect.left + (this.fixed ? 0 : window.pageXOffset) + (this.src.offsetWidth / 2); | 				const x = rect.left + (fixed.value ? 0 : window.pageXOffset) + (props.src.offsetWidth / 2); | ||||||
| 				const y = rect.top + (this.fixed ? 0 : window.pageYOffset) + this.src.offsetHeight; | 				const y = rect.top + (fixed.value ? 0 : window.pageYOffset) + props.src.offsetHeight; | ||||||
| 				left = (x - (width / 2)); | 				left = (x - (width / 2)); | ||||||
| 				top = y; | 				top = y; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if (this.fixed) { | 			if (fixed.value) { | ||||||
|  | 				// 画面から横にはみ出る場合 | ||||||
| 				if (left + width > window.innerWidth) { | 				if (left + width > window.innerWidth) { | ||||||
| 					left = window.innerWidth - width; | 					left = window.innerWidth - width; | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				if (top + height > window.innerHeight) { | 				// 画面から縦にはみ出る場合 | ||||||
| 					top = window.innerHeight - height; | 				if (top + height > (window.innerHeight - MARGIN)) { | ||||||
|  | 					if (props.noOverlap) { | ||||||
|  | 						const underSpace = (window.innerHeight - MARGIN) - top; | ||||||
|  | 						const upperSpace = (rect.top - MARGIN); | ||||||
|  | 						if (underSpace >= (upperSpace / 3)) { | ||||||
|  | 							maxHeight.value =  underSpace; | ||||||
|  | 						} else { | ||||||
|  | 							maxHeight.value =  upperSpace; | ||||||
|  | 							top = (upperSpace + MARGIN) - height; | ||||||
|  | 						} | ||||||
|  | 					} else { | ||||||
|  | 						top = (window.innerHeight - MARGIN) - height; | ||||||
|  | 					} | ||||||
| 				} | 				} | ||||||
| 			} else { | 			} else { | ||||||
|  | 				// 画面から横にはみ出る場合 | ||||||
| 				if (left + width - window.pageXOffset > window.innerWidth) { | 				if (left + width - window.pageXOffset > window.innerWidth) { | ||||||
| 					left = window.innerWidth - width + window.pageXOffset - 1; | 					left = window.innerWidth - width + window.pageXOffset - 1; | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				if (top + height - window.pageYOffset > window.innerHeight) { | 				// 画面から縦にはみ出る場合 | ||||||
| 					top = window.innerHeight - height + window.pageYOffset - 1; | 				if (top + height - window.pageYOffset > (window.innerHeight - MARGIN)) { | ||||||
|  | 					if (props.noOverlap) { | ||||||
|  | 						const underSpace = (window.innerHeight - MARGIN) - (top - window.pageYOffset); | ||||||
|  | 						const upperSpace = (rect.top - MARGIN); | ||||||
|  | 						if (underSpace >= (upperSpace / 3)) { | ||||||
|  | 							maxHeight.value =  underSpace; | ||||||
|  | 						} else { | ||||||
|  | 							maxHeight.value =  upperSpace; | ||||||
|  | 							top = window.pageYOffset + ((upperSpace + MARGIN) - height); | ||||||
|  | 						} | ||||||
|  | 					} else { | ||||||
|  | 						top = (window.innerHeight - MARGIN) - height + window.pageYOffset - 1; | ||||||
|  | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if (top < 0) { | 			if (top < 0) { | ||||||
| 				top = 0; | 				top = MARGIN; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if (left < 0) { | 			if (left < 0) { | ||||||
| 				left = 0; | 				left = 0; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if (top > rect.top + (this.fixed ? 0 : window.pageYOffset)) { | 			if (top > rect.top + (fixed.value ? 0 : window.pageYOffset)) { | ||||||
| 				this.transformOrigin = 'center top'; | 				transformOrigin.value = 'center top'; | ||||||
|  | 			} else if ((top + height) <= rect.top + (fixed.value ? 0 : window.pageYOffset)) { | ||||||
|  | 				transformOrigin.value = 'center bottom'; | ||||||
| 			} else { | 			} else { | ||||||
| 				this.transformOrigin = 'center'; | 				transformOrigin.value = 'center'; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			popover.style.left = left + 'px'; | 			popover.style.left = left + 'px'; | ||||||
| 			popover.style.top = top + 'px'; | 			popover.style.top = top + 'px'; | ||||||
| 		}, | 		}; | ||||||
| 
 | 
 | ||||||
| 		childRendered() { | 		const childRendered = () => { | ||||||
| 			// モーダルコンテンツにマウスボタンが押され、コンテンツ外でマウスボタンが離されたときにモーダルバックグラウンドクリックと判定させないためにマウスイベントを監視しフラグ管理する | 			// モーダルコンテンツにマウスボタンが押され、コンテンツ外でマウスボタンが離されたときにモーダルバックグラウンドクリックと判定させないためにマウスイベントを監視しフラグ管理する | ||||||
| 			const content = this.$refs.content.children[0]; | 			const el = content.value!.children[0]; | ||||||
| 			content.addEventListener('mousedown', e => { | 			el.addEventListener('mousedown', e => { | ||||||
| 				this.contentClicking = true; | 				contentClicking = true; | ||||||
| 				window.addEventListener('mouseup', e => { | 				window.addEventListener('mouseup', e => { | ||||||
| 					// click イベントより先に mouseup イベントが発生するかもしれないのでちょっと待つ | 					// click イベントより先に mouseup イベントが発生するかもしれないのでちょっと待つ | ||||||
| 					setTimeout(() => { | 					setTimeout(() => { | ||||||
| 						this.contentClicking = false; | 						contentClicking = false; | ||||||
| 					}, 100); | 					}, 100); | ||||||
| 				}, { passive: true, once: true }); | 				}, { passive: true, once: true }); | ||||||
| 			}, { passive: true }); | 			}, { passive: true }); | ||||||
| 		}, | 		}; | ||||||
| 
 | 
 | ||||||
| 		close() { | 		onMounted(() => { | ||||||
| 			this.showing = false; | 			watch(() => props.src, async () => { | ||||||
| 			this.$emit('close'); | 				if (props.src) { | ||||||
| 		}, | 					// eslint-disable-next-line vue/no-mutating-props | ||||||
|  | 					props.src.style.pointerEvents = 'none'; | ||||||
|  | 				} | ||||||
|  | 				fixed.value = (type.value === 'drawer') || (getFixedContainer(props.src) != null); | ||||||
| 
 | 
 | ||||||
| 		onBgClick() { | 				await nextTick() | ||||||
| 			if (this.contentClicking) return; | 				 | ||||||
| 			this.$emit('click'); | 				align(); | ||||||
| 		}, | 			}, { immediate: true, }); | ||||||
| 
 | 
 | ||||||
| 		onClosed() { | 			nextTick(() => { | ||||||
| 			this.$emit('closed'); | 				const popover = content.value; | ||||||
| 		} | 				new ResizeObserver((entries, observer) => { | ||||||
| 	} | 					align(); | ||||||
|  | 				}).observe(popover!); | ||||||
|  | 			}); | ||||||
|  | 		}); | ||||||
|  | 
 | ||||||
|  | 		return { | ||||||
|  | 			showing, | ||||||
|  | 			type, | ||||||
|  | 			fixed, | ||||||
|  | 			content, | ||||||
|  | 			transformOrigin, | ||||||
|  | 			maxHeight, | ||||||
|  | 			close, | ||||||
|  | 			zIndex, | ||||||
|  | 			keymap, | ||||||
|  | 			onBgClick, | ||||||
|  | 			childRendered, | ||||||
|  | 		}; | ||||||
|  | 	}, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss"> |  | ||||||
| .modal-popup-enter-active, .modal-popup-leave-active, |  | ||||||
| .modal-enter-from, .modal-leave-to { |  | ||||||
| 	> .content { |  | ||||||
| 		transform-origin: var(--transformOrigin); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
| 
 |  | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .modal-enter-active, .modal-leave-active { | .modal-enter-active, .modal-leave-active { | ||||||
| 	> .bg { | 	> .bg { | ||||||
| 		transition: opacity 0.3s !important; | 		transition: opacity 0.2s !important; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .content { | 	> .content { | ||||||
| 		transition: opacity 0.3s, transform 0.3s !important; | 		transform-origin: var(--transformOrigin); | ||||||
|  | 		transition: opacity 0.2s, transform 0.2s !important; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| .modal-enter-from, .modal-leave-to { | .modal-enter-from, .modal-leave-to { | ||||||
|  | @ -206,17 +274,19 @@ export default defineComponent({ | ||||||
| 	> .content { | 	> .content { | ||||||
| 		pointer-events: none; | 		pointer-events: none; | ||||||
| 		opacity: 0; | 		opacity: 0; | ||||||
|  | 		transform-origin: var(--transformOrigin); | ||||||
| 		transform: scale(0.9); | 		transform: scale(0.9); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .modal-popup-enter-active, .modal-popup-leave-active { | .modal-popup-enter-active, .modal-popup-leave-active { | ||||||
| 	> .bg { | 	> .bg { | ||||||
| 		transition: opacity 0.3s !important; | 		transition: opacity 0.2s !important; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .content { | 	> .content { | ||||||
| 		transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important; | 		transform-origin: var(--transformOrigin); | ||||||
|  | 		transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1), transform 0.2s cubic-bezier(0, 0, 0.2, 1) !important; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| .modal-popup-enter-from, .modal-popup-leave-to { | .modal-popup-enter-from, .modal-popup-leave-to { | ||||||
|  | @ -227,48 +297,112 @@ export default defineComponent({ | ||||||
| 	> .content { | 	> .content { | ||||||
| 		pointer-events: none; | 		pointer-events: none; | ||||||
| 		opacity: 0; | 		opacity: 0; | ||||||
|  | 		transform-origin: var(--transformOrigin); | ||||||
| 		transform: scale(0.9); | 		transform: scale(0.9); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .modal-drawer-enter-active { | ||||||
|  | 	> .bg { | ||||||
|  | 		transition: opacity 0.2s !important; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	> .content { | ||||||
|  | 		transition: transform 0.2s cubic-bezier(0,.5,0,1) !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .modal-drawer-leave-active { | ||||||
|  | 	> .bg { | ||||||
|  | 		transition: opacity 0.2s !important; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	> .content { | ||||||
|  | 		transition: transform 0.2s cubic-bezier(0,.5,0,1) !important; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .modal-drawer-enter-from, .modal-drawer-leave-to { | ||||||
|  | 	> .bg { | ||||||
|  | 		opacity: 0; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	> .content { | ||||||
|  | 		pointer-events: none; | ||||||
|  | 		transform: translateY(100%); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .qzhlnise { | .qzhlnise { | ||||||
| 	> .content:not(.popup) { | 	> .bg { | ||||||
| 		position: fixed; | 		&.transparent { | ||||||
| 		top: 0; | 			background: transparent; | ||||||
| 		bottom: 0; | 			-webkit-backdrop-filter: none; | ||||||
| 		left: 0; | 			backdrop-filter: none; | ||||||
| 		right: 0; |  | ||||||
| 		margin: auto; |  | ||||||
| 		padding: 32px; |  | ||||||
| 		// TODO: mask-imageはiOSだとやたら重い。なんとかしたい |  | ||||||
| 		-webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 32px, rgba(0,0,0,1) calc(100% - 32px), rgba(0,0,0,0) 100%); |  | ||||||
| 		mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 32px, rgba(0,0,0,1) calc(100% - 32px), rgba(0,0,0,0) 100%); |  | ||||||
| 		overflow: auto; |  | ||||||
| 		display: flex; |  | ||||||
| 
 |  | ||||||
| 		@media (max-width: 500px) { |  | ||||||
| 			padding: 16px; |  | ||||||
| 			-webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16px, rgba(0,0,0,1) calc(100% - 16px), rgba(0,0,0,0) 100%); |  | ||||||
| 			mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16px, rgba(0,0,0,1) calc(100% - 16px), rgba(0,0,0,0) 100%); |  | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 		> ::v-deep(*) { | 	&.dialog { | ||||||
|  | 		> .content { | ||||||
|  | 			position: fixed; | ||||||
|  | 			top: 0; | ||||||
|  | 			bottom: 0; | ||||||
|  | 			left: 0; | ||||||
|  | 			right: 0; | ||||||
| 			margin: auto; | 			margin: auto; | ||||||
| 		} | 			padding: 32px; | ||||||
|  | 			// TODO: mask-imageはiOSだとやたら重い。なんとかしたい | ||||||
|  | 			-webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 32px, rgba(0,0,0,1) calc(100% - 32px), rgba(0,0,0,0) 100%); | ||||||
|  | 			mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 32px, rgba(0,0,0,1) calc(100% - 32px), rgba(0,0,0,0) 100%); | ||||||
|  | 			overflow: auto; | ||||||
|  | 			display: flex; | ||||||
|  | 
 | ||||||
|  | 			@media (max-width: 500px) { | ||||||
|  | 				padding: 16px; | ||||||
|  | 				-webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16px, rgba(0,0,0,1) calc(100% - 16px), rgba(0,0,0,0) 100%); | ||||||
|  | 				mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16px, rgba(0,0,0,1) calc(100% - 16px), rgba(0,0,0,0) 100%); | ||||||
|  | 			} | ||||||
| 
 | 
 | ||||||
| 		&.top { |  | ||||||
| 			> ::v-deep(*) { | 			> ::v-deep(*) { | ||||||
| 				margin-top: 0; | 				margin: auto; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			&.top { | ||||||
|  | 				> ::v-deep(*) { | ||||||
|  | 					margin-top: 0; | ||||||
|  | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .content.popup { | 	&.popup { | ||||||
| 		position: absolute; | 		> .content { | ||||||
|  | 			position: absolute; | ||||||
| 
 | 
 | ||||||
| 		&.fixed { | 			&.fixed { | ||||||
| 			position: fixed; | 				position: fixed; | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	&.drawer { | ||||||
|  | 		position: fixed; | ||||||
|  | 		top: 0; | ||||||
|  | 		left: 0; | ||||||
|  | 		width: 100%; | ||||||
|  | 		height: 100%; | ||||||
|  | 		overflow: clip; | ||||||
|  | 
 | ||||||
|  | 		> .content { | ||||||
|  | 			position: fixed; | ||||||
|  | 			bottom: 0; | ||||||
|  | 			left: 0; | ||||||
|  | 			right: 0; | ||||||
|  | 			margin: auto; | ||||||
|  | 
 | ||||||
|  | 			> ::v-deep(*) { | ||||||
|  | 				margin: auto; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
|  | @ -1,17 +1,17 @@ | ||||||
| <template> | <template> | ||||||
| <MkPopup ref="popup" v-slot="{ maxHeight, close }" :src="src" @closed="$emit('closed')"> | <MkModal ref="modal" v-slot="{ type, maxHeight }" :src="src" :transparent-bg="true" @click="$refs.modal.close()" @closed="$emit('closed')"> | ||||||
| 	<MkMenu :items="items" :align="align" :width="width" :max-height="maxHeight" class="_popup _shadow" @close="close()"/> | 	<MkMenu :items="items" :align="align" :width="width" :max-height="maxHeight" :as-drawer="type === 'drawer'" class="sfhdhdhq _popup _shadow" :class="{ drawer: type === 'drawer' }" @close="$refs.modal.close()"/> | ||||||
| </MkPopup> | </MkModal> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import MkPopup from './popup.vue'; | import MkModal from './modal.vue'; | ||||||
| import MkMenu from './menu.vue'; | import MkMenu from './menu.vue'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		MkPopup, | 		MkModal, | ||||||
| 		MkMenu, | 		MkMenu, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -40,3 +40,13 @@ export default defineComponent({ | ||||||
| 	emits: ['close', 'closed'], | 	emits: ['close', 'closed'], | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .sfhdhdhq { | ||||||
|  | 	&.drawer { | ||||||
|  | 		border-radius: 24px; | ||||||
|  | 		border-bottom-right-radius: 0; | ||||||
|  | 		border-bottom-left-radius: 0; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  |  | ||||||
|  | @ -1,237 +0,0 @@ | ||||||
| <template> |  | ||||||
| <transition :name="$store.state.animation ? 'popup-menu' : ''" appear @after-leave="$emit('closed')" @enter="$emit('opening')"> |  | ||||||
| 	<div v-show="manualShowing != null ? manualShowing : showing" ref="content" class="ccczpooj" :class="{ fixed, top: position === 'top' }" :style="{ zIndex, pointerEvents: (manualShowing != null ? manualShowing : showing) ? 'auto' : 'none', '--transformOrigin': transformOrigin }"> |  | ||||||
| 		<slot :max-height="maxHeight" :close="close"></slot> |  | ||||||
| 	</div> |  | ||||||
| </transition> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script lang="ts"> |  | ||||||
| import { defineComponent, nextTick, onMounted, onUnmounted, PropType, ref, watch } from 'vue'; |  | ||||||
| import * as os from '@/os'; |  | ||||||
| 
 |  | ||||||
| function getFixedContainer(el: Element | null | undefined): Element | null { |  | ||||||
| 	if (el == null || el.tagName === 'BODY') return null; |  | ||||||
| 	const position = window.getComputedStyle(el).getPropertyValue('position'); |  | ||||||
| 	if (position === 'fixed') { |  | ||||||
| 		return el; |  | ||||||
| 	} else { |  | ||||||
| 		return getFixedContainer(el.parentElement); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export default defineComponent({ |  | ||||||
| 	props: { |  | ||||||
| 		manualShowing: { |  | ||||||
| 			type: Boolean, |  | ||||||
| 			required: false, |  | ||||||
| 			default: null, |  | ||||||
| 		}, |  | ||||||
| 		srcCenter: { |  | ||||||
| 			type: Boolean, |  | ||||||
| 			required: false |  | ||||||
| 		}, |  | ||||||
| 		src: { |  | ||||||
| 			type: Object as PropType<HTMLElement>, |  | ||||||
| 			required: false, |  | ||||||
| 		}, |  | ||||||
| 		position: { |  | ||||||
| 			required: false |  | ||||||
| 		}, |  | ||||||
| 		front: { |  | ||||||
| 			type: Boolean, |  | ||||||
| 			required: false, |  | ||||||
| 			default: false, |  | ||||||
| 		}, |  | ||||||
| 		noOverlap: { |  | ||||||
| 			type: Boolean, |  | ||||||
| 			required: false, |  | ||||||
| 			default: true, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 
 |  | ||||||
| 	emits: ['opening', 'click', 'esc', 'close', 'closed'], |  | ||||||
| 
 |  | ||||||
| 	setup(props, context) { |  | ||||||
| 		const maxHeight = ref<number>(); |  | ||||||
| 		const fixed = ref(false); |  | ||||||
| 		const transformOrigin = ref('center'); |  | ||||||
| 		const showing = ref(true); |  | ||||||
| 		const content = ref<HTMLElement>(); |  | ||||||
| 		const zIndex = os.claimZIndex(props.front); |  | ||||||
| 
 |  | ||||||
| 		const close = () => { |  | ||||||
| 			// eslint-disable-next-line vue/no-mutating-props |  | ||||||
| 			if (props.src) props.src.style.pointerEvents = 'auto'; |  | ||||||
| 			showing.value = false; |  | ||||||
| 			context.emit('close'); |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		const MARGIN = 16; |  | ||||||
| 
 |  | ||||||
| 		const align = () => { |  | ||||||
| 			if (props.src == null) return; |  | ||||||
| 
 |  | ||||||
| 			const popover = content.value!; |  | ||||||
| 
 |  | ||||||
| 			if (popover == null) return; |  | ||||||
| 
 |  | ||||||
| 			const rect = props.src.getBoundingClientRect(); |  | ||||||
| 			 |  | ||||||
| 			const width = popover.offsetWidth; |  | ||||||
| 			const height = popover.offsetHeight; |  | ||||||
| 
 |  | ||||||
| 			let left; |  | ||||||
| 			let top; |  | ||||||
| 
 |  | ||||||
| 			if (props.srcCenter) { |  | ||||||
| 				const x = rect.left + (fixed.value ? 0 : window.pageXOffset) + (props.src.offsetWidth / 2); |  | ||||||
| 				const y = rect.top + (fixed.value ? 0 : window.pageYOffset) + (props.src.offsetHeight / 2); |  | ||||||
| 				left = (x - (width / 2)); |  | ||||||
| 				top = (y - (height / 2)); |  | ||||||
| 			} else { |  | ||||||
| 				const x = rect.left + (fixed.value ? 0 : window.pageXOffset) + (props.src.offsetWidth / 2); |  | ||||||
| 				const y = rect.top + (fixed.value ? 0 : window.pageYOffset) + props.src.offsetHeight; |  | ||||||
| 				left = (x - (width / 2)); |  | ||||||
| 				top = y; |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			if (fixed.value) { |  | ||||||
| 				// 画面から横にはみ出る場合 |  | ||||||
| 				if (left + width > window.innerWidth) { |  | ||||||
| 					left = window.innerWidth - width; |  | ||||||
| 				} |  | ||||||
| 
 |  | ||||||
| 				// 画面から縦にはみ出る場合 |  | ||||||
| 				if (top + height > (window.innerHeight - MARGIN)) { |  | ||||||
| 					if (props.noOverlap) { |  | ||||||
| 						const underSpace = (window.innerHeight - MARGIN) - top; |  | ||||||
| 						const upperSpace = (rect.top - MARGIN); |  | ||||||
| 						if (underSpace >= (upperSpace / 3)) { |  | ||||||
| 							maxHeight.value =  underSpace; |  | ||||||
| 						} else { |  | ||||||
| 							maxHeight.value =  upperSpace; |  | ||||||
| 							top = (upperSpace + MARGIN) - height; |  | ||||||
| 						} |  | ||||||
| 					} else { |  | ||||||
| 						top = (window.innerHeight - MARGIN) - height; |  | ||||||
| 					} |  | ||||||
| 				} |  | ||||||
| 			} else { |  | ||||||
| 				// 画面から横にはみ出る場合 |  | ||||||
| 				if (left + width - window.pageXOffset > window.innerWidth) { |  | ||||||
| 					left = window.innerWidth - width + window.pageXOffset - 1; |  | ||||||
| 				} |  | ||||||
| 
 |  | ||||||
| 				// 画面から縦にはみ出る場合 |  | ||||||
| 				if (top + height - window.pageYOffset > (window.innerHeight - MARGIN)) { |  | ||||||
| 					if (props.noOverlap) { |  | ||||||
| 						const underSpace = (window.innerHeight - MARGIN) - (top - window.pageYOffset); |  | ||||||
| 						const upperSpace = (rect.top - MARGIN); |  | ||||||
| 						if (underSpace >= (upperSpace / 3)) { |  | ||||||
| 							maxHeight.value =  underSpace; |  | ||||||
| 						} else { |  | ||||||
| 							maxHeight.value =  upperSpace; |  | ||||||
| 							top = window.pageYOffset + ((upperSpace + MARGIN) - height); |  | ||||||
| 						} |  | ||||||
| 					} else { |  | ||||||
| 						top = (window.innerHeight - MARGIN) - height + window.pageYOffset - 1; |  | ||||||
| 					} |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			if (top < 0) { |  | ||||||
| 				top = MARGIN; |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			if (left < 0) { |  | ||||||
| 				left = 0; |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			if (top > rect.top + (fixed.value ? 0 : window.pageYOffset)) { |  | ||||||
| 				transformOrigin.value = 'center top'; |  | ||||||
| 			} else if ((top + height) <= rect.top + (fixed.value ? 0 : window.pageYOffset)) { |  | ||||||
| 				transformOrigin.value = 'center bottom'; |  | ||||||
| 			} else { |  | ||||||
| 				transformOrigin.value = 'center'; |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			popover.style.left = left + 'px'; |  | ||||||
| 			popover.style.top = top + 'px'; |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		const onDocumentClick = (ev: MouseEvent) => { |  | ||||||
| 			const flyoutElement = content.value; |  | ||||||
| 			let targetElement = ev.target; |  | ||||||
| 			do { |  | ||||||
| 				if (targetElement === flyoutElement) { |  | ||||||
| 					return; |  | ||||||
| 				} |  | ||||||
| 				targetElement = targetElement.parentNode; |  | ||||||
| 			} while (targetElement); |  | ||||||
| 			close(); |  | ||||||
| 		}; |  | ||||||
| 
 |  | ||||||
| 		onMounted(() => { |  | ||||||
| 			watch(() => props.src, async () => { |  | ||||||
| 				if (props.src) { |  | ||||||
| 					// eslint-disable-next-line vue/no-mutating-props |  | ||||||
| 					props.src.style.pointerEvents = 'none'; |  | ||||||
| 				} |  | ||||||
| 				fixed.value = getFixedContainer(props.src) != null; |  | ||||||
| 
 |  | ||||||
| 				await nextTick() |  | ||||||
| 				 |  | ||||||
| 				align(); |  | ||||||
| 			}, { immediate: true, }); |  | ||||||
| 
 |  | ||||||
| 			nextTick(() => { |  | ||||||
| 				const popover = content.value; |  | ||||||
| 				new ResizeObserver((entries, observer) => { |  | ||||||
| 					align(); |  | ||||||
| 				}).observe(popover!); |  | ||||||
| 			}); |  | ||||||
| 
 |  | ||||||
| 			document.addEventListener('mousedown', onDocumentClick, { passive: true }); |  | ||||||
| 
 |  | ||||||
| 			onUnmounted(() => { |  | ||||||
| 				document.removeEventListener('mousedown', onDocumentClick); |  | ||||||
| 			}); |  | ||||||
| 		}); |  | ||||||
| 
 |  | ||||||
| 		return { |  | ||||||
| 			showing, |  | ||||||
| 			fixed, |  | ||||||
| 			content, |  | ||||||
| 			transformOrigin, |  | ||||||
| 			maxHeight, |  | ||||||
| 			close, |  | ||||||
| 			zIndex, |  | ||||||
| 		}; |  | ||||||
| 	}, |  | ||||||
| }); |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <style lang="scss" scoped> |  | ||||||
| .popup-menu-enter-active { |  | ||||||
| 	transform-origin: var(--transformOrigin); |  | ||||||
| 	transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1), transform 0.2s cubic-bezier(0, 0, 0.2, 1) !important; |  | ||||||
| } |  | ||||||
| .popup-menu-leave-active { |  | ||||||
| 	transform-origin: var(--transformOrigin); |  | ||||||
| 	transition: opacity 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s cubic-bezier(0.4, 0, 1, 1) !important; |  | ||||||
| } |  | ||||||
| .popup-menu-enter-from, .popup-menu-leave-to { |  | ||||||
| 	pointer-events: none; |  | ||||||
| 	opacity: 0; |  | ||||||
| 	transform: scale(0.9); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .ccczpooj { |  | ||||||
| 	position: absolute; |  | ||||||
| 
 |  | ||||||
| 	&.fixed { |  | ||||||
| 		position: fixed; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| </style> |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <div class="fgmtyycl" :style="{ top: top + 'px', left: left + 'px' }"> | <div class="fgmtyycl" :style="{ zIndex, top: top + 'px', left: left + 'px' }"> | ||||||
| 	<transition name="zoom" @after-leave="$emit('closed')"> | 	<transition name="zoom" @after-leave="$emit('closed')"> | ||||||
| 		<MkUrlPreview v-if="showing" class="_popup _shadow" :url="url"/> | 		<MkUrlPreview v-if="showing" class="_popup _shadow" :url="url"/> | ||||||
| 	</transition> | 	</transition> | ||||||
|  | @ -35,6 +35,7 @@ export default defineComponent({ | ||||||
| 			u: null, | 			u: null, | ||||||
| 			top: 0, | 			top: 0, | ||||||
| 			left: 0, | 			left: 0, | ||||||
|  | 			zIndex: os.claimZIndex(), | ||||||
| 		}; | 		}; | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -52,7 +53,6 @@ export default defineComponent({ | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .fgmtyycl { | .fgmtyycl { | ||||||
| 	position: absolute; | 	position: absolute; | ||||||
| 	z-index: 11000; |  | ||||||
| 	width: 500px; | 	width: 500px; | ||||||
| 	max-width: calc(90vw - 12px); | 	max-width: calc(90vw - 12px); | ||||||
| 	pointer-events: none; | 	pointer-events: none; | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <transition name="popup" appear @after-leave="$emit('closed')"> | <transition name="popup" appear @after-leave="$emit('closed')"> | ||||||
| 	<div v-if="showing" class="fxxzrfni _popup _shadow" :style="{ top: top + 'px', left: left + 'px' }" @mouseover="() => { $emit('mouseover'); }" @mouseleave="() => { $emit('mouseleave'); }"> | 	<div v-if="showing" class="fxxzrfni _popup _shadow" :style="{ zIndex, top: top + 'px', left: left + 'px' }" @mouseover="() => { $emit('mouseover'); }" @mouseleave="() => { $emit('mouseleave'); }"> | ||||||
| 		<div v-if="fetched" class="info"> | 		<div v-if="fetched" class="info"> | ||||||
| 			<div class="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl})` : ''"></div> | 			<div class="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl})` : ''"></div> | ||||||
| 			<MkAvatar class="avatar" :user="user" :disable-preview="true" :show-indicator="true"/> | 			<MkAvatar class="avatar" :user="user" :disable-preview="true" :show-indicator="true"/> | ||||||
|  | @ -65,6 +65,7 @@ export default defineComponent({ | ||||||
| 			fetched: false, | 			fetched: false, | ||||||
| 			top: 0, | 			top: 0, | ||||||
| 			left: 0, | 			left: 0, | ||||||
|  | 			zIndex: os.claimZIndex(), | ||||||
| 		}; | 		}; | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -109,7 +110,6 @@ export default defineComponent({ | ||||||
| 
 | 
 | ||||||
| .fxxzrfni { | .fxxzrfni { | ||||||
| 	position: absolute; | 	position: absolute; | ||||||
| 	z-index: 11000; |  | ||||||
| 	width: 300px; | 	width: 300px; | ||||||
| 	overflow: hidden; | 	overflow: hidden; | ||||||
| 	transform-origin: center top; | 	transform-origin: center top; | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| <div class="mk-group-page"> | <div class="mk-group-page"> | ||||||
| 	<transition name="zoom" mode="out-in"> | 	<transition name="zoom" mode="out-in"> | ||||||
| 		<div v-if="group" class="_section"> | 		<div v-if="group" class="_section"> | ||||||
| 			<div class="_content"> | 			<div class="_content" style="display: flex; gap: var(--margin); flex-wrap: wrap;"> | ||||||
| 				<MkButton inline @click="invite()">{{ $ts.invite }}</MkButton> | 				<MkButton inline @click="invite()">{{ $ts.invite }}</MkButton> | ||||||
| 				<MkButton inline @click="renameGroup()">{{ $ts.rename }}</MkButton> | 				<MkButton inline @click="renameGroup()">{{ $ts.rename }}</MkButton> | ||||||
| 				<MkButton inline @click="transfer()">{{ $ts.transfer }}</MkButton> | 				<MkButton inline @click="transfer()">{{ $ts.transfer }}</MkButton> | ||||||
|  |  | ||||||
|  | @ -29,11 +29,14 @@ | ||||||
| 		<option :value="2">{{ $ts.medium }}</option> | 		<option :value="2">{{ $ts.medium }}</option> | ||||||
| 		<option :value="3">{{ $ts.large }}</option> | 		<option :value="3">{{ $ts.large }}</option> | ||||||
| 	</FormRadios> | 	</FormRadios> | ||||||
|  | 
 | ||||||
|  | 	<FormSwitch v-model="reactionPickerUseDrawerForMobile" class="_formBlock">{{ $ts.useDrawerReactionPickerForMobile }}</FormSwitch> | ||||||
|  | 
 | ||||||
| 	<FormSection> | 	<FormSection> | ||||||
| 		<FormButton @click="preview"><i class="fas fa-eye"></i> {{ $ts.preview }}</FormButton> | 		<div style="display: flex; gap: var(--margin); flex-wrap: wrap;"> | ||||||
| 	</FormSection> | 			<FormButton inline @click="preview"><i class="fas fa-eye"></i> {{ $ts.preview }}</FormButton> | ||||||
| 	<FormSection> | 			<FormButton inline danger @click="setDefault"><i class="fas fa-undo"></i> {{ $ts.default }}</FormButton> | ||||||
| 		<FormButton danger @click="setDefault"><i class="fas fa-undo"></i> {{ $ts.default }}</FormButton> | 		</div> | ||||||
| 	</FormSection> | 	</FormSection> | ||||||
| </div> | </div> | ||||||
| </template> | </template> | ||||||
|  | @ -46,6 +49,7 @@ import FormRadios from '@/components/form/radios.vue'; | ||||||
| import FromSlot from '@/components/form/slot.vue'; | import FromSlot from '@/components/form/slot.vue'; | ||||||
| import FormButton from '@/components/ui/button.vue'; | import FormButton from '@/components/ui/button.vue'; | ||||||
| import FormSection from '@/components/form/section.vue'; | import FormSection from '@/components/form/section.vue'; | ||||||
|  | import FormSwitch from '@/components/form/switch.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
| import * as symbols from '@/symbols'; | import * as symbols from '@/symbols'; | ||||||
|  | @ -57,6 +61,7 @@ export default defineComponent({ | ||||||
| 		FromSlot, | 		FromSlot, | ||||||
| 		FormRadios, | 		FormRadios, | ||||||
| 		FormSection, | 		FormSection, | ||||||
|  | 		FormSwitch, | ||||||
| 		XDraggable, | 		XDraggable, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -80,6 +85,7 @@ export default defineComponent({ | ||||||
| 	computed: { | 	computed: { | ||||||
| 		reactionPickerWidth: defaultStore.makeGetterSetter('reactionPickerWidth'), | 		reactionPickerWidth: defaultStore.makeGetterSetter('reactionPickerWidth'), | ||||||
| 		reactionPickerHeight: defaultStore.makeGetterSetter('reactionPickerHeight'), | 		reactionPickerHeight: defaultStore.makeGetterSetter('reactionPickerHeight'), | ||||||
|  | 		reactionPickerUseDrawerForMobile: defaultStore.makeGetterSetter('reactionPickerUseDrawerForMobile'), | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	watch: { | 	watch: { | ||||||
|  |  | ||||||
|  | @ -178,6 +178,10 @@ export const defaultStore = markRaw(new Storage('base', { | ||||||
| 		where: 'device', | 		where: 'device', | ||||||
| 		default: 1 | 		default: 1 | ||||||
| 	}, | 	}, | ||||||
|  | 	reactionPickerUseDrawerForMobile: { | ||||||
|  | 		where: 'device', | ||||||
|  | 		default: true, | ||||||
|  | 	}, | ||||||
| 	recentlyUsedEmojis: { | 	recentlyUsedEmojis: { | ||||||
| 		where: 'device', | 		where: 'device', | ||||||
| 		default: [] as string[] | 		default: [] as string[] | ||||||
|  |  | ||||||
|  | @ -346,7 +346,7 @@ hr { | ||||||
| ._popup { | ._popup { | ||||||
| 	background: var(--popup); | 	background: var(--popup); | ||||||
| 	border-radius: var(--radius); | 	border-radius: var(--radius); | ||||||
| 	contain: contain; | 	contain: content; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // TODO: 廃止 | // TODO: 廃止 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <div class="mk-uploader _acrylic"> | <div class="mk-uploader _acrylic" :style="{ zIndex }"> | ||||||
| 	<ol v-if="uploads.length > 0"> | 	<ol v-if="uploads.length > 0"> | ||||||
| 		<li v-for="ctx in uploads" :key="ctx.id"> | 		<li v-for="ctx in uploads" :key="ctx.id"> | ||||||
| 			<div class="img" :style="{ backgroundImage: `url(${ ctx.img })` }"></div> | 			<div class="img" :style="{ backgroundImage: `url(${ ctx.img })` }"></div> | ||||||
|  | @ -25,6 +25,7 @@ export default defineComponent({ | ||||||
| 	data() { | 	data() { | ||||||
| 		return { | 		return { | ||||||
| 			uploads: os.uploads, | 			uploads: os.uploads, | ||||||
|  | 			zIndex: os.claimZIndex(true), | ||||||
| 		}; | 		}; | ||||||
| 	}, | 	}, | ||||||
| }); | }); | ||||||
|  | @ -33,7 +34,6 @@ export default defineComponent({ | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .mk-uploader { | .mk-uploader { | ||||||
| 	position: fixed; | 	position: fixed; | ||||||
| 	z-index: 10000; |  | ||||||
| 	right: 16px; | 	right: 16px; | ||||||
| 	width: 260px; | 	width: 260px; | ||||||
| 	top: 32px; | 	top: 32px; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue