浏览代码

chore(web): update eslint and prettier packages (#2437)

Co-authored-by: Alex <alex.tran1502@gmail.com>
Michel Heusschen 2 年之前
父节点
当前提交
1979c84ea8
共有 29 个文件被更改,包括 257 次插入274 次删除
  1. 219 236
      web/package-lock.json
  2. 1 1
      web/src/lib/components/admin-page/server-stats/server-stats-panel.svelte
  3. 1 1
      web/src/lib/components/admin-page/settings/confirm-disable-login.svelte
  4. 1 1
      web/src/lib/components/admin-page/settings/setting-accordion.svelte
  5. 1 1
      web/src/lib/components/admin-page/settings/setting-buttons-row.svelte
  6. 1 1
      web/src/lib/components/album-page/thumbnail-selection.svelte
  7. 2 2
      web/src/lib/components/album-page/user-selection-modal.svelte
  8. 1 1
      web/src/lib/components/asset-viewer/asset-viewer.svelte
  9. 1 1
      web/src/lib/components/shared-components/base-modal.svelte
  10. 1 1
      web/src/lib/components/shared-components/dropdown-button.svelte
  11. 1 1
      web/src/lib/components/shared-components/full-screen-modal.svelte
  12. 1 1
      web/src/lib/components/shared-components/scrollbar/scrollbar.svelte
  13. 1 1
      web/src/lib/components/shared-components/search-bar/search-bar.svelte
  14. 1 1
      web/src/lib/components/shared-components/side-bar/side-bar-button.svelte
  15. 2 2
      web/src/lib/components/shared-components/status-box.svelte
  16. 1 1
      web/src/lib/components/shared-components/upload-asset-preview.svelte
  17. 2 2
      web/src/lib/components/shared-components/upload-panel.svelte
  18. 1 1
      web/src/lib/components/shared-components/version-announcement-box.svelte
  19. 1 1
      web/src/lib/components/user-settings-page/device-card.svelte
  20. 2 2
      web/src/lib/components/user-settings-page/partner-selection-modal.svelte
  21. 2 2
      web/src/lib/components/user-settings-page/user-api-key-list.svelte
  22. 1 1
      web/src/routes/(user)/archive/+page.svelte
  23. 1 1
      web/src/routes/(user)/photos/+page.svelte
  24. 1 1
      web/src/routes/(user)/search/+page.svelte
  25. 1 1
      web/src/routes/(user)/sharing/sharedlinks/+page.svelte
  26. 1 1
      web/src/routes/+error.svelte
  27. 1 1
      web/src/routes/+page.svelte
  28. 1 1
      web/src/routes/admin/+layout.svelte
  29. 6 6
      web/src/routes/admin/user-management/+page.svelte

+ 219 - 236
web/package-lock.json

@@ -2118,15 +2118,39 @@
 				"node": ">=12"
 			}
 		},
+		"node_modules/@eslint-community/eslint-utils": {
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"dev": true,
+			"dependencies": {
+				"eslint-visitor-keys": "^3.3.0"
+			},
+			"engines": {
+				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			},
+			"peerDependencies": {
+				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+			}
+		},
+		"node_modules/@eslint-community/regexpp": {
+			"version": "4.5.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+			"integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+			"dev": true,
+			"engines": {
+				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+			}
+		},
 		"node_modules/@eslint/eslintrc": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz",
-			"integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==",
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+			"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^6.12.4",
 				"debug": "^4.3.2",
-				"espree": "^9.4.0",
+				"espree": "^9.5.2",
 				"globals": "^13.19.0",
 				"ignore": "^5.2.0",
 				"import-fresh": "^3.2.1",
@@ -2187,9 +2211,9 @@
 			}
 		},
 		"node_modules/@eslint/js": {
-			"version": "8.35.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz",
-			"integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==",
+			"version": "8.40.0",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+			"integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3679,9 +3703,9 @@
 			"dev": true
 		},
 		"node_modules/@types/semver": {
-			"version": "7.3.13",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
-			"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
+			"version": "7.5.0",
+			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
+			"integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
 			"dev": true
 		},
 		"node_modules/@types/stack-utils": {
@@ -3721,19 +3745,19 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/eslint-plugin": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz",
-			"integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz",
+			"integrity": "sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/type-utils": "5.54.0",
-				"@typescript-eslint/utils": "5.54.0",
+				"@eslint-community/regexpp": "^4.4.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/type-utils": "5.59.5",
+				"@typescript-eslint/utils": "5.59.5",
 				"debug": "^4.3.4",
 				"grapheme-splitter": "^1.0.4",
 				"ignore": "^5.2.0",
 				"natural-compare-lite": "^1.4.0",
-				"regexpp": "^3.2.0",
 				"semver": "^7.3.7",
 				"tsutils": "^3.21.0"
 			},
