├── crates
├── backend
│ ├── build.rs
│ ├── icons
│ │ ├── 32x32.png
│ │ ├── icon.icns
│ │ ├── icon.ico
│ │ ├── icon.png
│ │ ├── 128x128.png
│ │ ├── 128x128@2x.png
│ │ ├── StoreLogo.png
│ │ ├── Square30x30Logo.png
│ │ ├── Square44x44Logo.png
│ │ ├── Square71x71Logo.png
│ │ ├── Square89x89Logo.png
│ │ ├── Square107x107Logo.png
│ │ ├── Square142x142Logo.png
│ │ ├── Square150x150Logo.png
│ │ ├── Square284x284Logo.png
│ │ └── Square310x310Logo.png
│ ├── tauri.macos.conf.json
│ ├── Cargo.toml
│ ├── src
│ │ ├── window_custom.rs
│ │ └── main.rs
│ └── tauri.conf.json
└── frontend
│ ├── src
│ ├── vite-env.d.ts
│ ├── index.css
│ ├── types
│ │ ├── SavedData.ts
│ │ └── SearchApiResult.ts
│ ├── functions
│ │ ├── customCap.ts
│ │ ├── stringToColour.ts
│ │ ├── getItems.ts
│ │ └── getSaved.ts
│ ├── main.tsx
│ ├── pages
│ │ ├── Root.tsx
│ │ └── Settings.tsx
│ ├── components
│ │ ├── Searchbar.tsx
│ │ ├── Toggle.tsx
│ │ ├── Max.tsx
│ │ ├── EventHandler.tsx
│ │ └── Card.tsx
│ ├── App.tsx
│ └── store.ts
│ ├── tsconfig.node.json
│ ├── vite.config.ts
│ ├── index.html
│ ├── tsconfig.json
│ ├── package.json
│ ├── vite.config.ts.timestamp-1660048399222.mjs
│ ├── vite.config.ts.timestamp-1660248351471.mjs
│ └── yarn.lock
├── assets
└── screenshot.png
├── Cargo.toml
├── Commands.toml
├── LICENSE
├── README.md
├── .github
└── workflows
│ └── ci.yml
└── .gitignore
/crates/backend/build.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | tauri_build::build()
3 | }
4 |
--------------------------------------------------------------------------------
/crates/frontend/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/assets/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/assets/screenshot.png
--------------------------------------------------------------------------------
/crates/backend/icons/32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/32x32.png
--------------------------------------------------------------------------------
/crates/backend/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/icon.icns
--------------------------------------------------------------------------------
/crates/backend/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/icon.ico
--------------------------------------------------------------------------------
/crates/backend/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/icon.png
--------------------------------------------------------------------------------
/crates/backend/icons/128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/128x128.png
--------------------------------------------------------------------------------
/crates/backend/icons/128x128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/128x128@2x.png
--------------------------------------------------------------------------------
/crates/backend/icons/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/StoreLogo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square30x30Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square30x30Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square44x44Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square44x44Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square71x71Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square71x71Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square89x89Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square89x89Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square107x107Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square107x107Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square142x142Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square142x142Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square150x150Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square150x150Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square284x284Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square284x284Logo.png
--------------------------------------------------------------------------------
/crates/backend/icons/Square310x310Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeaye/auxilium/HEAD/crates/backend/icons/Square310x310Logo.png
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [workspace]
2 | members = ["crates/backend"]
3 |
4 | [profile.release]
5 | panic = "abort"
6 | codegen-units = 1
7 | lto = true
8 | opt-level = "s"
9 |
--------------------------------------------------------------------------------
/crates/frontend/src/index.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | position: fixed;
4 | overflow: hidden;
5 | width: 100%;
6 | height: 100%;
7 | color-scheme: dark;
8 | }
--------------------------------------------------------------------------------
/crates/frontend/src/types/SavedData.ts:
--------------------------------------------------------------------------------
1 | export default interface SavedData {
2 | darkMode: boolean;
3 | denseMode: boolean;
4 | noTagsMode: boolean;
5 | }
6 |
--------------------------------------------------------------------------------
/crates/frontend/src/functions/customCap.ts:
--------------------------------------------------------------------------------
1 | import unescape from "lodash/unescape";
2 |
3 | export default function (text: string): string {
4 | return unescape(text[0].toUpperCase() + text.slice(1));
5 | }
6 |
--------------------------------------------------------------------------------
/crates/frontend/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/crates/frontend/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import react from "@vitejs/plugin-react";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | build: {
8 | target: "esnext",
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/crates/frontend/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom/client";
3 | import App from "./App";
4 |
5 | ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
6 |
7 |
8 |
9 | );
10 |
--------------------------------------------------------------------------------
/crates/backend/tauri.macos.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "tauri": {
3 | "windows": [
4 | {
5 | "title": "Auxilium",
6 | "width": 630,
7 | "height": 73,
8 | "resizable": false,
9 | "fullscreen": false,
10 | "alwaysOnTop": true,
11 | "visible": false,
12 | "decorations": true
13 | }
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Commands.toml:
--------------------------------------------------------------------------------
1 | [dev]
2 | tauri = { cmd = [{ cmd = "cargo tauri dev", working_dir = "crates/backend" }] }
3 | [build]
4 | tauri = { cmd = [
5 |
6 | { cmd = "cargo tauri build", working_dir = "crates/backend" },
7 | ] }
8 | [setup]
9 | all = { cmd = [
10 | { cmd = "npm i -g yarn --silent", working_dir = "crates/frontend" },
11 | { cmd = "yarn", working_dir = "crates/frontend" },
12 |
13 | ] }
14 |
--------------------------------------------------------------------------------
/crates/frontend/src/functions/stringToColour.ts:
--------------------------------------------------------------------------------
1 | export default function (string: string): string {
2 | let hash = 0;
3 | let i;
4 | for (i = 0; i < string.length; i += 1) {
5 | hash = string.charCodeAt(i) + ((hash << 5) - hash);
6 | }
7 | let color = "#";
8 | for (i = 0; i < 3; i += 1) {
9 | const value = (hash >> (i * 8)) & 0xff;
10 | color += `00${value.toString(16)}`.substr(-2);
11 | }
12 | return color;
13 | }
14 |
--------------------------------------------------------------------------------
/crates/frontend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Auxilium
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/crates/frontend/src/pages/Root.tsx:
--------------------------------------------------------------------------------
1 | import { Box } from "@mui/material";
2 | import Max from "../components/Max";
3 | import Searchbar from "../components/Searchbar";
4 | import { useStore } from "../store";
5 |
6 | const Root = () => {
7 | const fullForm = useStore((store) => store.fullForm);
8 |
9 | return (
10 |
11 |
12 | {fullForm && }
13 |
14 | );
15 | };
16 |
17 | export default Root;
18 |
--------------------------------------------------------------------------------
/crates/frontend/src/functions/getItems.ts:
--------------------------------------------------------------------------------
1 | import { Item, Result } from "../types/SearchApiResult";
2 |
3 | const URL =
4 | "https://api.stackexchange.com/2.3/search?order=desc&sort=relevance&site=stackoverflow&intitle=";
5 |
6 | export default async function (searchTerm: string): Promise- {
7 | if (searchTerm === "") return [];
8 | try {
9 | return ((await (await fetch(URL + encodeURI(searchTerm))).json()) as Result)
10 | .items;
11 | } catch (err) {
12 | return [];
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/crates/frontend/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/crates/backend/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "auxilium"
3 | default-run = "auxilium"
4 | version = "1.0.1"
5 | description = "Spotlight for Developers"
6 | authors = ["codeaye"]
7 | license = "MIT"
8 |
9 | edition = "2021"
10 | rust-version = "1.57"
11 |
12 | [build-dependencies]
13 | tauri-build = { version = "1.0.4", features = [] }
14 |
15 | [dependencies]
16 | serde_json = "1.0"
17 | serde = { version = "1.0", features = ["derive"] }
18 | tauri = { version = "1.0.5", features = ["global-shortcut", "system-tray"] }
19 | window-shadows = "0.1.0"
20 |
21 | [dependencies.tauri-plugin-store]
22 | git = "https://github.com/tauri-apps/tauri-plugin-store"
23 | branch = "dev"
24 |
25 | [target.'cfg(target_os = "macos")'.dependencies]
26 | cocoa = "0.24"
27 | objc = "0.2.7"
28 |
29 | [features]
30 | default = ["custom-protocol"]
31 | custom-protocol = ["tauri/custom-protocol"]
32 |
--------------------------------------------------------------------------------
/crates/frontend/src/components/Searchbar.tsx:
--------------------------------------------------------------------------------
1 | import { TextField } from "@mui/material";
2 | import { useEffect, useState } from "react";
3 | import { useStore } from "../store";
4 |
5 | const fsetSearch = (store: any) => store.setSearchQuery;
6 |
7 | const Searchbar = () => {
8 | const [searchRaw, setSearchRaw] = useState("");
9 | const setSearch = useStore(fsetSearch);
10 |
11 | useEffect(() => {
12 | const delayDebounceFn = setTimeout(() => {
13 | setSearch(searchRaw);
14 | }, 1500);
15 | return () => clearTimeout(delayDebounceFn);
16 | }, [searchRaw]);
17 |
18 | return (
19 | setSearchRaw(e.target.value)}
26 | sx={{ pb: 1 }}
27 | />
28 | );
29 | };
30 |
31 | export default Searchbar;
32 |
--------------------------------------------------------------------------------
/crates/frontend/src/types/SearchApiResult.ts:
--------------------------------------------------------------------------------
1 | export interface Result {
2 | items: Item[];
3 | has_more: boolean;
4 | quota_max: number;
5 | quota_remaining: number;
6 | }
7 |
8 | export interface Item {
9 | tags: string[];
10 | owner: Owner;
11 | is_answered: boolean;
12 | view_count: number;
13 | answer_count: number;
14 | score: number;
15 | last_activity_date: number;
16 | creation_date: number;
17 | question_id: number;
18 | content_license?: "CC BY-SA 3.0" | "CC BY-SA 4.0";
19 | link: string;
20 | title: string;
21 | accepted_answer_id?: number;
22 | last_edit_date?: number;
23 | closed_date?: number;
24 | closed_reason?: string;
25 | }
26 | export interface Owner {
27 | account_id?: number;
28 | reputation?: number;
29 | user_id?: number;
30 | user_type: "registered" | "does_not_exist";
31 | profile_image?: string;
32 | display_name: string;
33 | link?: string;
34 | accept_rate?: number;
35 | }
36 |
--------------------------------------------------------------------------------
/crates/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "1.0.0",
4 | "type": "module",
5 | "license": "MIT",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "@emotion/react": "^11.10.0",
13 | "@emotion/styled": "^11.10.0",
14 | "@mui/icons-material": "^5.8.4",
15 | "@mui/material": "^5.10.0",
16 | "@tauri-apps/api": "^1.0.2",
17 | "lodash": "^4.17.21",
18 | "react": "^18.2.0",
19 | "react-dom": "^18.2.0",
20 | "react-router-dom": "6",
21 | "tauri-plugin-store-api": "https://github.com/tauri-apps/tauri-plugin-store#dev",
22 | "zustand": "^4.0.0"
23 | },
24 | "devDependencies": {
25 | "@tauri-apps/cli": "^1.0.5",
26 | "@types/lodash": "^4.14.182",
27 | "@types/react": "^18.0.15",
28 | "@types/react-dom": "^18.0.6",
29 | "@vitejs/plugin-react": "^2.0.0",
30 | "typescript": "^4.6.4",
31 | "vite": "^3.0.0"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2022 Codeaye
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/crates/frontend/src/components/Toggle.tsx:
--------------------------------------------------------------------------------
1 | import { Typography, ToggleButtonGroup, ToggleButton } from "@mui/material";
2 | import { MouseEvent, ReactNode } from "react";
3 |
4 | interface Props {
5 | title: string;
6 | value: string;
7 | onChange: (_event: MouseEvent, newMode: string | null) => void;
8 | val1: string;
9 | val2: string;
10 | icon1: ReactNode;
11 | icon2: ReactNode;
12 | t1: string;
13 | t2: string;
14 | }
15 | const Toggle = (props: Props) => {
16 | return (
17 | <>
18 |
19 | {props.title}
20 |
21 |
27 |
28 | {props.icon1}
29 | {props.t1}
30 |
31 |
32 | {props.icon2}
33 | {props.t2}
34 |
35 |
36 | >
37 | );
38 | };
39 |
40 | export default Toggle;
41 |
--------------------------------------------------------------------------------
/crates/frontend/src/functions/getSaved.ts:
--------------------------------------------------------------------------------
1 | import { Store } from "tauri-plugin-store-api";
2 | import SavedData from "../types/SavedData";
3 |
4 | export default async function (store: Store) {
5 | const keys = await getKeys(
6 | ["darkMode", "denseMode", "noTagsMode"],
7 | ["true", "false", "false"],
8 | store
9 | );
10 | return keys as unknown as SavedData;
11 | }
12 |
13 | async function getKeys(keys: string[], defaults: string[], store: Store) {
14 | let data: { [key: string]: boolean } = {};
15 | let i = 0;
16 | for (const key of keys) {
17 | let val = await store.get(key);
18 | if (val == null) {
19 | val = defaults[i];
20 | await store.set(key, defaults[i]);
21 | }
22 | data[key] = stringToBool(val as string) as boolean;
23 | i++;
24 | }
25 | store.save();
26 | return data;
27 | }
28 |
29 | function stringToBool(str: string | boolean): boolean {
30 | if (typeof str === "string") {
31 | switch (str) {
32 | case "true":
33 | return true;
34 | case "false":
35 | return false;
36 | default:
37 | return true;
38 | }
39 | }
40 | return str;
41 | }
42 |
--------------------------------------------------------------------------------
/crates/frontend/src/components/Max.tsx:
--------------------------------------------------------------------------------
1 | import { Box, LinearProgress, List, Paper } from "@mui/material";
2 | import { useStore } from "../store";
3 | import { Item } from "../types/SearchApiResult";
4 | import Card from "./Card";
5 |
6 | const sitems = (store: any) => store.items;
7 | const sloading = (store: any) => store.loading;
8 | const sdenseMode = (store: any) => store.denseMode;
9 |
10 | const Max = () => {
11 | const items = useStore(sitems);
12 | const loading = useStore(sloading);
13 | const denseMode = useStore(sdenseMode);
14 |
15 | return (
16 |
17 |
27 |
28 | {loading && }
29 |
30 | {items.map((item: Item) => (
31 |
32 | ))}
33 |
34 |
35 | );
36 | };
37 |
38 | export default Max;
39 |
--------------------------------------------------------------------------------
/crates/frontend/vite.config.ts.timestamp-1660048399222.mjs:
--------------------------------------------------------------------------------
1 | // vite.config.ts
2 | import { defineConfig } from "vite";
3 | import react from "@vitejs/plugin-react";
4 | var vite_config_default = defineConfig({
5 | plugins: [react()]
6 | });
7 | export {
8 | vite_config_default as default
9 | };
10 | //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvbmF2L0RvY3VtZW50cy9Db2RlL2F1eGlsaXVtL2NyYXRlcy9mcm9udGVuZFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL25hdi9Eb2N1bWVudHMvQ29kZS9hdXhpbGl1bS9jcmF0ZXMvZnJvbnRlbmQvdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL25hdi9Eb2N1bWVudHMvQ29kZS9hdXhpbGl1bS9jcmF0ZXMvZnJvbnRlbmQvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHJlYWN0IGZyb20gJ0B2aXRlanMvcGx1Z2luLXJlYWN0J1xuXG4vLyBodHRwczovL3ZpdGVqcy5kZXYvY29uZmlnL1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgcGx1Z2luczogW3JlYWN0KCldXG59KVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUF3VSxTQUFTLG9CQUFvQjtBQUNyVyxPQUFPLFdBQVc7QUFHbEIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQztBQUNuQixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
11 |
--------------------------------------------------------------------------------
/crates/frontend/vite.config.ts.timestamp-1660248351471.mjs:
--------------------------------------------------------------------------------
1 | // vite.config.ts
2 | import { defineConfig } from "vite";
3 | import react from "@vitejs/plugin-react";
4 | var vite_config_default = defineConfig({
5 | plugins: [react()]
6 | });
7 | export {
8 | vite_config_default as default
9 | };
10 | //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvbmF2L0RvY3VtZW50cy9Db2RlL2F1eGlsaXVtL2NyYXRlcy9mcm9udGVuZFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL25hdi9Eb2N1bWVudHMvQ29kZS9hdXhpbGl1bS9jcmF0ZXMvZnJvbnRlbmQvdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL25hdi9Eb2N1bWVudHMvQ29kZS9hdXhpbGl1bS9jcmF0ZXMvZnJvbnRlbmQvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHJlYWN0IGZyb20gJ0B2aXRlanMvcGx1Z2luLXJlYWN0J1xuXG4vLyBodHRwczovL3ZpdGVqcy5kZXYvY29uZmlnL1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgcGx1Z2luczogW3JlYWN0KCldXG59KVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUF3VSxTQUFTLG9CQUFvQjtBQUNyVyxPQUFPLFdBQVc7QUFHbEIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQztBQUNuQixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
11 |
--------------------------------------------------------------------------------
/crates/frontend/src/App.tsx:
--------------------------------------------------------------------------------
1 | import EventHandler from "./components/EventHandler";
2 | import { useStore } from "./store";
3 | import "./index.css";
4 |
5 | import CssBaseline from "@mui/material/CssBaseline";
6 | import { ThemeProvider, createTheme, Theme } from "@mui/material/styles";
7 | import { BrowserRouter, Route, Routes } from "react-router-dom";
8 | import Root from "./pages/Root";
9 | import Settings from "./pages/Settings";
10 | import { useEffect, useState } from "react";
11 |
12 | const sdarkMode = (store: any) => store.darkMode;
13 | const App = () => {
14 | const darkMode = useStore(sdarkMode);
15 | const [theme, setTheme] = useState(createTheme());
16 | useEffect(
17 | () =>
18 | setTheme(
19 | createTheme({
20 | palette: {
21 | mode: darkMode ? "dark" : "light",
22 | },
23 | })
24 | ),
25 | [darkMode]
26 | );
27 |
28 | return (
29 |
30 |
31 |
32 |
33 |
34 | } />
35 | } />
36 |
37 |
38 |
39 | );
40 | };
41 |
42 | export default App;
43 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Auxilium
3 |
4 | Auxilium is an app built to look and feel like the spotlight app for mac,
5 | but is made for developers, so you can find solutions on stack overflow faster!
6 | ## Features
7 |
8 | - Light/dark mode toggle
9 | - Dense/comfy settings
10 | - Cross platform
11 |
12 |
13 | ## Installation
14 |
15 | You can install the app by heading to [the latest release](https://github.com/codeaye/auxilium/releases/latest)
16 | and downloading an appropriate version for your operating system.
17 |
18 | ## Keybindings
19 | - Show Auxilium - Alt + Space
20 | - Preferences - Alt + P
21 | - Quit App - Alt + Q
22 |
23 | *Not customisable yet
24 |
25 | To hide a the search or preferences window, just click of it or focus on another app.
26 | ## Screenshots
27 |
28 | 
29 |
30 |
31 | ## Build Locally
32 |
33 | To do this, first clone the project
34 |
35 | ```bash
36 | git clone https://github.com/codeaye/auxilium
37 | ```
38 |
39 | Go to the project directory
40 |
41 | ```bash
42 | cd auxilium
43 | ```
44 |
45 | Install dependencies
46 |
47 | ```bash
48 | cargo install cargo-commander tauri-cli
49 | ```
50 |
51 | Run the setup script
52 |
53 | ```bash
54 | cargo cmd setup
55 | ```
56 |
57 |
58 | To run in dev mode
59 |
60 | ### Developement mode
61 | ```bash
62 | cargo cmd dev
63 | ```
64 |
65 |
66 |
67 | To run in production mode
68 |
69 | ### Production mode
70 | ```bash
71 | cargo cmd build
72 | ```
73 |
74 |
75 | ## Acknowledgements
76 |
77 | - [Tauri](https://tauri.app/)
78 | - [React](https://reactjs.org/)
79 | - [MUI](https://mui.com/)
80 |
81 | ## License
82 | [MIT © codeaye](https://github.com/codeaye/auxilium/blob/main/LICENSE)
83 |
--------------------------------------------------------------------------------
/crates/frontend/src/components/EventHandler.tsx:
--------------------------------------------------------------------------------
1 | import { invoke } from "@tauri-apps/api/tauri";
2 | import { useEffect } from "react";
3 | import { useStore } from "../store";
4 | import getItems from "../functions/getItems";
5 | import { listen } from "@tauri-apps/api/event";
6 |
7 | const ssearchTerm = (store: any) => store.searchQuery;
8 | const sitems = (store: any) => store.items;
9 | const sfullForm = (store: any) => store.fullForm;
10 |
11 | const freload = (store: any) => store.reload;
12 | const fsetItems = (store: any) => store.setItems;
13 | const fsetLoading = (store: any) => store.setLoading;
14 | const fsetFullForm = (store: any) => store.setFullForm;
15 |
16 | const EventHandler = () => {
17 | const searchTerm = useStore(ssearchTerm);
18 | const items = useStore(sitems);
19 | const fullForm = useStore(sfullForm);
20 |
21 | const reload = useStore(freload);
22 | const setItems = useStore(fsetItems);
23 | const setLoading = useStore(fsetLoading);
24 | const setFullForm = useStore(fsetFullForm);
25 |
26 | useEffect(() => {
27 | const unlisten = listen("reload_store", (_event) => reload());
28 |
29 | return () => {
30 | unlisten.then((f) => f());
31 | };
32 | }, []);
33 |
34 | useEffect(() => {
35 | (async () => {
36 | setLoading(true);
37 | setItems(await getItems(searchTerm));
38 | setLoading(false);
39 | })();
40 | }, [searchTerm]);
41 |
42 | useEffect(() => {
43 | (async () => {
44 | if (items.length === 0) {
45 | if (fullForm == true) {
46 | await invoke("set_mini");
47 | setFullForm(false);
48 | }
49 | } else {
50 | if (fullForm == false) {
51 | await invoke("set_max");
52 | setFullForm(true);
53 | }
54 | }
55 | })();
56 | }, [items]);
57 |
58 | return <>>;
59 | };
60 |
61 | export default EventHandler;
62 |
--------------------------------------------------------------------------------
/crates/frontend/src/store.ts:
--------------------------------------------------------------------------------
1 | import { emit } from "@tauri-apps/api/event";
2 | import { Store } from "tauri-plugin-store-api";
3 | import create from "zustand";
4 | import getSaved from "./functions/getSaved";
5 | import { Item } from "./types/SearchApiResult";
6 |
7 | interface State {
8 | searchQuery: string;
9 | setSearchQuery: (query: string) => void;
10 | items: Item[];
11 | setItems: (items: Item[]) => void;
12 | loading: boolean;
13 | setLoading: (loading: boolean) => void;
14 | fullForm: boolean;
15 | setFullForm: (fullForm: boolean) => void;
16 | darkMode: boolean;
17 | setDarkMode: (darkMode: boolean) => void;
18 | denseMode: boolean;
19 | setDenseMode: (darkMode: boolean) => void;
20 | noTagsMode: boolean;
21 | setTagsMode: (noTagsMode: boolean) => void;
22 | saveStore: () => void;
23 | reload: () => void;
24 | }
25 |
26 | const store = new Store(".settings.dat");
27 | const values = await getSaved(store);
28 |
29 | export const useStore = create()((set) => ({
30 | searchQuery: "",
31 | setSearchQuery: (searchQuery: string) => set({ searchQuery }),
32 | items: [],
33 | setItems: (items: Item[]) => set({ items }),
34 | loading: false,
35 | setLoading: (loading: boolean) => set({ loading }),
36 | fullForm: false,
37 | setFullForm: (fullForm: boolean) => set({ fullForm }),
38 |
39 | darkMode: values.darkMode,
40 | setDarkMode: (darkMode: boolean) => {
41 | set({ darkMode });
42 | store.set("darkMode", darkMode);
43 | },
44 | denseMode: values.denseMode,
45 | setDenseMode: (denseMode: boolean) => {
46 | set({ denseMode });
47 | store.set("denseMode", denseMode);
48 | },
49 | noTagsMode: values.noTagsMode,
50 | setTagsMode: (noTagsMode: boolean) => {
51 | set({ noTagsMode });
52 | store.set("noTagsMode", noTagsMode);
53 | },
54 | saveStore: () => {
55 | store.save();
56 | emit("reload_store");
57 | },
58 | reload: async () => {
59 | const { darkMode, denseMode, noTagsMode } = await getSaved(store);
60 | set({ darkMode, denseMode, noTagsMode });
61 | },
62 | }));
63 |
--------------------------------------------------------------------------------
/crates/backend/src/window_custom.rs:
--------------------------------------------------------------------------------
1 | #[cfg(target_os = "macos")]
2 | use cocoa::appkit::{NSWindow, NSWindowButton, NSWindowStyleMask, NSWindowTitleVisibility};
3 |
4 | #[cfg(target_os = "macos")]
5 | use objc::runtime::YES;
6 | use tauri::{Runtime, Window};
7 |
8 | pub trait WindowExt {
9 | #[cfg(target_os = "macos")]
10 | fn set_transparent_titlebar(&self, title_transparent: bool, remove_toolbar: bool);
11 | }
12 |
13 | impl WindowExt for Window {
14 | #[cfg(target_os = "macos")]
15 | fn set_transparent_titlebar(&self, title_transparent: bool, remove_tool_bar: bool) {
16 | unsafe {
17 | let id = self.ns_window().unwrap() as cocoa::base::id;
18 | NSWindow::setTitlebarAppearsTransparent_(id, cocoa::base::YES);
19 | let mut style_mask = id.styleMask();
20 | style_mask.set(
21 | NSWindowStyleMask::NSFullSizeContentViewWindowMask,
22 | title_transparent,
23 | );
24 | id.setStyleMask_(style_mask);
25 | if remove_tool_bar {
26 | let close_button = id.standardWindowButton_(NSWindowButton::NSWindowCloseButton);
27 | let _: () = msg_send![close_button, setHidden: YES];
28 | let min_button =
29 | id.standardWindowButton_(NSWindowButton::NSWindowMiniaturizeButton);
30 | let _: () = msg_send![min_button, setHidden: YES];
31 | let zoom_button = id.standardWindowButton_(NSWindowButton::NSWindowZoomButton);
32 | let _: () = msg_send![zoom_button, setHidden: YES];
33 | }
34 | id.setTitleVisibility_(if title_transparent {
35 | NSWindowTitleVisibility::NSWindowTitleHidden
36 | } else {
37 | NSWindowTitleVisibility::NSWindowTitleVisible
38 | });
39 | id.setTitlebarAppearsTransparent_(if title_transparent {
40 | cocoa::base::YES
41 | } else {
42 | cocoa::base::NO
43 | });
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/crates/backend/tauri.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "build": {
3 | "devPath": "http://localhost:5173",
4 | "beforeDevCommand": "cd frontend && yarn dev",
5 | "distDir": "../frontend/dist",
6 | "beforeBuildCommand": "cd frontend && yarn build"
7 | },
8 | "package": {
9 | "productName": "Auxilium",
10 | "version": "1.0.0"
11 | },
12 | "tauri": {
13 | "allowlist": {
14 | "all": false,
15 | "shell": {
16 | "all": false,
17 | "open": true
18 | }
19 | },
20 | "systemTray": {
21 | "iconPath": "icons/32x32.png",
22 | "iconAsTemplate": true
23 | },
24 | "bundle": {
25 | "active": true,
26 | "category": "DeveloperTool",
27 | "copyright": "@codeaye",
28 | "deb": {
29 | "depends": []
30 | },
31 | "externalBin": [],
32 | "icon": [
33 | "icons/32x32.png",
34 | "icons/128x128.png",
35 | "icons/128x128@2x.png",
36 | "icons/icon.icns",
37 | "icons/icon.ico"
38 | ],
39 | "identifier": "com.codeaye.dev",
40 | "shortDescription": "Spotlight for Developers",
41 | "longDescription": "Auxilium is a developer tool that helps you find the right solutions for your errors.",
42 | "resources": [],
43 | "targets": "all",
44 | "macOS": {
45 | "entitlements": null,
46 | "exceptionDomain": "",
47 | "frameworks": [],
48 | "providerShortName": null,
49 | "signingIdentity": null
50 | },
51 | "windows": {
52 | "certificateThumbprint": null,
53 | "digestAlgorithm": "sha256",
54 | "timestampUrl": ""
55 | }
56 | },
57 | "security": {
58 | "csp": null
59 | },
60 | "windows": [
61 | {
62 | "title": "Auxilium",
63 | "width": 630,
64 | "height": 73,
65 | "resizable": false,
66 | "fullscreen": false,
67 | "alwaysOnTop": true,
68 | "visible": false,
69 | "decorations": false
70 | }
71 | ],
72 | "updater": {
73 | "active": false
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: "Build And Release"
2 | on:
3 | workflow_dispatch:
4 | push:
5 | tags:
6 | - "v*"
7 |
8 | jobs:
9 | publish-tauri:
10 | strategy:
11 | fail-fast: false
12 | matrix:
13 | platform: [macos-latest, ubuntu-latest, windows-latest]
14 |
15 | runs-on: ${{ matrix.platform }}
16 | steps:
17 | - uses: actions/checkout@v2
18 | with:
19 | lfs: true
20 | submodules: recursive
21 |
22 | - name: Setup node
23 | uses: actions/setup-node@v1
24 | with:
25 | node-version: 16
26 |
27 | - name: Install rust stable
28 | uses: actions-rs/toolchain@v1
29 | with:
30 | toolchain: stable
31 |
32 | - name: Install dependencies (ubuntu only)
33 | if: matrix.platform == 'ubuntu-latest'
34 | run: |
35 | sudo apt-get update
36 | sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
37 |
38 | - name: Install tauri cli
39 | uses: actions-rs/install@v0.1
40 | with:
41 | crate: tauri-cli
42 | version: latest
43 | use-tool-cache: true
44 |
45 | - name: Install app dependencies
46 | run: cd crates/frontend && yarn && cd .. && cd ..
47 |
48 | - name: Build the app
49 | run: cargo tauri build
50 |
51 | - name: Publish ubuntu files
52 | uses: softprops/action-gh-release@v1
53 | if: matrix.platform == 'ubuntu-latest'
54 | with:
55 | files: |
56 | target/release/bundle/appimage/*.Appimage
57 | target/release/bundle/deb/*.deb
58 | LICENSE
59 |
60 | - name: Publish mac files
61 | uses: softprops/action-gh-release@v1
62 | if: matrix.platform == 'macos-latest'
63 | with:
64 | files: |
65 | target/release/bundle/dmg/*.dmg
66 | target/release/bundle/macos/*
67 |
68 | - name: Publish windows files
69 | uses: softprops/action-gh-release@v1
70 | if: matrix.platform == 'windows-latest'
71 | with:
72 | files: |
73 | target/release/bundle/msi/*
74 |
--------------------------------------------------------------------------------
/crates/frontend/src/components/Card.tsx:
--------------------------------------------------------------------------------
1 | import {
2 | ListItem,
3 | ListItemAvatar,
4 | Avatar,
5 | ListItemText,
6 | Divider,
7 | Link,
8 | Stack,
9 | Chip,
10 | IconButton,
11 | } from "@mui/material";
12 | import DoneRoundedIcon from "@mui/icons-material/DoneRounded";
13 | import { Fragment } from "react";
14 | import { open } from "@tauri-apps/api/shell";
15 | import customCap from "../functions/customCap";
16 | import stringToColour from "../functions/stringToColour";
17 | import { Item } from "../types/SearchApiResult";
18 | import { useStore } from "../store";
19 |
20 | const ANSWER_REF = "https://stackoverflow.com/a/";
21 | const TAG_REF = "https://stackoverflow.com/questions/tagged/";
22 | const USER_REF = "https://stackoverflow.com/users/";
23 |
24 | const stags = (store: any) => !store.noTagsMode;
25 |
26 | const Card = ({ item }: { item: Item }) => {
27 | const noTagsMode = useStore(stags);
28 |
29 | return (
30 |
31 | open(ANSWER_REF + item.accepted_answer_id)}
38 | >
39 |
40 |
41 | ) : null
42 | }
43 | >
44 |
45 | open(USER_REF + item.owner.user_id)}
48 | >
49 |
54 |
55 |
56 | open(item.link)}
60 | color="inherit"
61 | underline="hover"
62 | >
63 | {customCap(item.title)}
64 |
65 | }
66 | secondary={
67 | noTagsMode ? (
68 |
74 | {item.tags.map((tag) => (
75 | open(TAG_REF + tag)}
80 | clickable
81 | />
82 | ))}
83 |
84 | ) : null
85 | }
86 | />
87 |
88 |
89 |
90 | );
91 | };
92 |
93 | export default Card;
94 |
--------------------------------------------------------------------------------
/crates/frontend/src/pages/Settings.tsx:
--------------------------------------------------------------------------------
1 | import { Box, Button, Paper, Stack } from "@mui/material";
2 | import Brightness4RoundedIcon from "@mui/icons-material/Brightness4Rounded";
3 | import Brightness5RoundedIcon from "@mui/icons-material/Brightness5Rounded";
4 | import ViewCompactAltRoundedIcon from "@mui/icons-material/ViewCompactAltRounded";
5 | import ViewComfyAltRoundedIcon from "@mui/icons-material/ViewComfyAltRounded";
6 | import TurnedInRoundedIcon from "@mui/icons-material/TurnedInRounded";
7 | import TurnedInNotRoundedIcon from "@mui/icons-material/TurnedInNotRounded";
8 | import Toggle from "../components/Toggle";
9 | import { useStore } from "../store";
10 | import { MouseEvent } from "react";
11 |
12 | const dSelector = (store: any) => (store.darkMode ? "dark" : "light");
13 | const dFSelector = (store: any) => store.setDarkMode;
14 | const deSelector = (store: any) => (store.denseMode ? "dense" : "comfy");
15 | const deFSelector = (store: any) => store.setDenseMode;
16 | const tSelector = (store: any) => (store.noTagsMode ? "notags" : "tags");
17 | const tFSelector = (store: any) => store.setTagsMode;
18 | const sFSelector = (store: any) => store.saveStore;
19 |
20 | const Settings = () => {
21 | const mode = useStore(dSelector);
22 | const setMode = useStore(dFSelector);
23 | const handleModeChange = (
24 | _event: MouseEvent,
25 | newMode: string | null
26 | ) => newMode !== null && setMode(newMode === "dark" ? true : false);
27 |
28 | const dense = useStore(deSelector);
29 | const setDenseMode = useStore(deFSelector);
30 | const handleDenseChange = (
31 | _event: MouseEvent,
32 | newMode: string | null
33 | ) => newMode !== null && setDenseMode(newMode === "dense" ? true : false);
34 | const tags = useStore(tSelector);
35 | const setTags = useStore(tFSelector);
36 | const handleTagChange = (
37 | _event: MouseEvent,
38 | newMode: string | null
39 | ) => newMode !== null && setTags(newMode === "notags" ? true : false);
40 | const saveStore = useStore(sFSelector);
41 |
42 | return (
43 |
50 |
51 |
52 | }
61 | icon2={}
62 | />
63 | }
72 | icon2={}
73 | />
74 | }
83 | icon2={}
84 | />
85 |
88 |
89 |
90 |
91 | );
92 | };
93 |
94 | export default Settings;
95 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### macOS ###
2 | # General
3 | .DS_Store
4 | .AppleDouble
5 | .LSOverride
6 |
7 | # Icon must end with two \r
8 | Icon
9 |
10 |
11 | # Thumbnails
12 | ._*
13 |
14 | # Files that might appear in the root of a volume
15 | .DocumentRevisions-V100
16 | .fseventsd
17 | .Spotlight-V100
18 | .TemporaryItems
19 | .Trashes
20 | .VolumeIcon.icns
21 | .com.apple.timemachine.donotpresent
22 |
23 | # Directories potentially created on remote AFP share
24 | .AppleDB
25 | .AppleDesktop
26 | Network Trash Folder
27 | Temporary Items
28 | .apdisk
29 |
30 | ### macOS Patch ###
31 | # iCloud generated files
32 | *.icloud
33 |
34 | ### Node ###
35 | # Logs
36 | logs
37 | *.log
38 | npm-debug.log*
39 | yarn-debug.log*
40 | yarn-error.log*
41 | lerna-debug.log*
42 | .pnpm-debug.log*
43 |
44 | # Diagnostic reports (https://nodejs.org/api/report.html)
45 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
46 |
47 | # Runtime data
48 | pids
49 | *.pid
50 | *.seed
51 | *.pid.lock
52 |
53 | # Directory for instrumented libs generated by jscoverage/JSCover
54 | lib-cov
55 |
56 | # Coverage directory used by tools like istanbul
57 | coverage
58 | *.lcov
59 |
60 | # nyc test coverage
61 | .nyc_output
62 |
63 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
64 | .grunt
65 |
66 | # Bower dependency directory (https://bower.io/)
67 | bower_components
68 |
69 | # node-waf configuration
70 | .lock-wscript
71 |
72 | # Compiled binary addons (https://nodejs.org/api/addons.html)
73 | build/Release
74 |
75 | # Dependency directories
76 | node_modules/
77 | jspm_packages/
78 |
79 | # Snowpack dependency directory (https://snowpack.dev/)
80 | web_modules/
81 |
82 | # TypeScript cache
83 | *.tsbuildinfo
84 |
85 | # Optional npm cache directory
86 | .npm
87 |
88 | # Optional eslint cache
89 | .eslintcache
90 |
91 | # Optional stylelint cache
92 | .stylelintcache
93 |
94 | # Microbundle cache
95 | .rpt2_cache/
96 | .rts2_cache_cjs/
97 | .rts2_cache_es/
98 | .rts2_cache_umd/
99 |
100 | # Optional REPL history
101 | .node_repl_history
102 |
103 | # Output of 'npm pack'
104 | *.tgz
105 |
106 | # Yarn Integrity file
107 | .yarn-integrity
108 |
109 | # dotenv environment variable files
110 | .env
111 | .env.development.local
112 | .env.test.local
113 | .env.production.local
114 | .env.local
115 |
116 | # parcel-bundler cache (https://parceljs.org/)
117 | .cache
118 | .parcel-cache
119 |
120 | # Next.js build output
121 | .next
122 | out
123 |
124 | # Nuxt.js build / generate output
125 | .nuxt
126 | dist
127 |
128 | # Gatsby files
129 | .cache/
130 | # Comment in the public line in if your project uses Gatsby and not Next.js
131 | # https://nextjs.org/blog/next-9-1#public-directory-support
132 | # public
133 |
134 | # vuepress build output
135 | .vuepress/dist
136 |
137 | # vuepress v2.x temp and cache directory
138 | .temp
139 |
140 | # Docusaurus cache and generated files
141 | .docusaurus
142 |
143 | # Serverless directories
144 | .serverless/
145 |
146 | # FuseBox cache
147 | .fusebox/
148 |
149 | # DynamoDB Local files
150 | .dynamodb/
151 |
152 | # TernJS port file
153 | .tern-port
154 |
155 | # Stores VSCode versions used for testing VSCode extensions
156 | .vscode-test
157 |
158 | # yarn v2
159 | .yarn/cache
160 | .yarn/unplugged
161 | .yarn/build-state.yml
162 | .yarn/install-state.gz
163 | .pnp.*
164 |
165 | ### Node Patch ###
166 | # Serverless Webpack directories
167 | .webpack/
168 |
169 | # Optional stylelint cache
170 |
171 | # SvelteKit build / generate output
172 | .svelte-kit
173 |
174 | ### react ###
175 | .DS_*
176 | **/*.backup.*
177 | **/*.back.*
178 |
179 | node_modules
180 |
181 | *.sublime*
182 |
183 | psd
184 | thumb
185 | sketch
186 |
187 | ### Rust ###
188 | # Generated by Cargo
189 | # will have compiled files and executables
190 | debug/
191 | target/
192 |
193 | # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
194 | # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
195 | Cargo.lock
196 |
197 | # These are backup files generated by rustfmt
198 | **/*.rs.bk
199 |
200 | # MSVC Windows builds of rustc generate these, which store debugging information
201 | *.pdb
202 |
203 | ### VisualStudioCode ###
204 | .vscode/*
205 | !.vscode/settings.json
206 | !.vscode/tasks.json
207 | !.vscode/launch.json
208 | !.vscode/extensions.json
209 | !.vscode/*.code-snippets
210 |
211 | # Local History for Visual Studio Code
212 | .history/
213 |
214 | # Built Visual Studio Code Extensions
215 | *.vsix
216 |
217 | ### VisualStudioCode Patch ###
218 | # Ignore all local history of files
219 | .history
220 | .ionide
221 |
222 | # Support for Project snippet scope
223 | .vscode/*.code-snippets
224 |
225 | # Ignore code-workspaces
226 | *.code-workspace
227 |
228 | ### yarn ###
229 | # https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
230 |
231 | .yarn/*
232 | !.yarn/releases
233 | !.yarn/patches
234 | !.yarn/plugins
235 | !.yarn/sdks
236 | !.yarn/versions
237 |
238 | # if you are NOT using Zero-installs, then:
239 | # comment the following lines
240 | !.yarn/cache
241 |
242 | # and uncomment the following lines
243 | # .pnp.*
244 |
245 | # End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,macos,node,react,rust,yarn
246 |
247 | # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
248 |
249 |
--------------------------------------------------------------------------------
/crates/backend/src/main.rs:
--------------------------------------------------------------------------------
1 | #![cfg_attr(
2 | all(not(debug_assertions), target_os = "windows"),
3 | windows_subsystem = "windows"
4 | )]
5 |
6 | #[cfg(target_os = "macos")]
7 | #[macro_use]
8 | extern crate objc;
9 |
10 | mod window_custom;
11 | use std::{thread, time::Duration};
12 |
13 | use tauri::{
14 | generate_handler, AppHandle, CustomMenuItem, GlobalShortcutManager, LogicalSize, Manager,
15 | RunEvent, Size, SystemTray, SystemTrayEvent, SystemTrayMenu, SystemTrayMenuItem, Window,
16 | };
17 | use tauri_plugin_store::PluginBuilder;
18 | use window_custom::WindowExt as _;
19 |
20 | const TOGGLE_SHORTCUT: &str = "Alt+Space";
21 | const QUIT_SHORTCUT: &str = "Alt+Q";
22 | const PREFERENCES_SHORTCUT: &str = "Alt+P";
23 |
24 | fn open_settings(handle: AppHandle) {
25 | thread::spawn(move || {
26 | tauri::WindowBuilder::new(
27 | &handle,
28 | "settings",
29 | tauri::WindowUrl::App("app_settings".parse().unwrap()),
30 | )
31 | .title("Settings")
32 | .resizable(false)
33 | .inner_size(415., 440.)
34 | .visible(true)
35 | .build()
36 | .expect("Could not launch settings window");
37 | });
38 | }
39 |
40 | fn user_open_request(handle: AppHandle) {
41 | let window = handle.get_window("settings");
42 | match window {
43 | Some(window) => {
44 | if !window.is_visible().unwrap() {
45 | window.show().expect("Could not show settings window!");
46 | window
47 | .set_focus()
48 | .expect("Could not focus settings window!");
49 | }
50 | }
51 | None => open_settings(handle),
52 | }
53 | }
54 |
55 | #[tauri::command]
56 | fn set_mini(window: Window) {
57 | window.set_size(Size::new(LogicalSize { width: 630, height: 73 })).unwrap();
58 | }
59 |
60 | #[tauri::command]
61 | fn set_max(window: Window) {
62 | window.set_size(Size::new(LogicalSize { width: 630, height: 430 })).unwrap();
63 | }
64 |
65 | fn main() {
66 | // System tray configuration
67 | let tray = SystemTray::new().with_menu(
68 | SystemTrayMenu::new()
69 | .add_item(
70 | CustomMenuItem::new("show_auxilium", "Show Auxilium").accelerator(TOGGLE_SHORTCUT),
71 | )
72 | .add_item(
73 | CustomMenuItem::new("preference", "Preferences").accelerator(PREFERENCES_SHORTCUT),
74 | )
75 | .add_native_item(SystemTrayMenuItem::Separator)
76 | .add_item(CustomMenuItem::new("quit".to_string(), "Quit").accelerator(QUIT_SHORTCUT)),
77 | );
78 |
79 | let app = tauri::Builder::default()
80 | .plugin(PluginBuilder::default().build())
81 | .setup(|app| {
82 | let window = app.get_window("main").unwrap();
83 | // Use the window shadows plugin
84 | // window_shadows::set_shadow(&window, true).expect("Unsupported platform!");
85 | // Use transparent titlebar for macos
86 | #[cfg(target_os = "macos")]
87 | window.set_transparent_titlebar(true, true);
88 | // Move the window to the center of the screen
89 | window.center().expect("Cannot move window!");
90 |
91 | // Open dev tools
92 | #[cfg(debug_assertions)]
93 | window.open_devtools();
94 | Ok(())
95 | })
96 | // Add the system tray
97 | .system_tray(tray)
98 | // Handle system tray events
99 | .on_system_tray_event(|app, event| match event {
100 | SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() {
101 | "quit" => std::process::exit(0),
102 | "show_auxilium" => {
103 | let window = app.get_window("main").unwrap();
104 | window.show().unwrap();
105 | window.set_focus().unwrap();
106 | }
107 | "preference" => user_open_request(app.app_handle()),
108 | _ => {}
109 | },
110 | _ => {}
111 | })
112 | .on_window_event(|event| {
113 | if let tauri::WindowEvent::Focused(f) = event.event() {
114 | if let false = f {
115 | event.window().hide().unwrap()
116 | }
117 | }
118 | })
119 | .invoke_handler(generate_handler![set_mini, set_max])
120 | .build(tauri::generate_context!())
121 | .expect("An error occured while running the app!");
122 |
123 | app.run(|app_handle, e| match e {
124 | RunEvent::Ready => {
125 | let app_handle = app_handle.clone();
126 | // Get the global shortcut manager
127 | let mut gsm = app_handle.global_shortcut_manager();
128 |
129 | // Register the shortcut to show the app
130 | let handler = app_handle.clone();
131 | gsm.register(TOGGLE_SHORTCUT, move || {
132 | let app_handle = handler.clone();
133 | let window = app_handle.get_window("main").unwrap();
134 | if !window.is_visible().unwrap() {
135 | window.show().unwrap();
136 | window.set_focus().unwrap();
137 | }
138 | })
139 | .unwrap();
140 |
141 | // Register the shortcut to quit the app
142 | gsm.register(QUIT_SHORTCUT, || std::process::exit(0))
143 | .unwrap();
144 |
145 | // Register the shortcut to open the settings
146 | gsm.register(PREFERENCES_SHORTCUT, move || {
147 | user_open_request(app_handle.clone())
148 | })
149 | .unwrap();
150 | }
151 | RunEvent::ExitRequested { api, .. } => api.prevent_exit(),
152 | _ => {}
153 | })
154 | }
155 |
--------------------------------------------------------------------------------
/crates/frontend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6":
14 | version "7.18.6"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.18.8":
21 | version "7.18.8"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d"
23 | integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==
24 |
25 | "@babel/core@^7.18.10":
26 | version "7.18.10"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8"
28 | integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.18.6"
32 | "@babel/generator" "^7.18.10"
33 | "@babel/helper-compilation-targets" "^7.18.9"
34 | "@babel/helper-module-transforms" "^7.18.9"
35 | "@babel/helpers" "^7.18.9"
36 | "@babel/parser" "^7.18.10"
37 | "@babel/template" "^7.18.10"
38 | "@babel/traverse" "^7.18.10"
39 | "@babel/types" "^7.18.10"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.1"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.18.10":
47 | version "7.18.12"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4"
49 | integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==
50 | dependencies:
51 | "@babel/types" "^7.18.10"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-annotate-as-pure@^7.18.6":
56 | version "7.18.6"
57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
59 | dependencies:
60 | "@babel/types" "^7.18.6"
61 |
62 | "@babel/helper-compilation-targets@^7.18.9":
63 | version "7.18.9"
64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf"
65 | integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==
66 | dependencies:
67 | "@babel/compat-data" "^7.18.8"
68 | "@babel/helper-validator-option" "^7.18.6"
69 | browserslist "^4.20.2"
70 | semver "^6.3.0"
71 |
72 | "@babel/helper-environment-visitor@^7.18.9":
73 | version "7.18.9"
74 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
75 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
76 |
77 | "@babel/helper-function-name@^7.18.9":
78 | version "7.18.9"
79 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0"
80 | integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==
81 | dependencies:
82 | "@babel/template" "^7.18.6"
83 | "@babel/types" "^7.18.9"
84 |
85 | "@babel/helper-hoist-variables@^7.18.6":
86 | version "7.18.6"
87 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
88 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
89 | dependencies:
90 | "@babel/types" "^7.18.6"
91 |
92 | "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6":
93 | version "7.18.6"
94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
95 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
96 | dependencies:
97 | "@babel/types" "^7.18.6"
98 |
99 | "@babel/helper-module-transforms@^7.18.9":
100 | version "7.18.9"
101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712"
102 | integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==
103 | dependencies:
104 | "@babel/helper-environment-visitor" "^7.18.9"
105 | "@babel/helper-module-imports" "^7.18.6"
106 | "@babel/helper-simple-access" "^7.18.6"
107 | "@babel/helper-split-export-declaration" "^7.18.6"
108 | "@babel/helper-validator-identifier" "^7.18.6"
109 | "@babel/template" "^7.18.6"
110 | "@babel/traverse" "^7.18.9"
111 | "@babel/types" "^7.18.9"
112 |
113 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9":
114 | version "7.18.9"
115 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
116 | integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
117 |
118 | "@babel/helper-simple-access@^7.18.6":
119 | version "7.18.6"
120 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea"
121 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==
122 | dependencies:
123 | "@babel/types" "^7.18.6"
124 |
125 | "@babel/helper-split-export-declaration@^7.18.6":
126 | version "7.18.6"
127 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
129 | dependencies:
130 | "@babel/types" "^7.18.6"
131 |
132 | "@babel/helper-string-parser@^7.18.10":
133 | version "7.18.10"
134 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
135 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
136 |
137 | "@babel/helper-validator-identifier@^7.18.6":
138 | version "7.18.6"
139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
140 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
141 |
142 | "@babel/helper-validator-option@^7.18.6":
143 | version "7.18.6"
144 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
145 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
146 |
147 | "@babel/helpers@^7.18.9":
148 | version "7.18.9"
149 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9"
150 | integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==
151 | dependencies:
152 | "@babel/template" "^7.18.6"
153 | "@babel/traverse" "^7.18.9"
154 | "@babel/types" "^7.18.9"
155 |
156 | "@babel/highlight@^7.18.6":
157 | version "7.18.6"
158 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
159 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
160 | dependencies:
161 | "@babel/helper-validator-identifier" "^7.18.6"
162 | chalk "^2.0.0"
163 | js-tokens "^4.0.0"
164 |
165 | "@babel/parser@^7.18.10", "@babel/parser@^7.18.11":
166 | version "7.18.11"
167 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9"
168 | integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==
169 |
170 | "@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6":
171 | version "7.18.6"
172 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
173 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
174 | dependencies:
175 | "@babel/helper-plugin-utils" "^7.18.6"
176 |
177 | "@babel/plugin-transform-react-jsx-development@^7.18.6":
178 | version "7.18.6"
179 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5"
180 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==
181 | dependencies:
182 | "@babel/plugin-transform-react-jsx" "^7.18.6"
183 |
184 | "@babel/plugin-transform-react-jsx-self@^7.18.6":
185 | version "7.18.6"
186 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7"
187 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==
188 | dependencies:
189 | "@babel/helper-plugin-utils" "^7.18.6"
190 |
191 | "@babel/plugin-transform-react-jsx-source@^7.18.6":
192 | version "7.18.6"
193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc"
194 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==
195 | dependencies:
196 | "@babel/helper-plugin-utils" "^7.18.6"
197 |
198 | "@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6":
199 | version "7.18.10"
200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1"
201 | integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==
202 | dependencies:
203 | "@babel/helper-annotate-as-pure" "^7.18.6"
204 | "@babel/helper-module-imports" "^7.18.6"
205 | "@babel/helper-plugin-utils" "^7.18.9"
206 | "@babel/plugin-syntax-jsx" "^7.18.6"
207 | "@babel/types" "^7.18.10"
208 |
209 | "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7":
210 | version "7.18.9"
211 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a"
212 | integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==
213 | dependencies:
214 | regenerator-runtime "^0.13.4"
215 |
216 | "@babel/template@^7.18.10", "@babel/template@^7.18.6":
217 | version "7.18.10"
218 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
219 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
220 | dependencies:
221 | "@babel/code-frame" "^7.18.6"
222 | "@babel/parser" "^7.18.10"
223 | "@babel/types" "^7.18.10"
224 |
225 | "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9":
226 | version "7.18.11"
227 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f"
228 | integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==
229 | dependencies:
230 | "@babel/code-frame" "^7.18.6"
231 | "@babel/generator" "^7.18.10"
232 | "@babel/helper-environment-visitor" "^7.18.9"
233 | "@babel/helper-function-name" "^7.18.9"
234 | "@babel/helper-hoist-variables" "^7.18.6"
235 | "@babel/helper-split-export-declaration" "^7.18.6"
236 | "@babel/parser" "^7.18.11"
237 | "@babel/types" "^7.18.10"
238 | debug "^4.1.0"
239 | globals "^11.1.0"
240 |
241 | "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9":
242 | version "7.18.10"
243 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6"
244 | integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==
245 | dependencies:
246 | "@babel/helper-string-parser" "^7.18.10"
247 | "@babel/helper-validator-identifier" "^7.18.6"
248 | to-fast-properties "^2.0.0"
249 |
250 | "@emotion/babel-plugin@^11.10.0":
251 | version "11.10.0"
252 | resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.0.tgz#ae545b8faa6b42d3a50ec86b70b758296f3c4467"
253 | integrity sha512-xVnpDAAbtxL1dsuSelU5A7BnY/lftws0wUexNJZTPsvX/1tM4GZJbclgODhvW4E+NH7E5VFcH0bBn30NvniPJA==
254 | dependencies:
255 | "@babel/helper-module-imports" "^7.16.7"
256 | "@babel/plugin-syntax-jsx" "^7.17.12"
257 | "@babel/runtime" "^7.18.3"
258 | "@emotion/hash" "^0.9.0"
259 | "@emotion/memoize" "^0.8.0"
260 | "@emotion/serialize" "^1.1.0"
261 | babel-plugin-macros "^3.1.0"
262 | convert-source-map "^1.5.0"
263 | escape-string-regexp "^4.0.0"
264 | find-root "^1.1.0"
265 | source-map "^0.5.7"
266 | stylis "4.0.13"
267 |
268 | "@emotion/cache@^11.10.0", "@emotion/cache@^11.9.3":
269 | version "11.10.1"
270 | resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.1.tgz#75a157c2a6bb9220450f73ebef1df2e1467dc65d"
271 | integrity sha512-uZTj3Yz5D69GE25iFZcIQtibnVCFsc/6+XIozyL3ycgWvEdif2uEw9wlUt6umjLr4Keg9K6xRPHmD8LGi+6p1A==
272 | dependencies:
273 | "@emotion/memoize" "^0.8.0"
274 | "@emotion/sheet" "^1.2.0"
275 | "@emotion/utils" "^1.2.0"
276 | "@emotion/weak-memoize" "^0.3.0"
277 | stylis "4.0.13"
278 |
279 | "@emotion/hash@^0.9.0":
280 | version "0.9.0"
281 | resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7"
282 | integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==
283 |
284 | "@emotion/is-prop-valid@^1.1.3", "@emotion/is-prop-valid@^1.2.0":
285 | version "1.2.0"
286 | resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83"
287 | integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==
288 | dependencies:
289 | "@emotion/memoize" "^0.8.0"
290 |
291 | "@emotion/memoize@^0.8.0":
292 | version "0.8.0"
293 | resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f"
294 | integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==
295 |
296 | "@emotion/react@^11.10.0":
297 | version "11.10.0"
298 | resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.0.tgz#53c577f063f26493f68a05188fb87528d912ff2e"
299 | integrity sha512-K6z9zlHxxBXwN8TcpwBKcEsBsOw4JWCCmR+BeeOWgqp8GIU1yA2Odd41bwdAAr0ssbQrbJbVnndvv7oiv1bZeQ==
300 | dependencies:
301 | "@babel/runtime" "^7.18.3"
302 | "@emotion/babel-plugin" "^11.10.0"
303 | "@emotion/cache" "^11.10.0"
304 | "@emotion/serialize" "^1.1.0"
305 | "@emotion/utils" "^1.2.0"
306 | "@emotion/weak-memoize" "^0.3.0"
307 | hoist-non-react-statics "^3.3.1"
308 |
309 | "@emotion/serialize@^1.1.0":
310 | version "1.1.0"
311 | resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.0.tgz#b1f97b1011b09346a40e9796c37a3397b4ea8ea8"
312 | integrity sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==
313 | dependencies:
314 | "@emotion/hash" "^0.9.0"
315 | "@emotion/memoize" "^0.8.0"
316 | "@emotion/unitless" "^0.8.0"
317 | "@emotion/utils" "^1.2.0"
318 | csstype "^3.0.2"
319 |
320 | "@emotion/sheet@^1.2.0":
321 | version "1.2.0"
322 | resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5"
323 | integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==
324 |
325 | "@emotion/styled@^11.10.0":
326 | version "11.10.0"
327 | resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.0.tgz#c19484dab4206ae46727c07efb4316423dd21312"
328 | integrity sha512-V9oaEH6V4KePeQpgUE83i8ht+4Ri3E8Djp/ZPJ4DQlqWhSKITvgzlR3/YQE2hdfP4Jw3qVRkANJz01LLqK9/TA==
329 | dependencies:
330 | "@babel/runtime" "^7.18.3"
331 | "@emotion/babel-plugin" "^11.10.0"
332 | "@emotion/is-prop-valid" "^1.2.0"
333 | "@emotion/serialize" "^1.1.0"
334 | "@emotion/utils" "^1.2.0"
335 |
336 | "@emotion/unitless@^0.8.0":
337 | version "0.8.0"
338 | resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db"
339 | integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==
340 |
341 | "@emotion/utils@^1.2.0":
342 | version "1.2.0"
343 | resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561"
344 | integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==
345 |
346 | "@emotion/weak-memoize@^0.3.0":
347 | version "0.3.0"
348 | resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb"
349 | integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==
350 |
351 | "@esbuild/linux-loong64@0.14.54":
352 | version "0.14.54"
353 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
354 | integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
355 |
356 | "@jridgewell/gen-mapping@^0.1.0":
357 | version "0.1.1"
358 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
359 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
360 | dependencies:
361 | "@jridgewell/set-array" "^1.0.0"
362 | "@jridgewell/sourcemap-codec" "^1.4.10"
363 |
364 | "@jridgewell/gen-mapping@^0.3.2":
365 | version "0.3.2"
366 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
367 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
368 | dependencies:
369 | "@jridgewell/set-array" "^1.0.1"
370 | "@jridgewell/sourcemap-codec" "^1.4.10"
371 | "@jridgewell/trace-mapping" "^0.3.9"
372 |
373 | "@jridgewell/resolve-uri@^3.0.3":
374 | version "3.1.0"
375 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
376 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
377 |
378 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
379 | version "1.1.2"
380 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
381 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
382 |
383 | "@jridgewell/sourcemap-codec@^1.4.10":
384 | version "1.4.14"
385 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
386 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
387 |
388 | "@jridgewell/trace-mapping@^0.3.9":
389 | version "0.3.15"
390 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774"
391 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==
392 | dependencies:
393 | "@jridgewell/resolve-uri" "^3.0.3"
394 | "@jridgewell/sourcemap-codec" "^1.4.10"
395 |
396 | "@mui/base@5.0.0-alpha.92":
397 | version "5.0.0-alpha.92"
398 | resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.92.tgz#5c2ca31801fe21a8fec9bfda2cf5f44b1e3c7284"
399 | integrity sha512-ZgnSLrTXL4iUdLQhjp01dAOTQPQlnwrqjZRwDT3E6LZXEYn6cMv1MY6LZkWcF/zxrUnyasnsyMAgZ5d8AXS7bA==
400 | dependencies:
401 | "@babel/runtime" "^7.17.2"
402 | "@emotion/is-prop-valid" "^1.1.3"
403 | "@mui/types" "^7.1.5"
404 | "@mui/utils" "^5.9.3"
405 | "@popperjs/core" "^2.11.5"
406 | clsx "^1.2.1"
407 | prop-types "^15.8.1"
408 | react-is "^18.2.0"
409 |
410 | "@mui/icons-material@^5.8.4":
411 | version "5.8.4"
412 | resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.8.4.tgz#3f2907c9f8f5ce4d754cb8fb4b68b5a1abf4d095"
413 | integrity sha512-9Z/vyj2szvEhGWDvb+gG875bOGm8b8rlHBKOD1+nA3PcgC3fV6W1AU6pfOorPeBfH2X4mb9Boe97vHvaSndQvA==
414 | dependencies:
415 | "@babel/runtime" "^7.17.2"
416 |
417 | "@mui/material@^5.10.0":
418 | version "5.10.0"
419 | resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.0.tgz#35f6484b7dec40a38874fa948a44a073f4d3a4c7"
420 | integrity sha512-MSEzkE2vhpM37m8Gh3+TcZCWL70p+MxzNvS8FHugBB6YZpafhBFmFKX7/pYJ2kVD87PpUhNR4szWub7/ohE02Q==
421 | dependencies:
422 | "@babel/runtime" "^7.17.2"
423 | "@mui/base" "5.0.0-alpha.92"
424 | "@mui/system" "^5.10.0"
425 | "@mui/types" "^7.1.5"
426 | "@mui/utils" "^5.9.3"
427 | "@types/react-transition-group" "^4.4.5"
428 | clsx "^1.2.1"
429 | csstype "^3.1.0"
430 | prop-types "^15.8.1"
431 | react-is "^18.2.0"
432 | react-transition-group "^4.4.5"
433 |
434 | "@mui/private-theming@^5.9.3":
435 | version "5.9.3"
436 | resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.9.3.tgz#8ea06dbe0522b0cf4ba5ee19b1a4d7f74539ae1c"
437 | integrity sha512-Ys3WO39WqoGciGX9k5AIi/k2zJhlydv4FzlEEwtw9OqdMaV0ydK/TdZekKzjP9sTI/JcdAP3H5DWtUaPLQJjWg==
438 | dependencies:
439 | "@babel/runtime" "^7.17.2"
440 | "@mui/utils" "^5.9.3"
441 | prop-types "^15.8.1"
442 |
443 | "@mui/styled-engine@^5.10.0":
444 | version "5.10.0"
445 | resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.0.tgz#5c904c1f021a8ee1b3e3b8a3d05c9f4ea68c43a0"
446 | integrity sha512-V0MmOx7KBDomDYg2/dRItVsvrpHpd51uZZiNqeuXiZruUJ1vPwtxztpvtSjX/xKvIxN7C0mxf8jmuwVUn6uaEA==
447 | dependencies:
448 | "@babel/runtime" "^7.17.2"
449 | "@emotion/cache" "^11.9.3"
450 | csstype "^3.1.0"
451 | prop-types "^15.8.1"
452 |
453 | "@mui/system@^5.10.0":
454 | version "5.10.0"
455 | resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.0.tgz#48daf4aa8e61424c232378acb27a735abfb1fcc1"
456 | integrity sha512-HNu3LdA+37cWqgJBEhOF4F5LX4WVmvg6SoHRfajRO0neKXLdooibMP3W1bhSd27QcPxyMUmvY9/Dlp9znDeCRw==
457 | dependencies:
458 | "@babel/runtime" "^7.17.2"
459 | "@mui/private-theming" "^5.9.3"
460 | "@mui/styled-engine" "^5.10.0"
461 | "@mui/types" "^7.1.5"
462 | "@mui/utils" "^5.9.3"
463 | clsx "^1.2.1"
464 | csstype "^3.1.0"
465 | prop-types "^15.8.1"
466 |
467 | "@mui/types@^7.1.5":
468 | version "7.1.5"
469 | resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.5.tgz#5e5cc49d719bc86522983359bc1f90eddcff0624"
470 | integrity sha512-HnRXrxgHJYJcT8ZDdDCQIlqk0s0skOKD7eWs9mJgBUu70hyW4iA6Kiv3yspJR474RFH8hysKR65VVSzUSzkuwA==
471 |
472 | "@mui/utils@^5.9.3":
473 | version "5.9.3"
474 | resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.9.3.tgz#a11e0824f00b7ea40257b390060ce167fe861d02"
475 | integrity sha512-l0N5bcrenE9hnwZ/jPecpIRqsDFHkPXoFUcmkgysaJwVZzJ3yQkGXB47eqmXX5yyGrSc6HksbbqXEaUya+siew==
476 | dependencies:
477 | "@babel/runtime" "^7.17.2"
478 | "@types/prop-types" "^15.7.5"
479 | "@types/react-is" "^16.7.1 || ^17.0.0"
480 | prop-types "^15.8.1"
481 | react-is "^18.2.0"
482 |
483 | "@popperjs/core@^2.11.5":
484 | version "2.11.6"
485 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
486 | integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
487 |
488 | "@tauri-apps/api@1.0.1":
489 | version "1.0.1"
490 | resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.0.1.tgz#f516cf3b83139312141123c08f1d75260274da50"
491 | integrity sha512-TJwKkXxtF52kN9Auu5TWD2AE4ssqTrsfdpIrixYwRb3gQ/FuYwvZjrMc9weYpgsW2cMhVNkvKgneNXF/4n04lw==
492 | dependencies:
493 | type-fest "2.13.1"
494 |
495 | "@tauri-apps/api@^1.0.2":
496 | version "1.0.2"
497 | resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.0.2.tgz#5228720e35d50fd08df87067dc29e7306c1f7a10"
498 | integrity sha512-yuNW0oeJ1/ZA7wNF1KgxhHrSu5viPVzY/UgUczzN5ptLM8dH15Juy5rEGkoHfeXGju90Y/l22hi3BtIrp/za+w==
499 |
500 | "@tauri-apps/cli-darwin-arm64@1.0.5":
501 | version "1.0.5"
502 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.0.5.tgz#6fd17a8d9e0e7982b5c9887639407fdec783a744"
503 | integrity sha512-oxpFb9ZeMiC3xPUJ9NsXWCnnwFSVkPbJUvDKpc9IaoDIUpsMTV72W4P0Nh0uQRbyhx4modPpstt7+ONypNVYNg==
504 |
505 | "@tauri-apps/cli-darwin-x64@1.0.5":
506 | version "1.0.5"
507 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.0.5.tgz#6aaaadd68739c4c4f86546f3d17b2fb60a5a0c04"
508 | integrity sha512-hRNYC6L9edz2dEqK33tssPylF2ti6x6udidBlGWc5GSoeEb/05qKMEA1MESQYKBG+4q+wjJvACA2vvz6AfgJ3Q==
509 |
510 | "@tauri-apps/cli-linux-arm-gnueabihf@1.0.5":
511 | version "1.0.5"
512 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.0.5.tgz#d2d01c8b85ee3771656386bfda3852af8ed811da"
513 | integrity sha512-hc/Jp3TtFpxB8XVkLEwWy7MNcUBlS8rNCafQBUt4KSElXB+/oGo50jPO+wd5GSMSOR59UCzH08v11P0b+sAa/w==
514 |
515 | "@tauri-apps/cli-linux-arm64-gnu@1.0.5":
516 | version "1.0.5"
517 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.0.5.tgz#7ca848120c2e90b57188aaa9daee11cf29e2e2f4"
518 | integrity sha512-btFlkD2PG+yzJBZzWeJmyCy8ZV+iys2Jl66Fs4g9lSi3KrBDnyfQ26RpGZb2pRfkkcVP8/x1WSfByO+Rj+PTBA==
519 |
520 | "@tauri-apps/cli-linux-arm64-musl@1.0.5":
521 | version "1.0.5"
522 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.0.5.tgz#5ba65790849e0737f560f3ccd12f7a2a88c25b23"
523 | integrity sha512-p5JFdWab2AWhfgAZW/mgOLu+YiIJXKV0NdATGmdiBgQCMmz1k/FM8iOFApCgGbo3/zkR58cJ7Z7hyWmQ07M6Pw==
524 |
525 | "@tauri-apps/cli-linux-x64-gnu@1.0.5":
526 | version "1.0.5"
527 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.0.5.tgz#d06430c608316cb5a29ec805d4c5d078a293c3ae"
528 | integrity sha512-fOXR635AXxwSO7MCfBhMLnGpcg1H83XGw9ocuyg4jjvtE8QoYPwC4ksfb5lLhDVMui9iIKY93NAK3EkQiSGGmQ==
529 |
530 | "@tauri-apps/cli-linux-x64-musl@1.0.5":
531 | version "1.0.5"
532 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.0.5.tgz#813c90531f4001453e73b3ad2d4c75929412a249"
533 | integrity sha512-8be4zJVkuMs427JqONhFx5Ia5zWsQ5tbZXd80C3dHNL+5/3VIOK6nGQ0iijyZSLXiE9JKEH2jp1EHB+1TVJRcw==
534 |
535 | "@tauri-apps/cli-win32-ia32-msvc@1.0.5":
536 | version "1.0.5"
537 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.0.5.tgz#a3eb6f56c3f4ba35f6311e1fb31bd30e6892b316"
538 | integrity sha512-WpnIfzS1e4InGhvd1IDSKC3w6kbI5c6oJgMmtkMTBlhjhiZXhZmQF4XA784A5Y13pzsbXnbNJKOp8DuPVkoTRQ==
539 |
540 | "@tauri-apps/cli-win32-x64-msvc@1.0.5":
541 | version "1.0.5"
542 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.0.5.tgz#f1e0860166e8f86b550e35aaf22ef95d6da5a7c8"
543 | integrity sha512-8iEhVD3X4LZfrlxEPOV+mAj4QrJrEqKTICiJnwmgjvhYQOOsNHzg5kca7pcBbqcgorQOBydLpfGJtxWRusVPaw==
544 |
545 | "@tauri-apps/cli@^1.0.5":
546 | version "1.0.5"
547 | resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-1.0.5.tgz#a15a61e8467be29277b72707c4189c58c33d94bf"
548 | integrity sha512-vbY+MwK+xN65x0R/o16UQPxBtJl8pmzVzC0TZKokZfmeOkomoqOEOinSwznAMeyR1ZMJW+fXVgJCPvGsRQ0LGg==
549 | optionalDependencies:
550 | "@tauri-apps/cli-darwin-arm64" "1.0.5"
551 | "@tauri-apps/cli-darwin-x64" "1.0.5"
552 | "@tauri-apps/cli-linux-arm-gnueabihf" "1.0.5"
553 | "@tauri-apps/cli-linux-arm64-gnu" "1.0.5"
554 | "@tauri-apps/cli-linux-arm64-musl" "1.0.5"
555 | "@tauri-apps/cli-linux-x64-gnu" "1.0.5"
556 | "@tauri-apps/cli-linux-x64-musl" "1.0.5"
557 | "@tauri-apps/cli-win32-ia32-msvc" "1.0.5"
558 | "@tauri-apps/cli-win32-x64-msvc" "1.0.5"
559 |
560 | "@types/lodash@^4.14.182":
561 | version "4.14.182"
562 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2"
563 | integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
564 |
565 | "@types/parse-json@^4.0.0":
566 | version "4.0.0"
567 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
568 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
569 |
570 | "@types/prop-types@*", "@types/prop-types@^15.7.5":
571 | version "15.7.5"
572 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
573 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
574 |
575 | "@types/react-dom@^18.0.6":
576 | version "18.0.6"
577 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1"
578 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==
579 | dependencies:
580 | "@types/react" "*"
581 |
582 | "@types/react-is@^16.7.1 || ^17.0.0":
583 | version "17.0.3"
584 | resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a"
585 | integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==
586 | dependencies:
587 | "@types/react" "*"
588 |
589 | "@types/react-transition-group@^4.4.5":
590 | version "4.4.5"
591 | resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416"
592 | integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==
593 | dependencies:
594 | "@types/react" "*"
595 |
596 | "@types/react@*", "@types/react@^18.0.15":
597 | version "18.0.17"
598 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.17.tgz#4583d9c322d67efe4b39a935d223edcc7050ccf4"
599 | integrity sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==
600 | dependencies:
601 | "@types/prop-types" "*"
602 | "@types/scheduler" "*"
603 | csstype "^3.0.2"
604 |
605 | "@types/scheduler@*":
606 | version "0.16.2"
607 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
608 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
609 |
610 | "@vitejs/plugin-react@^2.0.0":
611 | version "2.0.1"
612 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.0.1.tgz#3197c01d8e4a4eb9fed829c7888c467a43aadd4e"
613 | integrity sha512-uINzNHmjrbunlFtyVkST6lY1ewSfz/XwLufG0PIqvLGnpk2nOIOa/1CACTDNcKi1/RwaCzJLmsXwm1NsUVV/NA==
614 | dependencies:
615 | "@babel/core" "^7.18.10"
616 | "@babel/plugin-transform-react-jsx" "^7.18.10"
617 | "@babel/plugin-transform-react-jsx-development" "^7.18.6"
618 | "@babel/plugin-transform-react-jsx-self" "^7.18.6"
619 | "@babel/plugin-transform-react-jsx-source" "^7.18.6"
620 | magic-string "^0.26.2"
621 | react-refresh "^0.14.0"
622 |
623 | ansi-styles@^3.2.1:
624 | version "3.2.1"
625 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
626 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
627 | dependencies:
628 | color-convert "^1.9.0"
629 |
630 | babel-plugin-macros@^3.1.0:
631 | version "3.1.0"
632 | resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
633 | integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
634 | dependencies:
635 | "@babel/runtime" "^7.12.5"
636 | cosmiconfig "^7.0.0"
637 | resolve "^1.19.0"
638 |
639 | browserslist@^4.20.2:
640 | version "4.21.3"
641 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
642 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
643 | dependencies:
644 | caniuse-lite "^1.0.30001370"
645 | electron-to-chromium "^1.4.202"
646 | node-releases "^2.0.6"
647 | update-browserslist-db "^1.0.5"
648 |
649 | callsites@^3.0.0:
650 | version "3.1.0"
651 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
652 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
653 |
654 | caniuse-lite@^1.0.30001370:
655 | version "1.0.30001376"
656 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001376.tgz#af2450833e5a06873fbb030a9556ca9461a2736d"
657 | integrity sha512-I27WhtOQ3X3v3it9gNs/oTpoE5KpwmqKR5oKPA8M0G7uMXh9Ty81Q904HpKUrM30ei7zfcL5jE7AXefgbOfMig==
658 |
659 | chalk@^2.0.0:
660 | version "2.4.2"
661 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
662 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
663 | dependencies:
664 | ansi-styles "^3.2.1"
665 | escape-string-regexp "^1.0.5"
666 | supports-color "^5.3.0"
667 |
668 | clsx@^1.2.1:
669 | version "1.2.1"
670 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
671 | integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
672 |
673 | color-convert@^1.9.0:
674 | version "1.9.3"
675 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
676 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
677 | dependencies:
678 | color-name "1.1.3"
679 |
680 | color-name@1.1.3:
681 | version "1.1.3"
682 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
683 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
684 |
685 | convert-source-map@^1.5.0, convert-source-map@^1.7.0:
686 | version "1.8.0"
687 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
688 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
689 | dependencies:
690 | safe-buffer "~5.1.1"
691 |
692 | cosmiconfig@^7.0.0:
693 | version "7.0.1"
694 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
695 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
696 | dependencies:
697 | "@types/parse-json" "^4.0.0"
698 | import-fresh "^3.2.1"
699 | parse-json "^5.0.0"
700 | path-type "^4.0.0"
701 | yaml "^1.10.0"
702 |
703 | csstype@^3.0.2, csstype@^3.1.0:
704 | version "3.1.0"
705 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2"
706 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
707 |
708 | debug@^4.1.0:
709 | version "4.3.4"
710 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
711 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
712 | dependencies:
713 | ms "2.1.2"
714 |
715 | dom-helpers@^5.0.1:
716 | version "5.2.1"
717 | resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
718 | integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
719 | dependencies:
720 | "@babel/runtime" "^7.8.7"
721 | csstype "^3.0.2"
722 |
723 | electron-to-chromium@^1.4.202:
724 | version "1.4.219"
725 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.219.tgz#a7a672304b6aa4f376918d3f63a47f2c3906009a"
726 | integrity sha512-zoQJsXOUw0ZA0YxbjkmzBumAJRtr6je5JySuL/bAoFs0DuLiLJ+5FzRF7/ZayihxR2QcewlRZVm5QZdUhwjOgA==
727 |
728 | error-ex@^1.3.1:
729 | version "1.3.2"
730 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
731 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
732 | dependencies:
733 | is-arrayish "^0.2.1"
734 |
735 | esbuild-android-64@0.14.54:
736 | version "0.14.54"
737 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
738 | integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
739 |
740 | esbuild-android-arm64@0.14.54:
741 | version "0.14.54"
742 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
743 | integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
744 |
745 | esbuild-darwin-64@0.14.54:
746 | version "0.14.54"
747 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
748 | integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
749 |
750 | esbuild-darwin-arm64@0.14.54:
751 | version "0.14.54"
752 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
753 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
754 |
755 | esbuild-freebsd-64@0.14.54:
756 | version "0.14.54"
757 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
758 | integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
759 |
760 | esbuild-freebsd-arm64@0.14.54:
761 | version "0.14.54"
762 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
763 | integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
764 |
765 | esbuild-linux-32@0.14.54:
766 | version "0.14.54"
767 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
768 | integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
769 |
770 | esbuild-linux-64@0.14.54:
771 | version "0.14.54"
772 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
773 | integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
774 |
775 | esbuild-linux-arm64@0.14.54:
776 | version "0.14.54"
777 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
778 | integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
779 |
780 | esbuild-linux-arm@0.14.54:
781 | version "0.14.54"
782 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
783 | integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
784 |
785 | esbuild-linux-mips64le@0.14.54:
786 | version "0.14.54"
787 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
788 | integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
789 |
790 | esbuild-linux-ppc64le@0.14.54:
791 | version "0.14.54"
792 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
793 | integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
794 |
795 | esbuild-linux-riscv64@0.14.54:
796 | version "0.14.54"
797 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
798 | integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
799 |
800 | esbuild-linux-s390x@0.14.54:
801 | version "0.14.54"
802 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
803 | integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
804 |
805 | esbuild-netbsd-64@0.14.54:
806 | version "0.14.54"
807 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
808 | integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
809 |
810 | esbuild-openbsd-64@0.14.54:
811 | version "0.14.54"
812 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
813 | integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
814 |
815 | esbuild-sunos-64@0.14.54:
816 | version "0.14.54"
817 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
818 | integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
819 |
820 | esbuild-windows-32@0.14.54:
821 | version "0.14.54"
822 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
823 | integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
824 |
825 | esbuild-windows-64@0.14.54:
826 | version "0.14.54"
827 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
828 | integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
829 |
830 | esbuild-windows-arm64@0.14.54:
831 | version "0.14.54"
832 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
833 | integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
834 |
835 | esbuild@^0.14.47:
836 | version "0.14.54"
837 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
838 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
839 | optionalDependencies:
840 | "@esbuild/linux-loong64" "0.14.54"
841 | esbuild-android-64 "0.14.54"
842 | esbuild-android-arm64 "0.14.54"
843 | esbuild-darwin-64 "0.14.54"
844 | esbuild-darwin-arm64 "0.14.54"
845 | esbuild-freebsd-64 "0.14.54"
846 | esbuild-freebsd-arm64 "0.14.54"
847 | esbuild-linux-32 "0.14.54"
848 | esbuild-linux-64 "0.14.54"
849 | esbuild-linux-arm "0.14.54"
850 | esbuild-linux-arm64 "0.14.54"
851 | esbuild-linux-mips64le "0.14.54"
852 | esbuild-linux-ppc64le "0.14.54"
853 | esbuild-linux-riscv64 "0.14.54"
854 | esbuild-linux-s390x "0.14.54"
855 | esbuild-netbsd-64 "0.14.54"
856 | esbuild-openbsd-64 "0.14.54"
857 | esbuild-sunos-64 "0.14.54"
858 | esbuild-windows-32 "0.14.54"
859 | esbuild-windows-64 "0.14.54"
860 | esbuild-windows-arm64 "0.14.54"
861 |
862 | escalade@^3.1.1:
863 | version "3.1.1"
864 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
865 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
866 |
867 | escape-string-regexp@^1.0.5:
868 | version "1.0.5"
869 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
870 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
871 |
872 | escape-string-regexp@^4.0.0:
873 | version "4.0.0"
874 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
875 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
876 |
877 | find-root@^1.1.0:
878 | version "1.1.0"
879 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
880 | integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
881 |
882 | fsevents@~2.3.2:
883 | version "2.3.2"
884 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
885 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
886 |
887 | function-bind@^1.1.1:
888 | version "1.1.1"
889 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
890 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
891 |
892 | gensync@^1.0.0-beta.2:
893 | version "1.0.0-beta.2"
894 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
895 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
896 |
897 | globals@^11.1.0:
898 | version "11.12.0"
899 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
900 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
901 |
902 | has-flag@^3.0.0:
903 | version "3.0.0"
904 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
905 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
906 |
907 | has@^1.0.3:
908 | version "1.0.3"
909 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
910 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
911 | dependencies:
912 | function-bind "^1.1.1"
913 |
914 | history@^5.2.0:
915 | version "5.3.0"
916 | resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
917 | integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
918 | dependencies:
919 | "@babel/runtime" "^7.7.6"
920 |
921 | hoist-non-react-statics@^3.3.1:
922 | version "3.3.2"
923 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
924 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
925 | dependencies:
926 | react-is "^16.7.0"
927 |
928 | import-fresh@^3.2.1:
929 | version "3.3.0"
930 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
931 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
932 | dependencies:
933 | parent-module "^1.0.0"
934 | resolve-from "^4.0.0"
935 |
936 | is-arrayish@^0.2.1:
937 | version "0.2.1"
938 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
939 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
940 |
941 | is-core-module@^2.9.0:
942 | version "2.10.0"
943 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
944 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
945 | dependencies:
946 | has "^1.0.3"
947 |
948 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
949 | version "4.0.0"
950 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
951 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
952 |
953 | jsesc@^2.5.1:
954 | version "2.5.2"
955 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
956 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
957 |
958 | json-parse-even-better-errors@^2.3.0:
959 | version "2.3.1"
960 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
961 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
962 |
963 | json5@^2.2.1:
964 | version "2.2.1"
965 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
966 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
967 |
968 | lines-and-columns@^1.1.6:
969 | version "1.2.4"
970 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
971 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
972 |
973 | lodash@^4.17.21:
974 | version "4.17.21"
975 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
976 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
977 |
978 | loose-envify@^1.1.0, loose-envify@^1.4.0:
979 | version "1.4.0"
980 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
981 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
982 | dependencies:
983 | js-tokens "^3.0.0 || ^4.0.0"
984 |
985 | magic-string@^0.26.2:
986 | version "0.26.2"
987 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
988 | integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
989 | dependencies:
990 | sourcemap-codec "^1.4.8"
991 |
992 | ms@2.1.2:
993 | version "2.1.2"
994 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
995 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
996 |
997 | nanoid@^3.3.4:
998 | version "3.3.4"
999 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
1000 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
1001 |
1002 | node-releases@^2.0.6:
1003 | version "2.0.6"
1004 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
1005 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
1006 |
1007 | object-assign@^4.1.1:
1008 | version "4.1.1"
1009 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1010 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1011 |
1012 | parent-module@^1.0.0:
1013 | version "1.0.1"
1014 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1015 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1016 | dependencies:
1017 | callsites "^3.0.0"
1018 |
1019 | parse-json@^5.0.0:
1020 | version "5.2.0"
1021 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
1022 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
1023 | dependencies:
1024 | "@babel/code-frame" "^7.0.0"
1025 | error-ex "^1.3.1"
1026 | json-parse-even-better-errors "^2.3.0"
1027 | lines-and-columns "^1.1.6"
1028 |
1029 | path-parse@^1.0.7:
1030 | version "1.0.7"
1031 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1032 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1033 |
1034 | path-type@^4.0.0:
1035 | version "4.0.0"
1036 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1037 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1038 |
1039 | picocolors@^1.0.0:
1040 | version "1.0.0"
1041 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1042 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1043 |
1044 | postcss@^8.4.16:
1045 | version "8.4.16"
1046 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
1047 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
1048 | dependencies:
1049 | nanoid "^3.3.4"
1050 | picocolors "^1.0.0"
1051 | source-map-js "^1.0.2"
1052 |
1053 | prop-types@^15.6.2, prop-types@^15.8.1:
1054 | version "15.8.1"
1055 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
1056 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
1057 | dependencies:
1058 | loose-envify "^1.4.0"
1059 | object-assign "^4.1.1"
1060 | react-is "^16.13.1"
1061 |
1062 | react-dom@^18.2.0:
1063 | version "18.2.0"
1064 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
1065 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1066 | dependencies:
1067 | loose-envify "^1.1.0"
1068 | scheduler "^0.23.0"
1069 |
1070 | react-is@^16.13.1, react-is@^16.7.0:
1071 | version "16.13.1"
1072 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
1073 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1074 |
1075 | react-is@^18.2.0:
1076 | version "18.2.0"
1077 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
1078 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
1079 |
1080 | react-refresh@^0.14.0:
1081 | version "0.14.0"
1082 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
1083 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1084 |
1085 | react-router-dom@6:
1086 | version "6.3.0"
1087 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d"
1088 | integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==
1089 | dependencies:
1090 | history "^5.2.0"
1091 | react-router "6.3.0"
1092 |
1093 | react-router@6.3.0:
1094 | version "6.3.0"
1095 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557"
1096 | integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==
1097 | dependencies:
1098 | history "^5.2.0"
1099 |
1100 | react-transition-group@^4.4.5:
1101 | version "4.4.5"
1102 | resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
1103 | integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
1104 | dependencies:
1105 | "@babel/runtime" "^7.5.5"
1106 | dom-helpers "^5.0.1"
1107 | loose-envify "^1.4.0"
1108 | prop-types "^15.6.2"
1109 |
1110 | react@^18.2.0:
1111 | version "18.2.0"
1112 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
1113 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1114 | dependencies:
1115 | loose-envify "^1.1.0"
1116 |
1117 | regenerator-runtime@^0.13.4:
1118 | version "0.13.9"
1119 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
1120 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
1121 |
1122 | resolve-from@^4.0.0:
1123 | version "4.0.0"
1124 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1125 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1126 |
1127 | resolve@^1.19.0, resolve@^1.22.1:
1128 | version "1.22.1"
1129 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
1130 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
1131 | dependencies:
1132 | is-core-module "^2.9.0"
1133 | path-parse "^1.0.7"
1134 | supports-preserve-symlinks-flag "^1.0.0"
1135 |
1136 | "rollup@>=2.75.6 <2.77.0 || ~2.77.0":
1137 | version "2.77.3"
1138 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12"
1139 | integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==
1140 | optionalDependencies:
1141 | fsevents "~2.3.2"
1142 |
1143 | safe-buffer@~5.1.1:
1144 | version "5.1.2"
1145 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1146 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1147 |
1148 | scheduler@^0.23.0:
1149 | version "0.23.0"
1150 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
1151 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1152 | dependencies:
1153 | loose-envify "^1.1.0"
1154 |
1155 | semver@^6.3.0:
1156 | version "6.3.0"
1157 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1158 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1159 |
1160 | source-map-js@^1.0.2:
1161 | version "1.0.2"
1162 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1163 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1164 |
1165 | source-map@^0.5.7:
1166 | version "0.5.7"
1167 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
1168 | integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
1169 |
1170 | sourcemap-codec@^1.4.8:
1171 | version "1.4.8"
1172 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
1173 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1174 |
1175 | stylis@4.0.13:
1176 | version "4.0.13"
1177 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
1178 | integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
1179 |
1180 | supports-color@^5.3.0:
1181 | version "5.5.0"
1182 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1183 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1184 | dependencies:
1185 | has-flag "^3.0.0"
1186 |
1187 | supports-preserve-symlinks-flag@^1.0.0:
1188 | version "1.0.0"
1189 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1190 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1191 |
1192 | "tauri-plugin-store-api@https://github.com/tauri-apps/tauri-plugin-store#dev":
1193 | version "0.1.0"
1194 | resolved "https://github.com/tauri-apps/tauri-plugin-store#ce109ff53b43f036ea39cdc3f7c44d582f910270"
1195 | dependencies:
1196 | "@tauri-apps/api" "1.0.1"
1197 | tslib "2.4.0"
1198 |
1199 | to-fast-properties@^2.0.0:
1200 | version "2.0.0"
1201 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1202 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1203 |
1204 | tslib@2.4.0:
1205 | version "2.4.0"
1206 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
1207 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
1208 |
1209 | type-fest@2.13.1:
1210 | version "2.13.1"
1211 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.13.1.tgz#621c84220df0e01a8469002594fc005714f0cfba"
1212 | integrity sha512-hXYyrPFwETT2swFLHeoKtJrvSF/ftG/sA15/8nGaLuaDGfVAaq8DYFpu4yOyV4tzp082WqnTEoMsm3flKMI2FQ==
1213 |
1214 | typescript@^4.6.4:
1215 | version "4.7.4"
1216 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
1217 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
1218 |
1219 | update-browserslist-db@^1.0.5:
1220 | version "1.0.5"
1221 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
1222 | integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==
1223 | dependencies:
1224 | escalade "^3.1.1"
1225 | picocolors "^1.0.0"
1226 |
1227 | use-sync-external-store@1.2.0:
1228 | version "1.2.0"
1229 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
1230 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
1231 |
1232 | vite@^3.0.0:
1233 | version "3.0.7"
1234 | resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.7.tgz#f1e379857e9c5d652126f8b20d371e1365eb700f"
1235 | integrity sha512-dILhvKba1mbP1wCezVQx/qhEK7/+jVn9ciadEcyKMMhZpsuAi/eWZfJRMkmYlkSFG7Qq9NvJbgFq4XOBxugJsA==
1236 | dependencies:
1237 | esbuild "^0.14.47"
1238 | postcss "^8.4.16"
1239 | resolve "^1.22.1"
1240 | rollup ">=2.75.6 <2.77.0 || ~2.77.0"
1241 | optionalDependencies:
1242 | fsevents "~2.3.2"
1243 |
1244 | yaml@^1.10.0:
1245 | version "1.10.2"
1246 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
1247 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1248 |
1249 | zustand@^4.0.0:
1250 | version "4.0.0"
1251 | resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.0.0.tgz#739cba69209ffe67b31e7d6741c25b51496114a7"
1252 | integrity sha512-OrsfQTnRXF1LZ9/vR/IqN9ws5EXUhb149xmPjErZnUrkgxS/gAHGy2dPNIVkVvoxrVe1sIydn4JjF0dYHmGeeQ==
1253 | dependencies:
1254 | use-sync-external-store "1.2.0"
1255 |
--------------------------------------------------------------------------------