@@ -3788,14 +3812,14 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/parser": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz",
-			"integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.5.tgz",
+			"integrity": "sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/typescript-estree": "5.54.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/typescript-estree": "5.59.5",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -3815,13 +3839,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz",
-			"integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz",
+			"integrity": "sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/visitor-keys": "5.54.0"
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/visitor-keys": "5.59.5"
 			},
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3832,13 +3856,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/type-utils": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz",
-			"integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz",
+			"integrity": "sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/typescript-estree": "5.54.0",
-				"@typescript-eslint/utils": "5.54.0",
+				"@typescript-eslint/typescript-estree": "5.59.5",
+				"@typescript-eslint/utils": "5.59.5",
 				"debug": "^4.3.4",
 				"tsutils": "^3.21.0"
 			},
@@ -3859,9 +3883,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz",
-			"integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.5.tgz",
+			"integrity": "sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3872,13 +3896,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz",
-			"integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz",
+			"integrity": "sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/visitor-keys": "5.54.0",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/visitor-keys": "5.59.5",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
@@ -3911,9 +3935,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
-			"version": "7.3.8",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-			"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+			"version": "7.5.0",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
+			"integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
 			"dev": true,
 			"dependencies": {
 				"lru-cache": "^6.0.0"
@@ -3932,18 +3956,18 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz",
-			"integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.5.tgz",
+			"integrity": "sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==",
 			"dev": true,
 			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.2.0",
 				"@types/json-schema": "^7.0.9",
 				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/typescript-estree": "5.54.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/typescript-estree": "5.59.5",
 				"eslint-scope": "^5.1.1",
-				"eslint-utils": "^3.0.0",
 				"semver": "^7.3.7"
 			},
 			"engines": {
@@ -3970,9 +3994,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils/node_modules/semver": {
-			"version": "7.3.8",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-			"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+			"version": "7.5.0",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
+			"integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
 			"dev": true,
 			"dependencies": {
 				"lru-cache": "^6.0.0"
@@ -3991,12 +4015,12 @@
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz",
-			"integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz",
+			"integrity": "sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.54.0",
+				"@typescript-eslint/types": "5.59.5",
 				"eslint-visitor-keys": "^3.3.0"
 			},
 			"engines": {
@@ -5348,13 +5372,15 @@
 			}
 		},
 		"node_modules/eslint": {
-			"version": "8.35.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz",
-			"integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==",
+			"version": "8.40.0",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+			"integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
 			"dev": true,
 			"dependencies": {
-				"@eslint/eslintrc": "^2.0.0",
-				"@eslint/js": "8.35.0",
+				"@eslint-community/eslint-utils": "^4.2.0",
+				"@eslint-community/regexpp": "^4.4.0",
+				"@eslint/eslintrc": "^2.0.3",
+				"@eslint/js": "8.40.0",
 				"@humanwhocodes/config-array": "^0.11.8",
 				"@humanwhocodes/module-importer": "^1.0.1",
 				"@nodelib/fs.walk": "^1.2.8",
@@ -5364,10 +5390,9 @@
 				"debug": "^4.3.2",
 				"doctrine": "^3.0.0",
 				"escape-string-regexp": "^4.0.0",
-				"eslint-scope": "^7.1.1",
-				"eslint-utils": "^3.0.0",
-				"eslint-visitor-keys": "^3.3.0",
-				"espree": "^9.4.0",
+				"eslint-scope": "^7.2.0",
+				"eslint-visitor-keys": "^3.4.1",
+				"espree": "^9.5.2",
 				"esquery": "^1.4.2",
 				"esutils": "^2.0.2",
 				"fast-deep-equal": "^3.1.3",
@@ -5389,7 +5414,6 @@
 				"minimatch": "^3.1.2",
 				"natural-compare": "^1.4.0",
 				"optionator": "^0.9.1",
-				"regexpp": "^3.2.0",
 				"strip-ansi": "^6.0.1",
 				"strip-json-comments": "^3.1.0",
 				"text-table": "^0.2.0"
@@ -5405,9 +5429,9 @@
 			}
 		},
 		"node_modules/eslint-config-prettier": {
-			"version": "8.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz",
-			"integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==",
+			"version": "8.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
+			"integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==",
 			"dev": true,
 			"bin": {
 				"eslint-config-prettier": "bin/cli.js"
@@ -5439,40 +5463,16 @@
 				"node": ">=8.0.0"
 			}
 		},
-		"node_modules/eslint-utils": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
-			"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
-			"dev": true,
-			"dependencies": {
-				"eslint-visitor-keys": "^2.0.0"
-			},
-			"engines": {
-				"node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
-			},
-			"peerDependencies": {
-				"eslint": ">=5"
-			}
-		},
-		"node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-			"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-			"dev": true,
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/eslint-visitor-keys": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
-			"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+			"version": "3.4.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+			"integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
 			}
 		},
 		"node_modules/eslint/node_modules/ansi-styles": {
@@ -5543,9 +5543,9 @@
 			}
 		},
 		"node_modules/eslint/node_modules/eslint-scope": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
-			"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+			"integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
 			"dev": true,
 			"dependencies": {
 				"esrecurse": "^4.3.0",
@@ -5553,6 +5553,9 @@
 			},
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
 			}
 		},
 		"node_modules/eslint/node_modules/estraverse": {
@@ -5677,14 +5680,14 @@
 			"dev": true
 		},
 		"node_modules/espree": {
-			"version": "9.4.1",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
-			"integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
+			"version": "9.5.2",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+			"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
 			"dev": true,
 			"dependencies": {
 				"acorn": "^8.8.0",
 				"acorn-jsx": "^5.3.2",
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.1"
 			},
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -9838,9 +9841,9 @@
 			}
 		},
 		"node_modules/prettier": {
-			"version": "2.8.4",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
-			"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
+			"version": "2.8.8",
+			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+			"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
 			"dev": true,
 			"bin": {
 				"prettier": "bin-prettier.js"
@@ -9853,9 +9856,9 @@
 			}
 		},
 		"node_modules/prettier-plugin-svelte": {
-			"version": "2.9.0",
-			"resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.9.0.tgz",
-			"integrity": "sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==",
+			"version": "2.10.0",
+			"resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.0.tgz",
+			"integrity": "sha512-GXMY6t86thctyCvQq+jqElO+MKdB09BkL3hexyGP3Oi8XLKRFaJP1ud/xlWCZ9ZIa2BxHka32zhHfcuU+XsRQg==",
 			"dev": true,
 			"peerDependencies": {
 				"prettier": "^1.16.4 || ^2.0.0",
@@ -10053,18 +10056,6 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
-		"node_modules/regexpp": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-			"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-			"dev": true,
-			"engines": {
-				"node": ">=8"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
-			}
-		},
 		"node_modules/regexpu-core": {
 			"version": "5.3.1",
 			"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz",
@@ -12930,15 +12921,30 @@
 			"dev": true,
 			"optional": true
 		},
+		"@eslint-community/eslint-utils": {
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"dev": true,
+			"requires": {
+				"eslint-visitor-keys": "^3.3.0"
+			}
+		},
+		"@eslint-community/regexpp": {
+			"version": "4.5.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+			"integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+			"dev": true
+		},
 		"@eslint/eslintrc": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz",
-			"integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==",
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
+			"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
 			"dev": true,
 			"requires": {
 				"ajv": "^6.12.4",
 				"debug": "^4.3.2",
-				"espree": "^9.4.0",
+				"espree": "^9.5.2",
 				"globals": "^13.19.0",
 				"ignore": "^5.2.0",
 				"import-fresh": "^3.2.1",
@@ -12980,9 +12986,9 @@
 			}
 		},
 		"@eslint/js": {
-			"version": "8.35.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz",
-			"integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==",
+			"version": "8.40.0",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
+			"integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
 			"dev": true
 		},
 		"@faker-js/faker": {
@@ -14139,9 +14145,9 @@
 			"dev": true
 		},
 		"@types/semver": {
-			"version": "7.3.13",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
-			"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
+			"version": "7.5.0",
+			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
+			"integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
 			"dev": true
 		},
 		"@types/stack-utils": {
@@ -14181,19 +14187,19 @@
 			"dev": true
 		},
 		"@typescript-eslint/eslint-plugin": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz",
-			"integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz",
+			"integrity": "sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/type-utils": "5.54.0",
-				"@typescript-eslint/utils": "5.54.0",
+				"@eslint-community/regexpp": "^4.4.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/type-utils": "5.59.5",
+				"@typescript-eslint/utils": "5.59.5",
 				"debug": "^4.3.4",
 				"grapheme-splitter": "^1.0.4",
 				"ignore": "^5.2.0",
 				"natural-compare-lite": "^1.4.0",
-				"regexpp": "^3.2.0",
 				"semver": "^7.3.7",
 				"tsutils": "^3.21.0"
 			},
@@ -14225,53 +14231,53 @@
 			}
 		},
 		"@typescript-eslint/parser": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz",
-			"integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.5.tgz",
+			"integrity": "sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/typescript-estree": "5.54.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/typescript-estree": "5.59.5",
 				"debug": "^4.3.4"
 			}
 		},
 		"@typescript-eslint/scope-manager": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz",
-			"integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz",
+			"integrity": "sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/visitor-keys": "5.54.0"
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/visitor-keys": "5.59.5"
 			}
 		},
 		"@typescript-eslint/type-utils": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz",
-			"integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz",
+			"integrity": "sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/typescript-estree": "5.54.0",
-				"@typescript-eslint/utils": "5.54.0",
+				"@typescript-eslint/typescript-estree": "5.59.5",
+				"@typescript-eslint/utils": "5.59.5",
 				"debug": "^4.3.4",
 				"tsutils": "^3.21.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz",
-			"integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.5.tgz",
+			"integrity": "sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz",
-			"integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz",
+			"integrity": "sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/visitor-keys": "5.54.0",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/visitor-keys": "5.59.5",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
@@ -14289,9 +14295,9 @@
 					}
 				},
 				"semver": {
-					"version": "7.3.8",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-					"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+					"version": "7.5.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
+					"integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
 					"dev": true,
 					"requires": {
 						"lru-cache": "^6.0.0"
@@ -14306,18 +14312,18 @@
 			}
 		},
 		"@typescript-eslint/utils": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz",
-			"integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.5.tgz",
+			"integrity": "sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==",
 			"dev": true,
 			"requires": {
+				"@eslint-community/eslint-utils": "^4.2.0",
 				"@types/json-schema": "^7.0.9",
 				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.54.0",
-				"@typescript-eslint/types": "5.54.0",
-				"@typescript-eslint/typescript-estree": "5.54.0",
+				"@typescript-eslint/scope-manager": "5.59.5",
+				"@typescript-eslint/types": "5.59.5",
+				"@typescript-eslint/typescript-estree": "5.59.5",
 				"eslint-scope": "^5.1.1",
-				"eslint-utils": "^3.0.0",
 				"semver": "^7.3.7"
 			},
 			"dependencies": {
@@ -14331,9 +14337,9 @@
 					}
 				},
 				"semver": {
-					"version": "7.3.8",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-					"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+					"version": "7.5.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
+					"integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
 					"dev": true,
 					"requires": {
 						"lru-cache": "^6.0.0"
@@ -14348,12 +14354,12 @@
 			}
 		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "5.54.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz",
-			"integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==",
+			"version": "5.59.5",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz",
+			"integrity": "sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.54.0",
+				"@typescript-eslint/types": "5.59.5",
 				"eslint-visitor-keys": "^3.3.0"
 			}
 		},
@@ -15350,13 +15356,15 @@
 			}
 		},
 		"eslint": {
-			"version": "8.35.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz",
-			"integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==",
+			"version": "8.40.0",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
+			"integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
 			"dev": true,
 			"requires": {
-				"@eslint/eslintrc": "^2.0.0",
-				"@eslint/js": "8.35.0",
+				"@eslint-community/eslint-utils": "^4.2.0",
+				"@eslint-community/regexpp": "^4.4.0",
+				"@eslint/eslintrc": "^2.0.3",
+				"@eslint/js": "8.40.0",
 				"@humanwhocodes/config-array": "^0.11.8",
 				"@humanwhocodes/module-importer": "^1.0.1",
 				"@nodelib/fs.walk": "^1.2.8",
@@ -15366,10 +15374,9 @@
 				"debug": "^4.3.2",
 				"doctrine": "^3.0.0",
 				"escape-string-regexp": "^4.0.0",
-				"eslint-scope": "^7.1.1",
-				"eslint-utils": "^3.0.0",
-				"eslint-visitor-keys": "^3.3.0",
-				"espree": "^9.4.0",
+				"eslint-scope": "^7.2.0",
+				"eslint-visitor-keys": "^3.4.1",
+				"espree": "^9.5.2",
 				"esquery": "^1.4.2",
 				"esutils": "^2.0.2",
 				"fast-deep-equal": "^3.1.3",
@@ -15391,7 +15398,6 @@
 				"minimatch": "^3.1.2",
 				"natural-compare": "^1.4.0",
 				"optionator": "^0.9.1",
-				"regexpp": "^3.2.0",
 				"strip-ansi": "^6.0.1",
 				"strip-json-comments": "^3.1.0",
 				"text-table": "^0.2.0"
@@ -15444,9 +15450,9 @@
 					"dev": true
 				},
 				"eslint-scope": {
-					"version": "7.1.1",
-					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
-					"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+					"version": "7.2.0",
+					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+					"integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
 					"dev": true,
 					"requires": {
 						"esrecurse": "^4.3.0",
@@ -15529,9 +15535,9 @@
 			}
 		},
 		"eslint-config-prettier": {
-			"version": "8.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz",
-			"integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==",
+			"version": "8.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
+			"integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==",
 			"dev": true,
 			"requires": {}
 		},
@@ -15552,27 +15558,10 @@
 				"estraverse": "^4.1.1"
 			}
 		},
-		"eslint-utils": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
-			"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
-			"dev": true,
-			"requires": {
-				"eslint-visitor-keys": "^2.0.0"
-			},
-			"dependencies": {
-				"eslint-visitor-keys": {
-					"version": "2.1.0",
-					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-					"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-					"dev": true
-				}
-			}
-		},
 		"eslint-visitor-keys": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
-			"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+			"version": "3.4.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
+			"integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
 			"dev": true
 		},
 		"esm-env": {
@@ -15582,14 +15571,14 @@
 			"dev": true
 		},
 		"espree": {
-			"version": "9.4.1",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
-			"integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
+			"version": "9.5.2",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
+			"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
 			"dev": true,
 			"requires": {
 				"acorn": "^8.8.0",
 				"acorn-jsx": "^5.3.2",
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.1"
 			}
 		},
 		"esprima": {
@@ -18624,15 +18613,15 @@
 			"dev": true
 		},
 		"prettier": {
-			"version": "2.8.4",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
-			"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
+			"version": "2.8.8",
+			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+			"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
 			"dev": true
 		},
 		"prettier-plugin-svelte": {
-			"version": "2.9.0",
-			"resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.9.0.tgz",
-			"integrity": "sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==",
+			"version": "2.10.0",
+			"resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.0.tgz",
+			"integrity": "sha512-GXMY6t86thctyCvQq+jqElO+MKdB09BkL3hexyGP3Oi8XLKRFaJP1ud/xlWCZ9ZIa2BxHka32zhHfcuU+XsRQg==",
 			"dev": true,
 			"requires": {}
 		},
@@ -18778,12 +18767,6 @@
 				"functions-have-names": "^1.2.2"
 			}
 		},
-		"regexpp": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-			"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-			"dev": true
-		},
 		"regexpu-core": {
 			"version": "5.3.1",
 			"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz",

+ 1 - 1
web/src/lib/components/admin-page/server-stats/server-stats-panel.svelte

@@ -91,7 +91,7 @@
 		<p class="text-sm dark:text-immich-dark-fg">USER USAGE DETAIL</p>
 		<table class="text-left w-full mt-5">
 			<thead
-				class="border rounded-md mb-4 bg-gray-50 dark:bg-immich-dark-gray dark:border-immich-dark-gray flex text-immich-primary dark:text-immich-dark-primary  w-full h-12"
+				class="border rounded-md mb-4 bg-gray-50 dark:bg-immich-dark-gray dark:border-immich-dark-gray flex text-immich-primary dark:text-immich-dark-primary w-full h-12"
 			>
 				<tr class="flex w-full place-items-center">
 					<th class="text-center w-1/4 font-medium text-sm">User</th>

+ 1 - 1
web/src/lib/components/admin-page/settings/confirm-disable-login.svelte

@@ -5,7 +5,7 @@
 <ConfirmDialogue title="Disable Login" on:cancel on:confirm>
 	<svelte:fragment slot="prompt">
 		<div class="flex flex-col gap-4 p-3">
-			<p class="text-md  text-center">
+			<p class="text-md text-center">
 				Are you sure you want to disable all login methods? Login will be completely disabled.
 			</p>
 

+ 1 - 1
web/src/lib/components/admin-page/settings/setting-accordion.svelte

@@ -20,7 +20,7 @@
 		<button
 			on:click={toggle}
 			aria-expanded={isOpen}
-			class="immich-circle-icon-button hover:bg-immich-primary/10 dark:text-immich-dark-fg hover:dark:bg-immich-dark-primary/20  rounded-full p-3 flex place-items-center place-content-center transition-all"
+			class="immich-circle-icon-button hover:bg-immich-primary/10 dark:text-immich-dark-fg hover:dark:bg-immich-dark-primary/20 rounded-full p-3 flex place-items-center place-content-center transition-all"
 		>
 			<svg
 				style="tran"

+ 1 - 1
web/src/lib/components/admin-page/settings/setting-buttons-row.svelte

@@ -7,7 +7,7 @@
 	export let showResetToDefault = true;
 </script>
 
-<div class="flex justify-between gap-2  mt-8">
+<div class="flex justify-between gap-2 mt-8">
 	<div class="left">
 		{#if showResetToDefault}
 			<button

+ 1 - 1
web/src/lib/components/album-page/thumbnail-selection.svelte

@@ -42,7 +42,7 @@
 		</svelte:fragment>
 	</ControlAppBar>
 
-	<section class="flex flex-wrap gap-14  px-20 overflow-y-auto">
+	<section class="flex flex-wrap gap-14 px-20 overflow-y-auto">
 		<!-- Image grid -->
 		<div class="flex flex-wrap gap-[2px]">
 			{#each album.assets as asset}

+ 2 - 2
web/src/lib/components/album-page/user-selection-modal.svelte

@@ -103,7 +103,7 @@
 								{user.firstName}
 								{user.lastName}
 							</p>
-							<p class="text-xs ">
+							<p class="text-xs">
 								{user.email}
 							</p>
 						</div>
@@ -118,7 +118,7 @@
 		{/if}
 
 		{#if selectedUsers.length > 0}
-			<div class="flex place-content-end p-5 ">
+			<div class="flex place-content-end p-5">
 				<Button size="sm" rounded="lg" on:click={() => dispatch('add-user', { selectedUsers })}>
 					Add
 				</Button>

+ 1 - 1
web/src/lib/components/asset-viewer/asset-viewer.svelte

@@ -334,7 +334,7 @@
 			on:keydown={navigateAssetBackward}
 		>
 			<button
-				class="rounded-full p-3 hover:bg-gray-500 hover:text-gray-700 z-[1000]  text-gray-500 mx-4"
+				class="rounded-full p-3 hover:bg-gray-500 hover:text-gray-700 z-[1000] text-gray-500 mx-4"
 				class:navigation-button-hover={halfLeftHover}
 				on:click={navigateAssetBackward}
 			>

+ 1 - 1
web/src/lib/components/shared-components/base-modal.svelte

@@ -31,7 +31,7 @@
 	id="immich-modal"
 	style:z-index={zIndex}
 	transition:fade={{ duration: 100, easing: quintOut }}
-	class="fixed top-0 left-0 w-full h-full  bg-black/50 flex place-items-center place-content-center overflow-hidden"
+	class="fixed top-0 left-0 w-full h-full bg-black/50 flex place-items-center place-content-center overflow-hidden"
 >
 	<div
 		use:clickOutside

+ 1 - 1
web/src/lib/components/shared-components/dropdown-button.svelte

@@ -56,7 +56,7 @@
 						selected = option;
 						isOpen = false;
 					}}
-					class="bg-gray-200 dark:bg-gray-500 dark:hover:bg-gray-700 w-full flex p-2 hover:bg-gray-300 transition-all "
+					class="bg-gray-200 dark:bg-gray-500 dark:hover:bg-gray-700 w-full flex p-2 hover:bg-gray-300 transition-all"
 				>
 					{option}
 				</button>

+ 1 - 1
web/src/lib/components/shared-components/full-screen-modal.svelte

@@ -9,7 +9,7 @@
 <section
 	in:fade={{ duration: 100 }}
 	out:fade={{ duration: 100 }}
-	class="absolute left-0 top-0 w-full h-full bg-black/40 z-[990] flex place-items-center place-content-center "
+	class="absolute left-0 top-0 w-full h-full bg-black/40 z-[990] flex place-items-center place-content-center"
 >
 	<div class="z-[9999]" use:clickOutside on:outclick={() => dispatch('clickOutside')}>
 		<slot />

+ 1 - 1
web/src/lib/components/shared-components/scrollbar/scrollbar.svelte

@@ -93,7 +93,7 @@
 
 <div
 	id="immich-scrubbable-scrollbar"
-	class="fixed right-0 bg-immich-bg z-[100] hover:cursor-row-resize select-none "
+	class="fixed right-0 bg-immich-bg z-[100] hover:cursor-row-resize select-none"
 	style:width={isDragging ? '100vw' : '60px'}
 	style:background-color={isDragging ? 'transparent' : 'transparent'}
 	on:mouseenter={() => (isHover = true)}

+ 1 - 1
web/src/lib/components/shared-components/search-bar/search-bar.svelte

@@ -64,7 +64,7 @@
 		<input
 			type="text"
 			name="q"
-			class="w-full transition-all  {grayTheme
+			class="w-full transition-all {grayTheme
 				? 'dark:bg-immich-dark-gray'
 				: 'dark:bg-immich-dark-bg'} text-immich-fg/75 dark:text-immich-dark-fg px-14 py-4 {showBigSearchBar
 				? 'rounded-t-3xl bg-white  border border-gray-200 dark:border-gray-800'

+ 1 - 1
web/src/lib/components/shared-components/side-bar/side-bar-button.svelte

@@ -35,7 +35,7 @@
 	</div>
 
 	<div
-		class="transition-[height] group-hover:sm:overflow-visible md:overflow-visible overflow-hidden duration-100 delay-1000  sm:group-hover:h-auto md:h-auto h-0"
+		class="transition-[height] group-hover:sm:overflow-visible md:overflow-visible overflow-hidden duration-100 delay-1000 sm:group-hover:h-auto md:h-auto h-0"
 	>
 		{#if $$slots.moreInformation}
 			<div

+ 2 - 2
web/src/lib/components/shared-components/status-box.svelte

@@ -89,7 +89,7 @@
 		<div class="text-xs hidden md:block group-hover:sm:block">
 			<p class="text-sm font-medium text-immich-primary dark:text-immich-dark-primary">Server</p>
 
-			<div class="flex justify-items-center justify-between mt-2 ">
+			<div class="flex justify-items-center justify-between mt-2">
 				<p>Status</p>
 
 				{#if isServerOk}
@@ -99,7 +99,7 @@
 				{/if}
 			</div>
 
-			<div class="flex justify-items-center justify-between mt-2 ">
+			<div class="flex justify-items-center justify-between mt-2">
 				<p>Version</p>
 				<p class="font-medium text-immich-primary dark:text-immich-dark-primary">
 					{serverVersion}

+ 1 - 1
web/src/lib/components/shared-components/upload-asset-preview.svelte

@@ -59,7 +59,7 @@
 				class="bg-immich-primary h-[15px] rounded-md transition-all"
 				style={`width: ${uploadAsset.progress}%`}
 			/>
-			<p class="absolute h-full w-full text-center top-0 text-[10px] ">
+			<p class="absolute h-full w-full text-center top-0 text-[10px]">
 				{uploadAsset.progress}/100
 			</p>
 		</div>

+ 2 - 2
web/src/lib/components/shared-components/upload-panel.svelte

@@ -38,7 +38,7 @@
 		{#if showDetail}
 			<div
 				in:scale={{ duration: 250, easing: quartInOut }}
-				class="bg-gray-200 p-4 text-sm w-[300px] rounded-lg shadow-sm border "
+				class="bg-gray-200 p-4 text-sm w-[300px] rounded-lg shadow-sm border"
 			>
 				<div class="flex justify-between place-item-center mb-4">
 					<p class="text-xs text-gray-500">UPLOADING {$uploadAssetsStore.length}</p>
@@ -70,7 +70,7 @@
 				<button
 					in:scale={{ duration: 250, easing: quartInOut }}
 					on:click={() => (showDetail = true)}
-					class="bg-gray-300 p-5 rounded-full w-16 h-16 flex place-items-center place-content-center text-sm shadow-lg "
+					class="bg-gray-300 p-5 rounded-full w-16 h-16 flex place-items-center place-content-center text-sm shadow-lg"
 				>
 					<div class="animate-pulse">
 						<CloudUploadOutline size="30" color="#4250af" />

+ 1 - 1
web/src/lib/components/shared-components/version-announcement-box.svelte

@@ -43,7 +43,7 @@
 {#if showModal}
 	<FullScreenModal on:clickOutside={() => (showModal = false)}>
 		<div
-			class="border bg-immich-bg dark:bg-immich-dark-gray dark:border-immich-dark-gray shadow-sm max-w-lg rounded-3xl py-10 px-8 dark:text-immich-dark-fg "
+			class="border bg-immich-bg dark:bg-immich-dark-gray dark:border-immich-dark-gray shadow-sm max-w-lg rounded-3xl py-10 px-8 dark:text-immich-dark-fg"
 		>
 			<p class="text-2xl mb-4">🎉 NEW VERSION AVAILABLE 🎉</p>
 

+ 1 - 1
web/src/lib/components/user-settings-page/device-card.svelte

@@ -61,7 +61,7 @@
 			<div class="text-sm flex flex-col justify-center">
 				<button
 					on:click={() => dispatcher('delete')}
-					class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+					class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 					title="Log out"
 				>
 					<TrashCanOutline size="16" />

+ 2 - 2
web/src/lib/components/user-settings-page/partner-selection-modal.svelte

@@ -62,7 +62,7 @@
 							{user.firstName}
 							{user.lastName}
 						</p>
-						<p class="text-xs ">
+						<p class="text-xs">
 							{user.email}
 						</p>
 					</div>
@@ -75,7 +75,7 @@
 		{/if}
 
 		{#if selectedUsers.length > 0}
-			<div class="flex place-content-end p-5 ">
+			<div class="flex place-content-end p-5">
 				<Button size="sm" rounded="lg" on:click={() => dispatch('add-users', selectedUsers)}>
 					Add
 				</Button>

+ 2 - 2
web/src/lib/components/user-settings-page/user-api-key-list.svelte

@@ -156,13 +156,13 @@
 								<td class="text-sm px-4 w-1/3 text-ellipsis">
 									<button
 										on:click={() => (editKey = key)}
-										class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+										class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 									>
 										<PencilOutline size="16" />
 									</button>
 									<button
 										on:click={() => (deleteKey = key)}
-										class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+										class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 									>
 										<TrashCanOutline size="16" />
 									</button>

+ 1 - 1
web/src/routes/(user)/archive/+page.svelte

@@ -228,7 +228,7 @@
 
 		{#if isShowAddMenu}
 			<ContextMenu {...contextMenuPosition} on:clickoutside={() => (isShowAddMenu = false)}>
-				<div class="flex flex-col rounded-lg ">
+				<div class="flex flex-col rounded-lg">
 					<MenuOption on:click={handleAddToFavorites} text="Add to Favorites" />
 					<MenuOption on:click={() => handleShowAlbumPicker(false)} text="Add to Album" />
 					<MenuOption on:click={() => handleShowAlbumPicker(true)} text="Add to Shared Album" />

+ 1 - 1
web/src/routes/(user)/photos/+page.svelte

@@ -206,7 +206,7 @@
 
 		{#if isShowAddMenu}
 			<ContextMenu {...contextMenuPosition} on:clickoutside={() => (isShowAddMenu = false)}>
-				<div class="flex flex-col rounded-lg ">
+				<div class="flex flex-col rounded-lg">
 					<MenuOption on:click={handleAddToFavorites} text="Add to Favorites" />
 					<MenuOption on:click={() => handleShowAlbumPicker(false)} text="Add to Album" />
 					<MenuOption on:click={() => handleShowAlbumPicker(true)} text="Add to Shared Album" />

+ 1 - 1
web/src/routes/(user)/search/+page.svelte

@@ -274,7 +274,7 @@
 
 	{#if isShowAddMenu}
 		<ContextMenu {...contextMenuPosition} on:clickoutside={() => (isShowAddMenu = false)}>
-			<div class="flex flex-col rounded-lg ">
+			<div class="flex flex-col rounded-lg">
 				<MenuOption
 					on:click={toggleFavorite}
 					text={isAllFavorite ? 'Remove from favorites' : 'Add to favorites'}

+ 1 - 1
web/src/routes/(user)/sharing/sharedlinks/+page.svelte

@@ -71,7 +71,7 @@
 	<svelte:fragment slot="leading">Shared links</svelte:fragment>
 </ControlAppBar>
 
-<section class="flex flex-col  pb-[120px] mt-[120px]">
+<section class="flex flex-col pb-[120px] mt-[120px]">
 	<div class="w-[50%] m-auto mb-4 dark:text-immich-gray">
 		<p>Manage shared links</p>
 	</div>

+ 1 - 1
web/src/routes/+error.svelte

@@ -43,7 +43,7 @@
 	</section>
 
 	<div
-		class="fixed top-0 w-full h-full  bg-black/50 flex place-items-center place-content-center overflow-hidden"
+		class="fixed top-0 w-full h-full bg-black/50 flex place-items-center place-content-center overflow-hidden"
 	>
 		<div>
 			<div

+ 1 - 1
web/src/routes/+page.svelte

@@ -6,7 +6,7 @@
 
 <section class="h-screen w-screen flex place-items-center place-content-center">
 	<div class="flex flex-col place-items-center gap-8 text-center max-w-[350px]">
-		<div class="flex place-items-center place-content-center ">
+		<div class="flex place-items-center place-content-center">
 			<ImmichLogo class="text-center" height="200" width="200" />
 		</div>
 		<h1

+ 1 - 1
web/src/routes/admin/+layout.svelte

@@ -72,7 +72,7 @@
 			</div>
 		</SideBarSection>
 
-		<section class="overflow-y-auto immich-scrollbar ">
+		<section class="overflow-y-auto immich-scrollbar">
 			<div id="setting-title" class="pt-10 w-full bg-immich-bg dark:bg-immich-dark-bg">
 				<h1 class="text-lg ml-8 mb-4 text-immich-primary dark:text-immich-dark-primary font-medium">
 					{getPageTitle(data.routeId)}

+ 6 - 6
web/src/routes/admin/user-management/+page.svelte

@@ -191,13 +191,13 @@
 							{#if !isDeleted(user)}
 								<button
 									on:click={() => editUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 								>
 									<PencilOutline size="16" />
 								</button>
 								<button
 									on:click={() => deleteUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 								>
 									<TrashCanOutline size="16" />
 								</button>
@@ -205,7 +205,7 @@
 							{#if isDeleted(user)}
 								<button
 									on:click={() => restoreUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full p-3 transition-all duration-150 hover:bg-immich-primary/75"
 									title={`scheduled removal on ${getDeleteDate(user)}`}
 								>
 									<DeleteRestore size="16" />
@@ -252,13 +252,13 @@
 							{#if !isDeleted(user)}
 								<button
 									on:click={() => editUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full sm:p-3 p-2 max-sm:mb-1 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full sm:p-3 p-2 max-sm:mb-1 transition-all duration-150 hover:bg-immich-primary/75"
 								>
 									<PencilOutline size="16" />
 								</button>
 								<button
 									on:click={() => deleteUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full sm:p-3 p-2 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full sm:p-3 p-2 transition-all duration-150 hover:bg-immich-primary/75"
 								>
 									<TrashCanOutline size="16" />
 								</button>
@@ -266,7 +266,7 @@
 							{#if isDeleted(user)}
 								<button
 									on:click={() => restoreUserHandler(user)}
-									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700  rounded-full sm:p-3 p-2 transition-all duration-150 hover:bg-immich-primary/75"
+									class="bg-immich-primary dark:bg-immich-dark-primary text-gray-100 dark:text-gray-700 rounded-full sm:p-3 p-2 transition-all duration-150 hover:bg-immich-primary/75"
 									title={`scheduled removal on ${getDeleteDate(user)}`}
 								>
 									<DeleteRestore size="16" />