diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ea69a8e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,35 @@ +node_modules/ +dist/ +out/ +build/ +public/build/ +.vite/ +.vitepress/ +.cache/ +.tmp/ +coverage/ +reports/ +jest/ +cypress/ +cypress/screenshots/ +cypress/videos/ +*.env* +!.env.production +*.local +*.log +*.tsbuildinfo +.vscode/ +.idea/ +*.swp +.DS_Store +Thumbs.db +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +.git/ +.gitignore +Dockerfile +.dockerignore +docker-compose.yml +docker-compose.override.yml \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..10a6cb2 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +VITE_API_URL=http://localhost:3000 +VITE_MEDIA_URL=http://localhost:9001 \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..36f57f8 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,30 @@ +name: ci + +on: + push: + branches: [main] + pull_request: + branches: [main] + types: [opened, synchronize, reopened] + +jobs: + build-test-deploy: + name: Build & Deploy + runs-on: ubuntu-latest + + steps: + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: registry.patchcord.org + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and Push Production Image + uses: docker/build-push-action@v6 + with: + push: true + tags: registry.patchcord.org/${{ secrets.REGISTRY_USERNAME }}/${{ github.event.repository.name }}:latest diff --git a/.gitignore b/.gitignore index 9a5aced..bcd8e3c 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,6 @@ dist # Vite logs files vite.config.js.timestamp-* vite.config.ts.timestamp-* + +*storybook.log +storybook-static diff --git a/.storybook/main.ts b/.storybook/main.ts new file mode 100644 index 0000000..d0ca1a2 --- /dev/null +++ b/.storybook/main.ts @@ -0,0 +1,11 @@ +import type { StorybookConfig } from '@storybook/vue3-vite' + +const config: StorybookConfig = { + stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [], + framework: { + name: '@storybook/vue3-vite', + options: {}, + }, +} +export default config diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html new file mode 100644 index 0000000..3117bf6 --- /dev/null +++ b/.storybook/preview-head.html @@ -0,0 +1,13 @@ + + + + + + diff --git a/.storybook/preview.ts b/.storybook/preview.ts new file mode 100644 index 0000000..5b1272f --- /dev/null +++ b/.storybook/preview.ts @@ -0,0 +1,16 @@ +import type { Preview } from '@storybook/vue3-vite' + +import '@/app/styles/index.scss' + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +} + +export default preview diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 0000000..62a8c68 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,249 @@ +{ + "extends": ["stylelint-config-standard"], + "plugins": ["stylelint-order"], + "overrides": [ + { + "files": ["*.scss", "**/*.scss"], + "extends": ["stylelint-config-standard-scss"] + }, + { + "files": ["*.vue", "**/*.vue"], + "extends": ["stylelint-config-standard-scss", "stylelint-config-standard-vue/scss"] + } + ], + "rules": { + "order/properties-order": [ + { + "groupName": "scss", + "properties": ["$variable", "@mixin", "@include"] + }, + { + "groupName": "topLevel", + "properties": ["content", "position", "top", "right", "bottom", "left", "z-index"] + }, + { + "groupName": "elementProperties", + "properties": [ + "display", + "flex", + "flex-basis", + "flex-direction", + "flex-flow", + "flex-grow", + "flex-shrink", + "flex-wrap", + "grid", + "grid-area", + "grid-auto-rows", + "grid-auto-columns", + "grid-auto-flow", + "grid-gap", + "grid-row", + "grid-row-start", + "grid-row-end", + "grid-column", + "grid-column-start", + "grid-column-end", + "grid-template", + "grid-template-areas", + "grid-template-rows", + "grid-template-columns", + "gap", + "row-gap", + "column-gap", + "align-content", + "align-items", + "align-self", + "justify-content", + "justify-items", + "justify-self", + "order", + "float", + "clear", + "object-fit", + "object-position", + "overflow", + "overflow-x", + "overflow-y", + "overflow-scrolling", + "clip" + ] + }, + { + "groupName": "box", + "properties": [ + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "box-sizing" + ] + }, + { + "groupName": "typography", + "properties": [ + "color", + "font", + "font-family", + "font-size", + "font-size-adjust", + "font-stretch", + "font-weight", + "font-smoothing", + "osx-font-smoothing", + "font-variant", + "font-style", + "src", + "line-height", + "letter-spacing", + "quotes", + "counter-increment", + "counter-reset", + "vertical-align", + "list-style", + "list-style-type", + "list-style-position", + "list-style-image", + "page-break-after", + "page-break-before", + "page-break-inside", + "text-align", + "text-align-last", + "text-decoration", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-indent", + "text-justify", + "text-outline", + "text-transform", + "text-wrap", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-shadow", + "white-space", + "word-spacing", + "word-wrap", + "word-break", + "tab-size", + "hyphens", + "caption-side" + ] + }, + { + "groupName": "border", + "properties": [ + "border", + "border-top", + "border-right", + "border-bottom", + "border-left", + "border-width", + "border-top-width", + "border-right-width", + "border-bottom-width", + "border-left-width", + "border-style", + "border-top-style", + "border-right-style", + "border-bottom-style", + "border-left-style", + "border-color", + "border-top-color", + "border-right-color", + "border-bottom-color", + "border-left-color", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-image", + "border-image-source", + "border-image-slice", + "border-image-width", + "border-image-outset", + "border-image-repeat", + "border-collapse", + "border-spacing" + ] + }, + { + "groupName": "visuals", + "properties": [ + "background", + "background-attachment", + "background-clip", + "background-color", + "background-image", + "background-origin", + "background-position", + "background-repeat", + "background-size", + "box-shadow", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + "table-layout", + "empty-cells", + "opacity", + "visibility", + "size", + "zoom" + ] + }, + { + "groupName": "style", + "properties": ["appearance", "cursor", "pointer-events"] + }, + { + "groupName": "clip", + "properties": ["backdrop-filter", "clip", "clip-path", "mask"] + }, + { + "groupName": "misc", + "properties": ["resize", "touch-action"] + }, + { + "groupName": "animations", + "properties": [ + "transform", + "transform-box", + "transform-origin", + "transform-style", + "transition", + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function", + "animation", + "animation-name", + "animation-duration", + "animation-timing-function", + "animation-delay", + "animation-iteration-count", + "animation-direction", + "animation-fill-mode", + "animation-play-state", + "will-change" + ] + } + ] + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 608ad9b..d723d50 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,11 +3,21 @@ "explorer.fileNesting.patterns": { "tsconfig.json": "tsconfig.*.json, env.d.ts", "vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*", - "package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .prettier*, prettier*, .editorconfig" + "package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .prettier*, prettier*, .editorconfig, .stylelintrc" }, "editor.codeActionsOnSave": { "source.fixAll": "explicit" }, "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" -} + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[css]": { + "editor.defaultFormatter": "vscode.css-language-features" + }, + "cSpell.words": [ + "patchcord", + "pinia", + "statuspage", + "Topbar", + "vnode" + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2089146 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:25-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +FROM nginx:1.29-alpine AS runner +RUN chown -R nginx:nginx /var/cache/nginx /var/log/nginx /etc/nginx/conf.d +RUN touch /var/run/nginx.pid && chown -R nginx:nginx /var/run/nginx.pid +COPY --chown=nginx:nginx nginx.conf /etc/nginx/nginx.conf +COPY --chown=nginx:nginx --from=builder /app/dist /usr/share/nginx/html +USER nginx +EXPOSE 8080 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/eslint.config.ts b/eslint.config.ts index a88d844..5226dc7 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,3 +1,6 @@ +// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format +import storybook from 'eslint-plugin-storybook' + import { globalIgnores } from 'eslint/config' import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' import pluginVue from 'eslint-plugin-vue' @@ -19,21 +22,18 @@ export default defineConfigWithVueTs( }, globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), - + storybook.configs['flat/recommended'], pluginVue.configs['flat/essential'], vueTsConfigs.recommended, - + { ...pluginVitest.configs.recommended, files: ['src/**/__tests__/*'], }, - + { ...pluginCypress.configs.recommended, - files: [ - 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', - 'cypress/support/**/*.{js,ts,jsx,tsx}' - ], + files: ['cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', 'cypress/support/**/*.{js,ts,jsx,tsx}'], }, skipFormatting, ) diff --git a/index.html b/index.html index 9e5fc8f..83d468b 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,87 @@ - - + + - - - - Vite App + + + + Patchcord + + + + + + + + + + + + + + + + + + + + + + + + + + -
+
+ +
+ + + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..3648b30 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,55 @@ +worker_processes auto; +pid /tmp/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + charset utf-8; + + access_log off; + error_log /dev/stderr warn; + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + keepalive_requests 1000; + + gzip on; + gzip_comp_level 6; + gzip_proxied any; + gzip_min_length 256; + gzip_vary on; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; + + server { + listen 8080; + server_name localhost; + + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } + + location ~* \.(?:ico|css|js|gif|jpe?g|png|woff2?|eot|ttf|svg|map)$ { + expires 1y; + access_log off; + add_header Cache-Control "public, immutable"; + add_header X-Content-Type-Options nosniff; + } + + location /assets/ { + expires 1y; + add_header Cache-Control "public, immutable"; + add_header X-Content-Type-Options nosniff; + } + + error_page 404 /index.html; + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fb46ffc --- /dev/null +++ b/package-lock.json @@ -0,0 +1,12348 @@ +{ + "name": "patchcord", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "patchcord", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@floating-ui/vue": "^1.1.10", + "@vee-validate/zod": "^4.15.1", + "mediasoup-client": "^3.18.7", + "pinia": "^3.0.3", + "socket.io-client": "^4.8.3", + "vue": "^3.5.22", + "vue-router": "^4.6.3", + "zod": "^3.24.0" + }, + "devDependencies": { + "@storybook/vue3-vite": "^10.0.8", + "@tsconfig/node22": "^22.0.2", + "@types/jsdom": "^27.0.0", + "@vitejs/plugin-vue": "^6.0.1", + "@vitest/eslint-plugin": "^1.3.23", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.8.1", + "cypress": "^15.5.0", + "eslint": "^9.37.0", + "eslint-plugin-cypress": "^5.2.0", + "eslint-plugin-storybook": "^10.0.8", + "eslint-plugin-vue": "~10.5.0", + "jiti": "^2.6.1", + "jsdom": "^27.0.1", + "npm-run-all2": "^8.0.4", + "prettier": "3.6.2", + "sass-embedded": "^1.93.3", + "start-server-and-test": "^2.1.2", + "storybook": "^10.0.8", + "stylelint": "^16.25.0", + "stylelint-config-standard": "^39.0.1", + "stylelint-config-standard-scss": "^16.0.0", + "stylelint-config-standard-vue": "^1.0.0", + "stylelint-order": "^7.0.0", + "typescript": "~5.9.0", + "vite": "^7.1.11", + "vite-plugin-vue-devtools": "^8.0.3", + "vitest": "^3.2.4", + "vue-tsc": "^3.1.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@acemir/cssom": { + "version": "0.9.23", + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.23.tgz", + "integrity": "sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@asamuzakjp/css-color": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.0.tgz", + "integrity": "sha512-9xiBAtLn4aNsa4mDnpovJvBn72tNEIACyvlqaNJ+ADemR+yeMJWnBudOi2qGDviJa7SwcDOU/TRh5dnET7qk0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "lru-cache": "^11.2.2" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.4.tgz", + "integrity": "sha512-buQDjkm+wDPXd6c13534URWZqbz0RP5PAhXZ+LIoa5LgwInT9HVJvGIJivg75vi8I13CxDGdTnz+aY5YUJlIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.1.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.2" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.10.1.tgz", + "integrity": "sha512-ckS3+vyJb5qGpEYv/s1OebUHDi/xSNtfgw1wqKZo7MR9F2z+qXr0q5XagafAG/9O0QPVIUfST0smluYSTpYFkg==", + "dev": true, + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@cacheable/memory": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.5.tgz", + "integrity": "sha512-fkiAxCvssEyJZ5fxX4tcdZFRmW9JehSTGvvqmXn6rTzG5cH6V/3C4ad8yb01vOjp2xBydHkHrgpW0qeGtzt6VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/utils": "^2.3.0", + "@keyv/bigmap": "^1.1.0", + "hookified": "^1.12.2", + "keyv": "^5.5.4" + } + }, + "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.0.tgz", + "integrity": "sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hashery": "^1.2.0", + "hookified": "^1.13.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "keyv": "^5.5.4" + } + }, + "node_modules/@cacheable/memory/node_modules/keyv": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", + "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/@cacheable/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-38NJXjIr4W1Sghun8ju+uYWD8h2c61B4dKwfnQHVDFpAJ9oS28RpfqZQJ6Dgd3RceGkILDY9YT+72HJR3LoeSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hashery": "^1.2.0", + "keyv": "^5.5.4" + } + }, + "node_modules/@cacheable/utils/node_modules/keyv": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", + "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.16.tgz", + "integrity": "sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~4.0.4", + "http-signature": "~1.4.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.14.1", + "safe-buffer": "^5.1.2", + "tough-cookie": "^5.0.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz", + "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/JounQin" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@floating-ui/vue": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.10.tgz", + "integrity": "sha512-vdf8f6rHnFPPLRsmL4p12wYl+Ux4mOJOkjzKEMYVnwdf7UFdvBtHlLvQyx8iKG5vhPRbDRgZxdtpmyigDPjzYg==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.5", + "@floating-ui/utils": "^0.2.10", + "vue-demi": ">=0.13.0" + } + }, + "node_modules/@floating-ui/vue/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.4.tgz", + "integrity": "sha512-Fq+20dxsxLaUn5jSSWrdtSRcIUba2JquuorF9UW1wIJS5cSUwxIsO2GIhaWynPRflvxSzFN+gxKte2HEW1OuoA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz", + "integrity": "sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/builder-vite": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.0.8.tgz", + "integrity": "sha512-kaf/pUENzXxYgQMHGGPNiIk1ieb+SOMuSeLKx8wAUOlQOrzhtSH+ItACW/l43t+O6YZ8jYHoNBMF1kdQ1+Y5+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/csf-plugin": "10.0.8", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^10.0.8", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@storybook/csf-plugin": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.0.8.tgz", + "integrity": "sha512-OtLUWHIm3SDGtclQn6Mdd/YsWizLBgdEBRAdekGtwI/TvICfT7gpWYIycP53v2t9ufu2MIXjsxtV2maZKs8sZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "unplugin": "^2.3.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "esbuild": "*", + "rollup": "*", + "storybook": "^10.0.8", + "vite": "*", + "webpack": "*" + }, + "peerDependenciesMeta": { + "esbuild": { + "optional": true + }, + "rollup": { + "optional": true + }, + "vite": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/icons": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-2.0.1.tgz", + "integrity": "sha512-/smVjw88yK3CKsiuR71vNgWQ9+NuY2L+e8X7IMrFjexjm6ZR8ULrV2DRkTA61aV6ryefslzHEGDInGpnNeIocg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@storybook/vue3": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-10.0.8.tgz", + "integrity": "sha512-h7ztNeAemf3yXQIetkbKAv8l5JkuXC65TmpAYTZYZpWUof/uuAnMF4rXQlRnS6Nd2PRfA9mZGGlGxNDCm3StlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/global": "^5.0.0", + "type-fest": "~2.19", + "vue-component-type-helpers": "latest" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^10.0.8", + "vue": "^3.0.0" + } + }, + "node_modules/@storybook/vue3-vite": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-10.0.8.tgz", + "integrity": "sha512-Bdum0SssJAbvwKfbKvTMEkpc9zapMG/GODxzqWO7XuycOZWrR0FPvj13y1gBhv0y66jBHMbtsLQ76uTyNFslIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/builder-vite": "10.0.8", + "@storybook/vue3": "10.0.8", + "magic-string": "^0.30.0", + "typescript": "^5.8.3", + "vue-component-meta": "^2.0.0", + "vue-docgen-api": "^4.75.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^10.0.8", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.5", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.5.tgz", + "integrity": "sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/events-alias": { + "name": "@types/events", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.3.tgz", + "integrity": "sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==", + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-27.0.0.tgz", + "integrity": "sha512-NZyFl/PViwKzdEkQg96gtnB8wm+1ljhdDay9ahn4hgb+SfVtPCbm3TlmDUFXTA+MGN3CijicnMhG18SI5H3rFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", + "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sizzle": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz", + "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", + "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/type-utils": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.47.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", + "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", + "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.47.0", + "@typescript-eslint/types": "^8.47.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", + "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", + "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", + "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", + "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", + "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.47.0", + "@typescript-eslint/tsconfig-utils": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", + "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", + "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vee-validate/zod": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@vee-validate/zod/-/zod-4.15.1.tgz", + "integrity": "sha512-329Z4TDBE5Vx0FdbA8S4eR9iGCFFUNGbxjpQ20ff5b5wGueScjocUIx9JHPa79LTG06RnlUR4XogQsjN4tecKA==", + "license": "MIT", + "dependencies": { + "type-fest": "^4.8.3", + "vee-validate": "4.15.1" + }, + "peerDependencies": { + "zod": "^3.24.0" + } + }, + "node_modules/@vee-validate/zod/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.2.tgz", + "integrity": "sha512-iHmwV3QcVGGvSC1BG5bZ4z6iwa1SOpAPWmnjOErd4Ske+lZua5K9TtAVdx0gMBClJ28DViCbSmZitjWZsWO3LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.50" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/eslint-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.4.3.tgz", + "integrity": "sha512-ba+YDKyZdViNAOg8P86a9tIEawPA/O+nLbwhg8g7nkqsLOAVum6GoZhkNxgwX621oqWAbB8N2xb+G5kkpXehcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "^8.46.1", + "@typescript-eslint/utils": "^8.46.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": ">=8.57.0", + "typescript": ">=5.0.0", + "vitest": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.15.tgz", + "integrity": "sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.15" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.15.tgz", + "integrity": "sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.15.tgz", + "integrity": "sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.15", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.24.tgz", + "integrity": "sha512-eDl5H57AOpNakGNAkFDH+y7kTqrQpJkZFXhWZQGyx/5Wh7B1uQYvcWkvZi11BDhscPgj8N7XV3oRwiPnx1Vrig==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.24", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.24.tgz", + "integrity": "sha512-1QHGAvs53gXkWdd3ZMGYuvQFXHW4ksKWPG8HP8/2BscrbZ0brw183q2oNWjMrSWImYLHxHrx1ItBQr50I/q2zw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.24", + "@vue/shared": "3.5.24" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.24.tgz", + "integrity": "sha512-8EG5YPRgmTB+YxYBM3VXy8zHD9SWHUJLIGPhDovo3Z8VOgvP+O7UP5vl0J4BBPWYD9vxtBabzW1EuEZ+Cqs14g==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.24", + "@vue/compiler-dom": "3.5.24", + "@vue/compiler-ssr": "3.5.24", + "@vue/shared": "3.5.24", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.24.tgz", + "integrity": "sha512-trOvMWNBMQ/odMRHW7Ae1CdfYx+7MuiQu62Jtu36gMLXcaoqKvAyh+P73sYG9ll+6jLB6QPovqoKGGZROzkFFg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.24", + "@vue/shared": "3.5.24" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-core": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.5.tgz", + "integrity": "sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "mitt": "^3.0.1", + "nanoid": "^5.1.5", + "pathe": "^2.0.3", + "vite-hot-client": "^2.1.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-core/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-core/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", + "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2" + }, + "peerDependencies": { + "eslint": ">= 8.21.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.6.0.tgz", + "integrity": "sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.35.1", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.35.1", + "vue-eslint-parser": "^10.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0", + "eslint-plugin-vue": "^9.28.0 || ^10.0.0", + "typescript": ">=4.8.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.12.tgz", + "integrity": "sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.15", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.24.tgz", + "integrity": "sha512-BM8kBhtlkkbnyl4q+HiF5R5BL0ycDPfihowulm02q3WYp2vxgPcJuZO866qa/0u3idbMntKEtVNuAUp5bw4teg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.24" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.24.tgz", + "integrity": "sha512-RYP/byyKDgNIqfX/gNb2PB55dJmM97jc9wyF3jK7QUInYKypK2exmZMNwnjueWwGceEkP6NChd3D2ZVEp9undQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.24", + "@vue/shared": "3.5.24" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.24.tgz", + "integrity": "sha512-Z8ANhr/i0XIluonHVjbUkjvn+CyrxbXRIxR7wn7+X7xlcb7dJsfITZbkVOeJZdP8VZwfrWRsWdShH6pngMxRjw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.24", + "@vue/runtime-core": "3.5.24", + "@vue/shared": "3.5.24", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.24.tgz", + "integrity": "sha512-Yh2j2Y4G/0/4z/xJ1Bad4mxaAk++C2v4kaa8oSYTMJBJ00/ndPuxCnWeot0/7/qafQFLh5pr6xeV6SdMcE/G1w==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.24", + "@vue/shared": "3.5.24" + }, + "peerDependencies": { + "vue": "3.5.24" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.24.tgz", + "integrity": "sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==", + "license": "MIT" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", + "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^2.0.0" + } + }, + "node_modules/@vue/test-utils/node_modules/vue-component-type-helpers": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz", + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-never": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.4.0.tgz", + "integrity": "sha512-5oJg84os6NMQNl27T9LnZkvvqzvAnHu03ShCnoj6bsJwS7L8AO4lf+C/XjK/nvzEqQB744moC6V128RucQd1jA==", + "dev": true, + "license": "MIT" + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/awaitqueue": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/awaitqueue/-/awaitqueue-3.3.0.tgz", + "integrity": "sha512-zLxDhzQbzHmOyvxi7g3OlfR7jLrcmElStPxfLPpJkrFSDm71RSrY/MvsDA8Btlx8X1nOHUzGhQvc6bdUjL2f2w==", + "license": "ISC", + "dependencies": { + "debug": "^4.4.3" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mediasoup" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.30", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.30.tgz", + "integrity": "sha512-aTUKW4ptQhS64+v2d6IkPzymEzzhw+G0bA1g3uBRV3+ntkH+svttKseW5IOR4Ed6NUVKqnY7qT3dKvzQ7io4AA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/birpc": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.8.0.tgz", + "integrity": "sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-builder": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", + "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", + "dev": true, + "license": "MIT/X11" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.2.0.tgz", + "integrity": "sha512-LEJxRqfeomiiRd2t0uON6hxAtgOoWDfY3fugebbz+J3vDLO+SkdfFChQcOHTZhj9SYa9iwE9MGYNX72dKiOE4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/memory": "^2.0.5", + "@cacheable/utils": "^2.3.0", + "hookified": "^1.13.0", + "keyv": "^5.5.4", + "qified": "^0.5.2" + } + }, + "node_modules/cacheable/node_modules/keyv": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", + "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001756", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", + "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/chai": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "1.4.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.3.tgz", + "integrity": "sha512-OytmFH+13/QXONJcC75QNdMtKpceNk3u8ThBjyyYjkEcy/ekBwR1mMAuNvi3gdBPW3N5TlCzQ0WZw8H0lN/bDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^4.0.3", + "@csstools/css-syntax-patches-for-csstree": "^1.0.14", + "css-tree": "^3.1.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/cypress": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.9.0.tgz", + "integrity": "sha512-Ks6Bdilz3TtkLZtTQyqYaqtL/WT3X3APKaSLhTV96TmTyudzSjc6EJsJCHmBb7DxO+3R12q3Jkbjgm/iPgmwfg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@cypress/request": "^3.0.10", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "@types/tmp": "^0.2.3", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "ci-info": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-table3": "0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "hasha": "5.2.2", + "is-installed-globally": "~0.4.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "supports-color": "^8.1.1", + "systeminformation": "^5.27.14", + "tmp": "~0.2.4", + "tree-kill": "1.2.2", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^20.1.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.0.tgz", + "integrity": "sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^15.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.258", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.258.tgz", + "integrity": "sha512-rHUggNV5jKQ0sSdWwlaRDkFc3/rRJIVnOSe9yR4zrR07m3ZxhP4N27Hlg8VeJGGYgFTxK5NqDmWI4DSH72vIJg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.4.tgz", + "integrity": "sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.18.3", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", + "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-cypress": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-5.2.0.tgz", + "integrity": "sha512-vuCUBQloUSILxtJrUWV39vNIQPlbg0L7cTunEAzvaUzv9LFZZym+KFLH18n9j2cZuFPdlxOqTubCvg5se0DyGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "globals": "^16.2.0" + }, + "peerDependencies": { + "eslint": ">=9" + } + }, + "node_modules/eslint-plugin-cypress/node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-storybook": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-10.0.8.tgz", + "integrity": "sha512-ZKEMFhF/z/HRVvIgnEIYG2uAqmuLbkebUdHH3DpGHE64GPgk+KozcpqnD6zNk5vJ407bFmcWsGinBc2zi74f0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.8.1" + }, + "peerDependencies": { + "eslint": ">=8", + "storybook": "^10.0.8" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.5.1.tgz", + "integrity": "sha512-SbR9ZBUFKgvWAbq3RrdCtWaW0IKm6wwUiApxf3BVTNfqUIo4IQQmreMg2iHFJJ6C/0wss3LXURBJ1OwS/MhFcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "vue-eslint-parser": "^10.0.0" + }, + "peerDependenciesMeta": { + "@stylistic/eslint-plugin": { + "optional": true + }, + "@typescript-eslint/parser": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/esm-resolve": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/esm-resolve/-/esm-resolve-1.0.11.tgz", + "integrity": "sha512-LxF0wfUQm3ldUDHkkV2MIbvvY0TgzIpJ420jHSV1Dm+IlplBEWiJTKWM61GtxUfvjV6iD4OtTYFGAGM2uuIUWg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/events-alias": { + "name": "events", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "node_modules/fake-mediastreamtrack": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fake-mediastreamtrack/-/fake-mediastreamtrack-2.2.1.tgz", + "integrity": "sha512-SITLc7UTDirSdgLGORrlmqjWLJtbtfIz/xO7DwVbJH3f0ds+NQok4ccl/WEzz49NSgiUlXf2wDW0+y5C+TO6EA==", + "license": "ISC", + "dependencies": { + "@lukeed/uuid": "^2.0.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true, + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/h264-profile-level-id": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/h264-profile-level-id/-/h264-profile-level-id-2.3.2.tgz", + "integrity": "sha512-hnq1UDlw7WGJV6GCr/g7wnkHYUjdAY2bis9rgn2JqSdQS2WfVvnt1ZE9g8nTguracodf5LLKZOwURsDN49YtBQ==", + "license": "ISC", + "dependencies": { + "debug": "^4.4.3" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mediasoup" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/hashery": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.2.0.tgz", + "integrity": "sha512-43XJKpwle72Ik5Zpam7MuzRWyNdwwdf6XHlh8wCj2PggvWf+v/Dm5B0dxGZOmddidgeO6Ofu9As/o231Ti/9PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.13.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/hookified": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.13.0.tgz", + "integrity": "sha512-6sPYUY8olshgM/1LDNW4QZQN0IqgKhtl/1C8koNZBJrKLBk3AZl6chQtNwpNztvfiApHMEwMHek5rv993PRbWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-expression/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/joi": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", + "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/js-beautify": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", + "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.4.2", + "js-cookie": "^3.0.5", + "nopt": "^7.2.1" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.2.0.tgz", + "integrity": "sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@acemir/cssom": "^0.9.23", + "@asamuzakjp/dom-selector": "^6.7.4", + "cssstyle": "^5.3.3", + "data-urls": "^6.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^15.1.0", + "ws": "^8.18.3", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/jsdom/node_modules/tldts": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.18.tgz", + "integrity": "sha512-lCcgTAgMxQ1JKOWrVGo6E69Ukbnx4Gc1wiYLRf6J5NN4HRYJtCby1rPF8rkQ4a6qqoFBK5dvjJ1zJ0F7VfDSvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.18" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/jsdom/node_modules/tldts-core": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.18.tgz", + "integrity": "sha512-jqJC13oP4FFAahv4JT/0WTDrCF9Okv7lpKtOZUGPLiAnNbACcSg8Y8T+Z9xthOmRBqi/Sob4yi0TE0miRCvF7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom/node_modules/tough-cookie": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "> 0.8" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loupe": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/mediasoup-client": { + "version": "3.18.7", + "resolved": "https://registry.npmjs.org/mediasoup-client/-/mediasoup-client-3.18.7.tgz", + "integrity": "sha512-110f+zYEvSllYoF6didbIznIvSrTwMY9CqDhdWpq1M0goX1HWLoBdguiYB/MqcA858R2dOKDarP1R4vv5RAg1w==", + "license": "ISC", + "dependencies": { + "@types/debug": "^4.1.12", + "@types/events-alias": "npm:@types/events@^3.0.3", + "awaitqueue": "^3.3.0", + "debug": "^4.4.3", + "events-alias": "npm:events@^3.3.0", + "fake-mediastreamtrack": "^2.2.1", + "h264-profile-level-id": "^2.3.2", + "sdp-transform": "^3.0.0", + "supports-color": "^10.2.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mediasoup" + } + }, + "node_modules/mediasoup-client/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "picomatch": "^4.0.2", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^20.5.0 || >=22.0.0", + "npm": ">= 10" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-all2/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/npm-run-all2/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/npm-run-all2/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "license": [ + "MIT", + "Apache2" + ], + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-html": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.0.tgz", + "integrity": "sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "htmlparser2": "^8.0.0", + "js-tokens": "^9.0.0", + "postcss": "^8.5.0", + "postcss-safe-parser": "^6.0.0" + }, + "engines": { + "node": "^12 || >=14" + } + }, + "node_modules/postcss-html/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/postcss-html/node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-9.1.0.tgz", + "integrity": "sha512-Mn8KJ45HNNG6JBpBizXcyf6LqY/qyqetGcou/nprDnFwBFBLGj0j/sNKV2lj2KMOVOwdXu14aEzqJv8CIV6e8g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.4.20" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pug": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", + "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pug-code-gen": "^3.0.3", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", + "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.1.0", + "pug-runtime": "^3.0.1", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.1.0.tgz", + "integrity": "sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==", + "dev": true, + "license": "MIT" + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true, + "license": "MIT" + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qified": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.5.2.tgz", + "integrity": "sha512-7gJ6mxcQb9vUBOtbKm5mDevbe2uRcOEVp1g4gb/Q+oLntB3HY8eBhOYRxFI2mlDFlY1e4DOSCptzxarXRvzxCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.13.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recast": { + "version": "0.23.11", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.3.tgz", + "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-embedded": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.3.tgz", + "integrity": "sha512-+VUy01yfDqNmIVMd/LLKl2TTtY0ovZN0rTonh+FhKr65mFwIYgU9WzgIZKS7U9/SPCQvWTsTGx9jyt+qRm/XFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bufbuild/protobuf": "^2.5.0", + "buffer-builder": "^0.2.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.0.2", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-all-unknown": "1.93.3", + "sass-embedded-android-arm": "1.93.3", + "sass-embedded-android-arm64": "1.93.3", + "sass-embedded-android-riscv64": "1.93.3", + "sass-embedded-android-x64": "1.93.3", + "sass-embedded-darwin-arm64": "1.93.3", + "sass-embedded-darwin-x64": "1.93.3", + "sass-embedded-linux-arm": "1.93.3", + "sass-embedded-linux-arm64": "1.93.3", + "sass-embedded-linux-musl-arm": "1.93.3", + "sass-embedded-linux-musl-arm64": "1.93.3", + "sass-embedded-linux-musl-riscv64": "1.93.3", + "sass-embedded-linux-musl-x64": "1.93.3", + "sass-embedded-linux-riscv64": "1.93.3", + "sass-embedded-linux-x64": "1.93.3", + "sass-embedded-unknown-all": "1.93.3", + "sass-embedded-win32-arm64": "1.93.3", + "sass-embedded-win32-x64": "1.93.3" + } + }, + "node_modules/sass-embedded-all-unknown": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.3.tgz", + "integrity": "sha512-3okGgnE41eg+CPLtAPletu6nQ4N0ij7AeW+Sl5Km4j29XcmqZQeFwYjHe1AlKTEgLi/UAONk1O8i8/lupeKMbw==", + "cpu": [ + "!arm", + "!arm64", + "!riscv64", + "!x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "sass": "1.93.3" + } + }, + "node_modules/sass-embedded-android-arm": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.3.tgz", + "integrity": "sha512-8xOw9bywfOD6Wv24BgCmgjkk6tMrsOTTHcb28KDxeJtFtoxiUyMbxo0vChpPAfp2Hyg2tFFKS60s0s4JYk+Raw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-arm64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.3.tgz", + "integrity": "sha512-uqUl3Kt1IqdGVAcAdbmC+NwuUJy8tM+2ZnB7/zrt6WxWVShVCRdFnWR9LT8HJr7eJN7AU8kSXxaVX/gedanPsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-riscv64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.3.tgz", + "integrity": "sha512-2jNJDmo+3qLocjWqYbXiBDnfgwrUeZgZFHJIwAefU7Fn66Ot7rsXl+XPwlokaCbTpj7eMFIqsRAZ/uDueXNCJg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-x64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.3.tgz", + "integrity": "sha512-y0RoAU6ZenQFcjM9PjQd3cRqRTjqwSbtWLL/p68y2oFyh0QGN0+LQ826fc0ZvU/AbqCsAizkqjzOn6cRZJxTTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.3.tgz", + "integrity": "sha512-7zb/hpdMOdKteK17BOyyypemglVURd1Hdz6QGsggy60aUFfptTLQftLRg8r/xh1RbQAUKWFbYTNaM47J9yPxYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-x64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.3.tgz", + "integrity": "sha512-Ek1Vp8ZDQEe327Lz0b7h3hjvWH3u9XjJiQzveq74RPpJQ2q6d9LfWpjiRRohM4qK6o4XOHw1X10OMWPXJtdtWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.3.tgz", + "integrity": "sha512-yeiv2y+dp8B4wNpd3+JsHYD0mvpXSfov7IGyQ1tMIR40qv+ROkRqYiqQvAOXf76Qwh4Y9OaYZtLpnsPjfeq6mA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.3.tgz", + "integrity": "sha512-RBrHWgfd8Dd8w4fbmdRVXRrhh8oBAPyeWDTKAWw8ZEmuXfVl4ytjDuyxaVilh6rR1xTRTNpbaA/YWApBlLrrNw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.3.tgz", + "integrity": "sha512-fU0fwAwbp7sBE3h5DVU5UPzvaLg7a4yONfFWkkcCp6ZrOiPuGRHXXYriWQ0TUnWy4wE+svsVuWhwWgvlb/tkKg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.3.tgz", + "integrity": "sha512-PS829l+eUng+9W4PFclXGb4uA2+965NHV3/Sa5U7qTywjeeUUYTZg70dJHSqvhrBEfCc2XJABeW3adLJbyQYkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.3.tgz", + "integrity": "sha512-cK1oBY+FWQquaIGEeQ5H74KTO8cWsSWwXb/WaildOO9U6wmUypTgUYKQ0o5o/29nZbWWlM1PHuwVYTSnT23Jjg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.3.tgz", + "integrity": "sha512-A7wkrsHu2/I4Zpa0NMuPGkWDVV7QGGytxGyUq3opSXgAexHo/vBPlGoDXoRlSdex0cV+aTMRPjoGIfdmNlHwyg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.3.tgz", + "integrity": "sha512-vWkW1+HTF5qcaHa6hO80gx/QfB6GGjJUP0xLbnAoY4pwEnw5ulGv6RM8qYr8IDhWfVt/KH+lhJ2ZFxnJareisQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-x64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.3.tgz", + "integrity": "sha512-k6uFxs+e5jSuk1Y0niCwuq42F9ZC5UEP7P+RIOurIm8w/5QFa0+YqeW+BPWEW5M1FqVOsNZH3qGn4ahqvAEjPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-unknown-all": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.3.tgz", + "integrity": "sha512-o5wj2rLpXH0C+GJKt/VpWp6AnMsCCbfFmnMAttcrsa+U3yrs/guhZ3x55KAqqUsE8F47e3frbsDL+1OuQM5DAA==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "!android", + "!darwin", + "!linux", + "!win32" + ], + "dependencies": { + "sass": "1.93.3" + } + }, + "node_modules/sass-embedded-win32-arm64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.3.tgz", + "integrity": "sha512-0dOfT9moy9YmBolodwYYXtLwNr4jL4HQC9rBfv6mVrD7ud8ue2kDbn+GVzj1hEJxvEexVSmDCf7MHUTLcGs9xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-x64": { + "version": "1.93.3", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.3.tgz", + "integrity": "sha512-wHFVfxiS9hU/sNk7KReD+lJWRp3R0SLQEX4zfOnRP2zlvI2X4IQR5aZr9GNcuMP6TmNpX0nQPZTegS8+h9RrEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/sdp-transform": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-3.0.0.tgz", + "integrity": "sha512-gfYVRGxjHkGF2NPeUWHw5u6T/KGFtS5/drPms73gaSuMaVHKCY3lpLnGDfswVQO0kddeePoti09AwhYP4zA8dQ==", + "license": "MIT", + "bin": { + "sdp-verify": "checker.js" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/socket.io-client": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", + "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/start-server-and-test": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.1.3.tgz", + "integrity": "sha512-k4EcbNjeg0odaDkAMlIeDVDByqX9PIgL4tivgP2tES6Zd8o+4pTq/HgbWCyA3VHIoZopB+wGnNPKYGGSByNriQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.4.3", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "9.0.3" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/start-server-and-test/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/start-server-and-test/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/start-server-and-test/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/storybook": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.2.1.tgz", + "integrity": "sha512-hgiiwT4ZWJ/yrRpoXnHpCzWOsUvLUwQqgM/ws6mCIDsKJ7Gc7irL6DjWpi8G7l1Uq5VXYsQjXQo5ydb8Pyajdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/global": "^5.0.0", + "@storybook/icons": "^2.0.1", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/user-event": "^14.6.1", + "@vitest/expect": "3.2.4", + "@vitest/spy": "3.2.4", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0", + "open": "^10.2.0", + "recast": "^0.23.5", + "semver": "^7.7.3", + "use-sync-external-store": "^1.5.0", + "ws": "^8.18.0" + }, + "bin": { + "storybook": "dist/bin/dispatcher.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint": { + "version": "16.25.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.25.0.tgz", + "integrity": "sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.2.1", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.4.3", + "fast-glob": "^3.3.3", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^10.1.4", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^7.0.5", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.37.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.5.6", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "supports-hyperlinks": "^3.2.0", + "svg-tags": "^1.0.0", + "table": "^6.9.0", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/stylelint-config-html": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-html/-/stylelint-config-html-1.1.0.tgz", + "integrity": "sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12 || >=14" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "postcss-html": "^1.0.0", + "stylelint": ">=14.0.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-17.0.0.tgz", + "integrity": "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.23.0" + } + }, + "node_modules/stylelint-config-recommended-scss": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-16.0.2.tgz", + "integrity": "sha512-aUTHhPPWCvFyWaxtckJlCPaXTDFsp4pKO8evXNCsW9OwsaUWyMd6jvcUhSmfGWPrTddvzNqK4rS/UuSLcbVGdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-scss": "^4.0.9", + "stylelint-config-recommended": "^17.0.0", + "stylelint-scss": "^6.12.1" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^16.24.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-recommended-vue": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.6.1.tgz", + "integrity": "sha512-lLW7hTIMBiTfjenGuDq2kyHA6fBWd/+Df7MO4/AWOxiFeXP9clbpKgg27kHfwA3H7UNMGC7aeP3mNlZB5LMmEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5", + "stylelint-config-html": ">=1.0.0", + "stylelint-config-recommended": ">=6.0.0" + }, + "engines": { + "node": "^12 || >=14" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "postcss-html": "^1.0.0", + "stylelint": ">=14.0.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "39.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-39.0.1.tgz", + "integrity": "sha512-b7Fja59EYHRNOTa3aXiuWnhUWXFU2Nfg6h61bLfAb5GS5fX3LMUD0U5t4S8N/4tpHQg3Acs2UVPR9jy2l1g/3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^17.0.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.23.0" + } + }, + "node_modules/stylelint-config-standard-scss": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-16.0.0.tgz", + "integrity": "sha512-/FHECLUu+med/e6OaPFpprG86ShC4SYT7Tzb2PTVdDjJsehhFBOioSlWqYFqJxmGPIwO3AMBxNo+kY3dxrbczA==", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-recommended-scss": "^16.0.1", + "stylelint-config-standard": "^39.0.0" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^16.23.1" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-standard-vue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-vue/-/stylelint-config-standard-vue-1.0.0.tgz", + "integrity": "sha512-wAzU7p6DSlo04pWfCbOcaMq09Nojt0FEsbdxhCBTdC7IguD9ZVl7FP/bvyA0HAHjZGC4JkW7m6WiQaoVMDSuFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-html": ">=1.0.0", + "stylelint-config-recommended-vue": ">=1.1.0", + "stylelint-config-standard": ">=24.0.0" + }, + "engines": { + "node": "^12 || >=14" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "postcss-html": "^1.0.0", + "stylelint": ">=14.0.0" + } + }, + "node_modules/stylelint-order": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-7.0.0.tgz", + "integrity": "sha512-rSWxx0KscYfxU02wEskKXES9lkRzuuONMMNkZ7SUc6uiF3tDKm7e+sE0Ax/SBlG4TUf1sp1R6f3/SlsPGmzthg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^8.5.3", + "postcss-sorting": "^9.1.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "stylelint": "^16.18.0" + } + }, + "node_modules/stylelint-scss": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz", + "integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.1", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.36.0", + "mdn-data": "^2.21.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-selector-parser": "^7.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.0.2" + } + }, + "node_modules/stylelint-scss/node_modules/known-css-properties": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint-scss/node_modules/mdn-data": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.25.0.tgz", + "integrity": "sha512-T2LPsjgUE/tgMmRXREVmwsux89DwWfNjiynOeXuLd2mX6jphGQ2YE3Ukz7LQ2VOFKiVZU/Ee1GqzHiipZCjymw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz", + "integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^6.1.13" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "6.1.19", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.19.tgz", + "integrity": "sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacheable": "^2.2.0", + "flatted": "^3.3.3", + "hookified": "^1.13.0" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/superjson": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.5.tgz", + "integrity": "sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/sync-child-process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sync-message-port": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/sync-message-port": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz", + "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/systeminformation": { + "version": "5.30.6", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.6.tgz", + "integrity": "sha512-LEIyK1aEv5P3BhAPW3swdlIyCihxwEq/Gki+kcONieU4PIeRCSLDuGkk0Va/56PSBgjVgEksOM88dmY6YqOyfQ==", + "dev": true, + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32", + "freebsd", + "openbsd", + "netbsd", + "sunos", + "android" + ], + "bin": { + "systeminformation": "lib/cli.js" + }, + "engines": { + "node": ">=8.0.0" + }, + "funding": { + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/systeminfo" + } + }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", + "dev": true, + "license": "MIT" + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-map": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-map/-/ts-map-1.0.3.tgz", + "integrity": "sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.47.0.tgz", + "integrity": "sha512-Lwe8i2XQ3WoMjua/r1PHrCTpkubPYJCAfOurtn+mtTzqB6jNd+14n9UN1bJ4s3F49x9ixAm0FLflB/JzQ57M8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.47.0", + "@typescript-eslint/parser": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/utils": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz", + "integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vee-validate": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.15.1.tgz", + "integrity": "sha512-DkFsiTwEKau8VIxyZBGdO6tOudD+QoUBPuHj3e6QFqmbfCRj1ArmYWue9lEp6jLSWBIw4XPlDLjFIZNLdRAMSg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.5.2", + "type-fest": "^4.8.3" + }, + "peerDependencies": { + "vue": "^3.4.26" + } + }, + "node_modules/vee-validate/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vite": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", + "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-dev-rpc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "birpc": "^2.4.0", + "vite-hot-client": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" + } + }, + "node_modules/vite-hot-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.1.0", + "debug": "^4.4.1", + "error-stack-parser-es": "^1.0.5", + "ohash": "^2.0.11", + "open": "^10.2.0", + "perfect-debounce": "^2.0.0", + "sirv": "^3.0.1", + "unplugin-utils": "^0.3.0", + "vite-dev-rpc": "^1.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-inspect/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.5.tgz", + "integrity": "sha512-p619BlKFOqQXJ6uDWS1vUPQzuJOD6xJTfftj57JXBGoBD/yeQCowR7pnWcr/FEX4/HVkFbreI6w2uuGBmQOh6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^8.0.5", + "@vue/devtools-kit": "^8.0.5", + "@vue/devtools-shared": "^8.0.5", + "sirv": "^3.0.2", + "vite-plugin-inspect": "^11.3.3", + "vite-plugin-vue-inspector": "^5.3.2" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-kit": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^8.0.5", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^2.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/@vue/devtools-shared": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/perfect-debounce": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.24.tgz", + "integrity": "sha512-uTHDOpVQTMjcGgrqFPSb8iO2m1DUvo+WbGqoXQz8Y1CeBYQ0FXf2z1gLRaBtHjlRz7zZUBHxjVB5VTLzYkvftg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.24", + "@vue/compiler-sfc": "3.5.24", + "@vue/runtime-dom": "3.5.24", + "@vue/server-renderer": "3.5.24", + "@vue/shared": "3.5.24" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-meta": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-2.2.12.tgz", + "integrity": "sha512-dQU6/obNSNbennJ1xd+rhDid4g3vQro+9qUBBIg8HMZH2Zs1jTpkFNxuQ3z77bOlU+ew08Qck9sbYkdSePr0Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.15", + "@vue/language-core": "2.2.12", + "path-browserify": "^1.0.1", + "vue-component-type-helpers": "2.2.12" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-meta/node_modules/vue-component-type-helpers": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-component-type-helpers": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.1.4.tgz", + "integrity": "sha512-Uws7Ew1OzTTqHW8ZVl/qLl/HB+jf08M0NdFONbVWAx0N4gMLK8yfZDgeB77hDnBmaigWWEn5qP8T9BG59jIeyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-docgen-api": { + "version": "4.79.2", + "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.79.2.tgz", + "integrity": "sha512-n9ENAcs+40awPZMsas7STqjkZiVlIjxIKgiJr5rSohDP0/JCrD9VtlzNojafsA1MChm/hz2h3PDtUedx3lbgfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "@vue/compiler-dom": "^3.2.0", + "@vue/compiler-sfc": "^3.2.0", + "ast-types": "^0.16.1", + "esm-resolve": "^1.0.8", + "hash-sum": "^2.0.0", + "lru-cache": "^8.0.3", + "pug": "^3.0.2", + "recast": "^0.23.1", + "ts-map": "^1.0.3", + "vue-inbrowser-compiler-independent-utils": "^4.69.0" + }, + "peerDependencies": { + "vue": ">=2" + } + }, + "node_modules/vue-docgen-api/node_modules/lru-cache": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16.14" + } + }, + "node_modules/vue-eslint-parser": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz", + "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-inbrowser-compiler-independent-utils": { + "version": "4.71.1", + "resolved": "https://registry.npmjs.org/vue-inbrowser-compiler-independent-utils/-/vue-inbrowser-compiler-independent-utils-4.71.1.tgz", + "integrity": "sha512-K3wt3iVmNGaFEOUR4JIThQRWfqokxLfnPslD41FDZB2ajXp789+wCqJyGYlIFsvEQ2P61PInw6/ph5iiqg51gg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "vue": ">=2" + } + }, + "node_modules/vue-router": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.3.tgz", + "integrity": "sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.1.4.tgz", + "integrity": "sha512-GsRJxttj4WkmXW/zDwYPGMJAN3np/4jTzoDFQTpTsI5Vg/JKMWamBwamlmLihgSVHO66y9P7GX+uoliYxeI4Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.23", + "@vue/language-core": "3.1.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/vue-tsc/node_modules/@volar/language-core": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz", + "integrity": "sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.23" + } + }, + "node_modules/vue-tsc/node_modules/@volar/source-map": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.23.tgz", + "integrity": "sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-tsc/node_modules/@volar/typescript": { + "version": "2.4.23", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.23.tgz", + "integrity": "sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vue-tsc/node_modules/@vue/language-core": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.1.4.tgz", + "integrity": "sha512-n/58wm8SkmoxMWkUNUH/PwoovWe4hmdyPJU2ouldr3EPi1MLoS7iDN46je8CsP95SnVBs2axInzRglPNKvqMcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.23", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-tsc/node_modules/alien-signals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.0.tgz", + "integrity": "sha512-yufC6VpSy8tK3I0lO67pjumo5JvDQVQyr38+3OHqe6CHl1t2VZekKZ7EKKZSqk0cRmE7U7tfZbpXiKNzuc+ckg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-tsc/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/wait-on": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.3.tgz", + "integrity": "sha512-13zBnyYvFDW1rBvWiJ6Av3ymAaq8EDQuvxZnPIw3g04UqGi4TyoIJABmfJ6zrvKo9yeFQExNkOk7idQbDJcuKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.13.2", + "joi": "^18.0.1", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.0.tgz", + "integrity": "sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-15.1.0.tgz", + "integrity": "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.0.tgz", + "integrity": "sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/package.json b/package.json index b7a89dc..8115fe0 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,16 @@ { "name": "patchcord", "version": "0.0.0", + "description": "Patchcord for Web", "private": true, "type": "module", + "author": "Vladislav Koshelev", + "license": "ISC", "engines": { "node": "^20.19.0 || >=22.12.0" }, "scripts": { - "dev": "vite", + "dev": "vite --host", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", @@ -16,18 +19,26 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", "type-check": "vue-tsc --build", - "lint": "eslint . --fix --cache", - "format": "prettier --write src/" + "lint:script": "eslint . --fix --cache", + "lint:style": "npx stylelint 'src/**/*.{css,scss,vue}' --fix", + "format": "prettier --write src/", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" }, "dependencies": { + "@floating-ui/vue": "^1.1.10", + "@vee-validate/zod": "^4.15.1", + "mediasoup-client": "^3.18.7", "pinia": "^3.0.3", + "socket.io-client": "^4.8.3", "vue": "^3.5.22", - "vue-router": "^4.6.3" + "vue-router": "^4.6.3", + "zod": "^3.24.0" }, "devDependencies": { + "@storybook/vue3-vite": "^10.0.8", "@tsconfig/node22": "^22.0.2", "@types/jsdom": "^27.0.0", - "@types/node": "^22.18.11", "@vitejs/plugin-vue": "^6.0.1", "@vitest/eslint-plugin": "^1.3.23", "@vue/eslint-config-prettier": "^10.2.0", @@ -37,16 +48,25 @@ "cypress": "^15.5.0", "eslint": "^9.37.0", "eslint-plugin-cypress": "^5.2.0", + "eslint-plugin-storybook": "^10.0.8", "eslint-plugin-vue": "~10.5.0", "jiti": "^2.6.1", "jsdom": "^27.0.1", "npm-run-all2": "^8.0.4", "prettier": "3.6.2", + "sass-embedded": "^1.93.3", "start-server-and-test": "^2.1.2", + "storybook": "^10.0.8", + "stylelint": "^16.25.0", + "stylelint-config-standard": "^39.0.1", + "stylelint-config-standard-scss": "^16.0.0", + "stylelint-config-standard-vue": "^1.0.0", + "stylelint-order": "^7.0.0", "typescript": "~5.9.0", "vite": "^7.1.11", "vite-plugin-vue-devtools": "^8.0.3", "vitest": "^3.2.4", "vue-tsc": "^3.1.1" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/public/favicon.ico b/public/favicon.ico index df36fcf..7895cd5 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..4f17526 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..58bc1a3 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/images/og_image.jpg b/public/images/og_image.jpg new file mode 100644 index 0000000..ec63f9a Binary files /dev/null and b/public/images/og_image.jpg differ diff --git a/public/manifest.webmanifest b/public/manifest.webmanifest new file mode 100644 index 0000000..f86ccdc --- /dev/null +++ b/public/manifest.webmanifest @@ -0,0 +1,26 @@ +{ + "name": "Patchcord", + "short_name": "Patchcord", + "start_url": "/", + "display_override": ["window-controls-overlay"], + "display": "standalone", + "background_color": "#121214", + "lang": "ru", + "scope": "/", + "description": "Patchcord отлично подходит для игр и общения с друзьями или даже создание всемирного сообщества. Настройте свое собственное пространство для общения, игр и времяпрепровождения.", + "categories": ["communication", "chat", "messaging"], + "orientation": "portrait", + "theme_color": "#121214", + "icons": [ + { + "src": "/favicon.png", + "type": "image/png", + "sizes": "150x150" + }, + { + "src": "/favicon.svg", + "type": "image/svg+xml", + "sizes": "48x48 72x72 96x96 128x128 256x256" + } + ] +} diff --git a/src/App.vue b/src/App.vue deleted file mode 100644 index abfd315..0000000 --- a/src/App.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/src/__tests__/App.spec.ts b/src/__tests__/App.spec.ts index 5b17801..daca13f 100644 --- a/src/__tests__/App.spec.ts +++ b/src/__tests__/App.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from 'vitest' import { mount } from '@vue/test-utils' -import App from '../App.vue' +import App from '../app/App.vue' describe('App', () => { it('mounts renders properly', () => { diff --git a/src/app/App.vue b/src/app/App.vue new file mode 100644 index 0000000..85fc328 --- /dev/null +++ b/src/app/App.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/src/app/index.ts b/src/app/index.ts new file mode 100644 index 0000000..34f6e3a --- /dev/null +++ b/src/app/index.ts @@ -0,0 +1,12 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +app.use(createPinia()) +app.use(router) + +export { app } diff --git a/src/app/router/index.ts b/src/app/router/index.ts new file mode 100644 index 0000000..4060f6a --- /dev/null +++ b/src/app/router/index.ts @@ -0,0 +1,32 @@ +import { nextTick } from 'vue' +import { createRouter, createWebHistory } from 'vue-router' + +import routes from './routes' + +const router = createRouter({ + history: createWebHistory(), + routes, +}) + +router.beforeEach(async (to, from) => { + const middlewares = to.meta.middleware + if (Array.isArray(middlewares)) { + for (const middleware of middlewares) { + const result = await middleware(to, from) + if (result !== true) { + return result + } + } + } + return true +}) + +router.afterEach((to) => { + nextTick(() => { + document.title = (to.meta.title as string) + ? `Patchcord | ${to.meta.title as string}` + : 'Patchcord' + }) +}) + +export default router diff --git a/src/app/router/middleware/auth.middleware.ts b/src/app/router/middleware/auth.middleware.ts new file mode 100644 index 0000000..b05caf9 --- /dev/null +++ b/src/app/router/middleware/auth.middleware.ts @@ -0,0 +1,22 @@ +import type { RouteLocation } from 'vue-router' + +const AUTH_PAGES = ['login', 'register', 'reset'] + +export default async (to: RouteLocation): Promise => { + const token = localStorage.getItem('token') + const isAuthenticated = !!token + + const isAuthPage = AUTH_PAGES.includes(String(to.name)) + + // 1. Если нет токена и пытается зайти на закрытую страницу -> на логин + if (!isAuthenticated && !isAuthPage) { + return { name: 'login' } + } + + // 2. Если есть токен и пытается зайти на страницу логина -> в приватные каналы + if (isAuthenticated && isAuthPage) { + return { name: 'friends' } + } + + return true +} diff --git a/src/app/router/middleware/index.ts b/src/app/router/middleware/index.ts new file mode 100644 index 0000000..5224dc4 --- /dev/null +++ b/src/app/router/middleware/index.ts @@ -0,0 +1,3 @@ +import authMiddleware from './auth.middleware' + +export { authMiddleware } diff --git a/src/app/router/routes.ts b/src/app/router/routes.ts new file mode 100644 index 0000000..1b43f51 --- /dev/null +++ b/src/app/router/routes.ts @@ -0,0 +1,116 @@ +import type { RouteRecordRaw } from 'vue-router' +import { authMiddleware } from './middleware' + +const routes: RouteRecordRaw[] = [ + { + path: '/', + name: 'auth', + redirect: { name: 'login' }, + component: () => import('@/widgets/auth-layout'), + meta: { + middleware: [authMiddleware], + }, + children: [ + { + path: 'login', + name: 'login', + component: () => import('@/pages/login'), + }, + { + path: 'register', + name: 'register', + component: () => import('@/pages/register'), + }, + { + path: 'reset', + name: 'reset', + component: () => import('@/pages/reset'), + }, + ], + }, + { + path: '/', + name: 'home', + redirect: { name: 'channels' }, + component: () => import('@/widgets/main-layout'), + meta: { + middleware: [authMiddleware], + }, + children: [ + { + path: 'channels', + children: [ + { + path: '@me', + name: 'private', + components: { + sidebar: () => import('@/pages/dm-sidebar'), + content: () => import('@/pages/dm-content'), + }, + children: [ + { + path: '', + name: 'friends', + component: () => import('@/pages/friends-content'), + meta: { title: 'Друзья', icon: 'misc.greeting' }, + }, + { + path: ':dmId', + name: 'dm-chat', + component: () => import('@/pages/dm-channel'), + meta: { title: 'Личные сообщения', icon: 'logos.patchcord.symbol' }, + }, + ], + }, + { + path: ':serverId', + name: 'server', + components: { + sidebar: () => import('@/pages/server-sidebar'), + content: () => import('@/pages/server-content'), + }, + meta: { title: 'Каналы' }, + children: [ + { + path: ':channelId', + name: 'channel', + component: () => import('@/pages/channel'), + }, + ], + }, + ], + }, + { + path: 'discovery', + name: 'discovery', + redirect: { name: 'discovery-applications' }, + meta: { title: 'Путешествие', icon: 'misc.compass-circle' }, + children: [ + { + path: 'applications', + name: 'discovery-applications', + components: { + sidebar: () => import('@/pages/server-sidebar'), + content: () => import('@/pages/server-content'), + }, + }, + { + path: 'servers', + name: 'discovery-servers', + components: { + sidebar: () => import('@/pages/server-sidebar'), + content: () => import('@/pages/server-content'), + }, + }, + ], + }, + ], + }, + { + path: '/:catchAll(.*)', + name: 'not-found', + component: () => import('@/pages/not-found'), + }, +] + +export default routes diff --git a/src/app/styles/base/animations.scss b/src/app/styles/base/animations.scss new file mode 100644 index 0000000..b94a3d6 --- /dev/null +++ b/src/app/styles/base/animations.scss @@ -0,0 +1,156 @@ +/* fade */ +@keyframes fade-enter { + from { + opacity: 0; + transform: scale(0.95); + } + + to { + opacity: 1; + transform: scale(1); + } +} + +@keyframes fade-leave { + from { + opacity: 1; + transform: scale(1); + } + + to { + opacity: 0; + transform: scale(0.95); + } +} + +.fade-enter-active { + transform-origin: center; + animation: fade-enter 0.1s ease forwards; +} + +.fade-leave-active { + transform-origin: center; + animation: fade-leave 0.1s ease forwards; +} + +/* slide-fade-top */ +@keyframes slide-fade-top-enter { + from { + opacity: 0; + transform: translateY(-30px) scale(1); + } + + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +@keyframes slide-fade-top-leave { + from { + opacity: 1; + transform: translateY(0) scale(1); + } + + to { + opacity: 0; + transform: translateY(-30px) scale(1); + } +} + +.slide-fade-top-enter-active { + animation: slide-fade-top-enter 0.2s ease forwards; +} + +.slide-fade-top-leave-active { + animation: slide-fade-top-leave 0.2s ease forwards; +} + +/* slide-fade-down */ +@keyframes slide-fade-down-enter { + from { + opacity: 0; + transform: translateY(30px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes slide-fade-down-leave { + from { + opacity: 1; + transform: translateY(0); + } + + to { + opacity: 0; + transform: translateY(30px); + } +} + +.slide-fade-down-enter-active { + animation: slide-fade-down-enter 0.2s ease forwards; +} + +.slide-fade-down-leave-active { + animation: slide-fade-down-leave 0.2s ease forwards; +} + +/* expand-fade-down */ +@keyframes expand-fade-down-enter { + from { + height: 0; + opacity: 0; + transform: translateY(-4px); + } + + to { + height: auto; + opacity: 1; + transform: translateY(0); + } +} + +@keyframes expand-fade-down-leave { + from { + height: auto; + opacity: 1; + transform: translateY(0); + } + + to { + height: 0; + opacity: 0; + transform: translateY(-4px); + } +} + +.expand-fade-down-enter-active { + overflow: hidden; + animation: expand-fade-down-enter 0.3s ease forwards; +} + +.expand-fade-down-leave-active { + overflow: hidden; + animation: expand-fade-down-leave 0.3s ease forwards; +} + +@keyframes spinner-pulsing-ellipsis { + 0% { + opacity: 1; + transform: scale(1) + } + + 50% { + opacity: .3; + transform: scale(.8) + } + + 100% { + opacity: 1; + transform: scale(1) + } +} \ No newline at end of file diff --git a/src/app/styles/base/colors.scss b/src/app/styles/base/colors.scss new file mode 100644 index 0000000..1e4f108 --- /dev/null +++ b/src/app/styles/base/colors.scss @@ -0,0 +1,404 @@ +:root { + --white: #fff; + --black: #000; + --transparent: transparent; + + /* Colors */ + + /* blue */ + --blue-100: #e6eeff; + --blue-130: #e6eeff; + --blue-160: #e6eeff; + --blue-200: #d4e5ff; + --blue-230: #bad6fd; + --blue-260: #a4cafb; + --blue-300: #87b8f7; + --blue-330: #66a4f1; + --blue-345: #59e; + --blue-360: #3f8cea; + --blue-400: #257fe6; + --blue-430: #0272de; + --blue-460: #0666c4; + --blue-500: #0358a7; + --blue-530: #004d91; + --blue-560: #004481; + --blue-600: #003c71; + --blue-630: #003565; + --blue-660: #002f5a; + --blue-700: #00294f; + --blue-730: #002547; + --blue-760: #001f3d; + --blue-800: #001b36; + --blue-830: #00172f; + --blue-860: #00142b; + --blue-900: #000f21; + + /* brand */ + --brand-100: #e7eaff; + --brand-130: #e7eaff; + --brand-160: #e7eaff; + --brand-200: #dce2ff; + --brand-230: #d1daff; + --brand-260: #c7d2ff; + --brand-300: #b9c7ff; + --brand-330: #a3b4fe; + --brand-345: #93a7fd; + --brand-360: #8da1fc; + --brand-400: #7588f8; + --brand-430: #6a7df6; + --brand-460: #6374f4; + --brand-500: #5865f2; + --brand-530: #505edb; + --brand-560: #4654c0; + --brand-600: #3a48a3; + --brand-630: #303e8d; + --brand-660: #28367c; + --brand-700: #1c295f; + --brand-730: #1a275b; + --brand-760: #172454; + --brand-800: #121e48; + --brand-830: #0c173a; + --brand-860: #050d24; + --brand-900: #01030c; + + /* blurple */ + --blurple-50: #5865f2; + --blurple-60: #4452bb; + --blurple-65: #3a48a3; + + /* green */ + --green-100: #cfffd7; + --green-130: #cfffd7; + --green-160: #c7fbd0; + --green-200: #a8e7b2; + --green-230: #96daa1; + --green-260: #83cd90; + --green-300: #75c383; + --green-330: #62b673; + --green-345: #53ac66; + --green-360: #43a25a; + --green-400: #289248; + --green-430: #038138; + --green-460: #047031; + --green-500: #02662c; + --green-530: #005925; + --green-560: #004d1e; + --green-600: #1a1a1e; + --green-630: #003f16; + --green-660: #003611; + --green-700: #002f0d; + --green-730: #002b0b; + --green-760: #002207; + --green-800: #002006; + --green-830: #001904; + --green-860: #001603; + --green-900: #001403; + + /* orange */ + --orange-100: #ffe3da; + --orange-130: #ffe3da; + --orange-160: #ffe3da; + --orange-200: #ffddd0; + --orange-230: #fdcdb6; + --orange-260: #f7ba99; + --orange-300: #eda176; + --orange-330: #e28c59; + --orange-345: #d87942; + --orange-360: #d37036; + --orange-400: #cd672a; + --orange-430: #c75e1e; + --orange-460: #9f4203; + --orange-500: #8d3901; + --orange-530: #803200; + --orange-560: #732b00; + --orange-600: #662400; + --orange-630: #5d1f00; + --orange-660: #501800; + --orange-700: #471300; + --orange-730: #3f0e00; + --orange-760: #360900; + --orange-800: #360900; + --orange-830: #2d0500; + --orange-860: #2d0500; + --orange-900: #140001; + + /* red */ + --red-100: #ffdfde; + --red-130: #ffdfde; + --red-160: #ffdfde; + --red-200: #ffdfde; + --red-230: #ffd0cd; + --red-260: #ffbdba; + --red-300: #ffaba7; + --red-330: #fd928d; + --red-345: #f57976; + --red-360: #e75959; + --red-400: #da3e44; + --red-430: #d6363f; + --red-460: #bc2934; + --red-500: #a4232c; + --red-530: #911e25; + --red-560: #821920; + --red-600: #701219; + --red-630: #650e16; + --red-660: #5b0a12; + --red-700: #540810; + --red-730: #4a050c; + --red-760: #3d0208; + --red-800: #370107; + --red-830: #2c0005; + --red-860: #270004; + --red-900: #1b0003; + + /* yellow */ + --yellow-100: #ffe8d4; + --yellow-130: #ffe8d4; + --yellow-160: #ffe8d4; + --yellow-200: #f8dabb; + --yellow-230: #ebc69a; + --yellow-260: #d6a76c; + --yellow-300: #ce9c5c; + --yellow-330: #ca9654; + --yellow-345: #c18b45; + --yellow-360: #b77e32; + --yellow-400: #ae7322; + --yellow-430: #a36607; + --yellow-460: #8c5403; + --yellow-500: #804b01; + --yellow-530: #724000; + --yellow-560: #653600; + --yellow-600: #5d3000; + --yellow-630: #552a00; + --yellow-660: #502500; + --yellow-700: #461d00; + --yellow-730: #411900; + --yellow-760: #3a1400; + --yellow-800: #351000; + --yellow-830: #300c00; + --yellow-860: #2b0800; + --yellow-900: #280600; + + /* teal */ + --teal-100: #c8fbff; + --teal-130: #c8fbff; + --teal-160: #c5f8fe; + --teal-200: #b6eef4; + --teal-230: #9ddce2; + --teal-260: #8bcfd6; + --teal-300: #76bfc7; + --teal-330: #64b3ba; + --teal-345: #56a9b1; + --teal-360: #439ca4; + --teal-400: #288d96; + --teal-430: #037c85; + --teal-460: #046c75; + --teal-500: #016068; + --teal-530: #00535b; + --teal-560: #004a52; + --teal-600: #004148; + --teal-630: #003a42; + --teal-660: #00333b; + --teal-700: #002c34; + --teal-730: #00262e; + --teal-760: #002229; + --teal-800: #001c23; + --teal-830: #001921; + --teal-860: #00151c; + --teal-900: #001219; + + /* primary */ + --primary-100: #fbfbfb; + --primary-130: #f3f3f4; + --primary-160: #ebebed; + --primary-200: #e3e3e6; + --primary-230: #dbdcdf; + --primary-260: #d3d4d7; + --primary-300: #c8c8cd; + --primary-330: #b9b9bf; + --primary-345: #aaaab1; + --primary-360: #97989f; + --primary-400: #82838b; + --primary-430: #6d6e77; + --primary-460: #5c5d67; + --primary-500: #4f505a; + --primary-530: #41424a; + --primary-560: #393a41; + --primary-600: #323339; + --primary-630: #2c2d32; + --primary-645: #292a2f; + --primary-660: #242429; + --primary-700: #1e1f22; + --primary-730: #1a1a1e; + --primary-760: #161619; + --primary-800: #121214; + --primary-830: #0c0c0e; + --primary-860: #050506; + --primary-900: #020203; + + /* neutral */ + --neutral-1: white; + --neutral-2: #fbfbfb; + --neutral-3: #f7f7f8; + --neutral-4: #f3f3f4; + --neutral-5: #efeff0; + --neutral-6: #ebebed; + --neutral-7: #e7e7e9; + --neutral-8: #e3e3e6; + --neutral-9: #dfe0e2; + --neutral-10: #dbdcdf; + --neutral-11: #d7d8db; + --neutral-12: #d3d4d7; + --neutral-13: #d0d0d4; + --neutral-14: #ccccd0; + --neutral-15: #c8c8cd; + --neutral-16: #c4c5c9; + --neutral-17: #c0c1c6; + --neutral-18: #bcbdc2; + --neutral-19: #b9b9bf; + --neutral-20: #b5b6bb; + --neutral-21: #b1b2b8; + --neutral-22: #adaeb4; + --neutral-23: #aaaab1; + --neutral-24: #a6a7ad; + --neutral-25: #a2a3aa; + --neutral-26: #9f9fa6; + --neutral-27: #9b9ca3; + --neutral-28: #97989f; + --neutral-29: #94959c; + --neutral-30: #909199; + --neutral-31: #8c8d95; + --neutral-32: #898a92; + --neutral-33: #85868e; + --neutral-34: #82838b; + --neutral-35: #7e7f88; + --neutral-36: #7b7c84; + --neutral-37: #777881; + --neutral-38: #74757e; + --neutral-39: #70717a; + --neutral-40: #6d6e77; + --neutral-41: #6a6b74; + --neutral-42: #666771; + --neutral-43: #63646d; + --neutral-44: #5f606a; + --neutral-45: #5c5d67; + --neutral-46: #595a64; + --neutral-47: #555760; + --neutral-48: #52535d; + --neutral-49: #4f505a; + --neutral-50: #4f505a; + --neutral-51: #4d4e58; + --neutral-52: #4c4d56; + --neutral-53: #4a4b55; + --neutral-54: #494a53; + --neutral-55: #474851; + --neutral-56: #46474f; + --neutral-57: #44454d; + --neutral-58: #43434c; + --neutral-59: #41424a; + --neutral-60: #3f4048; + --neutral-61: #3e3f46; + --neutral-62: #3c3d45; + --neutral-63: #3b3c43; + --neutral-64: #393a41; + --neutral-65: #383940; + --neutral-66: #36373e; + --neutral-67: #35363c; + --neutral-68: #34343a; + --neutral-69: #323339; + --neutral-70: #313137; + --neutral-71: #2f3035; + --neutral-72: #2e2e34; + --neutral-73: #2c2d32; + --neutral-74: #2b2b31; + --neutral-75: #292a2f; + --neutral-76: #28282d; + --neutral-77: #27272c; + --neutral-78: #25262a; + --neutral-79: #242429; + --neutral-80: #222327; + --neutral-81: #212125; + --neutral-82: #202024; + --neutral-83: #1e1f22; + --neutral-84: #1d1d21; + --neutral-85: #1b1c1f; + --neutral-86: #1a1a1e; + --neutral-87: #19191c; + --neutral-88: #17181b; + --neutral-89: #161619; + --neutral-90: #151518; + --neutral-91: #131416; + --neutral-92: #121214; + --neutral-93: #101013; + --neutral-94: #0e0e10; + --neutral-95: #0c0c0e; + --neutral-96: #0a0a0c; + --neutral-97: #070709; + --neutral-98: #050506; + --neutral-99: #020203; + --neutral-100: black; + + /* opacity */ + --opacity-1: #97979f05; + --opacity-4: #97979f0a; + --opacity-8: #97979f14; + --opacity-12: #97979f1f; + --opacity-16: #97979f29; + --opacity-20: #97979f33; + --opacity-24: #97979f3d; + --opacity-28: #97979f47; + --opacity-32: #97979f52; + --opacity-36: #97979f5c; + --opacity-40: #97979f66; + --opacity-44: #97979f70; + --opacity-48: #97979f7a; + --opacity-52: #97979f85; + --opacity-56: #97979f8f; + --opacity-60: #97979f99; + --opacity-64: #97979fa3; + --opacity-68: #97979fad; + --opacity-72: #97979fb8; + --opacity-76: #97979fc2; + --opacity-80: #97979fcc; + --opacity-84: #97979fd6; + --opacity-88: #97979fe0; + --opacity-92: #97979feb; + --opacity-96: #97979ff5; + + /* opacity-black */ + --opacity-black-1: #00000005; + --opacity-black-4: #0000000a; + --opacity-black-8: #00000014; + --opacity-black-12: #0000001f; + --opacity-black-16: #00000029; + --opacity-black-20: #0003; + --opacity-black-24: #0000003d; + --opacity-black-28: #00000047; + --opacity-black-32: #00000052; + --opacity-black-36: #0000005c; + --opacity-black-40: #0006; + --opacity-black-44: #00000070; + --opacity-black-48: #0000007a; + --opacity-black-52: #00000085; + --opacity-black-56: #0000008f; + --opacity-black-60: #0009; + --opacity-black-64: #000000a3; + --opacity-black-68: #000000ad; + --opacity-black-72: #000000b8; + --opacity-black-76: #000000c2; + --opacity-black-80: #000c; + --opacity-black-84: #000000d6; + --opacity-black-88: #000000e0; + --opacity-black-92: #000000eb; + --opacity-black-96: #000000f5; + + /* opacity-white */ + --opacity-white-8: #ffffff14; + + /* opacity-red */ + --opacity-red-4: #d22d390a; + --opacity-red-12: #d22d391f; + --opacity-red-24: #d22d393d; + + /* opacity-blurple */ + --opacity-blurple-16: #5865f229; +} \ No newline at end of file diff --git a/src/app/styles/base/effects.scss b/src/app/styles/base/effects.scss new file mode 100644 index 0000000..8d259d3 --- /dev/null +++ b/src/app/styles/base/effects.scss @@ -0,0 +1,62 @@ +:root { + /* Radius */ + --radius-none: 0rem; + --radius-xs: 0.25rem; + --radius-sm: 0.5rem; + --radius-md: 0.75rem; + --radius-lg: 1rem; + --radius-xl: 1.5rem; + --radius-xxl: 2rem; + --radius-round: 50%; + + /* Sizes */ + --size-xxs: 0.25rem; + --size-xs: 0.5rem; + --size-sm: 0.75rem; + --size-md: 1rem; + --size-lg: 1.25rem; + --size-xl: 1.5rem; + --size-xxl: 2rem; + + /* Control Item Sizes */ + --control-item-height-md: 2.5rem; + --control-item-height-sm: 2rem; + + /* Icon Sizes */ + --icon-size-xxs: 0.75rem; + --icon-size-xs: 1rem; + --icon-size-sm: 1.125rem; + --icon-size-md: 1.5rem; + --icon-size-lg: 2rem; + + /* Avatar Sizes */ + --avatar-size-xxxs: 1rem; + --avatar-size-xxs: 1.25rem; + --avatar-size-xs: 1.5rem; + --avatar-size-sm: 2rem; + --avatar-size-md: 2.5rem; + --avatar-size-lg: 2.75rem; + --avatar-size-xl: 3rem; + --avatar-size-xxl: 3.5rem; + --avatar-size-xxxl: 4.5rem; + --avatar-size-4xl: 5rem; + --avatar-size-5xl: 6rem; + --avatar-size-6xl: 7.5rem; + + /* Input Heights */ + --input-height-sm: 2rem; + --input-height-md: 2.75rem; + + /* Spaces */ + --space-xxs: 0.25rem; + --space-xs: 0.5rem; + --space-sm: 0.75rem; + --space-md: 1rem; + --space-lg: 1.25rem; + --space-xl: 1.5rem; + --space-xxl: 2rem; + + /* Box Shadows */ + --box-shadow-low: 0 0.063rem 0.313rem 0 var(--opacity-black-28); + --box-shadow-high: 0 0.125rem 0.625rem 0 var(--opacity-black-20); +} \ No newline at end of file diff --git a/src/app/styles/base/reset.scss b/src/app/styles/base/reset.scss new file mode 100644 index 0000000..bc9f0a7 --- /dev/null +++ b/src/app/styles/base/reset.scss @@ -0,0 +1,360 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + font: inherit; + font-size: 100%; + vertical-align: baseline; + border: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + height: 100%; + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote::before, +blockquote::after, +q::before, +q::after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +html { + height: 100%; + line-height: 1.15; + text-size-adjust: 100%; +} + +main { + display: block; +} + +hr { + overflow: visible; + height: 0; + box-sizing: content-box; +} + +pre { + font-family: monospace; + font-size: 1em; +} + +a { + background-color: transparent; + cursor: revert; +} + +abbr[title] { + text-decoration: underline; + text-decoration: underline dotted; + border-bottom: none; +} + +b, +strong { + font-weight: bolder; +} + +code, +kbd, +samp { + font-family: monospace; + font-size: 1em; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +img { + max-width: 100%; + border-style: none; +} + +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: 100%; + line-height: 1.15; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button { + cursor: revert; +} + +button, +[type='button'], +[type='reset'], +[type='submit'] { + appearance: auto; +} + +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + padding: 0; + border-style: none; +} + +button:-moz-focusring, +[type='button']:-moz-focusring, +[type='reset']:-moz-focusring, +[type='submit']:-moz-focusring { + outline: 1px dotted ButtonText; +} + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +legend { + display: table; + max-width: 100%; + padding: 0; + box-sizing: border-box; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +textarea { + overflow: auto; + white-space: revert; +} + +[type='checkbox'], +[type='radio'] { + padding: 0; + box-sizing: border-box; +} + +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} + +[type='search'] { + outline-offset: -2px; + appearance: textfield; +} + +[type='search']::-webkit-search-decoration { + appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + appearance: auto; +} + +details { + display: block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none; +} + +*:where(:not(iframe, canvas, img, svg, video, svg *, symbol *)) { + all: unset; + display: revert; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +ol, +ul, +menu { + list-style: none; +} + +meter { + appearance: revert; +} + +::placeholder { + color: unset; +} + +:where([hidden]) { + display: none; +} + +:where([contenteditable]) { + overflow-wrap: break-word; + -webkit-line-break: after-white-space; + line-break: after; +} + +:where([draggable='true']) { + -webkit-user-drag: element; +} + +input[type='number']::-webkit-outer-spin-button, +input[type='number']::-webkit-inner-spin-button { + appearance: none; +} + +input[type='number'], +input[type='number']:hover, +input[type='number']:focus { + appearance: textfield; + appearance: none; +} \ No newline at end of file diff --git a/src/app/styles/base/typography.scss b/src/app/styles/base/typography.scss new file mode 100644 index 0000000..3110f8b --- /dev/null +++ b/src/app/styles/base/typography.scss @@ -0,0 +1,31 @@ +:root { + /* Font Families */ + --font-primary: "Noto Sans", sans-serif; + --font-display: "Noto Sans", sans-serif; + --font-headline: "Noto Sans", sans-serif; + --font-code: "Noto Sans Mono", monospace; + + /* Font Sizes */ + --font-size-32: 2rem; + --font-size-24: 1.5rem; + --font-size-20: 1.25rem; + --font-size-16: 1rem; + --font-size-14: .875rem; + --font-size-12: .75rem; + --font-size-10: .625rem; + + /* Line Heights */ + --line-height-10: 1.2; + --line-height-12: 1.33; + --line-height-14: 1.28; + --line-height-16: 1.2; + --line-height-20: 1.2; + --line-height-24: 1.25; + --line-height-32: 1.25; + + /* Font Weights */ + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; +} \ No newline at end of file diff --git a/src/app/styles/index.scss b/src/app/styles/index.scss new file mode 100644 index 0000000..1e0d594 --- /dev/null +++ b/src/app/styles/index.scss @@ -0,0 +1,37 @@ +// Base +@use 'base/animations'; +@use 'base/colors'; +@use 'base/effects'; +@use 'base/reset'; +@use 'base/typography'; + +// Themes +@use 'themes/dark'; +@use 'themes/light'; + +html { + background-color: var(--background-base-lowest) !important; +} + +body { + width: 100%; + height: 100%; + color: var(--text-primary); + font-family: var(--font-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background: var(--background-base-lowest); +} + +#app-mount { + width: 100%; + height: 100%; +} + +#floating { + position: absolute; + z-index: 1002; + background: none !important; + pointer-events: none; + inset: 0; +} \ No newline at end of file diff --git a/src/app/styles/themes/dark.scss b/src/app/styles/themes/dark.scss new file mode 100644 index 0000000..913eb97 --- /dev/null +++ b/src/app/styles/themes/dark.scss @@ -0,0 +1,213 @@ +:root.theme-dark { + /* Button Colors */ + + /* Button Danger */ + --button-danger-background: var(--red-430); + --button-danger-background-active: var(--red-500); + --button-danger-background-disabled: var(--red-430); + --button-danger-background-hover: var(--red-460); + --button-danger-border: var(--transparent); + + /* Button Positive */ + --button-positive-background: var(--green-400); + --button-positive-background-active: var(--green-400); + --button-positive-background-disabled: var(--green-430); + --button-positive-background-hover: var(--green-430); + --button-positive-border: var(--opacity-8); + + /* Button Secondary */ + --button-secondary-background: var(--opacity-12); + --button-secondary-background-active: var(--primary-500); + --button-secondary-background-disabled: var(--opacity-12); + --button-secondary-background-hover: var(--opacity-20); + --button-secondary-text: var(--neutral-6); + + /* Button Filled Brand */ + --button-filled-brand-background: var(--brand-500); + --button-filled-brand-background-active: var(--brand-600); + --button-filled-brand-background-hover: var(--brand-560); + --button-filled-brand-border: var(--opacity-white-8); + --button-filled-brand-text: var(--white); + + /* Button Filled White */ + --button-filled-white-background: var(--white); + --button-filled-white-background-active: var(--neutral-17); + --button-filled-white-background-hover: var(--neutral-9); + --button-filled-white-text: var(--black); + + /* Button Outline Brand */ + --button-outline-brand-background: var(--white-hsl); + --button-outline-brand-background-active: var(--brand-560); + --button-outline-brand-background-hover: var(--brand-500); + --button-outline-brand-border: var(--brand-500); + --button-outline-brand-border-active: var(--brand-560); + --button-outline-brand-border-hover: var(--brand-500); + --button-outline-brand-text: var(--white); + --button-outline-brand-text-active: var(--white); + --button-outline-brand-text-hover: var(--white); + + /* Button Outline Danger */ + --button-outline-danger-background: var(--opacity-12); + --button-outline-danger-background-active: var(--primary-500); + --button-outline-danger-background-hover: var(--opacity-20); + --button-outline-danger-border: var(--opacity-4); + --button-outline-danger-border-active: var(--opacity-4); + --button-outline-danger-border-hover: var(--opacity-4); + --button-outline-danger-text: var(--red-345); + --button-outline-danger-text-active: var(--red-345); + --button-outline-danger-text-hover: var(--red-345); + + /* Button Outline Positive */ + --button-outline-positive-background: var(--white-hsl); + --button-outline-positive-background-active: var(--green-530); + --button-outline-positive-background-hover: var(--green-430); + --button-outline-positive-border: var(--green-360); + --button-outline-positive-border-active: var(--green-530); + --button-outline-positive-border-hover: var(--green-430); + --button-outline-positive-text: var(--white); + --button-outline-positive-text-active: var(--white); + --button-outline-positive-text-hover: var(--white); + + /* Button Outline Primary */ + --button-outline-primary-background: var(--opacity-1); + --button-outline-primary-background-active: var(--opacity-40); + --button-outline-primary-background-hover: var(--opacity-49); + --button-outline-primary-border: var(--primary-500); + --button-outline-primary-border-active: var(--opacity-40); + --button-outline-primary-border-hover: var(--opacity-49); + --button-outline-primary-text: var(--white); + --button-outline-primary-text-active: var(--white); + --button-outline-primary-text-hover: var(--white); + + /* Input Colors */ + --input-background: var(--opacity-12); + --input-background-critical: var(--red-430); + --input-background-default: var(--opacity-12); + --input-border: var(--opacity-8); + --input-border-active: var(--blue-300); + --input-border-critical: var(--red-430); + --input-border-critical-hover: var(--red-500); + --input-border-default: var(--opacity-8); + --input-border-default-hover: var(--primary-500); + --input-border-read-only: var(--opacity-8); + --input-background-error: var(--opacity-red-4); + --input-border-error: var(--red-345); + --input-text-error: var(--red-345); + --input-border-focused: var(--brand-500); + --input-placeholder-text: var(--neutral-32); + + /* Modal Colors */ + --modal-background: var(--neutral-64) + + /* Checkbox Colors */; + --checkbox-border-checked: var(--brand-500); + --checkbox-background-checked: var(--brand-500); + --checkbox-border-default: var(--neutral-34); + --checkbox-background-default: var(--opacity-4); + + /** Radio Colors */ + --radio-background-default: var(--opacity-black-8); + --radio-background-hover: var(--opacity-black-8); + --radio-border-default: var(--opacity-64); + --radio-border-hover: var(--opacity-80); + --radio-thumb-background-active: var(--neutral-1); + --radio-background-selected-default: var(--brand-500); + --radio-background-selected-hover: var(--brand-530); + --radio-border-selected-default: var(--opacity-12); + --radio-border-selected-hover: var(--opacity-12); + + /** Switch Colors */ + --switch-background-default: var(--opacity-black-8); + --switch-background-hover: var(--opacity-black-8); + --switch-background-selected-default: var(--brand-500); + --switch-background-selected-hover: var(--brand-530); + --switch-border-selected-default: var(--opacity-12); + --switch-border-selected-hover: var(--opacity-12); + --switch-border-default: var(--opacity-24); + --switch-border-hover: var(--opacity-80); + + /* Control Colors */ + --control-primary-border-default: var(--opacity-white-8); + --control-primary-background-default: var(--blurple-50); + --control-primary-background-hover: var(--blurple-60); + --control-primary-background-active: var(--blurple-65); + + /* Background Colors */ + --background-brand: var(--brand-500); + --background-scrim: var(--opacity-black-72); + --background-base-low: var(--neutral-82); + --background-base-lower: var(--neutral-86); + --background-base-lowest: var(--neutral-92); + --background-surface-high: var(--neutral-79); + --background-surface-higher: var(--neutral-76); + --background-modifier-hover: var(--opacity-8); + --background-modifier-selected: var(--opacity-20); + --background-modifier-strong: var(--opacity-20); + --background-modifier-normal: var(--opacity-16); + --background-modifier-muted: var(--opacity-4); + + /* Text Colors */ + --text-link: var(--blue-300); + --text-brand: var(--brand-500); + --text-muted: var(--neutral-22); + --text-danger: var(--red-345); + --text-primary: var(--neutral-1); + --text-default: var(--neutral-5); + --text-strong: var(--neutral-2); + --text-secondary: var(--neutral-16); + --text-subtle: var(--neutral-23); + + /* Text Feedback Colors */ + --text-feedback-info: var(--blue-300); + --text-feedback-positive: var(--green-360); + --text-feedback-warning: var(--yellow-345); + --text-feedback-critical: var(--red-345); + + /* Header Colors */ + --header-primary: var(--neutral-1); + --header-secondary: var(--neutral-9); + + /* Icons Colors */ + --icon-strong: var(--neutral-2); + --icon-tertiary: var(--neutral-29); + --icon-voice-muted: var(--red-460); + --icon-subtle: var(--neutral-23); + --interactive-text-hover: var(--neutral-2); + --interactive-text-default: var(--neutral-23); + --interactive-text-active: var(--neutral-2); + --interactive-background-hover: var(--opacity-8); + --interactive-background-selected: var(--opacity-20); + --interactive-background-active: var(--opacity-16); + --slider-track-background: var(--neutral-55); + + /* Border Colors */ + --border-normal: var(--opacity-20); + --border-subtle: var(--opacity-12); + --border-muted: var(--opacity-4); + --app-border-frame: var(--opacity-12); + + /* Icon Colors */ + --icon-status-dnd: var(--red-400); + --icon-status-idle: var(--yellow-300); + --icon-status-online: var(--green-360); + --icon-status-offline: var(--neutral-28); + + /* Statuses */ + --status-speaking: var(--green-360); + + /* Scrollbar Colors */ + --scrollbar-thin-thumb: var(--neutral-38); + --scrollbar-thin-track: var(--transparent); + + /* Channels */ + --channels-default: var(--neutral-35); + --channel-icon: var(--neutral-35); + --channel-text-area-placeholder: var(--neutral-40); + + /* Chat */ + --chat-background-default: var(--neutral-80); + + /* Shadow */ + --shadow-high: 0 12px 24px 0 var(--opacity-black-24); + --shadow-low: 0 1px 4px 0 var(--opacity-black-24); +} \ No newline at end of file diff --git a/src/app/styles/themes/light.scss b/src/app/styles/themes/light.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/styles/utils/functions.scss b/src/app/styles/utils/functions.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/styles/utils/mixins.scss b/src/app/styles/utils/mixins.scss new file mode 100644 index 0000000..4da7347 --- /dev/null +++ b/src/app/styles/utils/mixins.scss @@ -0,0 +1,362 @@ +@mixin scrollbar-thin { + scrollbar-color: var(--scrollbar-thin-thumb) var(--scrollbar-thin-track); + scrollbar-width: thin; + + &::-webkit-scrollbar { + width: var(--size-xxs); + height: var(--size-xxs); + } + + &:-webkit-scrollbar-corner { + background-color: var(--transparent); + } + + &::-webkit-scrollbar-thumb { + min-height: 2.5rem; + border: 2px solid transparent; + border-radius: var(--radius-xs); + background-clip: padding-box; + background-color: var(--scrollbar-thin-thumb); + } + + &:not(:hover)::-webkit-scrollbar-thumb { + background: transparent; + } + + &::-webkit-scrollbar-track { + border: 2px solid var(--scrollbar-thin-track); + border-color: var(--scrollbar-thin-track); + background-color: var(--scrollbar-thin-track); + } + + &::-webkit-scrollbar-button { + display: none; + } +} + +/* XXS */ +@mixin text-xxs-normal { + font-family: var(--font-primary); + font-size: var(--font-size-10); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-10); +} + +@mixin text-xxs-medium { + font-family: var(--font-primary); + font-size: var(--font-size-10); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-10); +} + +@mixin text-xxs-semibold { + font-family: var(--font-primary); + font-size: var(--font-size-10); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-10); +} + +@mixin text-xxs-bold { + font-family: var(--font-primary); + font-size: var(--font-size-10); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-10); +} + +/* XS */ +@mixin text-xs-normal { + font-family: var(--font-primary); + font-size: var(--font-size-12); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-12); +} + +@mixin text-xs-medium { + font-family: var(--font-primary); + font-size: var(--font-size-12); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-12); +} + +@mixin text-xs-semibold { + font-family: var(--font-primary); + font-size: var(--font-size-12); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-12); +} + +@mixin text-xs-bold { + font-family: var(--font-primary); + font-size: var(--font-size-12); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-12); +} + +/* SM */ +@mixin text-sm-normal { + font-family: var(--font-primary); + font-size: var(--font-size-14); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-14); +} + +@mixin text-sm-medium { + font-family: var(--font-primary); + font-size: var(--font-size-14); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-14); +} + +@mixin text-sm-semibold { + font-family: var(--font-primary); + font-size: var(--font-size-14); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-14); +} + +@mixin text-sm-bold { + font-family: var(--font-primary); + font-size: var(--font-size-14); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-14); +} + +/* MD */ +@mixin text-md-normal { + font-family: var(--font-primary); + font-size: var(--font-size-16); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-16); +} + +@mixin text-md-medium { + font-family: var(--font-primary); + font-size: var(--font-size-16); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-16); +} + +@mixin text-md-semibold { + font-family: var(--font-primary); + font-size: var(--font-size-16); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-16); +} + +@mixin text-md-bold { + font-family: var(--font-primary); + font-size: var(--font-size-16); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-16); +} + +/* LG */ +@mixin text-lg-normal { + font-family: var(--font-primary); + font-size: var(--font-size-20); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-20); +} + +@mixin text-lg-medium { + font-family: var(--font-primary); + font-size: var(--font-size-20); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-20); +} + +@mixin text-lg-semibold { + font-family: var(--font-primary); + font-size: var(--font-size-20); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-20); +} + +@mixin text-lg-bold { + font-family: var(--font-primary); + font-size: var(--font-size-20); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-20); +} + +/* Heading */ + +/* SM */ +@mixin heading-sm-normal { + font-family: var(--font-display); + font-size: var(--font-size-14); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-14); +} + +@mixin heading-sm-medium { + font-family: var(--font-display); + font-size: var(--font-size-14); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-14); +} + +@mixin heading-sm-semibold { + font-family: var(--font-display); + font-size: var(--font-size-14); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-14); +} + +@mixin heading-sm-bold { + font-family: var(--font-display); + font-size: var(--font-size-14); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-14); +} + +@mixin heading-sm-extrabold { + font-family: var(--font-display); + font-size: var(--font-size-14); + font-weight: var(--font-weight-extrabold); + line-height: var(--line-height-14); +} + +/* MD */ +@mixin heading-md-normal { + font-family: var(--font-display); + font-size: var(--font-size-16); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-16); +} + +@mixin heading-md-medium { + font-family: var(--font-display); + font-size: var(--font-size-16); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-16); +} + +@mixin heading-md-semibold { + font-family: var(--font-display); + font-size: var(--font-size-16); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-16); +} + +@mixin heading-md-bold { + font-family: var(--font-display); + font-size: var(--font-size-16); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-16); +} + +@mixin heading-md-extrabold { + font-family: var(--font-display); + font-size: var(--font-size-16); + font-weight: var(--font-weight-extrabold); + line-height: var(--line-height-16); +} + +/* LG */ +@mixin heading-lg-normal { + font-family: var(--font-display); + font-size: var(--font-size-20); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-20); +} + +@mixin heading-lg-medium { + font-family: var(--font-display); + font-size: var(--font-size-20); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-20); +} + +@mixin heading-lg-semibold { + font-family: var(--font-display); + font-size: var(--font-size-20); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-20); +} + +@mixin heading-lg-bold { + font-family: var(--font-display); + font-size: var(--font-size-20); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-20); +} + +@mixin heading-lg-extrabold { + font-family: var(--font-display); + font-size: var(--font-size-20); + font-weight: var(--font-weight-extrabold); + line-height: var(--line-height-20); +} + +/* XL */ +@mixin heading-xl-normal { + font-family: var(--font-display); + font-size: var(--font-size-24); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-24); +} + +@mixin heading-xl-medium { + font-family: var(--font-display); + font-size: var(--font-size-24); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-24); +} + +@mixin heading-xl-semibold { + font-family: var(--font-display); + font-size: var(--font-size-24); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-24); +} + +@mixin heading-xl-bold { + font-family: var(--font-display); + font-size: var(--font-size-24); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-24); +} + +@mixin heading-xl-extrabold { + font-family: var(--font-display); + font-size: var(--font-size-24); + font-weight: var(--font-weight-extrabold); + line-height: var(--line-height-24); +} + +/* XXL */ +@mixin heading-xxl-normal { + font-family: var(--font-display); + font-size: var(--font-size-32); + font-weight: var(--font-weight-normal); + line-height: var(--line-height-32); +} + +@mixin heading-xxl-medium { + font-family: var(--font-display); + font-size: var(--font-size-32); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-32); +} + +@mixin heading-xxl-semibold { + font-family: var(--font-display); + font-size: var(--font-size-32); + font-weight: var(--font-weight-semibold); + line-height: var(--line-height-32); +} + +@mixin heading-xxl-bold { + font-family: var(--font-display); + font-size: var(--font-size-32); + font-weight: var(--font-weight-bold); + line-height: var(--line-height-32); +} + +@mixin heading-xxl-extrabold { + font-family: var(--font-display); + font-size: var(--font-size-32); + font-weight: var(--font-weight-extrabold); + line-height: var(--line-height-32); +} \ No newline at end of file diff --git a/src/app/styles/utils/variables.scss b/src/app/styles/utils/variables.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/ui/SplashScreen/SplashScreen.vue b/src/app/ui/SplashScreen/SplashScreen.vue new file mode 100644 index 0000000..e264583 --- /dev/null +++ b/src/app/ui/SplashScreen/SplashScreen.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/app/ui/SplashScreen/index.ts b/src/app/ui/SplashScreen/index.ts new file mode 100644 index 0000000..9b8e3f7 --- /dev/null +++ b/src/app/ui/SplashScreen/index.ts @@ -0,0 +1,3 @@ +import SplashScreen from './SplashScreen.vue' + +export default SplashScreen diff --git a/src/app/ui/SvgDefs/SvgDefs.vue b/src/app/ui/SvgDefs/SvgDefs.vue new file mode 100644 index 0000000..753e871 --- /dev/null +++ b/src/app/ui/SvgDefs/SvgDefs.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/app/ui/SvgDefs/index.ts b/src/app/ui/SvgDefs/index.ts new file mode 100644 index 0000000..b29c681 --- /dev/null +++ b/src/app/ui/SvgDefs/index.ts @@ -0,0 +1,3 @@ +import SvgDefs from './SvgDefs.vue' + +export default SvgDefs diff --git a/src/app/ui/index.ts b/src/app/ui/index.ts new file mode 100644 index 0000000..bdbd6e0 --- /dev/null +++ b/src/app/ui/index.ts @@ -0,0 +1,4 @@ +import SvgDefs from './SvgDefs' +import SplashScreen from './SplashScreen' + +export { SvgDefs, SplashScreen } diff --git a/src/entities/channel/api/channel.api.ts b/src/entities/channel/api/channel.api.ts new file mode 100644 index 0000000..5a46369 --- /dev/null +++ b/src/entities/channel/api/channel.api.ts @@ -0,0 +1,22 @@ +import { apiClient } from '@/shared/api' +import type { Channel, CreateChannelDto, CreatePrivateChannelDto } from '../model/channel.types' + +export const channelApi = { + fetchChannels: (serverId: string) => apiClient.get(`/servers/${serverId}/channels`), + + fetchChannelById: (channelId: string) => apiClient.get(`/channels/${channelId}`), + + createChannel: (serverId: string, data: CreateChannelDto) => + apiClient.post(`/servers/${serverId}/channels`, data), + + updateChannel: (channelId: string, data: Partial) => + apiClient.patch(`/channels/${channelId}`, data), + + deleteChannel: (serverId: string, channelId: string) => + apiClient.delete(`/servers/${serverId}/channels/${channelId}`), + + fetchPrivateChannels: () => apiClient.get(`/users/@me/channels`), + + createPrivateChannel: (data: CreatePrivateChannelDto) => + apiClient.post(`/users/@me/channels`, data), +} diff --git a/src/entities/channel/api/index.ts b/src/entities/channel/api/index.ts new file mode 100644 index 0000000..80b3a79 --- /dev/null +++ b/src/entities/channel/api/index.ts @@ -0,0 +1 @@ +export * from './channel.api' diff --git a/src/entities/channel/index.ts b/src/entities/channel/index.ts new file mode 100644 index 0000000..a114feb --- /dev/null +++ b/src/entities/channel/index.ts @@ -0,0 +1,3 @@ +export * from './api' +export * from './model' +export * from './ui' diff --git a/src/entities/channel/model/channel.store.ts b/src/entities/channel/model/channel.store.ts new file mode 100644 index 0000000..21d64dc --- /dev/null +++ b/src/entities/channel/model/channel.store.ts @@ -0,0 +1,137 @@ +import { reactive, computed } from 'vue' +import { useRoute } from 'vue-router' +import { defineStore } from 'pinia' +import { channelApi } from '../api/channel.api' +import type { Channel, CreateChannelDto } from './channel.types' + +export const useChannelStore = defineStore('channel', () => { + const route = useRoute() + + // State + const channels = reactive>({}) + const activeId = computed(() => route.params.channelId as string) + const activeChannel = computed(() => getChannelById(activeId.value)) + + // Getters + const getChannelsByServerId = (serverId: string) => channels[serverId] ?? [] + const getActiveChannel = (): Channel | undefined => getChannelById(activeId.value) + const getChannelById = (channelId: string) => + Object.values(channels) + .flat() + .find((ch) => ch.id === channelId) + + // Actions + /** + * Получить каналы сервера + */ + const fetchChannels = async (serverId: string) => { + try { + const { data } = await channelApi.fetchChannels(serverId) + + channels[serverId] = data + } catch (err) { + console.error('Error fetching channels:', err) + throw err + } + } + + /** + * Создать новый канал + */ + const createChannel = async (serverId: string, payload: CreateChannelDto) => { + try { + const { data: newChannel } = await channelApi.createChannel(serverId, payload) + addChannel(serverId, newChannel) + + return newChannel + } catch (err) { + console.error('Error creating channel:', err) + throw err + } + } + + /** + * Обновить канал + */ + const updateServer = async (serverId: string, channelId: string, payload: Partial) => { + try { + const { data: updatedChannel } = await channelApi.updateChannel(channelId, payload) + + // Обновить в списке + const serverChannel = channels[serverId] + if (serverChannel) { + const index = serverChannel.findIndex((ch) => ch.id === channelId) + if (index !== -1) { + serverChannel[index] = updatedChannel + } + } + + return updatedChannel + } catch (err) { + console.error('Error updating channel:', err) + throw err + } + } + + /** + * Удалить канал + */ + const deleteChannel = async (serverId: string, channelId: string) => { + try { + await channelApi.deleteChannel(serverId, channelId) + + removeChannel(serverId, channelId) + } catch (err) { + console.error('Error deleting channel:', err) + throw err + } + } + + // Helpers + /** + * Добавить канал в state + */ + function addChannel(serverId: string, channel: Channel) { + if (!channels[serverId]) { + channels[serverId] = [] + } + channels[serverId].push(channel) + } + + /** + * Удалить канал из state + */ + function removeChannel(serverId: string, channelId: string) { + if (channels[serverId]) { + channels[serverId] = channels[serverId].filter((ch) => ch.id !== channelId) + } + } + + /** + * Сбросить state + */ + const $reset = () => { + Object.entries(channels).forEach(([serverId]) => { + delete channels[serverId] + }) + } + + return { + // State + channels, + activeId, + activeChannel, + + // Getters + getChannelsByServerId, + getChannelById, + getActiveChannel, + + // Actions + fetchChannels, + createChannel, + updateServer, + deleteChannel, + $reset, + } +}) diff --git a/src/entities/channel/model/channel.types.ts b/src/entities/channel/model/channel.types.ts new file mode 100644 index 0000000..1f56f41 --- /dev/null +++ b/src/entities/channel/model/channel.types.ts @@ -0,0 +1,33 @@ +export interface Channel { + id: string + type: ChannelTypes + server_id: string + position: number + name: string + last_message_id?: string + user_limit: number + recipients: string[] + owner_id: string + member_count: number + flags: number + created_at: number + updated_at: number +} + +export interface CreateChannelDto { + name: string + type: number + position?: number + user_limit?: number +} + +export interface CreatePrivateChannelDto { + recipients: string[] +} + +export enum ChannelTypes { + TEXT = 0, + VOICE = 1, + DM = 2, + GROUP_DM = 3, +} diff --git a/src/entities/channel/model/index.ts b/src/entities/channel/model/index.ts new file mode 100644 index 0000000..b69aef5 --- /dev/null +++ b/src/entities/channel/model/index.ts @@ -0,0 +1,2 @@ +export * from './channel.store' +export * from './channel.types' diff --git a/src/entities/channel/ui/PrivateChannel.vue b/src/entities/channel/ui/PrivateChannel.vue new file mode 100644 index 0000000..0aaf6b1 --- /dev/null +++ b/src/entities/channel/ui/PrivateChannel.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/src/entities/channel/ui/ServerChannel.vue b/src/entities/channel/ui/ServerChannel.vue new file mode 100644 index 0000000..20d86f8 --- /dev/null +++ b/src/entities/channel/ui/ServerChannel.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/entities/channel/ui/index.ts b/src/entities/channel/ui/index.ts new file mode 100644 index 0000000..08ccc0f --- /dev/null +++ b/src/entities/channel/ui/index.ts @@ -0,0 +1,2 @@ +export { default as ServerChannel } from './ServerChannel.vue' +export { default as PrivateChannel } from './PrivateChannel.vue' diff --git a/src/entities/message/api/index.ts b/src/entities/message/api/index.ts new file mode 100644 index 0000000..eafae26 --- /dev/null +++ b/src/entities/message/api/index.ts @@ -0,0 +1 @@ +export * from './message.api' diff --git a/src/entities/message/api/message.api.ts b/src/entities/message/api/message.api.ts new file mode 100644 index 0000000..c08b0d6 --- /dev/null +++ b/src/entities/message/api/message.api.ts @@ -0,0 +1,18 @@ +import { apiClient } from '@/shared/api' +import type { Message, CreateMessageDto } from '../model/message.types' + +export const messageApi = { + fetchMessages: (channelId: string) => apiClient.get(`/channels/${channelId}/messages`), + + fetchMessageById: (channelId: string, messageId: string) => + apiClient.get(`/channels/${channelId}/messages/${messageId}`), + + createMessage: (channelId: string, payload: CreateMessageDto) => + apiClient.post(`/channels/${channelId}/messages`, payload), + + updateMessage: (channelId: string, messageId: string, data: Partial) => + apiClient.patch(`/channels/${channelId}/messages/${messageId}`, data), + + deleteMessage: (channelId: string, messageId: string) => + apiClient.delete(`/channels/${channelId}/messages/${messageId}`), +} diff --git a/src/entities/message/index.ts b/src/entities/message/index.ts new file mode 100644 index 0000000..a114feb --- /dev/null +++ b/src/entities/message/index.ts @@ -0,0 +1,3 @@ +export * from './api' +export * from './model' +export * from './ui' diff --git a/src/entities/message/model/index.ts b/src/entities/message/model/index.ts new file mode 100644 index 0000000..35cc8b5 --- /dev/null +++ b/src/entities/message/model/index.ts @@ -0,0 +1,2 @@ +export * from './message.store' +export * from './message.types' diff --git a/src/entities/message/model/message.store.ts b/src/entities/message/model/message.store.ts new file mode 100644 index 0000000..3792678 --- /dev/null +++ b/src/entities/message/model/message.store.ts @@ -0,0 +1,159 @@ +import { reactive } from 'vue' +import { defineStore } from 'pinia' +import { messageApi } from '../api/message.api' +import type { CreateMessageDto, Message } from './message.types' +import { useSocket } from '@/shared/api/socket' + +export const useMessageStore = defineStore('message', () => { + const { socket } = useSocket() + + // State + const messages = reactive>>({}) + + // Getters + const getMessages = (channelId: string): Message[] => { + return Object.values(messages[channelId] || {}) + } + + // Mutations + const addMessage = (message: Message) => { + const channelId = message.channel_id + if (!messages[channelId]) { + messages[channelId] = {} + } + messages[channelId][message.id] = message + } + + const deleteMessageFromState = (channelId: string, messageId: string) => { + if (!messages[channelId]) return + + delete messages[channelId][messageId] + } + + // Actions + /** + * Загрузить список сообщений для канала + */ + const fetchMessages = async (channelId: string) => { + try { + const { data } = await messageApi.fetchMessages(channelId) + + if (!messages[channelId]) { + messages[channelId] = {} + } + const channelMessages = messages[channelId] + + data.forEach((message) => (channelMessages[message.id] = message)) + } catch (err) { + console.error('Error fetching messages:', err) + throw err + } + } + + /** + * Загрузить сообщение по ID + */ + const fetchMessageById = async (channelId: string, messageId: string) => { + try { + const { data: message } = await messageApi.fetchMessageById(channelId, messageId) + + if (!messages[channelId]) { + messages[channelId] = {} + } + const channelMessages = messages[channelId] + + channelMessages[message.id] = message + } catch (err) { + console.error('Error fetching message:', err) + throw err + } + } + + /** + * Создать новое сообщение + */ + const createMessage = async (channelId: string, payload: CreateMessageDto) => { + try { + const { data: newMessage } = await messageApi.createMessage(channelId, payload) + + if (!messages[channelId]) { + messages[channelId] = {} + } + const channelMessages = messages[channelId] + + channelMessages[newMessage.id] = newMessage + } catch (err) { + console.error('Error creating message:', err) + throw err + } + } + + /** + * Обновить сообщение + */ + const updateMessage = async ( + channelId: string, + messageId: string, + payload: Partial, + ) => { + try { + const { data: updatedMessage } = await messageApi.updateMessage(channelId, messageId, payload) + + if (!messages[channelId]) { + messages[channelId] = {} + } + + const channelMessages = messages[channelId] + + channelMessages[updatedMessage.id] = updatedMessage + } catch (err) { + console.error('Error updating server:', err) + throw err + } + } + + /** + * Удалить сообщение + */ + const deleteMessage = async (channelId: string, messageId: string) => { + try { + await messageApi.deleteMessage(channelId, messageId) + + deleteMessageFromState(channelId, messageId) + } catch (err) { + console.error('Error deleting server:', err) + throw err + } + } + + /** + * Сбросить state + */ + const $reset = () => { + Object.entries(messages).forEach(([id]) => { + delete messages[id] + }) + } + + // Socket events + socket.on('message:create', (message) => addMessage(message as Message)) + + return { + // State + messages, + + // Getters + getMessages, + + // Mutations + addMessage, + + // Actions + fetchMessages, + fetchMessageById, + createMessage, + updateMessage, + deleteMessage, + $reset, + } +}) diff --git a/src/entities/message/model/message.types.ts b/src/entities/message/model/message.types.ts new file mode 100644 index 0000000..2b9a962 --- /dev/null +++ b/src/entities/message/model/message.types.ts @@ -0,0 +1,53 @@ +export enum MessageTypes { + DEFAULT = 0, + RECIPIENT_ADD = 1, + RECIPIENT_REMOVE = 2, + CALL = 3, + CHANNEL_NAME_CHANGE = 4, + CHANNEL_ICON_CHANGE = 5, + CHANNEL_PINNED_MESSAGE = 6, + USER_JOIN = 7, + REPLY = 8, + CHAT_INPUT_COMMAND = 9, +} + +export enum MessageFlags { + NONE = 0, + PINNED = 1 << 0, + LOADING = 1 << 1, + IS_VOICE_MESSAGE = 1 << 2, +} + +export interface IReaction { + emoji: string + count: number + users: string[] +} + +export interface Message { + id: string + channel_id: string + author: { + id: string + username: string + global_name: string + bot: boolean + avatar?: string + } + content: string + timestamp: number + edited_timestamp: number | null + tts: boolean + attachments: string[] + reactions: IReaction[] + pinned: boolean + type: MessageTypes + flags: number + created_at: number + updated_at: number +} + +export interface CreateMessageDto { + content: string + tts?: boolean +} diff --git a/src/entities/message/ui/MessageCard.vue b/src/entities/message/ui/MessageCard.vue new file mode 100644 index 0000000..c119605 --- /dev/null +++ b/src/entities/message/ui/MessageCard.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/entities/message/ui/MessageCardSkeleton.vue b/src/entities/message/ui/MessageCardSkeleton.vue new file mode 100644 index 0000000..e4c3d66 --- /dev/null +++ b/src/entities/message/ui/MessageCardSkeleton.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/entities/message/ui/index.ts b/src/entities/message/ui/index.ts new file mode 100644 index 0000000..4a159b8 --- /dev/null +++ b/src/entities/message/ui/index.ts @@ -0,0 +1,4 @@ +import MessageCard from './MessageCard.vue' +import MessageCardSkeleton from './MessageCardSkeleton.vue' + +export { MessageCard, MessageCardSkeleton } diff --git a/src/entities/peer/index.ts b/src/entities/peer/index.ts new file mode 100644 index 0000000..551001f --- /dev/null +++ b/src/entities/peer/index.ts @@ -0,0 +1,2 @@ +export * from './model' +export * from './ui' diff --git a/src/entities/peer/model/index.ts b/src/entities/peer/model/index.ts new file mode 100644 index 0000000..f73c306 --- /dev/null +++ b/src/entities/peer/model/index.ts @@ -0,0 +1,2 @@ +export * from './peer.types' +export * from './peer.store' diff --git a/src/entities/peer/model/peer.store.ts b/src/entities/peer/model/peer.store.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/peer/model/peer.types.ts b/src/entities/peer/model/peer.types.ts new file mode 100644 index 0000000..91dab83 --- /dev/null +++ b/src/entities/peer/model/peer.types.ts @@ -0,0 +1,6 @@ +export interface RemotePeer { + userId: string + audioStream?: MediaStream + videoStream?: MediaStream + isSpeaking?: boolean +} diff --git a/src/entities/peer/ui/PeerCard.vue b/src/entities/peer/ui/PeerCard.vue new file mode 100644 index 0000000..316a4c3 --- /dev/null +++ b/src/entities/peer/ui/PeerCard.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/src/entities/peer/ui/index.ts b/src/entities/peer/ui/index.ts new file mode 100644 index 0000000..94038db --- /dev/null +++ b/src/entities/peer/ui/index.ts @@ -0,0 +1,3 @@ +import PeerCard from './PeerCard.vue' + +export { PeerCard } diff --git a/src/entities/relationship/api/index.ts b/src/entities/relationship/api/index.ts new file mode 100644 index 0000000..fbefe74 --- /dev/null +++ b/src/entities/relationship/api/index.ts @@ -0,0 +1 @@ +export * from './relationship.api' diff --git a/src/entities/relationship/api/relationship.api.ts b/src/entities/relationship/api/relationship.api.ts new file mode 100644 index 0000000..e5a4649 --- /dev/null +++ b/src/entities/relationship/api/relationship.api.ts @@ -0,0 +1,26 @@ +import { apiClient } from '@/shared/api' +import type { Relationship } from '../model/relationship.types' + +export const relationshipApi = { + fetchRelationships: () => apiClient.get(`/users/@me/relationships`), + + sendFriendRequest: (payload: { username: string }) => + apiClient.post(`/users/@me/relationships`, payload), + + createRelationship: (userId: string, payload: { type: number }) => + apiClient.put(`/users/@me/relationships/${userId}`, payload), + + updateRelationship: (userId: string, payload: { nickname: string }) => + apiClient.patch(`/users/@me/relationships/${userId}`, payload), + + deleteRelationship: (userId: string) => apiClient.delete(`/users/@me/relationships/${userId}`), + + bulkDeleteRelationships: () => apiClient.delete(`/users/@me/relationships`), + + bulkAddRelationships: (payload: { userIds: string[] }) => + apiClient.post(`/users/@me/relationships/bulk`, payload), + + ignoreUser: (userId: string) => apiClient.put(`/users/@me/relationships/${userId}/ignore`), + + unignoreUser: (userId: string) => apiClient.delete(`/users/@me/relationships/${userId}/ignore`), +} diff --git a/src/entities/relationship/index.ts b/src/entities/relationship/index.ts new file mode 100644 index 0000000..a114feb --- /dev/null +++ b/src/entities/relationship/index.ts @@ -0,0 +1,3 @@ +export * from './api' +export * from './model' +export * from './ui' diff --git a/src/entities/relationship/model/index.ts b/src/entities/relationship/model/index.ts new file mode 100644 index 0000000..2e4acaf --- /dev/null +++ b/src/entities/relationship/model/index.ts @@ -0,0 +1,2 @@ +export * from './relationship.store' +export * from './relationship.types' diff --git a/src/entities/relationship/model/relationship.store.ts b/src/entities/relationship/model/relationship.store.ts new file mode 100644 index 0000000..6d2dcf7 --- /dev/null +++ b/src/entities/relationship/model/relationship.store.ts @@ -0,0 +1,110 @@ +import { reactive } from 'vue' +import { defineStore } from 'pinia' +import { relationshipApi } from '../api/relationship.api' +import type { Relationship } from './relationship.types' + +export const useRelationshipStore = defineStore('relationship', () => { + // State + const relationships = reactive>({}) + + const fetchRelationships = async () => { + try { + const { data } = await relationshipApi.fetchRelationships() + + data.forEach((rel: Relationship) => { + relationships[rel.id] = rel + }) + } catch (err) { + console.error('Error fetching relationships:', err) + throw err + } + } + + const createRelationship = async (userId: string, payload: { type: number }) => { + try { + await relationshipApi.createRelationship(userId, payload) + } catch (err) { + console.error('Error creating relationship:', err) + throw err + } + } + + const updateRelationship = async (userId: string, payload: { nickname: string }) => { + try { + await relationshipApi.updateRelationship(userId, payload) + } catch (err) { + console.error('Error updating relationship:', err) + throw err + } + } + + const deleteRelationship = async (userId: string) => { + try { + await relationshipApi.deleteRelationship(userId) + } catch (err) { + console.error('Error deleting relationship:', err) + throw err + } + } + + const bulkDeleteRelationships = async () => { + try { + await relationshipApi.bulkDeleteRelationships() + } catch (err) { + console.error('Error bulk deleting relationships:', err) + throw err + } + } + + const bulkAddRelationships = async (payload: { userIds: string[] }) => { + try { + await relationshipApi.bulkAddRelationships(payload) + } catch (err) { + console.error('Error bulk adding relationships:', err) + throw err + } + } + + const sendFriendRequest = async (payload: { username: string }) => { + try { + await relationshipApi.sendFriendRequest(payload) + } catch (err) { + console.error('Error creating friend request:', err) + throw err + } + } + + const ignoreUser = async (userId: string) => { + try { + await relationshipApi.ignoreUser(userId) + } catch (err) { + console.error('Error ignoring user:', err) + throw err + } + } + + const unignoreUser = async (userId: string) => { + try { + await relationshipApi.unignoreUser(userId) + } catch (err) { + console.error('Error unignoring user:', err) + throw err + } + } + + return { + // State + relationships, + + // Actions + fetchRelationships, + sendFriendRequest, + createRelationship, + updateRelationship, + deleteRelationship, + bulkDeleteRelationships, + bulkAddRelationships, + ignoreUser, + unignoreUser, + } +}) diff --git a/src/entities/relationship/model/relationship.types.ts b/src/entities/relationship/model/relationship.types.ts new file mode 100644 index 0000000..e242621 --- /dev/null +++ b/src/entities/relationship/model/relationship.types.ts @@ -0,0 +1,8 @@ +export interface Relationship { + id: string + user_id: string + friend_id: string + status: number + created_at: string + update_at: string +} diff --git a/src/entities/relationship/ui/index.ts b/src/entities/relationship/ui/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/server/api/index.ts b/src/entities/server/api/index.ts new file mode 100644 index 0000000..e87be62 --- /dev/null +++ b/src/entities/server/api/index.ts @@ -0,0 +1 @@ +export * from './server.api' diff --git a/src/entities/server/api/server.api.ts b/src/entities/server/api/server.api.ts new file mode 100644 index 0000000..c7e3b9d --- /dev/null +++ b/src/entities/server/api/server.api.ts @@ -0,0 +1,17 @@ +import { apiClient } from '@/shared/api' +import type { Server, CreateServerDto } from '../model/server.types' + +export const serverApi = { + fetchServers: () => apiClient.get('/servers'), + + fetchMyServers: () => apiClient.get('/users/@me/servers'), + + fetchServerById: (id: string) => apiClient.get(`/servers/${id}`), + + createServer: (data: CreateServerDto) => apiClient.post('/servers', data), + + updateServer: (id: string, data: Partial) => + apiClient.patch(`/servers/${id}`, data), + + deleteServer: (id: string) => apiClient.delete(`/servers/${id}`), +} diff --git a/src/entities/server/index.ts b/src/entities/server/index.ts new file mode 100644 index 0000000..304e2b6 --- /dev/null +++ b/src/entities/server/index.ts @@ -0,0 +1,2 @@ +export * from './api' +export * from './model' diff --git a/src/entities/server/model/index.ts b/src/entities/server/model/index.ts new file mode 100644 index 0000000..8a001c2 --- /dev/null +++ b/src/entities/server/model/index.ts @@ -0,0 +1,2 @@ +export * from './server.store' +export * from './server.types' diff --git a/src/entities/server/model/server.store.ts b/src/entities/server/model/server.store.ts new file mode 100644 index 0000000..fc68290 --- /dev/null +++ b/src/entities/server/model/server.store.ts @@ -0,0 +1,119 @@ +import { reactive, computed } from 'vue' +import { useRoute } from 'vue-router' +import { defineStore } from 'pinia' +import { serverApi } from '../api/server.api' +import type { CreateServerDto, Server } from './server.types' + +export const useServerStore = defineStore('server', () => { + const route = useRoute() + + // State + const servers = reactive>({}) + const activeId = computed(() => route.params.serverId as string) + const activeServer = computed(() => getServerById(activeId.value)) + + // Getters + const getServerById = (id: string): Server | undefined => servers[id] + const getActiveServer = () => getServerById(activeId.value) + + // Actions + /** + * Загрузить список серверов + */ + const fetchMyServers = async () => { + try { + const { data } = await serverApi.fetchMyServers() + data.forEach((server) => (servers[server.id] = server)) + } catch (err) { + console.error('Error fetching servers:', err) + throw err + } + } + + /** + * Загрузить сервер по ID + */ + const fetchServerById = async (id: string) => { + try { + const { data: server } = await serverApi.fetchServerById(id) + + servers[id] = server + return server + } catch (err) { + console.error('Error fetching server:', err) + throw err + } + } + + /** + * Создать новый сервер + */ + const createServer = async (payload: CreateServerDto) => { + try { + const { data: newServer } = await serverApi.createServer(payload) + servers[newServer.id] = newServer + + return newServer + } catch (err) { + console.error('Error creating server:', err) + throw err + } + } + + /** + * Обновить сервер + */ + const updateServer = async (id: string, payload: Partial) => { + try { + const { data: updatedServer } = await serverApi.updateServer(id, payload) + + servers[id] = updatedServer + return updatedServer + } catch (err) { + console.error('Error updating server:', err) + throw err + } + } + + /** + * Удалить сервер + */ + const deleteServer = async (id: string) => { + try { + await serverApi.deleteServer(id) + + delete servers[id] + } catch (err) { + console.error('Error deleting server:', err) + throw err + } + } + + /** + * Сбросить состояние + */ + const $reset = () => { + Object.entries(servers).forEach(([id]) => { + delete servers[id] + }) + } + + return { + // State + servers, + activeId, + activeServer, + + // Getters + getServerById, + getActiveServer, + + // Actions + fetchMyServers, + fetchServerById, + createServer, + updateServer, + deleteServer, + $reset, + } +}) diff --git a/src/entities/server/model/server.types.ts b/src/entities/server/model/server.types.ts new file mode 100644 index 0000000..83a4c42 --- /dev/null +++ b/src/entities/server/model/server.types.ts @@ -0,0 +1,17 @@ +export interface Server { + id: string + name: string + icon?: string + owner_id: string + description: string + afk_timeout: number + created_at: string + updated_at: string +} + +export interface CreateServerDto { + name: string + description?: string + icon?: string + afk_timeout?: number +} diff --git a/src/entities/session/api/index.ts b/src/entities/session/api/index.ts new file mode 100644 index 0000000..512851d --- /dev/null +++ b/src/entities/session/api/index.ts @@ -0,0 +1 @@ +export * from './session.api' diff --git a/src/entities/session/api/session.api.ts b/src/entities/session/api/session.api.ts new file mode 100644 index 0000000..ea22e6a --- /dev/null +++ b/src/entities/session/api/session.api.ts @@ -0,0 +1,11 @@ +import type { LoginDto, RegisterDto, AuthResponse } from '../model/session.types' +import { apiClient } from '@/shared/api' + +export const sessionApi = { + login: (credentials: LoginDto) => apiClient.post('/auth/login', credentials), + + register: (credentials: RegisterDto) => + apiClient.post('/auth/register', credentials), + + logout: () => apiClient.post('/auth/logout'), +} diff --git a/src/entities/session/index.ts b/src/entities/session/index.ts new file mode 100644 index 0000000..304e2b6 --- /dev/null +++ b/src/entities/session/index.ts @@ -0,0 +1,2 @@ +export * from './api' +export * from './model' diff --git a/src/entities/session/lib/validation.ts b/src/entities/session/lib/validation.ts new file mode 100644 index 0000000..1c8539c --- /dev/null +++ b/src/entities/session/lib/validation.ts @@ -0,0 +1,22 @@ +import { date, string } from 'zod' + +export const emailRule = string({ required_error: 'Обязательное поле' }).email('Некорректный email') + +export const passwordRule = string({ required_error: 'Обязательное поле' }) + .min(8, 'Минимум 8 символов') + .max(72, 'Максимум 72 символов') + +export const usernameRule = string() + .min(2, 'Минимум 2 символа') + .max(32, 'Максимум 32 символов') + .optional() + +export const globalNameRule = string() + .min(1, 'Минимум 1 символ') + .max(32, 'Максимум 32 символов') + .optional() + +export const dateOfBirthRule = date() + .min(new Date('1873-01-01')) + .max(new Date('2022-01-01')) + .optional() diff --git a/src/entities/session/model/index.ts b/src/entities/session/model/index.ts new file mode 100644 index 0000000..79577e1 --- /dev/null +++ b/src/entities/session/model/index.ts @@ -0,0 +1,2 @@ +export * from './session.store' +export * from './session.types' diff --git a/src/entities/session/model/session.store.ts b/src/entities/session/model/session.store.ts new file mode 100644 index 0000000..1276e4b --- /dev/null +++ b/src/entities/session/model/session.store.ts @@ -0,0 +1,69 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' +import { sessionApi } from '../api' +import type { LoginDto, RegisterDto } from './session.types' + +export const useSessionStore = defineStore('session', () => { + // State + const userId = ref(null) + const isAuthenticated = ref(false) + const token = computed(() => localStorage.getItem('token') ?? null) + + // Actions + const register = async (payload: RegisterDto) => { + try { + const { data } = await sessionApi.register(payload) + + userId.value = data.user_id + localStorage.setItem('token', data.token) + isAuthenticated.value = true + } catch (err) { + console.error('Error logging in:', err) + throw err + } + } + + const login = async (payload: LoginDto) => { + try { + const { data } = await sessionApi.login(payload) + + localStorage.setItem('token', data.token) + userId.value = data.user_id + isAuthenticated.value = true + } catch (err) { + console.error('Error logging in:', err) + throw err + } + } + + const logout = async () => { + try { + await sessionApi.logout() + $reset() + } catch (err) { + console.error('Error logging out:', err) + throw err + } + } + + /** + * Сбросить состояние + */ + const $reset = () => { + userId.value = null + isAuthenticated.value = false + } + + return { + // State + userId, + token, + isAuthenticated, + + // Actions + register, + login, + logout, + $reset, + } +}) diff --git a/src/entities/session/model/session.types.ts b/src/entities/session/model/session.types.ts new file mode 100644 index 0000000..11e837b --- /dev/null +++ b/src/entities/session/model/session.types.ts @@ -0,0 +1,17 @@ +export interface LoginDto { + email: string + password: string +} + +export interface RegisterDto extends LoginDto { + username?: string + global_name?: string + date_of_birth?: Date + consent?: boolean + promotional_email_opt_in?: boolean +} + +export interface AuthResponse { + user_id: string + token: string +} diff --git a/src/entities/user/api/index.ts b/src/entities/user/api/index.ts new file mode 100644 index 0000000..8e58aba --- /dev/null +++ b/src/entities/user/api/index.ts @@ -0,0 +1 @@ +export * from './user.api' diff --git a/src/entities/user/api/user.api.ts b/src/entities/user/api/user.api.ts new file mode 100644 index 0000000..435fbd9 --- /dev/null +++ b/src/entities/user/api/user.api.ts @@ -0,0 +1,25 @@ +import { apiClient } from '@/shared/api' +import type { User, CurrentUser } from '../model/user.types' + +export const userApi = { + fetchCurrentUser: () => apiClient.get('/users/@me'), + + updateCurrentUser: (data: Partial) => + apiClient.patch('/users/@me', data), + + updateUserAccount: (data: Partial) => + apiClient.patch('/users/@me/account', data), + + fetchRecentAvatars: () => apiClient.get('/users/@me/avatars'), + + deleteRecentAvatar: (avatarId: string) => apiClient.delete(`/users/@me/avatars/${avatarId}`), + + fetchUserById: (userId: string) => apiClient.get(`/users/${userId}`), + + fetchUserProfile: (userId: string) => apiClient.get(`/users/${userId}`), + + updateUserProfile: (userId: string, data: Partial) => + apiClient.patch(`/users/${userId}`, data), + + fetchRelationShips: (userId: string) => apiClient.get(`/users/${userId}/relationships`), +} diff --git a/src/entities/user/index.ts b/src/entities/user/index.ts new file mode 100644 index 0000000..a114feb --- /dev/null +++ b/src/entities/user/index.ts @@ -0,0 +1,3 @@ +export * from './api' +export * from './model' +export * from './ui' diff --git a/src/entities/user/model/current-user.store.ts b/src/entities/user/model/current-user.store.ts new file mode 100644 index 0000000..267a979 --- /dev/null +++ b/src/entities/user/model/current-user.store.ts @@ -0,0 +1,54 @@ +import { ref } from 'vue' +import { defineStore } from 'pinia' +import { userApi } from '../api/user.api' +import { type CurrentUser } from './user.types' + +export const useCurrentUserStore = defineStore('current-user', () => { + // State + const currentUser = ref() + + // Actions + /** + * Загрузить текущего пользователя + */ + const fetchCurrentUser = async () => { + try { + const { data } = await userApi.fetchCurrentUser() + + currentUser.value = data + } catch (err) { + console.error('Error fetching servers:', err) + throw err + } + } + + /** + * Обновить текущего пользователя + */ + const updateCurrentUser = async (payload: Partial) => { + try { + const { data } = await userApi.updateCurrentUser(payload) + currentUser.value = data + } catch (err) { + console.error('Error updating user:', err) + throw err + } + } + + /** + * Сбросить состояние + */ + const $reset = () => { + currentUser.value = undefined + } + + return { + // State + currentUser, + + // Actions + fetchCurrentUser, + updateCurrentUser, + $reset, + } +}) diff --git a/src/entities/user/model/index.ts b/src/entities/user/model/index.ts new file mode 100644 index 0000000..16a0ea3 --- /dev/null +++ b/src/entities/user/model/index.ts @@ -0,0 +1,3 @@ +export * from './user.store' +export * from './user.types' +export * from './current-user.store' diff --git a/src/entities/user/model/user.store.ts b/src/entities/user/model/user.store.ts new file mode 100644 index 0000000..bb4b3f1 --- /dev/null +++ b/src/entities/user/model/user.store.ts @@ -0,0 +1,58 @@ +import { reactive } from 'vue' +import { defineStore } from 'pinia' +import { userApi } from '../api/user.api' +import { type User } from './user.types' + +export const useUserStore = defineStore('user', () => { + // State + const users = reactive>({}) + const userProfiles = reactive>({}) + + // Actions + /** + * Загрузить пользователя по ID + */ + const fetchCurrentUser = async (userId: string) => { + try { + const { data: user } = await userApi.fetchUserById(userId) + + users[user.id] = user + } catch (err) { + console.error('Error fetching servers:', err) + throw err + } + } + + /** + * Получить профиль пользователя по ID + */ + const fetchUserProfile = async (userId: string) => { + try { + const { data } = await userApi.fetchUserProfile(userId) + + userProfiles[userId] = data + } catch (err) { + console.error('Error updating user:', err) + throw err + } + } + + /** + * Сбросить состояние + */ + const $reset = () => { + Object.entries(users).forEach(([id]) => { + delete users[id] + }) + } + + return { + // State + users, + + // Actions + fetchCurrentUser, + fetchUserProfile, + $reset, + } +}) diff --git a/src/entities/user/model/user.types.ts b/src/entities/user/model/user.types.ts new file mode 100644 index 0000000..8de0c5e --- /dev/null +++ b/src/entities/user/model/user.types.ts @@ -0,0 +1,28 @@ +export interface User { + id: string + username: string + avatar?: string + public_flags: number + flags: number + global_name?: string +} + +export interface CurrentUser extends User { + email: string + verified: boolean + phone?: string + bio: string +} + +export enum UserFlags { + NONE = 0, + DELETED = 1 << 0, + SELF_DELETED = 1 << 1, + DISABLED = 1 << 2, +} + +export enum UserPublicFlags { + NONE = 0, + STAFF = 1 << 3, + SPAMMER = 1 << 4, +} diff --git a/src/entities/user/ui/index.ts b/src/entities/user/ui/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/add-friend/index.ts b/src/features/add-friend/index.ts new file mode 100644 index 0000000..37f1d75 --- /dev/null +++ b/src/features/add-friend/index.ts @@ -0,0 +1,3 @@ +import AddFriendForm from './ui/AddFriendForm.vue' + +export default AddFriendForm diff --git a/src/features/add-friend/model/index.ts b/src/features/add-friend/model/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/add-friend/model/schema.ts b/src/features/add-friend/model/schema.ts new file mode 100644 index 0000000..a7c8a36 --- /dev/null +++ b/src/features/add-friend/model/schema.ts @@ -0,0 +1,7 @@ +import { z } from 'zod' + +export const addFriendSchema = z.object({ + username: z.string().min(2, 'Минимум 2 символа').max(32, 'Максимум 32 символов'), +}) + +export type AddFriendFormData = z.infer diff --git a/src/features/add-friend/model/useAddFriendForm.ts b/src/features/add-friend/model/useAddFriendForm.ts new file mode 100644 index 0000000..27b6c2d --- /dev/null +++ b/src/features/add-friend/model/useAddFriendForm.ts @@ -0,0 +1,49 @@ +import { ref, computed } from 'vue' +import { useForm } from 'vee-validate' +import { AxiosError } from 'axios' +import { toTypedSchema } from '@vee-validate/zod' +import { addFriendSchema, type AddFriendFormData } from './schema' +import { useRelationshipStore } from '@/entities/relationship' + +export const useAddFriendForm = () => { + const serverError = ref(undefined) + + const { handleSubmit, errors, isSubmitting, defineField, values, meta } = + useForm({ + validationSchema: toTypedSchema(addFriendSchema), + }) + + const isValid = computed(() => meta.value.valid) + + const [username, usernameAttrs] = defineField('username') + + const onSubmit = handleSubmit(async (values) => { + serverError.value = undefined + + try { + await useRelationshipStore().sendFriendRequest(values) + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + serverError.value = error.response?.data?.message || 'Ошибка создания сервера' + } else { + serverError.value = 'Произошла непредвиденная ошибка' + } + } + }) + + return { + // Fields + username, + usernameAttrs, + + // State + values, + errors, + serverError, + isSubmitting, + isValid, + + // Actions + onSubmit, + } +} diff --git a/src/features/add-friend/ui/AddFriendForm.vue b/src/features/add-friend/ui/AddFriendForm.vue new file mode 100644 index 0000000..40bc68d --- /dev/null +++ b/src/features/add-friend/ui/AddFriendForm.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/src/features/audio-control/index.ts b/src/features/audio-control/index.ts new file mode 100644 index 0000000..551001f --- /dev/null +++ b/src/features/audio-control/index.ts @@ -0,0 +1,2 @@ +export * from './model' +export * from './ui' diff --git a/src/features/audio-control/model/audio-control.store.ts b/src/features/audio-control/model/audio-control.store.ts new file mode 100644 index 0000000..c475059 --- /dev/null +++ b/src/features/audio-control/model/audio-control.store.ts @@ -0,0 +1,76 @@ +import { defineStore } from 'pinia' +import { ref, shallowRef, watch } from 'vue' +import { useMediaDevices } from '@/shared/composables/useMediaDevices' + +export const useAudioStore = defineStore('audio-control', () => { + // State + const { audioInputs, audioOutputs, requestAudioPermissions, getAudioStream } = useMediaDevices() + + const selectedMicId = ref(localStorage.getItem('mic-id') || 'default') + const selectedSpeakerId = ref(localStorage.getItem('speaker-id') || 'default') + + const isMicMuted = ref(false) + const isDeafened = ref(false) + + const currentStream = shallowRef(null) + + // Actions + const init = async () => { + await requestAudioPermissions() + await updateStream() + } + + const updateStream = async () => { + if (currentStream.value) { + currentStream.value.getTracks().forEach((t) => t.stop()) + } + + try { + const stream = await getAudioStream(selectedMicId.value) + applyMuteState(stream) + currentStream.value = stream + } catch (err) { + console.error('Failed to update stream:', err) + } + } + + const applyMuteState = (stream: MediaStream | null = currentStream.value) => { + if (!stream) return + stream.getAudioTracks().forEach((track) => { + track.enabled = !isMicMuted.value && !isDeafened.value + }) + } + + const toggleMic = () => { + isMicMuted.value = !isMicMuted.value + applyMuteState() + } + + const toggleDeafen = () => { + isDeafened.value = !isDeafened.value + applyMuteState() + } + + // Следим за сменой устройств + watch([selectedMicId, selectedSpeakerId], () => { + localStorage.setItem('mic-id', selectedMicId.value) + localStorage.setItem('speaker-id', selectedSpeakerId.value) + updateStream() + }) + + return { + // State + audioInputs, + audioOutputs, + isMicMuted, + isDeafened, + selectedMicId, + selectedSpeakerId, + currentStream, + + // Actions + init, + toggleMic, + toggleDeafen, + } +}) diff --git a/src/features/audio-control/model/index.ts b/src/features/audio-control/model/index.ts new file mode 100644 index 0000000..8d04a84 --- /dev/null +++ b/src/features/audio-control/model/index.ts @@ -0,0 +1 @@ +export * from './audio-control.store' diff --git a/src/features/audio-control/ui/AudioButton.vue b/src/features/audio-control/ui/AudioButton.vue new file mode 100644 index 0000000..1b2fc1e --- /dev/null +++ b/src/features/audio-control/ui/AudioButton.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/features/audio-control/ui/MicControl.vue b/src/features/audio-control/ui/MicControl.vue new file mode 100644 index 0000000..0e967d1 --- /dev/null +++ b/src/features/audio-control/ui/MicControl.vue @@ -0,0 +1,32 @@ + + + \ No newline at end of file diff --git a/src/features/audio-control/ui/SpeakerControl.vue b/src/features/audio-control/ui/SpeakerControl.vue new file mode 100644 index 0000000..ee4f701 --- /dev/null +++ b/src/features/audio-control/ui/SpeakerControl.vue @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/src/features/audio-control/ui/index.ts b/src/features/audio-control/ui/index.ts new file mode 100644 index 0000000..e2b4bb4 --- /dev/null +++ b/src/features/audio-control/ui/index.ts @@ -0,0 +1,2 @@ +export { default as MicControl } from './MicControl.vue' +export { default as SpeakerControl } from './SpeakerControl.vue' diff --git a/src/features/call-session/index.ts b/src/features/call-session/index.ts new file mode 100644 index 0000000..116e668 --- /dev/null +++ b/src/features/call-session/index.ts @@ -0,0 +1 @@ +export * from './model' diff --git a/src/features/call-session/model/call-session.store.ts b/src/features/call-session/model/call-session.store.ts new file mode 100644 index 0000000..39c49db --- /dev/null +++ b/src/features/call-session/model/call-session.store.ts @@ -0,0 +1,306 @@ +import { defineStore, storeToRefs } from 'pinia' +import { ref, shallowRef, reactive, computed, watch } from 'vue' +import { Device } from 'mediasoup-client' +import type { Transport, Producer, RtpCapabilities } from 'mediasoup-client/types' +import { useSocket } from '@/shared/api' +import { useAudioStore } from '@/features/audio-control' +import { useChannelStore } from '@/entities/channel' +import { useSound } from '@/shared/composables' +import type { RemotePeer } from '@/entities/peer' + +export const useCallSessionStore = defineStore('call-session', () => { + const { socket } = useSocket() + const { play } = useSound() + const audioStore = useAudioStore() + const { currentStream, isMicMuted } = storeToRefs(audioStore) + const { activeId: channelId } = storeToRefs(useChannelStore()) + + // State + const userId = ref(`user-${Math.floor(Math.random() * 1000)}`) + const joined = ref(false) + const speaking = ref(false) + const isVideoEnabled = ref(false) + const localVideoStream = shallowRef() + + // reactive Map + const remotePeersMap = reactive(new Map()) + const remotePeers = computed(() => Array.from(remotePeersMap.values())) + + // Mediasoup internals + let device: Device | null = null + let producerTransport: Transport | null = null + let consumerTransport: Transport | null = null + let audioProducer: Producer | null = null + let videoProducer: Producer | null = null + + let listenersAttached = false + + // Socket listeners + const attachListeners = () => { + if (listenersAttached) return + socket.on('call:media:producer_added', onProducerAdded) + socket.on('call:user_joined', onUserJoined) + socket.on('call:user_left', onUserLeft) + socket.on('call:user_speaking', onUserSpeaking) + listenersAttached = true + } + + const detachListeners = () => { + socket.off('call:media:producer_added', onProducerAdded) + socket.off('call:user_joined', onUserJoined) + socket.off('call:user_left', onUserLeft) + socket.off('call:user_speaking', onUserSpeaking) + listenersAttached = false + } + + const onProducerAdded = async (data: { + producer_id: string + user_id: string + kind: 'audio' | 'video' + }) => { + if (data.user_id === userId.value) return + await consumeSource(data.producer_id, data.user_id, data.kind) + } + + const onUserJoined = (data: { user_id: string }) => { + if (!remotePeersMap.has(data.user_id)) { + remotePeersMap.set(data.user_id, { userId: data.user_id }) + } + } + + const onUserLeft = (data: { user_id: string }) => { + remotePeersMap.delete(data.user_id) + } + + const onUserSpeaking = (data: { user_id: string; speaking: boolean }) => { + const peer = remotePeersMap.get(data.user_id) + if (!peer) return + // Пересоздаём запись, чтобы reactive Map увидел изменение + remotePeersMap.set(data.user_id, { ...peer, isSpeaking: data.speaking }) + } + + // --- Actions --- + const join = async () => { + if (!userId.value || !channelId.value || joined.value) return + + attachListeners() + + socket.emit( + 'call:join', + { channel_id: channelId.value, user_id: userId.value }, + async (response: { error?: string; rtpCapabilities: RtpCapabilities; peers?: any }) => { + if (response.error) return console.error(response.error) + + device = new Device() + await device.load({ routerRtpCapabilities: response.rtpCapabilities }) + await initTransports() + + joined.value = true + play('user_join') + + await publishMic() + + if (response.peers) { + for (const peer of response.peers) { + if (!remotePeersMap.has(peer.userId)) { + remotePeersMap.set(peer.userId, { userId: peer.userId }) + } + for (const producer of peer.producers) { + await consumeSource(producer.id, peer.userId, producer.kind) + } + } + } + }, + ) + } + + const initTransports = async () => { + if (!device) return + + const sendParams = await new Promise((resolve) => + socket.emit('call:media:create_transport', { forceTcp: false }, resolve), + ) + + producerTransport = device.createSendTransport(sendParams) + + producerTransport.on('connect', ({ dtlsParameters }, cb) => { + socket.emit( + 'call:media:connect_transport', + { transport_id: producerTransport!.id, dtls_parameters: dtlsParameters }, + cb, + ) + }) + + producerTransport.on('produce', ({ kind, rtpParameters, appData }, cb) => { + socket.emit( + 'call:media:produce', + { + transport_id: producerTransport!.id, + kind, + rtp_parameters: rtpParameters, + app_data: { ...appData, user_id: userId.value }, + }, + ({ id }: any) => cb({ id }), + ) + }) + + const recvParams = await new Promise((resolve) => + socket.emit('call:media:create_transport', { force_tcp: false }, resolve), + ) + + consumerTransport = device.createRecvTransport(recvParams) + + consumerTransport.on('connect', ({ dtlsParameters }, cb) => { + socket.emit( + 'call:media:connect_transport', + { transport_id: consumerTransport!.id, dtls_parameters: dtlsParameters }, + cb, + ) + }) + } + + const publishMic = async () => { + if (!producerTransport) return + + try { + if (!currentStream.value) await audioStore.init() + + const track = currentStream.value?.getAudioTracks()[0] + if (!track) throw new Error('Аудио трек недоступен') + + audioProducer = await producerTransport.produce({ + track, + appData: { kind: 'audio' }, + }) + + if (isMicMuted.value) audioProducer.pause() + } catch (e) { + console.error('Mic error', e) + } + } + + const consumeSource = async ( + producerId: string, + remoteUserId: string, + kind: 'audio' | 'video', + ) => { + if (!device || !consumerTransport) return + + socket.emit( + 'call:media:consume', + { + transport_id: consumerTransport.id, + producer_id: producerId, + rtp_capabilities: device.rtpCapabilities, + }, + async (params: any) => { + if (params.error) return console.error(params.error) + + const consumer = await consumerTransport!.consume({ + id: params.id, + producerId: params.producerId, + kind: params.kind, + rtpParameters: params.rtpParameters, + }) + + const stream = new MediaStream([consumer.track]) + const existing = remotePeersMap.get(remoteUserId) ?? { userId: remoteUserId } + + // Пересоздаём объект — иначе reactive не заметит изменение вложенного поля + remotePeersMap.set(remoteUserId, { + ...existing, + ...(kind === 'video' ? { videoStream: stream } : { audioStream: stream }), + }) + + socket.emit('call:media:resume', { consumer_id: consumer.id }) + }, + ) + } + + const toggleVideo = async () => { + if (isVideoEnabled.value) { + videoProducer?.close() + localVideoStream.value?.getTracks().forEach((t) => t.stop()) + localVideoStream.value = undefined + videoProducer = null + isVideoEnabled.value = false + play('camera_off') + } else { + try { + const stream = await navigator.mediaDevices.getUserMedia({ video: true }) + localVideoStream.value = stream + + if (producerTransport) { + videoProducer = await producerTransport.produce({ + track: stream.getVideoTracks()[0], + appData: { kind: 'video' }, + }) + } + + isVideoEnabled.value = true + play('camera_on') + } catch (e) { + console.error('Camera error', e) + } + } + } + + const leave = () => { + if (!joined.value) return + + joined.value = false + detachListeners() + + if (speaking.value) { + speaking.value = false + socket.emit('call:speaking', { + user_id: userId.value, + channel_id: channelId.value, + speaking: false, + }) + } + + localVideoStream.value?.getTracks().forEach((t) => t.stop()) + localVideoStream.value = undefined + isVideoEnabled.value = false + + audioProducer?.close() + videoProducer?.close() + audioProducer = null + videoProducer = null + + remotePeersMap.clear() + + socket.emit('call:leave') + play('user_leave') + } + + // --- Watchers --- + watch(currentStream, async (newStream) => { + if (!newStream || !audioProducer) return + const track = newStream.getAudioTracks()[0] + if (track) await audioProducer.replaceTrack({ track }) + }) + + watch(isMicMuted, (muted) => { + if (!audioProducer) return + if (muted) { + audioProducer.pause() + play('mute') + } else { + audioProducer.resume() + play('unmute') + } + }) + + return { + joined, + speaking, + isVideoEnabled, + localVideoStream, + remotePeers, + join, + leave, + toggleVideo, + } +}) diff --git a/src/features/call-session/model/index.ts b/src/features/call-session/model/index.ts new file mode 100644 index 0000000..dd1bfee --- /dev/null +++ b/src/features/call-session/model/index.ts @@ -0,0 +1 @@ +export * from './call-session.store' diff --git a/src/features/channel-tools/index.ts b/src/features/channel-tools/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/channel-tools/model/index.ts b/src/features/channel-tools/model/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/channel-tools/ui/index.ts b/src/features/channel-tools/ui/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-channel/index.ts b/src/features/create-channel/index.ts new file mode 100644 index 0000000..b27c13f --- /dev/null +++ b/src/features/create-channel/index.ts @@ -0,0 +1,3 @@ +import CreateChannelForm from './ui' + +export default CreateChannelForm diff --git a/src/features/create-channel/model/index.ts b/src/features/create-channel/model/index.ts new file mode 100644 index 0000000..69bde4f --- /dev/null +++ b/src/features/create-channel/model/index.ts @@ -0,0 +1,3 @@ +import { useCreateChannelForm } from './useCreateChannelForm' +export { createChannelSchema, type CreateChannelFormData } from './schema' +export { useCreateChannelForm } diff --git a/src/features/create-channel/model/schema.ts b/src/features/create-channel/model/schema.ts new file mode 100644 index 0000000..046ba1a --- /dev/null +++ b/src/features/create-channel/model/schema.ts @@ -0,0 +1,11 @@ +import { z } from 'zod' + +export const createChannelSchema = z.object({ + name: z + .string({ required_error: 'Введите название канала' }) + .min(1, 'Минимум 1 символ') + .max(100, 'Максимум 100 символов'), + type: z.number().int().min(0, 'Недопустимый тип канала').max(3, 'Недопустимый тип канала'), +}) + +export type CreateChannelFormData = z.infer diff --git a/src/features/create-channel/model/useCreateChannelForm.ts b/src/features/create-channel/model/useCreateChannelForm.ts new file mode 100644 index 0000000..4333707 --- /dev/null +++ b/src/features/create-channel/model/useCreateChannelForm.ts @@ -0,0 +1,57 @@ +import { ref, computed } from 'vue' +import { useForm } from 'vee-validate' +import { toTypedSchema } from '@vee-validate/zod' +import { AxiosError } from 'axios' +import { createChannelSchema, type CreateChannelFormData } from './schema' +import { useChannelStore } from '@/entities/channel' + +export const useCreateChannelForm = (onSuccess?: () => void) => { + const serverError = ref(undefined) + const serverId = ref('') + + const { handleSubmit, errors, isSubmitting, defineField, values, meta } = + useForm({ + validationSchema: toTypedSchema(createChannelSchema), + initialValues: { + type: 0, + }, + }) + + const isValid = computed(() => meta.value.valid) + + const [name, nameAttrs] = defineField('name') + const [type, typeAttrs] = defineField('type') + + const onSubmit = handleSubmit(async (values) => { + try { + await useChannelStore().createChannel(serverId.value, values) + + if (onSuccess) onSuccess() + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + serverError.value = error.response?.data?.message || 'Ошибка создания сервера' + } else { + serverError.value = 'Произошла непредвиденная ошибка' + } + } + }) + + return { + // Fields + name, + nameAttrs, + type, + typeAttrs, + + // State + values, + errors, + serverError, + isSubmitting, + serverId, + isValid, + + // Actions + onSubmit, + } +} diff --git a/src/features/create-channel/ui/CreateChannelForm.vue b/src/features/create-channel/ui/CreateChannelForm.vue new file mode 100644 index 0000000..a91b47c --- /dev/null +++ b/src/features/create-channel/ui/CreateChannelForm.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/features/create-channel/ui/index.ts b/src/features/create-channel/ui/index.ts new file mode 100644 index 0000000..81736aa --- /dev/null +++ b/src/features/create-channel/ui/index.ts @@ -0,0 +1,3 @@ +import CreateChannelForm from './CreateChannelForm.vue' + +export default CreateChannelForm diff --git a/src/features/create-dm/index.ts b/src/features/create-dm/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-dm/model/index.ts b/src/features/create-dm/model/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-dm/model/schema.ts b/src/features/create-dm/model/schema.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-dm/model/useCreateDMFrom.ts b/src/features/create-dm/model/useCreateDMFrom.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-dm/ui/CreateDMForm.vue b/src/features/create-dm/ui/CreateDMForm.vue new file mode 100644 index 0000000..b4b4f95 --- /dev/null +++ b/src/features/create-dm/ui/CreateDMForm.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/features/create-dm/ui/index.ts b/src/features/create-dm/ui/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/features/create-message/index.ts b/src/features/create-message/index.ts new file mode 100644 index 0000000..a78db1f --- /dev/null +++ b/src/features/create-message/index.ts @@ -0,0 +1,3 @@ +import CreateMessageForm from './ui' + +export default CreateMessageForm diff --git a/src/features/create-message/model/index.ts b/src/features/create-message/model/index.ts new file mode 100644 index 0000000..d50930b --- /dev/null +++ b/src/features/create-message/model/index.ts @@ -0,0 +1,2 @@ +export * from './useCreateMessageForm' +export * from './schema' diff --git a/src/features/create-message/model/schema.ts b/src/features/create-message/model/schema.ts new file mode 100644 index 0000000..e9b8561 --- /dev/null +++ b/src/features/create-message/model/schema.ts @@ -0,0 +1,7 @@ +import { z } from 'zod' + +export const createMessageSchema = z.object({ + content: z.string().min(1).max(2000), +}) + +export type createMessageFormData = z.infer diff --git a/src/features/create-message/model/useCreateMessageForm.ts b/src/features/create-message/model/useCreateMessageForm.ts new file mode 100644 index 0000000..1322206 --- /dev/null +++ b/src/features/create-message/model/useCreateMessageForm.ts @@ -0,0 +1,57 @@ +import { ref } from 'vue' +import { useForm } from 'vee-validate' +import { storeToRefs } from 'pinia' +import { toTypedSchema } from '@vee-validate/zod' +import { AxiosError } from 'axios' +import { createMessageSchema, type createMessageFormData } from './schema' +import { useMessageStore } from '@/entities/message' +import { useChannelStore } from '@/entities/channel' + +export const useCreateMessageForm = () => { + const channelStore = useChannelStore() + const { activeId: channelId } = storeToRefs(channelStore) + + const { createMessage } = useMessageStore() + const serverError = ref(undefined) + const isSubmitting = ref(false) + + const { errors, defineField, values } = useForm({ + validationSchema: toTypedSchema(createMessageSchema), + }) + + const [content, contentAttrs] = defineField('content') + + const onSubmit = async (content: string) => { + if (isSubmitting.value) return + isSubmitting.value = true + serverError.value = undefined + + try { + await createMessage(channelId.value, { content }) + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + serverError.value = error.response?.data?.message || 'Ошибка создания сообщения' + } else { + serverError.value = 'Произошла непредвиденная ошибка' + } + } finally { + isSubmitting.value = false + } + } + + return { + // Поля + content, + contentAttrs, + + // Состояние формы + values, + errors, + serverError, + isSubmitting, + channelId, + + // Методы + onSubmit, + } +} diff --git a/src/features/create-message/ui/ActionToolbar.vue b/src/features/create-message/ui/ActionToolbar.vue new file mode 100644 index 0000000..dc3a3d4 --- /dev/null +++ b/src/features/create-message/ui/ActionToolbar.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/src/features/create-message/ui/AttachAction.vue b/src/features/create-message/ui/AttachAction.vue new file mode 100644 index 0000000..ca74282 --- /dev/null +++ b/src/features/create-message/ui/AttachAction.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/features/create-message/ui/AttachmentArea.vue b/src/features/create-message/ui/AttachmentArea.vue new file mode 100644 index 0000000..6fb792c --- /dev/null +++ b/src/features/create-message/ui/AttachmentArea.vue @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/src/features/create-message/ui/CreateMessageForm.vue b/src/features/create-message/ui/CreateMessageForm.vue new file mode 100644 index 0000000..57337bc --- /dev/null +++ b/src/features/create-message/ui/CreateMessageForm.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/features/create-message/ui/UploadInput.vue b/src/features/create-message/ui/UploadInput.vue new file mode 100644 index 0000000..25b200e --- /dev/null +++ b/src/features/create-message/ui/UploadInput.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/features/create-message/ui/index.ts b/src/features/create-message/ui/index.ts new file mode 100644 index 0000000..7790c46 --- /dev/null +++ b/src/features/create-message/ui/index.ts @@ -0,0 +1,3 @@ +import CreateMessageForm from './CreateMessageForm.vue' + +export default CreateMessageForm diff --git a/src/features/create-server/index.ts b/src/features/create-server/index.ts new file mode 100644 index 0000000..bcba84a --- /dev/null +++ b/src/features/create-server/index.ts @@ -0,0 +1,5 @@ +import CreateServerForm from './ui/CreateServerForm.vue' +export { useCreateServerForm } from './model/useCreateServerForm' +export type { createServerSchema, CreateServerFormData } from './model/schema' + +export default CreateServerForm diff --git a/src/features/create-server/model/index.ts b/src/features/create-server/model/index.ts new file mode 100644 index 0000000..2c4a918 --- /dev/null +++ b/src/features/create-server/model/index.ts @@ -0,0 +1,8 @@ +import type { InjectionKey } from 'vue' +import { useCreateServerForm } from './useCreateServerForm' +export { createServerSchema, type CreateServerFormData } from './schema' +export { useCreateServerForm } + +type CreateServerContext = ReturnType + +export const CREATE_SERVER_FORM_KEY: InjectionKey = Symbol('CreateServerForm') diff --git a/src/features/create-server/model/schema.ts b/src/features/create-server/model/schema.ts new file mode 100644 index 0000000..de54ed0 --- /dev/null +++ b/src/features/create-server/model/schema.ts @@ -0,0 +1,25 @@ +import { z } from 'zod' + +const base64ImageRegex = + /^data:image\/(png|jpg|jpeg|gif|webp);base64,([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$/ + +export const createServerSchema = z.object({ + name: z + .string({ required_error: 'Введите название сервера' }) + .min(2, 'Минимум 2 символа') + .max(100, 'Максимум 100 символов'), + icon: z + .string() + .optional() + .refine((val) => { + if (!val) return true + return base64ImageRegex.test(val) + }, 'Некорректный формат изображения') + .refine((val) => { + if (!val) return true + const sizeInBytes = (val.length * 3) / 4 + return sizeInBytes <= 5 * 1024 * 1024 + }, 'Изображение слишком большое (макс. 5МБ)'), +}) + +export type CreateServerFormData = z.infer diff --git a/src/features/create-server/model/useCreateServerForm.ts b/src/features/create-server/model/useCreateServerForm.ts new file mode 100644 index 0000000..96c9eef --- /dev/null +++ b/src/features/create-server/model/useCreateServerForm.ts @@ -0,0 +1,86 @@ +import { ref, computed } from 'vue' +import { useForm } from 'vee-validate' +import { toTypedSchema } from '@vee-validate/zod' +import { AxiosError } from 'axios' +import { createServerSchema, type CreateServerFormData } from './schema' +import { useServerStore } from '@/entities/server' +import { useRouter } from 'vue-router' + +enum Step { + TEMPLATE = 0, + AUDIENCE = 1, + CUSTOMIZE = 2, +} + +export const useCreateServerForm = (onSuccess?: () => void) => { + const router = useRouter() + const currentStep = ref(Step.TEMPLATE) + const serverError = ref(undefined) + + const { handleSubmit, errors, isSubmitting, defineField, values, meta } = + useForm({ + validationSchema: toTypedSchema(createServerSchema), + }) + + const isValid = computed(() => meta.value.valid) + + const [name, nameAttrs] = defineField('name') + const [icon, iconAttrs] = defineField('icon') + + const isLastStep = computed(() => currentStep.value === Step.CUSTOMIZE) + const isFirstStep = computed(() => currentStep.value === Step.TEMPLATE) + + const nextStep: () => void = async () => { + currentStep.value++ + } + + const prevStep: () => void = () => { + if (!isFirstStep.value) { + currentStep.value-- + } + } + + const onSubmit = handleSubmit(async (values) => { + serverError.value = undefined + + try { + const newServer = await useServerStore().createServer(values) + + await router.push({ name: 'server', params: { serverId: newServer.id } }) + + if (onSuccess) onSuccess() + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + serverError.value = error.response?.data?.message || 'Ошибка создания сервера' + } else { + serverError.value = 'Произошла непредвиденная ошибка' + } + } + }) + + return { + // Fields + name, + nameAttrs, + icon, + iconAttrs, + + // State + values, + errors, + serverError, + isSubmitting, + isValid, + + // Wizard state + currentStep, + isLastStep, + isFirstStep, + Step, + + // Actions + nextStep, + prevStep, + onSubmit, + } +} diff --git a/src/features/create-server/ui/AudienceStep.vue b/src/features/create-server/ui/AudienceStep.vue new file mode 100644 index 0000000..ac38c34 --- /dev/null +++ b/src/features/create-server/ui/AudienceStep.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/features/create-server/ui/CreateServerForm.vue b/src/features/create-server/ui/CreateServerForm.vue new file mode 100644 index 0000000..4fee7c7 --- /dev/null +++ b/src/features/create-server/ui/CreateServerForm.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/features/create-server/ui/CustomizeStep.vue b/src/features/create-server/ui/CustomizeStep.vue new file mode 100644 index 0000000..e9456f1 --- /dev/null +++ b/src/features/create-server/ui/CustomizeStep.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/features/create-server/ui/PurposeOption.vue b/src/features/create-server/ui/PurposeOption.vue new file mode 100644 index 0000000..c87f684 --- /dev/null +++ b/src/features/create-server/ui/PurposeOption.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/features/create-server/ui/TemplateStep.vue b/src/features/create-server/ui/TemplateStep.vue new file mode 100644 index 0000000..54c68eb --- /dev/null +++ b/src/features/create-server/ui/TemplateStep.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/features/login/index.ts b/src/features/login/index.ts new file mode 100644 index 0000000..72caef4 --- /dev/null +++ b/src/features/login/index.ts @@ -0,0 +1,2 @@ +export { LoginForm } from './ui' +export { useLoginForm, type LoginFormData } from './model' diff --git a/src/features/login/model/index.ts b/src/features/login/model/index.ts new file mode 100644 index 0000000..e1bd05c --- /dev/null +++ b/src/features/login/model/index.ts @@ -0,0 +1,2 @@ +export { useLoginForm } from './useLoginForm' +export { loginSchema, type LoginFormData } from './schema' diff --git a/src/features/login/model/schema.ts b/src/features/login/model/schema.ts new file mode 100644 index 0000000..e36d197 --- /dev/null +++ b/src/features/login/model/schema.ts @@ -0,0 +1,9 @@ +import { z } from 'zod' +import { emailRule, passwordRule } from '@/entities/session/lib/validation' + +export const loginSchema = z.object({ + email: emailRule, + password: passwordRule, +}) + +export type LoginFormData = z.infer diff --git a/src/features/login/model/useLoginForm.ts b/src/features/login/model/useLoginForm.ts new file mode 100644 index 0000000..b2545d1 --- /dev/null +++ b/src/features/login/model/useLoginForm.ts @@ -0,0 +1,63 @@ +import { ref } from 'vue' +import { useRouter } from 'vue-router' +import { useForm } from 'vee-validate' +import { toTypedSchema } from '@vee-validate/zod' +import { loginSchema } from './schema' +import { AxiosError } from 'axios' +import { useSessionStore } from '@/entities/session' + +export const useLoginForm = () => { + const router = useRouter() + const { login } = useSessionStore() + const serverError = ref(undefined) + + const { handleSubmit, errors, isSubmitting, defineField } = useForm({ + validationSchema: toTypedSchema(loginSchema), + }) + + const fieldOptions = { + validateOnInput: false, + validateOnModelUpdate: false, + validateOnBlur: false, + validateOnChange: false, + } + + const [email, emailAttrs] = defineField('email', fieldOptions) + const [password, passwordAttrs] = defineField('password', fieldOptions) + + const onSubmit = handleSubmit(async (values) => { + serverError.value = undefined + + try { + await login(values) + + await router.push({ name: 'friends' }) + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + if (error.response?.status === 401) { + serverError.value = 'Неверный email или пароль' + } else { + serverError.value = error.response?.data?.message || 'Ошибка входа' + } + } else { + serverError.value = 'Ошибка входа' + } + } + }) + + return { + // Поля + email, + emailAttrs, + password, + passwordAttrs, + + // Состояние + errors, + serverError, + isSubmitting, + + // Методы + onSubmit, + } +} diff --git a/src/features/login/ui/LoginForm.vue b/src/features/login/ui/LoginForm.vue new file mode 100644 index 0000000..d2f1904 --- /dev/null +++ b/src/features/login/ui/LoginForm.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/features/login/ui/index.ts b/src/features/login/ui/index.ts new file mode 100644 index 0000000..d13bb0c --- /dev/null +++ b/src/features/login/ui/index.ts @@ -0,0 +1 @@ +export { default as LoginForm } from './LoginForm.vue' diff --git a/src/features/register/index.ts b/src/features/register/index.ts new file mode 100644 index 0000000..776499f --- /dev/null +++ b/src/features/register/index.ts @@ -0,0 +1,3 @@ +export { default as RegisterForm } from './ui/RegisterForm.vue' +export { useRegisterForm } from './model/useRegisterForm' +export type { registerSchema, RegisterFormData } from './model/schema' diff --git a/src/features/register/model/index.ts b/src/features/register/model/index.ts new file mode 100644 index 0000000..643ec8c --- /dev/null +++ b/src/features/register/model/index.ts @@ -0,0 +1,2 @@ +export { useRegisterForm } from './useRegisterForm' +export { registerSchema, type RegisterFormData } from './schema' diff --git a/src/features/register/model/schema.ts b/src/features/register/model/schema.ts new file mode 100644 index 0000000..a97889e --- /dev/null +++ b/src/features/register/model/schema.ts @@ -0,0 +1,20 @@ +import { z } from 'zod' +import { + usernameRule, + globalNameRule, + dateOfBirthRule, + emailRule, + passwordRule, +} from '@/entities/session/lib/validation' + +export const registerSchema = z.object({ + username: usernameRule, + global_name: globalNameRule, + email: emailRule, + password: passwordRule, + date_of_birth: dateOfBirthRule, + consent: z.boolean().optional(), + promotional_email_opt_in: z.boolean().optional(), +}) + +export type RegisterFormData = z.infer diff --git a/src/features/register/model/useRegisterForm.ts b/src/features/register/model/useRegisterForm.ts new file mode 100644 index 0000000..31cdf9e --- /dev/null +++ b/src/features/register/model/useRegisterForm.ts @@ -0,0 +1,120 @@ +import { ref, computed } from 'vue' +import { useRouter } from 'vue-router' +import { useForm } from 'vee-validate' +import { toTypedSchema } from '@vee-validate/zod' +import { registerSchema } from './schema' +import { AxiosError } from 'axios' +import { useSessionStore } from '@/entities/session' + +interface MonthItem { + title: string + value: number +} + +export const useRegisterForm = () => { + const router = useRouter() + const { register } = useSessionStore() + const serverError = ref(undefined) + + const { handleSubmit, errors, isSubmitting, defineField } = useForm({ + validationSchema: toTypedSchema(registerSchema), + }) + + const fieldOptions = { + validateOnInput: false, + validateOnModelUpdate: false, + validateOnBlur: false, + validateOnChange: false, + } + + const [username, usernameAttrs] = defineField('username', fieldOptions) + const [globalName, globalNameAttrs] = defineField('global_name', fieldOptions) + const [email, emailAttrs] = defineField('email', fieldOptions) + const [password, passwordAttrs] = defineField('password', fieldOptions) + const [consent, consentAttrs] = defineField('consent') + const [promotionalEmailOptIn, promotionalEmailOptInAttrs] = defineField( + 'promotional_email_opt_in', + ) + + const selectedMonth = ref(null) + const selectedYear = ref(null) + const selectedDay = ref(null) + + const maxYear = new Date().getFullYear() - 13 + const years: number[] = Array.from({ length: 100 }, (_, index) => maxYear - index) + + const months: MonthItem[] = Array.from({ length: 12 }, (_, i) => { + const monthNumber = i + 1 + const date = new Date(2026, i, 1) + return { + title: date.toLocaleString('ru-RU', { month: 'long' }), + value: monthNumber, + } + }) + + const days = computed(() => { + if (!selectedMonth.value || !selectedYear.value) { + return Array.from({ length: 31 }, (_, i) => i + 1) + } + const daysInMonth = new Date(selectedYear.value, selectedMonth.value, 0).getDate() + + return Array.from({ length: daysInMonth }, (_, i) => i + 1) + }) + + const onSubmit = handleSubmit(async (values) => { + serverError.value = undefined + + try { + const dateOfBirthValue = + selectedDay.value && selectedMonth.value && selectedYear.value + ? new Date(selectedYear.value, selectedMonth.value - 1, selectedDay.value) + : undefined + + await register({ ...values, date_of_birth: dateOfBirthValue }) + + await router.push({ name: 'friends' }) + } catch (error: AxiosError | unknown) { + if (error instanceof AxiosError) { + if (error.response?.status === 400) { + serverError.value = 'Неверные данные' + } else if (error.response?.status === 409) { + serverError.value = 'Адрес электронной почты уже зарегистрирован' + } + } else { + serverError.value = 'Ошибка регистрации' + } + } + }) + + return { + // Поля + username, + usernameAttrs, + globalName, + globalNameAttrs, + email, + emailAttrs, + password, + passwordAttrs, + consent, + consentAttrs, + promotionalEmailOptIn, + promotionalEmailOptInAttrs, + + // Date of birth + selectedDay, + selectedMonth, + selectedYear, + days, + months, + years, + + // Состояние + errors, + serverError, + isSubmitting, + + // Методы + onSubmit, + } +} diff --git a/src/features/register/ui/RegisterForm.vue b/src/features/register/ui/RegisterForm.vue new file mode 100644 index 0000000..d2efacd --- /dev/null +++ b/src/features/register/ui/RegisterForm.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/features/register/ui/index.ts b/src/features/register/ui/index.ts new file mode 100644 index 0000000..69a0138 --- /dev/null +++ b/src/features/register/ui/index.ts @@ -0,0 +1 @@ +export { default as RegisterForm } from './RegisterForm.vue' diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..421d637 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,7 @@ +export {} + +declare global { + interface Window { + app_ready: boolean + } +} diff --git a/src/main.ts b/src/main.ts index fda1e6e..d1f2abb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,3 @@ -import { createApp } from 'vue' -import { createPinia } from 'pinia' +import { app } from './app' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') +app.mount('#app-mount') diff --git a/src/pages/channel/index.ts b/src/pages/channel/index.ts new file mode 100644 index 0000000..c5aa4ea --- /dev/null +++ b/src/pages/channel/index.ts @@ -0,0 +1,3 @@ +import ChannelPage from './ui/ChannelPage.vue' + +export default ChannelPage diff --git a/src/pages/channel/ui/ChannelPage.vue b/src/pages/channel/ui/ChannelPage.vue new file mode 100644 index 0000000..9e5bcec --- /dev/null +++ b/src/pages/channel/ui/ChannelPage.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/pages/discovery/index.ts b/src/pages/discovery/index.ts new file mode 100644 index 0000000..b74758c --- /dev/null +++ b/src/pages/discovery/index.ts @@ -0,0 +1,3 @@ +import DiscoveryPage from './ui/DiscoveryPage.vue' + +export default DiscoveryPage diff --git a/src/pages/discovery/ui/DiscoveryPage.vue b/src/pages/discovery/ui/DiscoveryPage.vue new file mode 100644 index 0000000..8f01dcf --- /dev/null +++ b/src/pages/discovery/ui/DiscoveryPage.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/pages/dm-channel/index.ts b/src/pages/dm-channel/index.ts new file mode 100644 index 0000000..49da3d2 --- /dev/null +++ b/src/pages/dm-channel/index.ts @@ -0,0 +1,3 @@ +import DmChannelPage from './ui/DmChannelPage.vue' + +export default DmChannelPage diff --git a/src/pages/dm-channel/ui/DmChannelPage.vue b/src/pages/dm-channel/ui/DmChannelPage.vue new file mode 100644 index 0000000..a8d5a5a --- /dev/null +++ b/src/pages/dm-channel/ui/DmChannelPage.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/pages/dm-content/index.ts b/src/pages/dm-content/index.ts new file mode 100644 index 0000000..52a549b --- /dev/null +++ b/src/pages/dm-content/index.ts @@ -0,0 +1,3 @@ +import DmContent from './ui/DmContent.vue' + +export default DmContent diff --git a/src/pages/dm-content/ui/DmContent.vue b/src/pages/dm-content/ui/DmContent.vue new file mode 100644 index 0000000..e3bc8ac --- /dev/null +++ b/src/pages/dm-content/ui/DmContent.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/pages/dm-sidebar/index.ts b/src/pages/dm-sidebar/index.ts new file mode 100644 index 0000000..9f0ab01 --- /dev/null +++ b/src/pages/dm-sidebar/index.ts @@ -0,0 +1,3 @@ +import DmSidebar from './ui/DmSidebar.vue' + +export default DmSidebar diff --git a/src/pages/dm-sidebar/ui/DmSidebar.vue b/src/pages/dm-sidebar/ui/DmSidebar.vue new file mode 100644 index 0000000..7f0a4d1 --- /dev/null +++ b/src/pages/dm-sidebar/ui/DmSidebar.vue @@ -0,0 +1,55 @@ + + + + + \ No newline at end of file diff --git a/src/pages/dm-sidebar/ui/FriendsButton.vue b/src/pages/dm-sidebar/ui/FriendsButton.vue new file mode 100644 index 0000000..a14b5c1 --- /dev/null +++ b/src/pages/dm-sidebar/ui/FriendsButton.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/pages/dm-sidebar/ui/FriendsHeader.vue b/src/pages/dm-sidebar/ui/FriendsHeader.vue new file mode 100644 index 0000000..481ec24 --- /dev/null +++ b/src/pages/dm-sidebar/ui/FriendsHeader.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/pages/friends-content/index.ts b/src/pages/friends-content/index.ts new file mode 100644 index 0000000..c752e36 --- /dev/null +++ b/src/pages/friends-content/index.ts @@ -0,0 +1,3 @@ +import FriendsContent from './ui/FriendsContent.vue' + +export default FriendsContent diff --git a/src/pages/friends-content/ui/FriendsContent.vue b/src/pages/friends-content/ui/FriendsContent.vue new file mode 100644 index 0000000..261764f --- /dev/null +++ b/src/pages/friends-content/ui/FriendsContent.vue @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/AddFriend.vue b/src/pages/friends-content/ui/Tabs/AddFriend.vue new file mode 100644 index 0000000..791be5f --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/AddFriend.vue @@ -0,0 +1,46 @@ + + + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/AllFriends.vue b/src/pages/friends-content/ui/Tabs/AllFriends.vue new file mode 100644 index 0000000..461ddc9 --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/AllFriends.vue @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/OnlineFriends.vue b/src/pages/friends-content/ui/Tabs/OnlineFriends.vue new file mode 100644 index 0000000..461ddc9 --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/OnlineFriends.vue @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/PendingFriends.vue b/src/pages/friends-content/ui/Tabs/PendingFriends.vue new file mode 100644 index 0000000..461ddc9 --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/PendingFriends.vue @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/PeopleColumn.vue b/src/pages/friends-content/ui/Tabs/PeopleColumn.vue new file mode 100644 index 0000000..176d95d --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/PeopleColumn.vue @@ -0,0 +1,55 @@ + + + + + \ No newline at end of file diff --git a/src/pages/friends-content/ui/Tabs/index.ts b/src/pages/friends-content/ui/Tabs/index.ts new file mode 100644 index 0000000..36b6f9f --- /dev/null +++ b/src/pages/friends-content/ui/Tabs/index.ts @@ -0,0 +1,4 @@ +export { default as AddFriend } from './AddFriend.vue' +export { default as AllFriends } from './AllFriends.vue' +export { default as OnlineFriends } from './OnlineFriends.vue' +export { default as PendingFriends } from './PendingFriends.vue' diff --git a/src/pages/login/index.ts b/src/pages/login/index.ts new file mode 100644 index 0000000..ad580fc --- /dev/null +++ b/src/pages/login/index.ts @@ -0,0 +1,3 @@ +import LoginPage from './ui/LoginPage.vue' + +export default LoginPage diff --git a/src/pages/login/ui/LoginPage.vue b/src/pages/login/ui/LoginPage.vue new file mode 100644 index 0000000..11724d6 --- /dev/null +++ b/src/pages/login/ui/LoginPage.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/pages/not-found/index.ts b/src/pages/not-found/index.ts new file mode 100644 index 0000000..1002984 --- /dev/null +++ b/src/pages/not-found/index.ts @@ -0,0 +1,3 @@ +import NotFoundPage from './ui/NotFoundPage.vue' + +export default NotFoundPage diff --git a/src/pages/not-found/ui/NotFoundPage.vue b/src/pages/not-found/ui/NotFoundPage.vue new file mode 100644 index 0000000..a723bfb --- /dev/null +++ b/src/pages/not-found/ui/NotFoundPage.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/pages/register/index.ts b/src/pages/register/index.ts new file mode 100644 index 0000000..a000517 --- /dev/null +++ b/src/pages/register/index.ts @@ -0,0 +1,3 @@ +import RegisterPage from './ui/RegisterPage.vue' + +export default RegisterPage diff --git a/src/pages/register/ui/RegisterPage.vue b/src/pages/register/ui/RegisterPage.vue new file mode 100644 index 0000000..f919710 --- /dev/null +++ b/src/pages/register/ui/RegisterPage.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/pages/reset/index.ts b/src/pages/reset/index.ts new file mode 100644 index 0000000..dc07ecd --- /dev/null +++ b/src/pages/reset/index.ts @@ -0,0 +1,3 @@ +import ResetPage from './ui/ResetPage.vue' + +export default ResetPage diff --git a/src/pages/reset/ui/ResetPage.vue b/src/pages/reset/ui/ResetPage.vue new file mode 100644 index 0000000..8f01dcf --- /dev/null +++ b/src/pages/reset/ui/ResetPage.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/pages/server-content/index.ts b/src/pages/server-content/index.ts new file mode 100644 index 0000000..da07f66 --- /dev/null +++ b/src/pages/server-content/index.ts @@ -0,0 +1,3 @@ +import ServerContent from './ui/ServerContent.vue' + +export default ServerContent diff --git a/src/pages/server-content/ui/ServerContent.vue b/src/pages/server-content/ui/ServerContent.vue new file mode 100644 index 0000000..4d23952 --- /dev/null +++ b/src/pages/server-content/ui/ServerContent.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/pages/server-sidebar/index.ts b/src/pages/server-sidebar/index.ts new file mode 100644 index 0000000..64f7530 --- /dev/null +++ b/src/pages/server-sidebar/index.ts @@ -0,0 +1,3 @@ +import ServerSidebar from './ui/ServerSidebar.vue' + +export default ServerSidebar diff --git a/src/pages/server-sidebar/ui/ServerDropdown.vue b/src/pages/server-sidebar/ui/ServerDropdown.vue new file mode 100644 index 0000000..424ab0e --- /dev/null +++ b/src/pages/server-sidebar/ui/ServerDropdown.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/pages/server-sidebar/ui/ServerSidebar.vue b/src/pages/server-sidebar/ui/ServerSidebar.vue new file mode 100644 index 0000000..b0b5f58 --- /dev/null +++ b/src/pages/server-sidebar/ui/ServerSidebar.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts deleted file mode 100644 index e1eab52..0000000 --- a/src/router/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [], -}) - -export default router diff --git a/src/shared/api/client/index.ts b/src/shared/api/client/index.ts new file mode 100644 index 0000000..c9847df --- /dev/null +++ b/src/shared/api/client/index.ts @@ -0,0 +1,33 @@ +import axios from 'axios' +import { apiConfig } from '@/shared/config' + +const apiClient = axios.create({ + baseURL: apiConfig.baseUrl, + timeout: apiConfig.timeout, + headers: { + Accept: 'application/json', + }, +}) + +apiClient.interceptors.request.use((config) => { + const token = localStorage.getItem('token') + if (token) { + config.headers.Authorization = token + } + return config +}) + +apiClient.interceptors.response.use( + (response) => response, + async (error) => { + if (error.response.status === 401) { + localStorage.removeItem('token') + const { default: router } = await import('@/app/router') + + router.push('/login') + } + return Promise.reject(error) + }, +) + +export default apiClient diff --git a/src/shared/api/index.ts b/src/shared/api/index.ts new file mode 100644 index 0000000..1f1b5db --- /dev/null +++ b/src/shared/api/index.ts @@ -0,0 +1,4 @@ +import apiClient from './client' +import { useSocket } from './socket' + +export { apiClient, useSocket } diff --git a/src/shared/api/socket/index.ts b/src/shared/api/socket/index.ts new file mode 100644 index 0000000..aaf3966 --- /dev/null +++ b/src/shared/api/socket/index.ts @@ -0,0 +1,41 @@ +import { ref } from 'vue' +import { io, Socket } from 'socket.io-client' +import { apiConfig } from '@/shared/config' + +let socket: Socket | null = null + +const isConnected = ref(false) + +export function useSocket() { + /** + * Инициализация сокета + */ + ;(function initSocket() { + if (socket) return + + socket = io(apiConfig.baseUrl, { + transports: ['polling', 'websocket'], + reconnection: true, + extraHeaders: { + authorization: localStorage.getItem('token') || '', + }, + }) + + socket.on('connect', () => { + console.log('[Socket] Connected. ID:', socket?.id) + isConnected.value = true + }) + + socket.on('disconnect', (reason) => { + console.log('[Socket] Disconnected. Reason:', reason) + isConnected.value = false + }) + + socket.on('connect_error', (error) => { + console.error('[Socket] Connection error:', error.message) + isConnected.value = false + }) + })() + + return { socket, isConnected } +} diff --git a/src/shared/assets/icons/emoji/100.svg b/src/shared/assets/icons/emoji/100.svg new file mode 100644 index 0000000..3d565cc --- /dev/null +++ b/src/shared/assets/icons/emoji/100.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/1234.svg b/src/shared/assets/icons/emoji/1234.svg new file mode 100644 index 0000000..316f8ee --- /dev/null +++ b/src/shared/assets/icons/emoji/1234.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/8ball.svg b/src/shared/assets/icons/emoji/8ball.svg new file mode 100644 index 0000000..28abf33 --- /dev/null +++ b/src/shared/assets/icons/emoji/8ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/a.svg b/src/shared/assets/icons/emoji/a.svg new file mode 100644 index 0000000..5555b84 --- /dev/null +++ b/src/shared/assets/icons/emoji/a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ab.svg b/src/shared/assets/icons/emoji/ab.svg new file mode 100644 index 0000000..d19a2a4 --- /dev/null +++ b/src/shared/assets/icons/emoji/ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/abacus.svg b/src/shared/assets/icons/emoji/abacus.svg new file mode 100644 index 0000000..c619bb0 --- /dev/null +++ b/src/shared/assets/icons/emoji/abacus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/abc.svg b/src/shared/assets/icons/emoji/abc.svg new file mode 100644 index 0000000..e3e9464 --- /dev/null +++ b/src/shared/assets/icons/emoji/abc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/abcd.svg b/src/shared/assets/icons/emoji/abcd.svg new file mode 100644 index 0000000..3c2076e --- /dev/null +++ b/src/shared/assets/icons/emoji/abcd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/accept.svg b/src/shared/assets/icons/emoji/accept.svg new file mode 100644 index 0000000..4bb227b --- /dev/null +++ b/src/shared/assets/icons/emoji/accept.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/adhesive_bandage.svg b/src/shared/assets/icons/emoji/adhesive_bandage.svg new file mode 100644 index 0000000..41d5722 --- /dev/null +++ b/src/shared/assets/icons/emoji/adhesive_bandage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/adult.svg b/src/shared/assets/icons/emoji/adult.svg new file mode 100644 index 0000000..3c71659 --- /dev/null +++ b/src/shared/assets/icons/emoji/adult.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/aerial_tramway.svg b/src/shared/assets/icons/emoji/aerial_tramway.svg new file mode 100644 index 0000000..855c566 --- /dev/null +++ b/src/shared/assets/icons/emoji/aerial_tramway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/airplane.svg b/src/shared/assets/icons/emoji/airplane.svg new file mode 100644 index 0000000..ebce3af --- /dev/null +++ b/src/shared/assets/icons/emoji/airplane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/airplane_arriving.svg b/src/shared/assets/icons/emoji/airplane_arriving.svg new file mode 100644 index 0000000..ee10bec --- /dev/null +++ b/src/shared/assets/icons/emoji/airplane_arriving.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/airplane_departure.svg b/src/shared/assets/icons/emoji/airplane_departure.svg new file mode 100644 index 0000000..7bcbb8c --- /dev/null +++ b/src/shared/assets/icons/emoji/airplane_departure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/airplane_small.svg b/src/shared/assets/icons/emoji/airplane_small.svg new file mode 100644 index 0000000..fce6b51 --- /dev/null +++ b/src/shared/assets/icons/emoji/airplane_small.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/alarm_clock.svg b/src/shared/assets/icons/emoji/alarm_clock.svg new file mode 100644 index 0000000..ea9ad14 --- /dev/null +++ b/src/shared/assets/icons/emoji/alarm_clock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/alembic.svg b/src/shared/assets/icons/emoji/alembic.svg new file mode 100644 index 0000000..3fe8c15 --- /dev/null +++ b/src/shared/assets/icons/emoji/alembic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/alien.svg b/src/shared/assets/icons/emoji/alien.svg new file mode 100644 index 0000000..f6e98d1 --- /dev/null +++ b/src/shared/assets/icons/emoji/alien.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ambulance.svg b/src/shared/assets/icons/emoji/ambulance.svg new file mode 100644 index 0000000..844dd40 --- /dev/null +++ b/src/shared/assets/icons/emoji/ambulance.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/amphora.svg b/src/shared/assets/icons/emoji/amphora.svg new file mode 100644 index 0000000..4c6b4d8 --- /dev/null +++ b/src/shared/assets/icons/emoji/amphora.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/anchor.svg b/src/shared/assets/icons/emoji/anchor.svg new file mode 100644 index 0000000..09f3fe4 --- /dev/null +++ b/src/shared/assets/icons/emoji/anchor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/angel.svg b/src/shared/assets/icons/emoji/angel.svg new file mode 100644 index 0000000..1233b93 --- /dev/null +++ b/src/shared/assets/icons/emoji/angel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/anger.svg b/src/shared/assets/icons/emoji/anger.svg new file mode 100644 index 0000000..78f797b --- /dev/null +++ b/src/shared/assets/icons/emoji/anger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/anger_right.svg b/src/shared/assets/icons/emoji/anger_right.svg new file mode 100644 index 0000000..3aba53c --- /dev/null +++ b/src/shared/assets/icons/emoji/anger_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/angry.svg b/src/shared/assets/icons/emoji/angry.svg new file mode 100644 index 0000000..97e829a --- /dev/null +++ b/src/shared/assets/icons/emoji/angry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/anguished.svg b/src/shared/assets/icons/emoji/anguished.svg new file mode 100644 index 0000000..5c33852 --- /dev/null +++ b/src/shared/assets/icons/emoji/anguished.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ant.svg b/src/shared/assets/icons/emoji/ant.svg new file mode 100644 index 0000000..385b616 --- /dev/null +++ b/src/shared/assets/icons/emoji/ant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/apple.svg b/src/shared/assets/icons/emoji/apple.svg new file mode 100644 index 0000000..2fe9886 --- /dev/null +++ b/src/shared/assets/icons/emoji/apple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/aquarius.svg b/src/shared/assets/icons/emoji/aquarius.svg new file mode 100644 index 0000000..41e4623 --- /dev/null +++ b/src/shared/assets/icons/emoji/aquarius.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/aries.svg b/src/shared/assets/icons/emoji/aries.svg new file mode 100644 index 0000000..0f00d2d --- /dev/null +++ b/src/shared/assets/icons/emoji/aries.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_backward.svg b/src/shared/assets/icons/emoji/arrow_backward.svg new file mode 100644 index 0000000..af74e9c --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_backward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_double_down.svg b/src/shared/assets/icons/emoji/arrow_double_down.svg new file mode 100644 index 0000000..5846fae --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_double_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_double_up.svg b/src/shared/assets/icons/emoji/arrow_double_up.svg new file mode 100644 index 0000000..a33e0f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_double_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_down.svg b/src/shared/assets/icons/emoji/arrow_down.svg new file mode 100644 index 0000000..ed33773 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_down_small.svg b/src/shared/assets/icons/emoji/arrow_down_small.svg new file mode 100644 index 0000000..09ec874 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_down_small.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_forward.svg b/src/shared/assets/icons/emoji/arrow_forward.svg new file mode 100644 index 0000000..b373a4f --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_heading_down.svg b/src/shared/assets/icons/emoji/arrow_heading_down.svg new file mode 100644 index 0000000..e06163b --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_heading_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_heading_up.svg b/src/shared/assets/icons/emoji/arrow_heading_up.svg new file mode 100644 index 0000000..7c2e675 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_heading_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_left.svg b/src/shared/assets/icons/emoji/arrow_left.svg new file mode 100644 index 0000000..6ac3f63 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_lower_left.svg b/src/shared/assets/icons/emoji/arrow_lower_left.svg new file mode 100644 index 0000000..f327e40 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_lower_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_lower_right.svg b/src/shared/assets/icons/emoji/arrow_lower_right.svg new file mode 100644 index 0000000..129dd62 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_lower_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_right.svg b/src/shared/assets/icons/emoji/arrow_right.svg new file mode 100644 index 0000000..55d2d62 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_right_hook.svg b/src/shared/assets/icons/emoji/arrow_right_hook.svg new file mode 100644 index 0000000..a9c586e --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_right_hook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_up.svg b/src/shared/assets/icons/emoji/arrow_up.svg new file mode 100644 index 0000000..080ca19 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_up_down.svg b/src/shared/assets/icons/emoji/arrow_up_down.svg new file mode 100644 index 0000000..e7a5254 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_up_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_up_small.svg b/src/shared/assets/icons/emoji/arrow_up_small.svg new file mode 100644 index 0000000..b057a59 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_up_small.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_upper_left.svg b/src/shared/assets/icons/emoji/arrow_upper_left.svg new file mode 100644 index 0000000..a6889d1 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_upper_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrow_upper_right.svg b/src/shared/assets/icons/emoji/arrow_upper_right.svg new file mode 100644 index 0000000..62e4c0f --- /dev/null +++ b/src/shared/assets/icons/emoji/arrow_upper_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrows_clockwise.svg b/src/shared/assets/icons/emoji/arrows_clockwise.svg new file mode 100644 index 0000000..e35eb88 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrows_clockwise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/arrows_counterclockwise.svg b/src/shared/assets/icons/emoji/arrows_counterclockwise.svg new file mode 100644 index 0000000..c88a827 --- /dev/null +++ b/src/shared/assets/icons/emoji/arrows_counterclockwise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/art.svg b/src/shared/assets/icons/emoji/art.svg new file mode 100644 index 0000000..3bfdea0 --- /dev/null +++ b/src/shared/assets/icons/emoji/art.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/articulated_lorry.svg b/src/shared/assets/icons/emoji/articulated_lorry.svg new file mode 100644 index 0000000..271fec1 --- /dev/null +++ b/src/shared/assets/icons/emoji/articulated_lorry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/asterisk.svg b/src/shared/assets/icons/emoji/asterisk.svg new file mode 100644 index 0000000..d9c53c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/asterisk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/astonished.svg b/src/shared/assets/icons/emoji/astonished.svg new file mode 100644 index 0000000..e279321 --- /dev/null +++ b/src/shared/assets/icons/emoji/astonished.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/athletic_shoe.svg b/src/shared/assets/icons/emoji/athletic_shoe.svg new file mode 100644 index 0000000..f0c998c --- /dev/null +++ b/src/shared/assets/icons/emoji/athletic_shoe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/atm.svg b/src/shared/assets/icons/emoji/atm.svg new file mode 100644 index 0000000..e4c0000 --- /dev/null +++ b/src/shared/assets/icons/emoji/atm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/atom.svg b/src/shared/assets/icons/emoji/atom.svg new file mode 100644 index 0000000..385c18c --- /dev/null +++ b/src/shared/assets/icons/emoji/atom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/auto_rickshaw.svg b/src/shared/assets/icons/emoji/auto_rickshaw.svg new file mode 100644 index 0000000..aae4e94 --- /dev/null +++ b/src/shared/assets/icons/emoji/auto_rickshaw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/avocado.svg b/src/shared/assets/icons/emoji/avocado.svg new file mode 100644 index 0000000..ed1d9f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/avocado.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/axe.svg b/src/shared/assets/icons/emoji/axe.svg new file mode 100644 index 0000000..f886dfa --- /dev/null +++ b/src/shared/assets/icons/emoji/axe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/b.svg b/src/shared/assets/icons/emoji/b.svg new file mode 100644 index 0000000..f77618a --- /dev/null +++ b/src/shared/assets/icons/emoji/b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baby.svg b/src/shared/assets/icons/emoji/baby.svg new file mode 100644 index 0000000..e065d3b --- /dev/null +++ b/src/shared/assets/icons/emoji/baby.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baby_bottle.svg b/src/shared/assets/icons/emoji/baby_bottle.svg new file mode 100644 index 0000000..61f6c8f --- /dev/null +++ b/src/shared/assets/icons/emoji/baby_bottle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baby_chick.svg b/src/shared/assets/icons/emoji/baby_chick.svg new file mode 100644 index 0000000..1286ed3 --- /dev/null +++ b/src/shared/assets/icons/emoji/baby_chick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baby_symbol.svg b/src/shared/assets/icons/emoji/baby_symbol.svg new file mode 100644 index 0000000..300b10e --- /dev/null +++ b/src/shared/assets/icons/emoji/baby_symbol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/back.svg b/src/shared/assets/icons/emoji/back.svg new file mode 100644 index 0000000..ddf8fbd --- /dev/null +++ b/src/shared/assets/icons/emoji/back.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bacon.svg b/src/shared/assets/icons/emoji/bacon.svg new file mode 100644 index 0000000..82d4c82 --- /dev/null +++ b/src/shared/assets/icons/emoji/bacon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/badger.svg b/src/shared/assets/icons/emoji/badger.svg new file mode 100644 index 0000000..92f42fd --- /dev/null +++ b/src/shared/assets/icons/emoji/badger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/badminton.svg b/src/shared/assets/icons/emoji/badminton.svg new file mode 100644 index 0000000..143f8ea --- /dev/null +++ b/src/shared/assets/icons/emoji/badminton.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bagel.svg b/src/shared/assets/icons/emoji/bagel.svg new file mode 100644 index 0000000..6a65f4c --- /dev/null +++ b/src/shared/assets/icons/emoji/bagel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baggage_claim.svg b/src/shared/assets/icons/emoji/baggage_claim.svg new file mode 100644 index 0000000..63edd5a --- /dev/null +++ b/src/shared/assets/icons/emoji/baggage_claim.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ballet_shoes.svg b/src/shared/assets/icons/emoji/ballet_shoes.svg new file mode 100644 index 0000000..a8df4c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/ballet_shoes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/balloon.svg b/src/shared/assets/icons/emoji/balloon.svg new file mode 100644 index 0000000..6d431bc --- /dev/null +++ b/src/shared/assets/icons/emoji/balloon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ballot_box.svg b/src/shared/assets/icons/emoji/ballot_box.svg new file mode 100644 index 0000000..9c643d3 --- /dev/null +++ b/src/shared/assets/icons/emoji/ballot_box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ballot_box_with_check.svg b/src/shared/assets/icons/emoji/ballot_box_with_check.svg new file mode 100644 index 0000000..904d0fc --- /dev/null +++ b/src/shared/assets/icons/emoji/ballot_box_with_check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bamboo.svg b/src/shared/assets/icons/emoji/bamboo.svg new file mode 100644 index 0000000..a774540 --- /dev/null +++ b/src/shared/assets/icons/emoji/bamboo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/banana.svg b/src/shared/assets/icons/emoji/banana.svg new file mode 100644 index 0000000..b4120ba --- /dev/null +++ b/src/shared/assets/icons/emoji/banana.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bangbang.svg b/src/shared/assets/icons/emoji/bangbang.svg new file mode 100644 index 0000000..d3579ee --- /dev/null +++ b/src/shared/assets/icons/emoji/bangbang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/banjo.svg b/src/shared/assets/icons/emoji/banjo.svg new file mode 100644 index 0000000..da6e25d --- /dev/null +++ b/src/shared/assets/icons/emoji/banjo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bank.svg b/src/shared/assets/icons/emoji/bank.svg new file mode 100644 index 0000000..2fd3fb0 --- /dev/null +++ b/src/shared/assets/icons/emoji/bank.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bar_chart.svg b/src/shared/assets/icons/emoji/bar_chart.svg new file mode 100644 index 0000000..3c572cb --- /dev/null +++ b/src/shared/assets/icons/emoji/bar_chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/barber.svg b/src/shared/assets/icons/emoji/barber.svg new file mode 100644 index 0000000..33ed332 --- /dev/null +++ b/src/shared/assets/icons/emoji/barber.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/baseball.svg b/src/shared/assets/icons/emoji/baseball.svg new file mode 100644 index 0000000..210b8ef --- /dev/null +++ b/src/shared/assets/icons/emoji/baseball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/basket.svg b/src/shared/assets/icons/emoji/basket.svg new file mode 100644 index 0000000..947d954 --- /dev/null +++ b/src/shared/assets/icons/emoji/basket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/basketball.svg b/src/shared/assets/icons/emoji/basketball.svg new file mode 100644 index 0000000..2469395 --- /dev/null +++ b/src/shared/assets/icons/emoji/basketball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bat.svg b/src/shared/assets/icons/emoji/bat.svg new file mode 100644 index 0000000..4ebb5ad --- /dev/null +++ b/src/shared/assets/icons/emoji/bat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bath.svg b/src/shared/assets/icons/emoji/bath.svg new file mode 100644 index 0000000..1ccfa20 --- /dev/null +++ b/src/shared/assets/icons/emoji/bath.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bathtub.svg b/src/shared/assets/icons/emoji/bathtub.svg new file mode 100644 index 0000000..399bd44 --- /dev/null +++ b/src/shared/assets/icons/emoji/bathtub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/battery.svg b/src/shared/assets/icons/emoji/battery.svg new file mode 100644 index 0000000..66d420f --- /dev/null +++ b/src/shared/assets/icons/emoji/battery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beach.svg b/src/shared/assets/icons/emoji/beach.svg new file mode 100644 index 0000000..9428f90 --- /dev/null +++ b/src/shared/assets/icons/emoji/beach.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beach_umbrella.svg b/src/shared/assets/icons/emoji/beach_umbrella.svg new file mode 100644 index 0000000..589f385 --- /dev/null +++ b/src/shared/assets/icons/emoji/beach_umbrella.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bear.svg b/src/shared/assets/icons/emoji/bear.svg new file mode 100644 index 0000000..5022441 --- /dev/null +++ b/src/shared/assets/icons/emoji/bear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bearded_person.svg b/src/shared/assets/icons/emoji/bearded_person.svg new file mode 100644 index 0000000..edabdc0 --- /dev/null +++ b/src/shared/assets/icons/emoji/bearded_person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bed.svg b/src/shared/assets/icons/emoji/bed.svg new file mode 100644 index 0000000..9c34ec0 --- /dev/null +++ b/src/shared/assets/icons/emoji/bed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bee.svg b/src/shared/assets/icons/emoji/bee.svg new file mode 100644 index 0000000..31e7882 --- /dev/null +++ b/src/shared/assets/icons/emoji/bee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beer.svg b/src/shared/assets/icons/emoji/beer.svg new file mode 100644 index 0000000..9e6a547 --- /dev/null +++ b/src/shared/assets/icons/emoji/beer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beers.svg b/src/shared/assets/icons/emoji/beers.svg new file mode 100644 index 0000000..a8bcb20 --- /dev/null +++ b/src/shared/assets/icons/emoji/beers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beetle.svg b/src/shared/assets/icons/emoji/beetle.svg new file mode 100644 index 0000000..f314ca9 --- /dev/null +++ b/src/shared/assets/icons/emoji/beetle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beginner.svg b/src/shared/assets/icons/emoji/beginner.svg new file mode 100644 index 0000000..a6b9fbe --- /dev/null +++ b/src/shared/assets/icons/emoji/beginner.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bell.svg b/src/shared/assets/icons/emoji/bell.svg new file mode 100644 index 0000000..9e89a7c --- /dev/null +++ b/src/shared/assets/icons/emoji/bell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bellhop.svg b/src/shared/assets/icons/emoji/bellhop.svg new file mode 100644 index 0000000..80343b6 --- /dev/null +++ b/src/shared/assets/icons/emoji/bellhop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bento.svg b/src/shared/assets/icons/emoji/bento.svg new file mode 100644 index 0000000..c481184 --- /dev/null +++ b/src/shared/assets/icons/emoji/bento.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/beverage_box.svg b/src/shared/assets/icons/emoji/beverage_box.svg new file mode 100644 index 0000000..51a3f26 --- /dev/null +++ b/src/shared/assets/icons/emoji/beverage_box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bike.svg b/src/shared/assets/icons/emoji/bike.svg new file mode 100644 index 0000000..b3626ae --- /dev/null +++ b/src/shared/assets/icons/emoji/bike.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bikini.svg b/src/shared/assets/icons/emoji/bikini.svg new file mode 100644 index 0000000..ed327f1 --- /dev/null +++ b/src/shared/assets/icons/emoji/bikini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/billed_cap.svg b/src/shared/assets/icons/emoji/billed_cap.svg new file mode 100644 index 0000000..c2dd6c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/billed_cap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/biohazard.svg b/src/shared/assets/icons/emoji/biohazard.svg new file mode 100644 index 0000000..6e7d858 --- /dev/null +++ b/src/shared/assets/icons/emoji/biohazard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bird.svg b/src/shared/assets/icons/emoji/bird.svg new file mode 100644 index 0000000..06d93a9 --- /dev/null +++ b/src/shared/assets/icons/emoji/bird.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/birthday.svg b/src/shared/assets/icons/emoji/birthday.svg new file mode 100644 index 0000000..35f9a00 --- /dev/null +++ b/src/shared/assets/icons/emoji/birthday.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_circle.svg b/src/shared/assets/icons/emoji/black_circle.svg new file mode 100644 index 0000000..169b72c --- /dev/null +++ b/src/shared/assets/icons/emoji/black_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_heart.svg b/src/shared/assets/icons/emoji/black_heart.svg new file mode 100644 index 0000000..51ec883 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_joker.svg b/src/shared/assets/icons/emoji/black_joker.svg new file mode 100644 index 0000000..0d05191 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_joker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_large_square.svg b/src/shared/assets/icons/emoji/black_large_square.svg new file mode 100644 index 0000000..42b60e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_large_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_medium_small_square.svg b/src/shared/assets/icons/emoji/black_medium_small_square.svg new file mode 100644 index 0000000..9c0abf0 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_medium_small_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_medium_square.svg b/src/shared/assets/icons/emoji/black_medium_square.svg new file mode 100644 index 0000000..b91ca80 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_medium_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_nib.svg b/src/shared/assets/icons/emoji/black_nib.svg new file mode 100644 index 0000000..8eaec69 --- /dev/null +++ b/src/shared/assets/icons/emoji/black_nib.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_small_square.svg b/src/shared/assets/icons/emoji/black_small_square.svg new file mode 100644 index 0000000..cb4f63b --- /dev/null +++ b/src/shared/assets/icons/emoji/black_small_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/black_square_button.svg b/src/shared/assets/icons/emoji/black_square_button.svg new file mode 100644 index 0000000..a2e37de --- /dev/null +++ b/src/shared/assets/icons/emoji/black_square_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blond_haired_man.svg b/src/shared/assets/icons/emoji/blond_haired_man.svg new file mode 100644 index 0000000..f73f9f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/blond_haired_man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blond_haired_person.svg b/src/shared/assets/icons/emoji/blond_haired_person.svg new file mode 100644 index 0000000..b524f21 --- /dev/null +++ b/src/shared/assets/icons/emoji/blond_haired_person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blond_haired_woman.svg b/src/shared/assets/icons/emoji/blond_haired_woman.svg new file mode 100644 index 0000000..2fec72c --- /dev/null +++ b/src/shared/assets/icons/emoji/blond_haired_woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blossom.svg b/src/shared/assets/icons/emoji/blossom.svg new file mode 100644 index 0000000..4ee1cc0 --- /dev/null +++ b/src/shared/assets/icons/emoji/blossom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blowfish.svg b/src/shared/assets/icons/emoji/blowfish.svg new file mode 100644 index 0000000..13a7ddc --- /dev/null +++ b/src/shared/assets/icons/emoji/blowfish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blue_book.svg b/src/shared/assets/icons/emoji/blue_book.svg new file mode 100644 index 0000000..ce45928 --- /dev/null +++ b/src/shared/assets/icons/emoji/blue_book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blue_car.svg b/src/shared/assets/icons/emoji/blue_car.svg new file mode 100644 index 0000000..28e2771 --- /dev/null +++ b/src/shared/assets/icons/emoji/blue_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blue_circle.svg b/src/shared/assets/icons/emoji/blue_circle.svg new file mode 100644 index 0000000..9d4ab8f --- /dev/null +++ b/src/shared/assets/icons/emoji/blue_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blue_heart.svg b/src/shared/assets/icons/emoji/blue_heart.svg new file mode 100644 index 0000000..9eade12 --- /dev/null +++ b/src/shared/assets/icons/emoji/blue_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blue_square.svg b/src/shared/assets/icons/emoji/blue_square.svg new file mode 100644 index 0000000..0824226 --- /dev/null +++ b/src/shared/assets/icons/emoji/blue_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/blush.svg b/src/shared/assets/icons/emoji/blush.svg new file mode 100644 index 0000000..a6d9c1b --- /dev/null +++ b/src/shared/assets/icons/emoji/blush.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/boar.svg b/src/shared/assets/icons/emoji/boar.svg new file mode 100644 index 0000000..ad7a77d --- /dev/null +++ b/src/shared/assets/icons/emoji/boar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bomb.svg b/src/shared/assets/icons/emoji/bomb.svg new file mode 100644 index 0000000..feb2c9d --- /dev/null +++ b/src/shared/assets/icons/emoji/bomb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bone.svg b/src/shared/assets/icons/emoji/bone.svg new file mode 100644 index 0000000..624de72 --- /dev/null +++ b/src/shared/assets/icons/emoji/bone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/book.svg b/src/shared/assets/icons/emoji/book.svg new file mode 100644 index 0000000..0dfd083 --- /dev/null +++ b/src/shared/assets/icons/emoji/book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bookmark.svg b/src/shared/assets/icons/emoji/bookmark.svg new file mode 100644 index 0000000..38dc790 --- /dev/null +++ b/src/shared/assets/icons/emoji/bookmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bookmark_tabs.svg b/src/shared/assets/icons/emoji/bookmark_tabs.svg new file mode 100644 index 0000000..b3bdc36 --- /dev/null +++ b/src/shared/assets/icons/emoji/bookmark_tabs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/books.svg b/src/shared/assets/icons/emoji/books.svg new file mode 100644 index 0000000..422d388 --- /dev/null +++ b/src/shared/assets/icons/emoji/books.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/boom.svg b/src/shared/assets/icons/emoji/boom.svg new file mode 100644 index 0000000..36c50d6 --- /dev/null +++ b/src/shared/assets/icons/emoji/boom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/boot.svg b/src/shared/assets/icons/emoji/boot.svg new file mode 100644 index 0000000..641dd8b --- /dev/null +++ b/src/shared/assets/icons/emoji/boot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bouquet.svg b/src/shared/assets/icons/emoji/bouquet.svg new file mode 100644 index 0000000..f080ef7 --- /dev/null +++ b/src/shared/assets/icons/emoji/bouquet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bow_and_arrow.svg b/src/shared/assets/icons/emoji/bow_and_arrow.svg new file mode 100644 index 0000000..3792212 --- /dev/null +++ b/src/shared/assets/icons/emoji/bow_and_arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bowl_with_spoon.svg b/src/shared/assets/icons/emoji/bowl_with_spoon.svg new file mode 100644 index 0000000..00e5ae6 --- /dev/null +++ b/src/shared/assets/icons/emoji/bowl_with_spoon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bowling.svg b/src/shared/assets/icons/emoji/bowling.svg new file mode 100644 index 0000000..9227f28 --- /dev/null +++ b/src/shared/assets/icons/emoji/bowling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/boxing_glove.svg b/src/shared/assets/icons/emoji/boxing_glove.svg new file mode 100644 index 0000000..fa16edb --- /dev/null +++ b/src/shared/assets/icons/emoji/boxing_glove.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/boy.svg b/src/shared/assets/icons/emoji/boy.svg new file mode 100644 index 0000000..de1318c --- /dev/null +++ b/src/shared/assets/icons/emoji/boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/brain.svg b/src/shared/assets/icons/emoji/brain.svg new file mode 100644 index 0000000..653427d --- /dev/null +++ b/src/shared/assets/icons/emoji/brain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bread.svg b/src/shared/assets/icons/emoji/bread.svg new file mode 100644 index 0000000..7d2af4e --- /dev/null +++ b/src/shared/assets/icons/emoji/bread.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/breast_feeding.svg b/src/shared/assets/icons/emoji/breast_feeding.svg new file mode 100644 index 0000000..86dc551 --- /dev/null +++ b/src/shared/assets/icons/emoji/breast_feeding.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bricks.svg b/src/shared/assets/icons/emoji/bricks.svg new file mode 100644 index 0000000..c7f3482 --- /dev/null +++ b/src/shared/assets/icons/emoji/bricks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bride_with_veil.svg b/src/shared/assets/icons/emoji/bride_with_veil.svg new file mode 100644 index 0000000..e68b534 --- /dev/null +++ b/src/shared/assets/icons/emoji/bride_with_veil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bridge_at_night.svg b/src/shared/assets/icons/emoji/bridge_at_night.svg new file mode 100644 index 0000000..e49295b --- /dev/null +++ b/src/shared/assets/icons/emoji/bridge_at_night.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/briefcase.svg b/src/shared/assets/icons/emoji/briefcase.svg new file mode 100644 index 0000000..c5336c7 --- /dev/null +++ b/src/shared/assets/icons/emoji/briefcase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/briefs.svg b/src/shared/assets/icons/emoji/briefs.svg new file mode 100644 index 0000000..7486e6a --- /dev/null +++ b/src/shared/assets/icons/emoji/briefs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/broccoli.svg b/src/shared/assets/icons/emoji/broccoli.svg new file mode 100644 index 0000000..ee2bc1c --- /dev/null +++ b/src/shared/assets/icons/emoji/broccoli.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/broken_heart.svg b/src/shared/assets/icons/emoji/broken_heart.svg new file mode 100644 index 0000000..d50c770 --- /dev/null +++ b/src/shared/assets/icons/emoji/broken_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/broom.svg b/src/shared/assets/icons/emoji/broom.svg new file mode 100644 index 0000000..2bcbda8 --- /dev/null +++ b/src/shared/assets/icons/emoji/broom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/brown_circle.svg b/src/shared/assets/icons/emoji/brown_circle.svg new file mode 100644 index 0000000..ebbc3a7 --- /dev/null +++ b/src/shared/assets/icons/emoji/brown_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/brown_heart.svg b/src/shared/assets/icons/emoji/brown_heart.svg new file mode 100644 index 0000000..275f3c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/brown_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/brown_square.svg b/src/shared/assets/icons/emoji/brown_square.svg new file mode 100644 index 0000000..24ee982 --- /dev/null +++ b/src/shared/assets/icons/emoji/brown_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bug.svg b/src/shared/assets/icons/emoji/bug.svg new file mode 100644 index 0000000..f8986dd --- /dev/null +++ b/src/shared/assets/icons/emoji/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bulb.svg b/src/shared/assets/icons/emoji/bulb.svg new file mode 100644 index 0000000..88b62e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/bulb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bullettrain_front.svg b/src/shared/assets/icons/emoji/bullettrain_front.svg new file mode 100644 index 0000000..2b24d9a --- /dev/null +++ b/src/shared/assets/icons/emoji/bullettrain_front.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bullettrain_side.svg b/src/shared/assets/icons/emoji/bullettrain_side.svg new file mode 100644 index 0000000..31e4d69 --- /dev/null +++ b/src/shared/assets/icons/emoji/bullettrain_side.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/burrito.svg b/src/shared/assets/icons/emoji/burrito.svg new file mode 100644 index 0000000..c76d82c --- /dev/null +++ b/src/shared/assets/icons/emoji/burrito.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bus.svg b/src/shared/assets/icons/emoji/bus.svg new file mode 100644 index 0000000..4575169 --- /dev/null +++ b/src/shared/assets/icons/emoji/bus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/busstop.svg b/src/shared/assets/icons/emoji/busstop.svg new file mode 100644 index 0000000..f833b4a --- /dev/null +++ b/src/shared/assets/icons/emoji/busstop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/bust_in_silhouette.svg b/src/shared/assets/icons/emoji/bust_in_silhouette.svg new file mode 100644 index 0000000..51d02dd --- /dev/null +++ b/src/shared/assets/icons/emoji/bust_in_silhouette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/busts_in_silhouette.svg b/src/shared/assets/icons/emoji/busts_in_silhouette.svg new file mode 100644 index 0000000..076c6e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/busts_in_silhouette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/butter.svg b/src/shared/assets/icons/emoji/butter.svg new file mode 100644 index 0000000..d7a5674 --- /dev/null +++ b/src/shared/assets/icons/emoji/butter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/butterfly.svg b/src/shared/assets/icons/emoji/butterfly.svg new file mode 100644 index 0000000..22c6ead --- /dev/null +++ b/src/shared/assets/icons/emoji/butterfly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cactus.svg b/src/shared/assets/icons/emoji/cactus.svg new file mode 100644 index 0000000..097dc13 --- /dev/null +++ b/src/shared/assets/icons/emoji/cactus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cake.svg b/src/shared/assets/icons/emoji/cake.svg new file mode 100644 index 0000000..c6f2cf4 --- /dev/null +++ b/src/shared/assets/icons/emoji/cake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/calendar.svg b/src/shared/assets/icons/emoji/calendar.svg new file mode 100644 index 0000000..ff073d7 --- /dev/null +++ b/src/shared/assets/icons/emoji/calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/calendar_spiral.svg b/src/shared/assets/icons/emoji/calendar_spiral.svg new file mode 100644 index 0000000..526191c --- /dev/null +++ b/src/shared/assets/icons/emoji/calendar_spiral.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/call_me.svg b/src/shared/assets/icons/emoji/call_me.svg new file mode 100644 index 0000000..4ab0454 --- /dev/null +++ b/src/shared/assets/icons/emoji/call_me.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/calling.svg b/src/shared/assets/icons/emoji/calling.svg new file mode 100644 index 0000000..82f5293 --- /dev/null +++ b/src/shared/assets/icons/emoji/calling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/camel.svg b/src/shared/assets/icons/emoji/camel.svg new file mode 100644 index 0000000..8d60286 --- /dev/null +++ b/src/shared/assets/icons/emoji/camel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/camera.svg b/src/shared/assets/icons/emoji/camera.svg new file mode 100644 index 0000000..aa2d9c5 --- /dev/null +++ b/src/shared/assets/icons/emoji/camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/camera_with_flash.svg b/src/shared/assets/icons/emoji/camera_with_flash.svg new file mode 100644 index 0000000..9bf3cf7 --- /dev/null +++ b/src/shared/assets/icons/emoji/camera_with_flash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/camping.svg b/src/shared/assets/icons/emoji/camping.svg new file mode 100644 index 0000000..7a2fb80 --- /dev/null +++ b/src/shared/assets/icons/emoji/camping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cancer.svg b/src/shared/assets/icons/emoji/cancer.svg new file mode 100644 index 0000000..c5c8b66 --- /dev/null +++ b/src/shared/assets/icons/emoji/cancer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/candle.svg b/src/shared/assets/icons/emoji/candle.svg new file mode 100644 index 0000000..c0e45ac --- /dev/null +++ b/src/shared/assets/icons/emoji/candle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/candy.svg b/src/shared/assets/icons/emoji/candy.svg new file mode 100644 index 0000000..f6fbf3b --- /dev/null +++ b/src/shared/assets/icons/emoji/candy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/canned_food.svg b/src/shared/assets/icons/emoji/canned_food.svg new file mode 100644 index 0000000..9c451ed --- /dev/null +++ b/src/shared/assets/icons/emoji/canned_food.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/canoe.svg b/src/shared/assets/icons/emoji/canoe.svg new file mode 100644 index 0000000..b6a2165 --- /dev/null +++ b/src/shared/assets/icons/emoji/canoe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/capital_abcd.svg b/src/shared/assets/icons/emoji/capital_abcd.svg new file mode 100644 index 0000000..429f113 --- /dev/null +++ b/src/shared/assets/icons/emoji/capital_abcd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/capricorn.svg b/src/shared/assets/icons/emoji/capricorn.svg new file mode 100644 index 0000000..f3ccf92 --- /dev/null +++ b/src/shared/assets/icons/emoji/capricorn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/card_box.svg b/src/shared/assets/icons/emoji/card_box.svg new file mode 100644 index 0000000..48dd45b --- /dev/null +++ b/src/shared/assets/icons/emoji/card_box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/card_index.svg b/src/shared/assets/icons/emoji/card_index.svg new file mode 100644 index 0000000..097a715 --- /dev/null +++ b/src/shared/assets/icons/emoji/card_index.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/carousel_horse.svg b/src/shared/assets/icons/emoji/carousel_horse.svg new file mode 100644 index 0000000..35c75b6 --- /dev/null +++ b/src/shared/assets/icons/emoji/carousel_horse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/carrot.svg b/src/shared/assets/icons/emoji/carrot.svg new file mode 100644 index 0000000..b949554 --- /dev/null +++ b/src/shared/assets/icons/emoji/carrot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cat.svg b/src/shared/assets/icons/emoji/cat.svg new file mode 100644 index 0000000..cc75dcc --- /dev/null +++ b/src/shared/assets/icons/emoji/cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cat2.svg b/src/shared/assets/icons/emoji/cat2.svg new file mode 100644 index 0000000..edb55b1 --- /dev/null +++ b/src/shared/assets/icons/emoji/cat2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cd.svg b/src/shared/assets/icons/emoji/cd.svg new file mode 100644 index 0000000..6824a06 --- /dev/null +++ b/src/shared/assets/icons/emoji/cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chains.svg b/src/shared/assets/icons/emoji/chains.svg new file mode 100644 index 0000000..a7b213e --- /dev/null +++ b/src/shared/assets/icons/emoji/chains.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chair.svg b/src/shared/assets/icons/emoji/chair.svg new file mode 100644 index 0000000..8db5801 --- /dev/null +++ b/src/shared/assets/icons/emoji/chair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/champagne.svg b/src/shared/assets/icons/emoji/champagne.svg new file mode 100644 index 0000000..a02a17e --- /dev/null +++ b/src/shared/assets/icons/emoji/champagne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/champagne_glass.svg b/src/shared/assets/icons/emoji/champagne_glass.svg new file mode 100644 index 0000000..30167b0 --- /dev/null +++ b/src/shared/assets/icons/emoji/champagne_glass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chart.svg b/src/shared/assets/icons/emoji/chart.svg new file mode 100644 index 0000000..f6143a0 --- /dev/null +++ b/src/shared/assets/icons/emoji/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chart_with_downwards_trend.svg b/src/shared/assets/icons/emoji/chart_with_downwards_trend.svg new file mode 100644 index 0000000..ac8c258 --- /dev/null +++ b/src/shared/assets/icons/emoji/chart_with_downwards_trend.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chart_with_upwards_trend.svg b/src/shared/assets/icons/emoji/chart_with_upwards_trend.svg new file mode 100644 index 0000000..cbf108f --- /dev/null +++ b/src/shared/assets/icons/emoji/chart_with_upwards_trend.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/checkered_flag.svg b/src/shared/assets/icons/emoji/checkered_flag.svg new file mode 100644 index 0000000..695f0ef --- /dev/null +++ b/src/shared/assets/icons/emoji/checkered_flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cheese.svg b/src/shared/assets/icons/emoji/cheese.svg new file mode 100644 index 0000000..20e6a92 --- /dev/null +++ b/src/shared/assets/icons/emoji/cheese.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cherries.svg b/src/shared/assets/icons/emoji/cherries.svg new file mode 100644 index 0000000..bdba6bd --- /dev/null +++ b/src/shared/assets/icons/emoji/cherries.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cherry_blossom.svg b/src/shared/assets/icons/emoji/cherry_blossom.svg new file mode 100644 index 0000000..46ba420 --- /dev/null +++ b/src/shared/assets/icons/emoji/cherry_blossom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chess_pawn.svg b/src/shared/assets/icons/emoji/chess_pawn.svg new file mode 100644 index 0000000..10c880c --- /dev/null +++ b/src/shared/assets/icons/emoji/chess_pawn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chestnut.svg b/src/shared/assets/icons/emoji/chestnut.svg new file mode 100644 index 0000000..d0e84b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/chestnut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chicken.svg b/src/shared/assets/icons/emoji/chicken.svg new file mode 100644 index 0000000..b08f7a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/chicken.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/child.svg b/src/shared/assets/icons/emoji/child.svg new file mode 100644 index 0000000..23dce9f --- /dev/null +++ b/src/shared/assets/icons/emoji/child.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/children_crossing.svg b/src/shared/assets/icons/emoji/children_crossing.svg new file mode 100644 index 0000000..a9dca0f --- /dev/null +++ b/src/shared/assets/icons/emoji/children_crossing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chipmunk.svg b/src/shared/assets/icons/emoji/chipmunk.svg new file mode 100644 index 0000000..3676874 --- /dev/null +++ b/src/shared/assets/icons/emoji/chipmunk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chocolate_bar.svg b/src/shared/assets/icons/emoji/chocolate_bar.svg new file mode 100644 index 0000000..a993c9b --- /dev/null +++ b/src/shared/assets/icons/emoji/chocolate_bar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/chopsticks.svg b/src/shared/assets/icons/emoji/chopsticks.svg new file mode 100644 index 0000000..adde7aa --- /dev/null +++ b/src/shared/assets/icons/emoji/chopsticks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/christmas_tree.svg b/src/shared/assets/icons/emoji/christmas_tree.svg new file mode 100644 index 0000000..6e9b11e --- /dev/null +++ b/src/shared/assets/icons/emoji/christmas_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/church.svg b/src/shared/assets/icons/emoji/church.svg new file mode 100644 index 0000000..79b8ce5 --- /dev/null +++ b/src/shared/assets/icons/emoji/church.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cinema.svg b/src/shared/assets/icons/emoji/cinema.svg new file mode 100644 index 0000000..04ba5e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/cinema.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/circus_tent.svg b/src/shared/assets/icons/emoji/circus_tent.svg new file mode 100644 index 0000000..fec7dd2 --- /dev/null +++ b/src/shared/assets/icons/emoji/circus_tent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/city_dusk.svg b/src/shared/assets/icons/emoji/city_dusk.svg new file mode 100644 index 0000000..9e7ae82 --- /dev/null +++ b/src/shared/assets/icons/emoji/city_dusk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/city_sunset.svg b/src/shared/assets/icons/emoji/city_sunset.svg new file mode 100644 index 0000000..a783fe3 --- /dev/null +++ b/src/shared/assets/icons/emoji/city_sunset.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cityscape.svg b/src/shared/assets/icons/emoji/cityscape.svg new file mode 100644 index 0000000..b379d80 --- /dev/null +++ b/src/shared/assets/icons/emoji/cityscape.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cl.svg b/src/shared/assets/icons/emoji/cl.svg new file mode 100644 index 0000000..eaebb55 --- /dev/null +++ b/src/shared/assets/icons/emoji/cl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clap.svg b/src/shared/assets/icons/emoji/clap.svg new file mode 100644 index 0000000..2ed7b62 --- /dev/null +++ b/src/shared/assets/icons/emoji/clap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clapper.svg b/src/shared/assets/icons/emoji/clapper.svg new file mode 100644 index 0000000..3a32676 --- /dev/null +++ b/src/shared/assets/icons/emoji/clapper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/classical_building.svg b/src/shared/assets/icons/emoji/classical_building.svg new file mode 100644 index 0000000..bdd0d45 --- /dev/null +++ b/src/shared/assets/icons/emoji/classical_building.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clipboard.svg b/src/shared/assets/icons/emoji/clipboard.svg new file mode 100644 index 0000000..a51b34a --- /dev/null +++ b/src/shared/assets/icons/emoji/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock.svg b/src/shared/assets/icons/emoji/clock.svg new file mode 100644 index 0000000..da6fd26 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock1.svg b/src/shared/assets/icons/emoji/clock1.svg new file mode 100644 index 0000000..da82d97 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock10.svg b/src/shared/assets/icons/emoji/clock10.svg new file mode 100644 index 0000000..331f702 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock1030.svg b/src/shared/assets/icons/emoji/clock1030.svg new file mode 100644 index 0000000..f658fa3 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock1030.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock11.svg b/src/shared/assets/icons/emoji/clock11.svg new file mode 100644 index 0000000..5883449 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock1130.svg b/src/shared/assets/icons/emoji/clock1130.svg new file mode 100644 index 0000000..41e105f --- /dev/null +++ b/src/shared/assets/icons/emoji/clock1130.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock12.svg b/src/shared/assets/icons/emoji/clock12.svg new file mode 100644 index 0000000..85010ae --- /dev/null +++ b/src/shared/assets/icons/emoji/clock12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock1230.svg b/src/shared/assets/icons/emoji/clock1230.svg new file mode 100644 index 0000000..7178a88 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock1230.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock130.svg b/src/shared/assets/icons/emoji/clock130.svg new file mode 100644 index 0000000..f471871 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock130.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock2.svg b/src/shared/assets/icons/emoji/clock2.svg new file mode 100644 index 0000000..96ab682 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock230.svg b/src/shared/assets/icons/emoji/clock230.svg new file mode 100644 index 0000000..feb77f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock230.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock3.svg b/src/shared/assets/icons/emoji/clock3.svg new file mode 100644 index 0000000..ce4c487 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock330.svg b/src/shared/assets/icons/emoji/clock330.svg new file mode 100644 index 0000000..8ab841f --- /dev/null +++ b/src/shared/assets/icons/emoji/clock330.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock4.svg b/src/shared/assets/icons/emoji/clock4.svg new file mode 100644 index 0000000..2ac4ead --- /dev/null +++ b/src/shared/assets/icons/emoji/clock4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock430.svg b/src/shared/assets/icons/emoji/clock430.svg new file mode 100644 index 0000000..81ccc7e --- /dev/null +++ b/src/shared/assets/icons/emoji/clock430.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock5.svg b/src/shared/assets/icons/emoji/clock5.svg new file mode 100644 index 0000000..1a2ef1c --- /dev/null +++ b/src/shared/assets/icons/emoji/clock5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock530.svg b/src/shared/assets/icons/emoji/clock530.svg new file mode 100644 index 0000000..098c47f --- /dev/null +++ b/src/shared/assets/icons/emoji/clock530.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock6.svg b/src/shared/assets/icons/emoji/clock6.svg new file mode 100644 index 0000000..5021b16 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock630.svg b/src/shared/assets/icons/emoji/clock630.svg new file mode 100644 index 0000000..3a50a9a --- /dev/null +++ b/src/shared/assets/icons/emoji/clock630.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock7.svg b/src/shared/assets/icons/emoji/clock7.svg new file mode 100644 index 0000000..a2eb7ef --- /dev/null +++ b/src/shared/assets/icons/emoji/clock7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock730.svg b/src/shared/assets/icons/emoji/clock730.svg new file mode 100644 index 0000000..f2c6ace --- /dev/null +++ b/src/shared/assets/icons/emoji/clock730.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock8.svg b/src/shared/assets/icons/emoji/clock8.svg new file mode 100644 index 0000000..3a7ff9b --- /dev/null +++ b/src/shared/assets/icons/emoji/clock8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock830.svg b/src/shared/assets/icons/emoji/clock830.svg new file mode 100644 index 0000000..a14e0dc --- /dev/null +++ b/src/shared/assets/icons/emoji/clock830.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock9.svg b/src/shared/assets/icons/emoji/clock9.svg new file mode 100644 index 0000000..e9d3cb5 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clock930.svg b/src/shared/assets/icons/emoji/clock930.svg new file mode 100644 index 0000000..4d6f873 --- /dev/null +++ b/src/shared/assets/icons/emoji/clock930.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/closed_book.svg b/src/shared/assets/icons/emoji/closed_book.svg new file mode 100644 index 0000000..701ff01 --- /dev/null +++ b/src/shared/assets/icons/emoji/closed_book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/closed_lock_with_key.svg b/src/shared/assets/icons/emoji/closed_lock_with_key.svg new file mode 100644 index 0000000..014079e --- /dev/null +++ b/src/shared/assets/icons/emoji/closed_lock_with_key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/closed_umbrella.svg b/src/shared/assets/icons/emoji/closed_umbrella.svg new file mode 100644 index 0000000..e611e6b --- /dev/null +++ b/src/shared/assets/icons/emoji/closed_umbrella.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cloud.svg b/src/shared/assets/icons/emoji/cloud.svg new file mode 100644 index 0000000..928baa6 --- /dev/null +++ b/src/shared/assets/icons/emoji/cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cloud_lightning.svg b/src/shared/assets/icons/emoji/cloud_lightning.svg new file mode 100644 index 0000000..0deaddc --- /dev/null +++ b/src/shared/assets/icons/emoji/cloud_lightning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cloud_rain.svg b/src/shared/assets/icons/emoji/cloud_rain.svg new file mode 100644 index 0000000..99f42f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/cloud_rain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cloud_snow.svg b/src/shared/assets/icons/emoji/cloud_snow.svg new file mode 100644 index 0000000..f937107 --- /dev/null +++ b/src/shared/assets/icons/emoji/cloud_snow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cloud_tornado.svg b/src/shared/assets/icons/emoji/cloud_tornado.svg new file mode 100644 index 0000000..b462010 --- /dev/null +++ b/src/shared/assets/icons/emoji/cloud_tornado.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clown.svg b/src/shared/assets/icons/emoji/clown.svg new file mode 100644 index 0000000..6d16a66 --- /dev/null +++ b/src/shared/assets/icons/emoji/clown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/clubs.svg b/src/shared/assets/icons/emoji/clubs.svg new file mode 100644 index 0000000..a9dce6f --- /dev/null +++ b/src/shared/assets/icons/emoji/clubs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/coat.svg b/src/shared/assets/icons/emoji/coat.svg new file mode 100644 index 0000000..392af56 --- /dev/null +++ b/src/shared/assets/icons/emoji/coat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cocktail.svg b/src/shared/assets/icons/emoji/cocktail.svg new file mode 100644 index 0000000..c8bc0ce --- /dev/null +++ b/src/shared/assets/icons/emoji/cocktail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/coconut.svg b/src/shared/assets/icons/emoji/coconut.svg new file mode 100644 index 0000000..7f16927 --- /dev/null +++ b/src/shared/assets/icons/emoji/coconut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/coffee.svg b/src/shared/assets/icons/emoji/coffee.svg new file mode 100644 index 0000000..bb68dd5 --- /dev/null +++ b/src/shared/assets/icons/emoji/coffee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/coffin.svg b/src/shared/assets/icons/emoji/coffin.svg new file mode 100644 index 0000000..c1ea4d6 --- /dev/null +++ b/src/shared/assets/icons/emoji/coffin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cold_face.svg b/src/shared/assets/icons/emoji/cold_face.svg new file mode 100644 index 0000000..e32efdd --- /dev/null +++ b/src/shared/assets/icons/emoji/cold_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cold_sweat.svg b/src/shared/assets/icons/emoji/cold_sweat.svg new file mode 100644 index 0000000..de3d95c --- /dev/null +++ b/src/shared/assets/icons/emoji/cold_sweat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/comet.svg b/src/shared/assets/icons/emoji/comet.svg new file mode 100644 index 0000000..07df915 --- /dev/null +++ b/src/shared/assets/icons/emoji/comet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/compass.svg b/src/shared/assets/icons/emoji/compass.svg new file mode 100644 index 0000000..fd3d583 --- /dev/null +++ b/src/shared/assets/icons/emoji/compass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/compression.svg b/src/shared/assets/icons/emoji/compression.svg new file mode 100644 index 0000000..6f35d17 --- /dev/null +++ b/src/shared/assets/icons/emoji/compression.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/computer.svg b/src/shared/assets/icons/emoji/computer.svg new file mode 100644 index 0000000..93357fa --- /dev/null +++ b/src/shared/assets/icons/emoji/computer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/confetti_ball.svg b/src/shared/assets/icons/emoji/confetti_ball.svg new file mode 100644 index 0000000..e709775 --- /dev/null +++ b/src/shared/assets/icons/emoji/confetti_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/confounded.svg b/src/shared/assets/icons/emoji/confounded.svg new file mode 100644 index 0000000..2b8871c --- /dev/null +++ b/src/shared/assets/icons/emoji/confounded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/confused.svg b/src/shared/assets/icons/emoji/confused.svg new file mode 100644 index 0000000..339a6a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/confused.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/congratulations.svg b/src/shared/assets/icons/emoji/congratulations.svg new file mode 100644 index 0000000..7adbcf1 --- /dev/null +++ b/src/shared/assets/icons/emoji/congratulations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/construction.svg b/src/shared/assets/icons/emoji/construction.svg new file mode 100644 index 0000000..a5d135c --- /dev/null +++ b/src/shared/assets/icons/emoji/construction.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/construction_site.svg b/src/shared/assets/icons/emoji/construction_site.svg new file mode 100644 index 0000000..e77a170 --- /dev/null +++ b/src/shared/assets/icons/emoji/construction_site.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/construction_worker.svg b/src/shared/assets/icons/emoji/construction_worker.svg new file mode 100644 index 0000000..5843060 --- /dev/null +++ b/src/shared/assets/icons/emoji/construction_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/control_knobs.svg b/src/shared/assets/icons/emoji/control_knobs.svg new file mode 100644 index 0000000..9d355c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/control_knobs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/convenience_store.svg b/src/shared/assets/icons/emoji/convenience_store.svg new file mode 100644 index 0000000..87f3f96 --- /dev/null +++ b/src/shared/assets/icons/emoji/convenience_store.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cookie.svg b/src/shared/assets/icons/emoji/cookie.svg new file mode 100644 index 0000000..d1b604b --- /dev/null +++ b/src/shared/assets/icons/emoji/cookie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cooking.svg b/src/shared/assets/icons/emoji/cooking.svg new file mode 100644 index 0000000..733dc2b --- /dev/null +++ b/src/shared/assets/icons/emoji/cooking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cool.svg b/src/shared/assets/icons/emoji/cool.svg new file mode 100644 index 0000000..3207dcf --- /dev/null +++ b/src/shared/assets/icons/emoji/cool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/corn.svg b/src/shared/assets/icons/emoji/corn.svg new file mode 100644 index 0000000..6c4ae3b --- /dev/null +++ b/src/shared/assets/icons/emoji/corn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couch.svg b/src/shared/assets/icons/emoji/couch.svg new file mode 100644 index 0000000..c80d190 --- /dev/null +++ b/src/shared/assets/icons/emoji/couch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couple.svg b/src/shared/assets/icons/emoji/couple.svg new file mode 100644 index 0000000..59ca8c0 --- /dev/null +++ b/src/shared/assets/icons/emoji/couple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couple_mm.svg b/src/shared/assets/icons/emoji/couple_mm.svg new file mode 100644 index 0000000..cace24f --- /dev/null +++ b/src/shared/assets/icons/emoji/couple_mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couple_with_heart.svg b/src/shared/assets/icons/emoji/couple_with_heart.svg new file mode 100644 index 0000000..ece280d --- /dev/null +++ b/src/shared/assets/icons/emoji/couple_with_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couple_with_heart_woman_man.svg b/src/shared/assets/icons/emoji/couple_with_heart_woman_man.svg new file mode 100644 index 0000000..ece280d --- /dev/null +++ b/src/shared/assets/icons/emoji/couple_with_heart_woman_man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couple_ww.svg b/src/shared/assets/icons/emoji/couple_ww.svg new file mode 100644 index 0000000..62abb03 --- /dev/null +++ b/src/shared/assets/icons/emoji/couple_ww.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/couplekiss.svg b/src/shared/assets/icons/emoji/couplekiss.svg new file mode 100644 index 0000000..69cec3c --- /dev/null +++ b/src/shared/assets/icons/emoji/couplekiss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cow.svg b/src/shared/assets/icons/emoji/cow.svg new file mode 100644 index 0000000..40fede0 --- /dev/null +++ b/src/shared/assets/icons/emoji/cow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cow2.svg b/src/shared/assets/icons/emoji/cow2.svg new file mode 100644 index 0000000..4c791dc --- /dev/null +++ b/src/shared/assets/icons/emoji/cow2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cowboy.svg b/src/shared/assets/icons/emoji/cowboy.svg new file mode 100644 index 0000000..da7cfa2 --- /dev/null +++ b/src/shared/assets/icons/emoji/cowboy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crab.svg b/src/shared/assets/icons/emoji/crab.svg new file mode 100644 index 0000000..8f45b53 --- /dev/null +++ b/src/shared/assets/icons/emoji/crab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crayon.svg b/src/shared/assets/icons/emoji/crayon.svg new file mode 100644 index 0000000..5a4cbe8 --- /dev/null +++ b/src/shared/assets/icons/emoji/crayon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/credit_card.svg b/src/shared/assets/icons/emoji/credit_card.svg new file mode 100644 index 0000000..97641af --- /dev/null +++ b/src/shared/assets/icons/emoji/credit_card.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crescent_moon.svg b/src/shared/assets/icons/emoji/crescent_moon.svg new file mode 100644 index 0000000..d98dc2f --- /dev/null +++ b/src/shared/assets/icons/emoji/crescent_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cricket.svg b/src/shared/assets/icons/emoji/cricket.svg new file mode 100644 index 0000000..f26413f --- /dev/null +++ b/src/shared/assets/icons/emoji/cricket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cricket_game.svg b/src/shared/assets/icons/emoji/cricket_game.svg new file mode 100644 index 0000000..140db58 --- /dev/null +++ b/src/shared/assets/icons/emoji/cricket_game.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crocodile.svg b/src/shared/assets/icons/emoji/crocodile.svg new file mode 100644 index 0000000..a9a6deb --- /dev/null +++ b/src/shared/assets/icons/emoji/crocodile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/croissant.svg b/src/shared/assets/icons/emoji/croissant.svg new file mode 100644 index 0000000..eef4358 --- /dev/null +++ b/src/shared/assets/icons/emoji/croissant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cross.svg b/src/shared/assets/icons/emoji/cross.svg new file mode 100644 index 0000000..270b812 --- /dev/null +++ b/src/shared/assets/icons/emoji/cross.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crossed_flags.svg b/src/shared/assets/icons/emoji/crossed_flags.svg new file mode 100644 index 0000000..a0dd350 --- /dev/null +++ b/src/shared/assets/icons/emoji/crossed_flags.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crossed_swords.svg b/src/shared/assets/icons/emoji/crossed_swords.svg new file mode 100644 index 0000000..3cf2fa4 --- /dev/null +++ b/src/shared/assets/icons/emoji/crossed_swords.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crown.svg b/src/shared/assets/icons/emoji/crown.svg new file mode 100644 index 0000000..4db8d2b --- /dev/null +++ b/src/shared/assets/icons/emoji/crown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cruise_ship.svg b/src/shared/assets/icons/emoji/cruise_ship.svg new file mode 100644 index 0000000..4486213 --- /dev/null +++ b/src/shared/assets/icons/emoji/cruise_ship.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cry.svg b/src/shared/assets/icons/emoji/cry.svg new file mode 100644 index 0000000..1122bf5 --- /dev/null +++ b/src/shared/assets/icons/emoji/cry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crying_cat_face.svg b/src/shared/assets/icons/emoji/crying_cat_face.svg new file mode 100644 index 0000000..cdd8439 --- /dev/null +++ b/src/shared/assets/icons/emoji/crying_cat_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/crystal_ball.svg b/src/shared/assets/icons/emoji/crystal_ball.svg new file mode 100644 index 0000000..d7e0923 --- /dev/null +++ b/src/shared/assets/icons/emoji/crystal_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cucumber.svg b/src/shared/assets/icons/emoji/cucumber.svg new file mode 100644 index 0000000..83cba03 --- /dev/null +++ b/src/shared/assets/icons/emoji/cucumber.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cup_with_straw.svg b/src/shared/assets/icons/emoji/cup_with_straw.svg new file mode 100644 index 0000000..3556dd9 --- /dev/null +++ b/src/shared/assets/icons/emoji/cup_with_straw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cupcake.svg b/src/shared/assets/icons/emoji/cupcake.svg new file mode 100644 index 0000000..1f966c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/cupcake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cupid.svg b/src/shared/assets/icons/emoji/cupid.svg new file mode 100644 index 0000000..32d819f --- /dev/null +++ b/src/shared/assets/icons/emoji/cupid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/curling_stone.svg b/src/shared/assets/icons/emoji/curling_stone.svg new file mode 100644 index 0000000..9bc8f8a --- /dev/null +++ b/src/shared/assets/icons/emoji/curling_stone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/curly_loop.svg b/src/shared/assets/icons/emoji/curly_loop.svg new file mode 100644 index 0000000..33abaa9 --- /dev/null +++ b/src/shared/assets/icons/emoji/curly_loop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/currency_exchange.svg b/src/shared/assets/icons/emoji/currency_exchange.svg new file mode 100644 index 0000000..b67b0cd --- /dev/null +++ b/src/shared/assets/icons/emoji/currency_exchange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/curry.svg b/src/shared/assets/icons/emoji/curry.svg new file mode 100644 index 0000000..be3be22 --- /dev/null +++ b/src/shared/assets/icons/emoji/curry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/custard.svg b/src/shared/assets/icons/emoji/custard.svg new file mode 100644 index 0000000..8ec5179 --- /dev/null +++ b/src/shared/assets/icons/emoji/custard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/customs.svg b/src/shared/assets/icons/emoji/customs.svg new file mode 100644 index 0000000..9e58a3b --- /dev/null +++ b/src/shared/assets/icons/emoji/customs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cut_of_meat.svg b/src/shared/assets/icons/emoji/cut_of_meat.svg new file mode 100644 index 0000000..28a6a1a --- /dev/null +++ b/src/shared/assets/icons/emoji/cut_of_meat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/cyclone.svg b/src/shared/assets/icons/emoji/cyclone.svg new file mode 100644 index 0000000..1de6f25 --- /dev/null +++ b/src/shared/assets/icons/emoji/cyclone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dagger.svg b/src/shared/assets/icons/emoji/dagger.svg new file mode 100644 index 0000000..2741fb8 --- /dev/null +++ b/src/shared/assets/icons/emoji/dagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dancer.svg b/src/shared/assets/icons/emoji/dancer.svg new file mode 100644 index 0000000..abc19e5 --- /dev/null +++ b/src/shared/assets/icons/emoji/dancer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dango.svg b/src/shared/assets/icons/emoji/dango.svg new file mode 100644 index 0000000..e2537d9 --- /dev/null +++ b/src/shared/assets/icons/emoji/dango.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dark_sunglasses.svg b/src/shared/assets/icons/emoji/dark_sunglasses.svg new file mode 100644 index 0000000..5d5c04f --- /dev/null +++ b/src/shared/assets/icons/emoji/dark_sunglasses.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dart.svg b/src/shared/assets/icons/emoji/dart.svg new file mode 100644 index 0000000..9562c6c --- /dev/null +++ b/src/shared/assets/icons/emoji/dart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dash.svg b/src/shared/assets/icons/emoji/dash.svg new file mode 100644 index 0000000..006e04a --- /dev/null +++ b/src/shared/assets/icons/emoji/dash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/date.svg b/src/shared/assets/icons/emoji/date.svg new file mode 100644 index 0000000..ca68a82 --- /dev/null +++ b/src/shared/assets/icons/emoji/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/deaf_man.svg b/src/shared/assets/icons/emoji/deaf_man.svg new file mode 100644 index 0000000..8c119c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/deaf_man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/deaf_person.svg b/src/shared/assets/icons/emoji/deaf_person.svg new file mode 100644 index 0000000..b632521 --- /dev/null +++ b/src/shared/assets/icons/emoji/deaf_person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/deaf_woman.svg b/src/shared/assets/icons/emoji/deaf_woman.svg new file mode 100644 index 0000000..7d8f058 --- /dev/null +++ b/src/shared/assets/icons/emoji/deaf_woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/deciduous_tree.svg b/src/shared/assets/icons/emoji/deciduous_tree.svg new file mode 100644 index 0000000..3937fc4 --- /dev/null +++ b/src/shared/assets/icons/emoji/deciduous_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/deer.svg b/src/shared/assets/icons/emoji/deer.svg new file mode 100644 index 0000000..8662368 --- /dev/null +++ b/src/shared/assets/icons/emoji/deer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/department_store.svg b/src/shared/assets/icons/emoji/department_store.svg new file mode 100644 index 0000000..c30d022 --- /dev/null +++ b/src/shared/assets/icons/emoji/department_store.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/desert.svg b/src/shared/assets/icons/emoji/desert.svg new file mode 100644 index 0000000..99baa8d --- /dev/null +++ b/src/shared/assets/icons/emoji/desert.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/desktop.svg b/src/shared/assets/icons/emoji/desktop.svg new file mode 100644 index 0000000..e1a0633 --- /dev/null +++ b/src/shared/assets/icons/emoji/desktop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/detective.svg b/src/shared/assets/icons/emoji/detective.svg new file mode 100644 index 0000000..e82b8d9 --- /dev/null +++ b/src/shared/assets/icons/emoji/detective.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/diamond_shape_with_a_dot_inside.svg b/src/shared/assets/icons/emoji/diamond_shape_with_a_dot_inside.svg new file mode 100644 index 0000000..9c80565 --- /dev/null +++ b/src/shared/assets/icons/emoji/diamond_shape_with_a_dot_inside.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/diamonds.svg b/src/shared/assets/icons/emoji/diamonds.svg new file mode 100644 index 0000000..02f93aa --- /dev/null +++ b/src/shared/assets/icons/emoji/diamonds.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/disappointed.svg b/src/shared/assets/icons/emoji/disappointed.svg new file mode 100644 index 0000000..7ae60a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/disappointed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/disappointed_relieved.svg b/src/shared/assets/icons/emoji/disappointed_relieved.svg new file mode 100644 index 0000000..0b4293f --- /dev/null +++ b/src/shared/assets/icons/emoji/disappointed_relieved.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dividers.svg b/src/shared/assets/icons/emoji/dividers.svg new file mode 100644 index 0000000..822a927 --- /dev/null +++ b/src/shared/assets/icons/emoji/dividers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/diving_mask.svg b/src/shared/assets/icons/emoji/diving_mask.svg new file mode 100644 index 0000000..01239db --- /dev/null +++ b/src/shared/assets/icons/emoji/diving_mask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/diya_lamp.svg b/src/shared/assets/icons/emoji/diya_lamp.svg new file mode 100644 index 0000000..34c5f38 --- /dev/null +++ b/src/shared/assets/icons/emoji/diya_lamp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dizzy.svg b/src/shared/assets/icons/emoji/dizzy.svg new file mode 100644 index 0000000..af3261c --- /dev/null +++ b/src/shared/assets/icons/emoji/dizzy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dizzy_face.svg b/src/shared/assets/icons/emoji/dizzy_face.svg new file mode 100644 index 0000000..7a45cf5 --- /dev/null +++ b/src/shared/assets/icons/emoji/dizzy_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dna.svg b/src/shared/assets/icons/emoji/dna.svg new file mode 100644 index 0000000..689cc3e --- /dev/null +++ b/src/shared/assets/icons/emoji/dna.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/do_not_litter.svg b/src/shared/assets/icons/emoji/do_not_litter.svg new file mode 100644 index 0000000..74fad21 --- /dev/null +++ b/src/shared/assets/icons/emoji/do_not_litter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dog.svg b/src/shared/assets/icons/emoji/dog.svg new file mode 100644 index 0000000..8b2e685 --- /dev/null +++ b/src/shared/assets/icons/emoji/dog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dog2.svg b/src/shared/assets/icons/emoji/dog2.svg new file mode 100644 index 0000000..c959deb --- /dev/null +++ b/src/shared/assets/icons/emoji/dog2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dollar.svg b/src/shared/assets/icons/emoji/dollar.svg new file mode 100644 index 0000000..113c6d0 --- /dev/null +++ b/src/shared/assets/icons/emoji/dollar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dolls.svg b/src/shared/assets/icons/emoji/dolls.svg new file mode 100644 index 0000000..56b4b80 --- /dev/null +++ b/src/shared/assets/icons/emoji/dolls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dolphin.svg b/src/shared/assets/icons/emoji/dolphin.svg new file mode 100644 index 0000000..ee782f2 --- /dev/null +++ b/src/shared/assets/icons/emoji/dolphin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/door.svg b/src/shared/assets/icons/emoji/door.svg new file mode 100644 index 0000000..1542aba --- /dev/null +++ b/src/shared/assets/icons/emoji/door.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/doughnut.svg b/src/shared/assets/icons/emoji/doughnut.svg new file mode 100644 index 0000000..3c2aa58 --- /dev/null +++ b/src/shared/assets/icons/emoji/doughnut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dove.svg b/src/shared/assets/icons/emoji/dove.svg new file mode 100644 index 0000000..613e495 --- /dev/null +++ b/src/shared/assets/icons/emoji/dove.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dragon.svg b/src/shared/assets/icons/emoji/dragon.svg new file mode 100644 index 0000000..14e1765 --- /dev/null +++ b/src/shared/assets/icons/emoji/dragon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dragon_face.svg b/src/shared/assets/icons/emoji/dragon_face.svg new file mode 100644 index 0000000..1c1b434 --- /dev/null +++ b/src/shared/assets/icons/emoji/dragon_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dress.svg b/src/shared/assets/icons/emoji/dress.svg new file mode 100644 index 0000000..29cc45c --- /dev/null +++ b/src/shared/assets/icons/emoji/dress.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dromedary_camel.svg b/src/shared/assets/icons/emoji/dromedary_camel.svg new file mode 100644 index 0000000..278e144 --- /dev/null +++ b/src/shared/assets/icons/emoji/dromedary_camel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/drooling_face.svg b/src/shared/assets/icons/emoji/drooling_face.svg new file mode 100644 index 0000000..9af71fc --- /dev/null +++ b/src/shared/assets/icons/emoji/drooling_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/drop_of_blood.svg b/src/shared/assets/icons/emoji/drop_of_blood.svg new file mode 100644 index 0000000..2dc83a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/drop_of_blood.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/droplet.svg b/src/shared/assets/icons/emoji/droplet.svg new file mode 100644 index 0000000..3116ec3 --- /dev/null +++ b/src/shared/assets/icons/emoji/droplet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/drum.svg b/src/shared/assets/icons/emoji/drum.svg new file mode 100644 index 0000000..e197d16 --- /dev/null +++ b/src/shared/assets/icons/emoji/drum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/duck.svg b/src/shared/assets/icons/emoji/duck.svg new file mode 100644 index 0000000..085c900 --- /dev/null +++ b/src/shared/assets/icons/emoji/duck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dumpling.svg b/src/shared/assets/icons/emoji/dumpling.svg new file mode 100644 index 0000000..57f13af --- /dev/null +++ b/src/shared/assets/icons/emoji/dumpling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/dvd.svg b/src/shared/assets/icons/emoji/dvd.svg new file mode 100644 index 0000000..1b3b38b --- /dev/null +++ b/src/shared/assets/icons/emoji/dvd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/e_mail.svg b/src/shared/assets/icons/emoji/e_mail.svg new file mode 100644 index 0000000..d8ce780 --- /dev/null +++ b/src/shared/assets/icons/emoji/e_mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eagle.svg b/src/shared/assets/icons/emoji/eagle.svg new file mode 100644 index 0000000..81b7b3c --- /dev/null +++ b/src/shared/assets/icons/emoji/eagle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ear.svg b/src/shared/assets/icons/emoji/ear.svg new file mode 100644 index 0000000..1b386c7 --- /dev/null +++ b/src/shared/assets/icons/emoji/ear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ear_of_rice.svg b/src/shared/assets/icons/emoji/ear_of_rice.svg new file mode 100644 index 0000000..320f149 --- /dev/null +++ b/src/shared/assets/icons/emoji/ear_of_rice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ear_with_hearing_aid.svg b/src/shared/assets/icons/emoji/ear_with_hearing_aid.svg new file mode 100644 index 0000000..05bc020 --- /dev/null +++ b/src/shared/assets/icons/emoji/ear_with_hearing_aid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/earth_africa.svg b/src/shared/assets/icons/emoji/earth_africa.svg new file mode 100644 index 0000000..f813610 --- /dev/null +++ b/src/shared/assets/icons/emoji/earth_africa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/earth_americas.svg b/src/shared/assets/icons/emoji/earth_americas.svg new file mode 100644 index 0000000..0793e72 --- /dev/null +++ b/src/shared/assets/icons/emoji/earth_americas.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/earth_asia.svg b/src/shared/assets/icons/emoji/earth_asia.svg new file mode 100644 index 0000000..30c0186 --- /dev/null +++ b/src/shared/assets/icons/emoji/earth_asia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/egg.svg b/src/shared/assets/icons/emoji/egg.svg new file mode 100644 index 0000000..1e76017 --- /dev/null +++ b/src/shared/assets/icons/emoji/egg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eggplant.svg b/src/shared/assets/icons/emoji/eggplant.svg new file mode 100644 index 0000000..14688a6 --- /dev/null +++ b/src/shared/assets/icons/emoji/eggplant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eight.svg b/src/shared/assets/icons/emoji/eight.svg new file mode 100644 index 0000000..b912265 --- /dev/null +++ b/src/shared/assets/icons/emoji/eight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eight_pointed_black_star.svg b/src/shared/assets/icons/emoji/eight_pointed_black_star.svg new file mode 100644 index 0000000..17ed819 --- /dev/null +++ b/src/shared/assets/icons/emoji/eight_pointed_black_star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eight_spoked_asterisk.svg b/src/shared/assets/icons/emoji/eight_spoked_asterisk.svg new file mode 100644 index 0000000..0aac14f --- /dev/null +++ b/src/shared/assets/icons/emoji/eight_spoked_asterisk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eject.svg b/src/shared/assets/icons/emoji/eject.svg new file mode 100644 index 0000000..d53497c --- /dev/null +++ b/src/shared/assets/icons/emoji/eject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/electric_plug.svg b/src/shared/assets/icons/emoji/electric_plug.svg new file mode 100644 index 0000000..8f432f0 --- /dev/null +++ b/src/shared/assets/icons/emoji/electric_plug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/elephant.svg b/src/shared/assets/icons/emoji/elephant.svg new file mode 100644 index 0000000..fb9656c --- /dev/null +++ b/src/shared/assets/icons/emoji/elephant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/elf.svg b/src/shared/assets/icons/emoji/elf.svg new file mode 100644 index 0000000..3e82899 --- /dev/null +++ b/src/shared/assets/icons/emoji/elf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/end.svg b/src/shared/assets/icons/emoji/end.svg new file mode 100644 index 0000000..d964c52 --- /dev/null +++ b/src/shared/assets/icons/emoji/end.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/england.svg b/src/shared/assets/icons/emoji/england.svg new file mode 100644 index 0000000..fa20956 --- /dev/null +++ b/src/shared/assets/icons/emoji/england.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/envelope.svg b/src/shared/assets/icons/emoji/envelope.svg new file mode 100644 index 0000000..d880c42 --- /dev/null +++ b/src/shared/assets/icons/emoji/envelope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/envelope_with_arrow.svg b/src/shared/assets/icons/emoji/envelope_with_arrow.svg new file mode 100644 index 0000000..1847cd1 --- /dev/null +++ b/src/shared/assets/icons/emoji/envelope_with_arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/euro.svg b/src/shared/assets/icons/emoji/euro.svg new file mode 100644 index 0000000..1869987 --- /dev/null +++ b/src/shared/assets/icons/emoji/euro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/european_castle.svg b/src/shared/assets/icons/emoji/european_castle.svg new file mode 100644 index 0000000..b4e3d19 --- /dev/null +++ b/src/shared/assets/icons/emoji/european_castle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/european_post_office.svg b/src/shared/assets/icons/emoji/european_post_office.svg new file mode 100644 index 0000000..7ac74e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/european_post_office.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/evergreen_tree.svg b/src/shared/assets/icons/emoji/evergreen_tree.svg new file mode 100644 index 0000000..540f186 --- /dev/null +++ b/src/shared/assets/icons/emoji/evergreen_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/exclamation.svg b/src/shared/assets/icons/emoji/exclamation.svg new file mode 100644 index 0000000..e730a08 --- /dev/null +++ b/src/shared/assets/icons/emoji/exclamation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/exploding_head.svg b/src/shared/assets/icons/emoji/exploding_head.svg new file mode 100644 index 0000000..664d960 --- /dev/null +++ b/src/shared/assets/icons/emoji/exploding_head.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/expressionless.svg b/src/shared/assets/icons/emoji/expressionless.svg new file mode 100644 index 0000000..55be4fd --- /dev/null +++ b/src/shared/assets/icons/emoji/expressionless.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eye.svg b/src/shared/assets/icons/emoji/eye.svg new file mode 100644 index 0000000..75e9c48 --- /dev/null +++ b/src/shared/assets/icons/emoji/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eye_in_speech_bubble.svg b/src/shared/assets/icons/emoji/eye_in_speech_bubble.svg new file mode 100644 index 0000000..ebe9061 --- /dev/null +++ b/src/shared/assets/icons/emoji/eye_in_speech_bubble.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eyeglasses.svg b/src/shared/assets/icons/emoji/eyeglasses.svg new file mode 100644 index 0000000..18d9998 --- /dev/null +++ b/src/shared/assets/icons/emoji/eyeglasses.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/eyes.svg b/src/shared/assets/icons/emoji/eyes.svg new file mode 100644 index 0000000..46a268f --- /dev/null +++ b/src/shared/assets/icons/emoji/eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/face_vomiting.svg b/src/shared/assets/icons/emoji/face_vomiting.svg new file mode 100644 index 0000000..d792679 --- /dev/null +++ b/src/shared/assets/icons/emoji/face_vomiting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/face_with_hand_over_mouth.svg b/src/shared/assets/icons/emoji/face_with_hand_over_mouth.svg new file mode 100644 index 0000000..b79e067 --- /dev/null +++ b/src/shared/assets/icons/emoji/face_with_hand_over_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/face_with_monocle.svg b/src/shared/assets/icons/emoji/face_with_monocle.svg new file mode 100644 index 0000000..86198f7 --- /dev/null +++ b/src/shared/assets/icons/emoji/face_with_monocle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/face_with_raised_eyebrow.svg b/src/shared/assets/icons/emoji/face_with_raised_eyebrow.svg new file mode 100644 index 0000000..126e459 --- /dev/null +++ b/src/shared/assets/icons/emoji/face_with_raised_eyebrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/face_with_symbols_over_mouth.svg b/src/shared/assets/icons/emoji/face_with_symbols_over_mouth.svg new file mode 100644 index 0000000..c26a5aa --- /dev/null +++ b/src/shared/assets/icons/emoji/face_with_symbols_over_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/factory.svg b/src/shared/assets/icons/emoji/factory.svg new file mode 100644 index 0000000..04ee162 --- /dev/null +++ b/src/shared/assets/icons/emoji/factory.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fairy.svg b/src/shared/assets/icons/emoji/fairy.svg new file mode 100644 index 0000000..5c9ea36 --- /dev/null +++ b/src/shared/assets/icons/emoji/fairy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/falafel.svg b/src/shared/assets/icons/emoji/falafel.svg new file mode 100644 index 0000000..c360564 --- /dev/null +++ b/src/shared/assets/icons/emoji/falafel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fallen_leaf.svg b/src/shared/assets/icons/emoji/fallen_leaf.svg new file mode 100644 index 0000000..1c9072a --- /dev/null +++ b/src/shared/assets/icons/emoji/fallen_leaf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family.svg b/src/shared/assets/icons/emoji/family.svg new file mode 100644 index 0000000..945b1a8 --- /dev/null +++ b/src/shared/assets/icons/emoji/family.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_boy.svg b/src/shared/assets/icons/emoji/family_man_boy.svg new file mode 100644 index 0000000..26c8de9 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_boy_boy.svg b/src/shared/assets/icons/emoji/family_man_boy_boy.svg new file mode 100644 index 0000000..89b3ad3 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_boy_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_girl.svg b/src/shared/assets/icons/emoji/family_man_girl.svg new file mode 100644 index 0000000..4cda751 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_girl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_girl_boy.svg b/src/shared/assets/icons/emoji/family_man_girl_boy.svg new file mode 100644 index 0000000..a2008f1 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_girl_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_girl_girl.svg b/src/shared/assets/icons/emoji/family_man_girl_girl.svg new file mode 100644 index 0000000..acb7b7d --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_girl_girl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_man_woman_boy.svg b/src/shared/assets/icons/emoji/family_man_woman_boy.svg new file mode 100644 index 0000000..8f5fad9 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_man_woman_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mmb.svg b/src/shared/assets/icons/emoji/family_mmb.svg new file mode 100644 index 0000000..d3a5877 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mmb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mmbb.svg b/src/shared/assets/icons/emoji/family_mmbb.svg new file mode 100644 index 0000000..efa5db9 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mmbb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mmg.svg b/src/shared/assets/icons/emoji/family_mmg.svg new file mode 100644 index 0000000..48c4e73 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mmg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mmgb.svg b/src/shared/assets/icons/emoji/family_mmgb.svg new file mode 100644 index 0000000..4d12c1a --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mmgb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mmgg.svg b/src/shared/assets/icons/emoji/family_mmgg.svg new file mode 100644 index 0000000..a694e42 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mmgg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mwbb.svg b/src/shared/assets/icons/emoji/family_mwbb.svg new file mode 100644 index 0000000..9c3f3da --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mwbb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mwg.svg b/src/shared/assets/icons/emoji/family_mwg.svg new file mode 100644 index 0000000..22a662f --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mwg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mwgb.svg b/src/shared/assets/icons/emoji/family_mwgb.svg new file mode 100644 index 0000000..8856807 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mwgb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_mwgg.svg b/src/shared/assets/icons/emoji/family_mwgg.svg new file mode 100644 index 0000000..58111c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_mwgg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_woman_boy.svg b/src/shared/assets/icons/emoji/family_woman_boy.svg new file mode 100644 index 0000000..6ae66b6 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_woman_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_woman_boy_boy.svg b/src/shared/assets/icons/emoji/family_woman_boy_boy.svg new file mode 100644 index 0000000..a10b019 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_woman_boy_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_woman_girl.svg b/src/shared/assets/icons/emoji/family_woman_girl.svg new file mode 100644 index 0000000..43e4333 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_woman_girl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_woman_girl_boy.svg b/src/shared/assets/icons/emoji/family_woman_girl_boy.svg new file mode 100644 index 0000000..710fb8e --- /dev/null +++ b/src/shared/assets/icons/emoji/family_woman_girl_boy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_woman_girl_girl.svg b/src/shared/assets/icons/emoji/family_woman_girl_girl.svg new file mode 100644 index 0000000..88da46e --- /dev/null +++ b/src/shared/assets/icons/emoji/family_woman_girl_girl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_wwb.svg b/src/shared/assets/icons/emoji/family_wwb.svg new file mode 100644 index 0000000..8cd8bad --- /dev/null +++ b/src/shared/assets/icons/emoji/family_wwb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_wwbb.svg b/src/shared/assets/icons/emoji/family_wwbb.svg new file mode 100644 index 0000000..8915200 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_wwbb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_wwg.svg b/src/shared/assets/icons/emoji/family_wwg.svg new file mode 100644 index 0000000..9201b66 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_wwg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_wwgb.svg b/src/shared/assets/icons/emoji/family_wwgb.svg new file mode 100644 index 0000000..976e848 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_wwgb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/family_wwgg.svg b/src/shared/assets/icons/emoji/family_wwgg.svg new file mode 100644 index 0000000..96e0434 --- /dev/null +++ b/src/shared/assets/icons/emoji/family_wwgg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fast_forward.svg b/src/shared/assets/icons/emoji/fast_forward.svg new file mode 100644 index 0000000..1ef719c --- /dev/null +++ b/src/shared/assets/icons/emoji/fast_forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fax.svg b/src/shared/assets/icons/emoji/fax.svg new file mode 100644 index 0000000..5f88b13 --- /dev/null +++ b/src/shared/assets/icons/emoji/fax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fearful.svg b/src/shared/assets/icons/emoji/fearful.svg new file mode 100644 index 0000000..716302e --- /dev/null +++ b/src/shared/assets/icons/emoji/fearful.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/feet.svg b/src/shared/assets/icons/emoji/feet.svg new file mode 100644 index 0000000..4001367 --- /dev/null +++ b/src/shared/assets/icons/emoji/feet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/female_sign.svg b/src/shared/assets/icons/emoji/female_sign.svg new file mode 100644 index 0000000..db5291c --- /dev/null +++ b/src/shared/assets/icons/emoji/female_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ferris_wheel.svg b/src/shared/assets/icons/emoji/ferris_wheel.svg new file mode 100644 index 0000000..c35744a --- /dev/null +++ b/src/shared/assets/icons/emoji/ferris_wheel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ferry.svg b/src/shared/assets/icons/emoji/ferry.svg new file mode 100644 index 0000000..70b3542 --- /dev/null +++ b/src/shared/assets/icons/emoji/ferry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/field_hockey.svg b/src/shared/assets/icons/emoji/field_hockey.svg new file mode 100644 index 0000000..c367cef --- /dev/null +++ b/src/shared/assets/icons/emoji/field_hockey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/file_cabinet.svg b/src/shared/assets/icons/emoji/file_cabinet.svg new file mode 100644 index 0000000..4c065fb --- /dev/null +++ b/src/shared/assets/icons/emoji/file_cabinet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/file_folder.svg b/src/shared/assets/icons/emoji/file_folder.svg new file mode 100644 index 0000000..099d58b --- /dev/null +++ b/src/shared/assets/icons/emoji/file_folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/film_frames.svg b/src/shared/assets/icons/emoji/film_frames.svg new file mode 100644 index 0000000..01f9311 --- /dev/null +++ b/src/shared/assets/icons/emoji/film_frames.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fingers_crossed.svg b/src/shared/assets/icons/emoji/fingers_crossed.svg new file mode 100644 index 0000000..f85ba65 --- /dev/null +++ b/src/shared/assets/icons/emoji/fingers_crossed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fire.svg b/src/shared/assets/icons/emoji/fire.svg new file mode 100644 index 0000000..e7dee6d --- /dev/null +++ b/src/shared/assets/icons/emoji/fire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fire_engine.svg b/src/shared/assets/icons/emoji/fire_engine.svg new file mode 100644 index 0000000..711c996 --- /dev/null +++ b/src/shared/assets/icons/emoji/fire_engine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fire_extinguisher.svg b/src/shared/assets/icons/emoji/fire_extinguisher.svg new file mode 100644 index 0000000..e8b17ac --- /dev/null +++ b/src/shared/assets/icons/emoji/fire_extinguisher.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/firecracker.svg b/src/shared/assets/icons/emoji/firecracker.svg new file mode 100644 index 0000000..ff03820 --- /dev/null +++ b/src/shared/assets/icons/emoji/firecracker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fireworks.svg b/src/shared/assets/icons/emoji/fireworks.svg new file mode 100644 index 0000000..54a4f32 --- /dev/null +++ b/src/shared/assets/icons/emoji/fireworks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/first_place.svg b/src/shared/assets/icons/emoji/first_place.svg new file mode 100644 index 0000000..c67af77 --- /dev/null +++ b/src/shared/assets/icons/emoji/first_place.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/first_quarter_moon.svg b/src/shared/assets/icons/emoji/first_quarter_moon.svg new file mode 100644 index 0000000..f668b75 --- /dev/null +++ b/src/shared/assets/icons/emoji/first_quarter_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/first_quarter_moon_with_face.svg b/src/shared/assets/icons/emoji/first_quarter_moon_with_face.svg new file mode 100644 index 0000000..3fffcdd --- /dev/null +++ b/src/shared/assets/icons/emoji/first_quarter_moon_with_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fish.svg b/src/shared/assets/icons/emoji/fish.svg new file mode 100644 index 0000000..7d9ef41 --- /dev/null +++ b/src/shared/assets/icons/emoji/fish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fish_cake.svg b/src/shared/assets/icons/emoji/fish_cake.svg new file mode 100644 index 0000000..fd448da --- /dev/null +++ b/src/shared/assets/icons/emoji/fish_cake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fishing_pole_and_fish.svg b/src/shared/assets/icons/emoji/fishing_pole_and_fish.svg new file mode 100644 index 0000000..1a1df4f --- /dev/null +++ b/src/shared/assets/icons/emoji/fishing_pole_and_fish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fist.svg b/src/shared/assets/icons/emoji/fist.svg new file mode 100644 index 0000000..9991043 --- /dev/null +++ b/src/shared/assets/icons/emoji/fist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/five.svg b/src/shared/assets/icons/emoji/five.svg new file mode 100644 index 0000000..be3b062 --- /dev/null +++ b/src/shared/assets/icons/emoji/five.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ac.svg b/src/shared/assets/icons/emoji/flag_ac.svg new file mode 100644 index 0000000..53f90dc --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ad.svg b/src/shared/assets/icons/emoji/flag_ad.svg new file mode 100644 index 0000000..be10594 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ae.svg b/src/shared/assets/icons/emoji/flag_ae.svg new file mode 100644 index 0000000..be8e114 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_af.svg b/src/shared/assets/icons/emoji/flag_af.svg new file mode 100644 index 0000000..769efca --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ag.svg b/src/shared/assets/icons/emoji/flag_ag.svg new file mode 100644 index 0000000..2716617 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ai.svg b/src/shared/assets/icons/emoji/flag_ai.svg new file mode 100644 index 0000000..6a91dd9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_al.svg b/src/shared/assets/icons/emoji/flag_al.svg new file mode 100644 index 0000000..2c8655d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_al.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_am.svg b/src/shared/assets/icons/emoji/flag_am.svg new file mode 100644 index 0000000..0a966ab --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_am.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ao.svg b/src/shared/assets/icons/emoji/flag_ao.svg new file mode 100644 index 0000000..65803b6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_aq.svg b/src/shared/assets/icons/emoji/flag_aq.svg new file mode 100644 index 0000000..fd29680 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_aq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ar.svg b/src/shared/assets/icons/emoji/flag_ar.svg new file mode 100644 index 0000000..e8e60ef --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_as.svg b/src/shared/assets/icons/emoji/flag_as.svg new file mode 100644 index 0000000..8b27532 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_as.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_at.svg b/src/shared/assets/icons/emoji/flag_at.svg new file mode 100644 index 0000000..bfe1ec7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_at.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_au.svg b/src/shared/assets/icons/emoji/flag_au.svg new file mode 100644 index 0000000..989da76 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_au.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_aw.svg b/src/shared/assets/icons/emoji/flag_aw.svg new file mode 100644 index 0000000..f383951 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_aw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ax.svg b/src/shared/assets/icons/emoji/flag_ax.svg new file mode 100644 index 0000000..03bc680 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_az.svg b/src/shared/assets/icons/emoji/flag_az.svg new file mode 100644 index 0000000..b584854 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_az.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ba.svg b/src/shared/assets/icons/emoji/flag_ba.svg new file mode 100644 index 0000000..bbcd3b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bb.svg b/src/shared/assets/icons/emoji/flag_bb.svg new file mode 100644 index 0000000..7f9e8c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bd.svg b/src/shared/assets/icons/emoji/flag_bd.svg new file mode 100644 index 0000000..6edc844 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_be.svg b/src/shared/assets/icons/emoji/flag_be.svg new file mode 100644 index 0000000..e956194 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bf.svg b/src/shared/assets/icons/emoji/flag_bf.svg new file mode 100644 index 0000000..8bceec7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bg.svg b/src/shared/assets/icons/emoji/flag_bg.svg new file mode 100644 index 0000000..6e81fba --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bh.svg b/src/shared/assets/icons/emoji/flag_bh.svg new file mode 100644 index 0000000..73de582 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bi.svg b/src/shared/assets/icons/emoji/flag_bi.svg new file mode 100644 index 0000000..e53644c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bj.svg b/src/shared/assets/icons/emoji/flag_bj.svg new file mode 100644 index 0000000..133d711 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bl.svg b/src/shared/assets/icons/emoji/flag_bl.svg new file mode 100644 index 0000000..9d4904d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_black.svg b/src/shared/assets/icons/emoji/flag_black.svg new file mode 100644 index 0000000..819ff64 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bm.svg b/src/shared/assets/icons/emoji/flag_bm.svg new file mode 100644 index 0000000..5e7b7f6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bn.svg b/src/shared/assets/icons/emoji/flag_bn.svg new file mode 100644 index 0000000..3c20edb --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bo.svg b/src/shared/assets/icons/emoji/flag_bo.svg new file mode 100644 index 0000000..ad0a8c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bq.svg b/src/shared/assets/icons/emoji/flag_bq.svg new file mode 100644 index 0000000..bde4921 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_br.svg b/src/shared/assets/icons/emoji/flag_br.svg new file mode 100644 index 0000000..956e39d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_br.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bs.svg b/src/shared/assets/icons/emoji/flag_bs.svg new file mode 100644 index 0000000..a75f68b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bt.svg b/src/shared/assets/icons/emoji/flag_bt.svg new file mode 100644 index 0000000..e822f94 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bv.svg b/src/shared/assets/icons/emoji/flag_bv.svg new file mode 100644 index 0000000..3d104a6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bw.svg b/src/shared/assets/icons/emoji/flag_bw.svg new file mode 100644 index 0000000..5edeb5d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_by.svg b/src/shared/assets/icons/emoji/flag_by.svg new file mode 100644 index 0000000..3fef573 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_by.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_bz.svg b/src/shared/assets/icons/emoji/flag_bz.svg new file mode 100644 index 0000000..6f43e4a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_bz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ca.svg b/src/shared/assets/icons/emoji/flag_ca.svg new file mode 100644 index 0000000..d9c386d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cc.svg b/src/shared/assets/icons/emoji/flag_cc.svg new file mode 100644 index 0000000..ce130d7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cd.svg b/src/shared/assets/icons/emoji/flag_cd.svg new file mode 100644 index 0000000..d1b15c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cf.svg b/src/shared/assets/icons/emoji/flag_cf.svg new file mode 100644 index 0000000..72166cb --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cg.svg b/src/shared/assets/icons/emoji/flag_cg.svg new file mode 100644 index 0000000..3d466e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ch.svg b/src/shared/assets/icons/emoji/flag_ch.svg new file mode 100644 index 0000000..741b521 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ci.svg b/src/shared/assets/icons/emoji/flag_ci.svg new file mode 100644 index 0000000..bd2c3e0 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ck.svg b/src/shared/assets/icons/emoji/flag_ck.svg new file mode 100644 index 0000000..04e0344 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cl.svg b/src/shared/assets/icons/emoji/flag_cl.svg new file mode 100644 index 0000000..52b3a00 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cm.svg b/src/shared/assets/icons/emoji/flag_cm.svg new file mode 100644 index 0000000..7da7b66 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cn.svg b/src/shared/assets/icons/emoji/flag_cn.svg new file mode 100644 index 0000000..c10116d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_co.svg b/src/shared/assets/icons/emoji/flag_co.svg new file mode 100644 index 0000000..dc825d2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_co.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cp.svg b/src/shared/assets/icons/emoji/flag_cp.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cr.svg b/src/shared/assets/icons/emoji/flag_cr.svg new file mode 100644 index 0000000..acecc89 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cu.svg b/src/shared/assets/icons/emoji/flag_cu.svg new file mode 100644 index 0000000..13b6370 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cv.svg b/src/shared/assets/icons/emoji/flag_cv.svg new file mode 100644 index 0000000..9b2cc18 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cw.svg b/src/shared/assets/icons/emoji/flag_cw.svg new file mode 100644 index 0000000..c53d09f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cx.svg b/src/shared/assets/icons/emoji/flag_cx.svg new file mode 100644 index 0000000..6a322f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cy.svg b/src/shared/assets/icons/emoji/flag_cy.svg new file mode 100644 index 0000000..19bead4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_cz.svg b/src/shared/assets/icons/emoji/flag_cz.svg new file mode 100644 index 0000000..fd3b470 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_cz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_de.svg b/src/shared/assets/icons/emoji/flag_de.svg new file mode 100644 index 0000000..10a5399 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_dg.svg b/src/shared/assets/icons/emoji/flag_dg.svg new file mode 100644 index 0000000..565a7aa --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_dg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_dj.svg b/src/shared/assets/icons/emoji/flag_dj.svg new file mode 100644 index 0000000..42cbb24 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_dj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_dk.svg b/src/shared/assets/icons/emoji/flag_dk.svg new file mode 100644 index 0000000..5ab629b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_dk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_dm.svg b/src/shared/assets/icons/emoji/flag_dm.svg new file mode 100644 index 0000000..750424f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_dm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_do.svg b/src/shared/assets/icons/emoji/flag_do.svg new file mode 100644 index 0000000..c627c34 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_do.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_dz.svg b/src/shared/assets/icons/emoji/flag_dz.svg new file mode 100644 index 0000000..c29a7e2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_dz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ea.svg b/src/shared/assets/icons/emoji/flag_ea.svg new file mode 100644 index 0000000..d1fd565 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ec.svg b/src/shared/assets/icons/emoji/flag_ec.svg new file mode 100644 index 0000000..c035be7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ee.svg b/src/shared/assets/icons/emoji/flag_ee.svg new file mode 100644 index 0000000..47a5589 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_eg.svg b/src/shared/assets/icons/emoji/flag_eg.svg new file mode 100644 index 0000000..2034a3e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_eg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_eh.svg b/src/shared/assets/icons/emoji/flag_eh.svg new file mode 100644 index 0000000..9b8dc5a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_eh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_er.svg b/src/shared/assets/icons/emoji/flag_er.svg new file mode 100644 index 0000000..8e1e510 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_er.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_es.svg b/src/shared/assets/icons/emoji/flag_es.svg new file mode 100644 index 0000000..d1fd565 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_es.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_et.svg b/src/shared/assets/icons/emoji/flag_et.svg new file mode 100644 index 0000000..762cc1f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_et.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_eu.svg b/src/shared/assets/icons/emoji/flag_eu.svg new file mode 100644 index 0000000..045024a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_eu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fi.svg b/src/shared/assets/icons/emoji/flag_fi.svg new file mode 100644 index 0000000..e07328e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fj.svg b/src/shared/assets/icons/emoji/flag_fj.svg new file mode 100644 index 0000000..190134b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fk.svg b/src/shared/assets/icons/emoji/flag_fk.svg new file mode 100644 index 0000000..0091bc7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fm.svg b/src/shared/assets/icons/emoji/flag_fm.svg new file mode 100644 index 0000000..b49556b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fo.svg b/src/shared/assets/icons/emoji/flag_fo.svg new file mode 100644 index 0000000..93a1272 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_fr.svg b/src/shared/assets/icons/emoji/flag_fr.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ga.svg b/src/shared/assets/icons/emoji/flag_ga.svg new file mode 100644 index 0000000..a8c6fa4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gb.svg b/src/shared/assets/icons/emoji/flag_gb.svg new file mode 100644 index 0000000..21b97e9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gd.svg b/src/shared/assets/icons/emoji/flag_gd.svg new file mode 100644 index 0000000..e4f37f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ge.svg b/src/shared/assets/icons/emoji/flag_ge.svg new file mode 100644 index 0000000..8c2bd5a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gf.svg b/src/shared/assets/icons/emoji/flag_gf.svg new file mode 100644 index 0000000..2f10cee --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gg.svg b/src/shared/assets/icons/emoji/flag_gg.svg new file mode 100644 index 0000000..84f6043 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gh.svg b/src/shared/assets/icons/emoji/flag_gh.svg new file mode 100644 index 0000000..3330218 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gi.svg b/src/shared/assets/icons/emoji/flag_gi.svg new file mode 100644 index 0000000..432a727 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gl.svg b/src/shared/assets/icons/emoji/flag_gl.svg new file mode 100644 index 0000000..8a2ba3e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gm.svg b/src/shared/assets/icons/emoji/flag_gm.svg new file mode 100644 index 0000000..383cf9d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gn.svg b/src/shared/assets/icons/emoji/flag_gn.svg new file mode 100644 index 0000000..16f4a90 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gp.svg b/src/shared/assets/icons/emoji/flag_gp.svg new file mode 100644 index 0000000..ca9e4c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gq.svg b/src/shared/assets/icons/emoji/flag_gq.svg new file mode 100644 index 0000000..d4e7119 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gr.svg b/src/shared/assets/icons/emoji/flag_gr.svg new file mode 100644 index 0000000..74d842d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gs.svg b/src/shared/assets/icons/emoji/flag_gs.svg new file mode 100644 index 0000000..d8b1e5f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gt.svg b/src/shared/assets/icons/emoji/flag_gt.svg new file mode 100644 index 0000000..fea623c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gu.svg b/src/shared/assets/icons/emoji/flag_gu.svg new file mode 100644 index 0000000..2098ecc --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gw.svg b/src/shared/assets/icons/emoji/flag_gw.svg new file mode 100644 index 0000000..6e01b9e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_gy.svg b/src/shared/assets/icons/emoji/flag_gy.svg new file mode 100644 index 0000000..1edc6ef --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_gy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_hk.svg b/src/shared/assets/icons/emoji/flag_hk.svg new file mode 100644 index 0000000..ef5ca3b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_hk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_hm.svg b/src/shared/assets/icons/emoji/flag_hm.svg new file mode 100644 index 0000000..989da76 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_hm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_hn.svg b/src/shared/assets/icons/emoji/flag_hn.svg new file mode 100644 index 0000000..298ec95 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_hn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_hr.svg b/src/shared/assets/icons/emoji/flag_hr.svg new file mode 100644 index 0000000..7b8740c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_hr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ht.svg b/src/shared/assets/icons/emoji/flag_ht.svg new file mode 100644 index 0000000..8ccca42 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ht.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_hu.svg b/src/shared/assets/icons/emoji/flag_hu.svg new file mode 100644 index 0000000..206baa1 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_hu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ic.svg b/src/shared/assets/icons/emoji/flag_ic.svg new file mode 100644 index 0000000..46b0949 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_id.svg b/src/shared/assets/icons/emoji/flag_id.svg new file mode 100644 index 0000000..de31273 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_id.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ie.svg b/src/shared/assets/icons/emoji/flag_ie.svg new file mode 100644 index 0000000..3c50257 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_il.svg b/src/shared/assets/icons/emoji/flag_il.svg new file mode 100644 index 0000000..5cf3241 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_il.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_im.svg b/src/shared/assets/icons/emoji/flag_im.svg new file mode 100644 index 0000000..7fc9d46 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_im.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_in.svg b/src/shared/assets/icons/emoji/flag_in.svg new file mode 100644 index 0000000..7af1daf --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_io.svg b/src/shared/assets/icons/emoji/flag_io.svg new file mode 100644 index 0000000..565a7aa --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_iq.svg b/src/shared/assets/icons/emoji/flag_iq.svg new file mode 100644 index 0000000..06cfe31 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_iq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ir.svg b/src/shared/assets/icons/emoji/flag_ir.svg new file mode 100644 index 0000000..e8ae7b1 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_is.svg b/src/shared/assets/icons/emoji/flag_is.svg new file mode 100644 index 0000000..c8e918c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_is.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_it.svg b/src/shared/assets/icons/emoji/flag_it.svg new file mode 100644 index 0000000..6c38017 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_it.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_je.svg b/src/shared/assets/icons/emoji/flag_je.svg new file mode 100644 index 0000000..a17c379 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_je.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_jm.svg b/src/shared/assets/icons/emoji/flag_jm.svg new file mode 100644 index 0000000..dd82d4f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_jm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_jo.svg b/src/shared/assets/icons/emoji/flag_jo.svg new file mode 100644 index 0000000..40710a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_jo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_jp.svg b/src/shared/assets/icons/emoji/flag_jp.svg new file mode 100644 index 0000000..3a724e9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_jp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ke.svg b/src/shared/assets/icons/emoji/flag_ke.svg new file mode 100644 index 0000000..5bee37f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ke.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kg.svg b/src/shared/assets/icons/emoji/flag_kg.svg new file mode 100644 index 0000000..2616d9e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kh.svg b/src/shared/assets/icons/emoji/flag_kh.svg new file mode 100644 index 0000000..54f6e90 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ki.svg b/src/shared/assets/icons/emoji/flag_ki.svg new file mode 100644 index 0000000..233cce8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ki.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_km.svg b/src/shared/assets/icons/emoji/flag_km.svg new file mode 100644 index 0000000..91c12b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_km.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kn.svg b/src/shared/assets/icons/emoji/flag_kn.svg new file mode 100644 index 0000000..461e0f2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kp.svg b/src/shared/assets/icons/emoji/flag_kp.svg new file mode 100644 index 0000000..d530523 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kr.svg b/src/shared/assets/icons/emoji/flag_kr.svg new file mode 100644 index 0000000..7b5ee23 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kw.svg b/src/shared/assets/icons/emoji/flag_kw.svg new file mode 100644 index 0000000..db949b2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ky.svg b/src/shared/assets/icons/emoji/flag_ky.svg new file mode 100644 index 0000000..57323f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_kz.svg b/src/shared/assets/icons/emoji/flag_kz.svg new file mode 100644 index 0000000..d2101ab --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_kz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_la.svg b/src/shared/assets/icons/emoji/flag_la.svg new file mode 100644 index 0000000..0ea005d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_la.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lb.svg b/src/shared/assets/icons/emoji/flag_lb.svg new file mode 100644 index 0000000..4271b73 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lc.svg b/src/shared/assets/icons/emoji/flag_lc.svg new file mode 100644 index 0000000..12b2237 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_li.svg b/src/shared/assets/icons/emoji/flag_li.svg new file mode 100644 index 0000000..9e474bc --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_li.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lk.svg b/src/shared/assets/icons/emoji/flag_lk.svg new file mode 100644 index 0000000..a2fe814 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lr.svg b/src/shared/assets/icons/emoji/flag_lr.svg new file mode 100644 index 0000000..dd4a1e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ls.svg b/src/shared/assets/icons/emoji/flag_ls.svg new file mode 100644 index 0000000..ec06e4f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lt.svg b/src/shared/assets/icons/emoji/flag_lt.svg new file mode 100644 index 0000000..5fcfd8b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lu.svg b/src/shared/assets/icons/emoji/flag_lu.svg new file mode 100644 index 0000000..e66c904 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_lv.svg b/src/shared/assets/icons/emoji/flag_lv.svg new file mode 100644 index 0000000..f5f3922 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_lv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ly.svg b/src/shared/assets/icons/emoji/flag_ly.svg new file mode 100644 index 0000000..c6c12ed --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ma.svg b/src/shared/assets/icons/emoji/flag_ma.svg new file mode 100644 index 0000000..d6d689a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mc.svg b/src/shared/assets/icons/emoji/flag_mc.svg new file mode 100644 index 0000000..8604a1c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_md.svg b/src/shared/assets/icons/emoji/flag_md.svg new file mode 100644 index 0000000..eb2d4a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_md.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_me.svg b/src/shared/assets/icons/emoji/flag_me.svg new file mode 100644 index 0000000..47c5b2e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_me.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mf.svg b/src/shared/assets/icons/emoji/flag_mf.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mg.svg b/src/shared/assets/icons/emoji/flag_mg.svg new file mode 100644 index 0000000..becf2f4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mh.svg b/src/shared/assets/icons/emoji/flag_mh.svg new file mode 100644 index 0000000..6774f9b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mk.svg b/src/shared/assets/icons/emoji/flag_mk.svg new file mode 100644 index 0000000..371b235 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ml.svg b/src/shared/assets/icons/emoji/flag_ml.svg new file mode 100644 index 0000000..3a522a0 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mm.svg b/src/shared/assets/icons/emoji/flag_mm.svg new file mode 100644 index 0000000..69db533 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mn.svg b/src/shared/assets/icons/emoji/flag_mn.svg new file mode 100644 index 0000000..b9635cf --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mo.svg b/src/shared/assets/icons/emoji/flag_mo.svg new file mode 100644 index 0000000..790900e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mp.svg b/src/shared/assets/icons/emoji/flag_mp.svg new file mode 100644 index 0000000..f0a5fb4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mq.svg b/src/shared/assets/icons/emoji/flag_mq.svg new file mode 100644 index 0000000..f705309 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mr.svg b/src/shared/assets/icons/emoji/flag_mr.svg new file mode 100644 index 0000000..8335c8b --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ms.svg b/src/shared/assets/icons/emoji/flag_ms.svg new file mode 100644 index 0000000..04a1cc1 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mt.svg b/src/shared/assets/icons/emoji/flag_mt.svg new file mode 100644 index 0000000..5538102 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mu.svg b/src/shared/assets/icons/emoji/flag_mu.svg new file mode 100644 index 0000000..6c24981 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mv.svg b/src/shared/assets/icons/emoji/flag_mv.svg new file mode 100644 index 0000000..b57be9c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mw.svg b/src/shared/assets/icons/emoji/flag_mw.svg new file mode 100644 index 0000000..9b8ddf5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mx.svg b/src/shared/assets/icons/emoji/flag_mx.svg new file mode 100644 index 0000000..93d54c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_my.svg b/src/shared/assets/icons/emoji/flag_my.svg new file mode 100644 index 0000000..0480330 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_my.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_mz.svg b/src/shared/assets/icons/emoji/flag_mz.svg new file mode 100644 index 0000000..cfa9577 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_mz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_na.svg b/src/shared/assets/icons/emoji/flag_na.svg new file mode 100644 index 0000000..d2a79fd --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_na.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nc.svg b/src/shared/assets/icons/emoji/flag_nc.svg new file mode 100644 index 0000000..e5dff93 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ne.svg b/src/shared/assets/icons/emoji/flag_ne.svg new file mode 100644 index 0000000..53f25f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nf.svg b/src/shared/assets/icons/emoji/flag_nf.svg new file mode 100644 index 0000000..990687f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ng.svg b/src/shared/assets/icons/emoji/flag_ng.svg new file mode 100644 index 0000000..6c6e31c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ni.svg b/src/shared/assets/icons/emoji/flag_ni.svg new file mode 100644 index 0000000..990868a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ni.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nl.svg b/src/shared/assets/icons/emoji/flag_nl.svg new file mode 100644 index 0000000..65e8be9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_no.svg b/src/shared/assets/icons/emoji/flag_no.svg new file mode 100644 index 0000000..4f5260a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_np.svg b/src/shared/assets/icons/emoji/flag_np.svg new file mode 100644 index 0000000..5e5faaf --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_np.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nr.svg b/src/shared/assets/icons/emoji/flag_nr.svg new file mode 100644 index 0000000..72485e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nu.svg b/src/shared/assets/icons/emoji/flag_nu.svg new file mode 100644 index 0000000..dd50901 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_nz.svg b/src/shared/assets/icons/emoji/flag_nz.svg new file mode 100644 index 0000000..956a9d2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_nz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_om.svg b/src/shared/assets/icons/emoji/flag_om.svg new file mode 100644 index 0000000..29af825 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_om.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pa.svg b/src/shared/assets/icons/emoji/flag_pa.svg new file mode 100644 index 0000000..4fc55f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pe.svg b/src/shared/assets/icons/emoji/flag_pe.svg new file mode 100644 index 0000000..fc93b29 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pf.svg b/src/shared/assets/icons/emoji/flag_pf.svg new file mode 100644 index 0000000..333c6d0 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pg.svg b/src/shared/assets/icons/emoji/flag_pg.svg new file mode 100644 index 0000000..2d20ed8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ph.svg b/src/shared/assets/icons/emoji/flag_ph.svg new file mode 100644 index 0000000..e9f011d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pk.svg b/src/shared/assets/icons/emoji/flag_pk.svg new file mode 100644 index 0000000..a718df6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pl.svg b/src/shared/assets/icons/emoji/flag_pl.svg new file mode 100644 index 0000000..8169875 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pm.svg b/src/shared/assets/icons/emoji/flag_pm.svg new file mode 100644 index 0000000..dc55c02 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pn.svg b/src/shared/assets/icons/emoji/flag_pn.svg new file mode 100644 index 0000000..234f53f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pr.svg b/src/shared/assets/icons/emoji/flag_pr.svg new file mode 100644 index 0000000..f4c2ace --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ps.svg b/src/shared/assets/icons/emoji/flag_ps.svg new file mode 100644 index 0000000..6ce8ec7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pt.svg b/src/shared/assets/icons/emoji/flag_pt.svg new file mode 100644 index 0000000..78b29a8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_pw.svg b/src/shared/assets/icons/emoji/flag_pw.svg new file mode 100644 index 0000000..043f7a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_pw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_py.svg b/src/shared/assets/icons/emoji/flag_py.svg new file mode 100644 index 0000000..c8e83dc --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_py.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_qa.svg b/src/shared/assets/icons/emoji/flag_qa.svg new file mode 100644 index 0000000..f3e91d0 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_qa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_re.svg b/src/shared/assets/icons/emoji/flag_re.svg new file mode 100644 index 0000000..ab1399f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_re.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ro.svg b/src/shared/assets/icons/emoji/flag_ro.svg new file mode 100644 index 0000000..33ac6ed --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_rs.svg b/src/shared/assets/icons/emoji/flag_rs.svg new file mode 100644 index 0000000..5c6c69e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_rs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ru.svg b/src/shared/assets/icons/emoji/flag_ru.svg new file mode 100644 index 0000000..46f74d5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ru.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_rw.svg b/src/shared/assets/icons/emoji/flag_rw.svg new file mode 100644 index 0000000..6175c02 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_rw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sa.svg b/src/shared/assets/icons/emoji/flag_sa.svg new file mode 100644 index 0000000..d0d9580 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sb.svg b/src/shared/assets/icons/emoji/flag_sb.svg new file mode 100644 index 0000000..a55ff60 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sc.svg b/src/shared/assets/icons/emoji/flag_sc.svg new file mode 100644 index 0000000..40e42ea --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sd.svg b/src/shared/assets/icons/emoji/flag_sd.svg new file mode 100644 index 0000000..ddb60ba --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_se.svg b/src/shared/assets/icons/emoji/flag_se.svg new file mode 100644 index 0000000..a039dc2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_se.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sg.svg b/src/shared/assets/icons/emoji/flag_sg.svg new file mode 100644 index 0000000..199e54e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sh.svg b/src/shared/assets/icons/emoji/flag_sh.svg new file mode 100644 index 0000000..57d004d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_si.svg b/src/shared/assets/icons/emoji/flag_si.svg new file mode 100644 index 0000000..e25c04c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_si.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sj.svg b/src/shared/assets/icons/emoji/flag_sj.svg new file mode 100644 index 0000000..4f5260a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sk.svg b/src/shared/assets/icons/emoji/flag_sk.svg new file mode 100644 index 0000000..c4f7caf --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sl.svg b/src/shared/assets/icons/emoji/flag_sl.svg new file mode 100644 index 0000000..b08dd1d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sm.svg b/src/shared/assets/icons/emoji/flag_sm.svg new file mode 100644 index 0000000..b53d00d --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sn.svg b/src/shared/assets/icons/emoji/flag_sn.svg new file mode 100644 index 0000000..c233472 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_so.svg b/src/shared/assets/icons/emoji/flag_so.svg new file mode 100644 index 0000000..293dd34 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_so.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sr.svg b/src/shared/assets/icons/emoji/flag_sr.svg new file mode 100644 index 0000000..c483fb9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ss.svg b/src/shared/assets/icons/emoji/flag_ss.svg new file mode 100644 index 0000000..0aa63d7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_st.svg b/src/shared/assets/icons/emoji/flag_st.svg new file mode 100644 index 0000000..f2bb52a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_st.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sv.svg b/src/shared/assets/icons/emoji/flag_sv.svg new file mode 100644 index 0000000..873310c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sx.svg b/src/shared/assets/icons/emoji/flag_sx.svg new file mode 100644 index 0000000..2047243 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sy.svg b/src/shared/assets/icons/emoji/flag_sy.svg new file mode 100644 index 0000000..5e32d2c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_sz.svg b/src/shared/assets/icons/emoji/flag_sz.svg new file mode 100644 index 0000000..cb7f84a --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_sz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ta.svg b/src/shared/assets/icons/emoji/flag_ta.svg new file mode 100644 index 0000000..547fa05 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ta.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tc.svg b/src/shared/assets/icons/emoji/flag_tc.svg new file mode 100644 index 0000000..3c61bc7 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_td.svg b/src/shared/assets/icons/emoji/flag_td.svg new file mode 100644 index 0000000..d106ba8 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_td.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tf.svg b/src/shared/assets/icons/emoji/flag_tf.svg new file mode 100644 index 0000000..cf4bfac --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tg.svg b/src/shared/assets/icons/emoji/flag_tg.svg new file mode 100644 index 0000000..4a05a30 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_th.svg b/src/shared/assets/icons/emoji/flag_th.svg new file mode 100644 index 0000000..ff2a66f --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_th.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tj.svg b/src/shared/assets/icons/emoji/flag_tj.svg new file mode 100644 index 0000000..6045f46 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tk.svg b/src/shared/assets/icons/emoji/flag_tk.svg new file mode 100644 index 0000000..bfa9362 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tl.svg b/src/shared/assets/icons/emoji/flag_tl.svg new file mode 100644 index 0000000..6030072 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tm.svg b/src/shared/assets/icons/emoji/flag_tm.svg new file mode 100644 index 0000000..a57c35c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tn.svg b/src/shared/assets/icons/emoji/flag_tn.svg new file mode 100644 index 0000000..c13e730 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_to.svg b/src/shared/assets/icons/emoji/flag_to.svg new file mode 100644 index 0000000..20a9555 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_to.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tr.svg b/src/shared/assets/icons/emoji/flag_tr.svg new file mode 100644 index 0000000..861da57 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tt.svg b/src/shared/assets/icons/emoji/flag_tt.svg new file mode 100644 index 0000000..578c8eb --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tv.svg b/src/shared/assets/icons/emoji/flag_tv.svg new file mode 100644 index 0000000..6558df6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tw.svg b/src/shared/assets/icons/emoji/flag_tw.svg new file mode 100644 index 0000000..4cd304e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_tz.svg b/src/shared/assets/icons/emoji/flag_tz.svg new file mode 100644 index 0000000..a9ddb8e --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_tz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ua.svg b/src/shared/assets/icons/emoji/flag_ua.svg new file mode 100644 index 0000000..989b5c2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ug.svg b/src/shared/assets/icons/emoji/flag_ug.svg new file mode 100644 index 0000000..6602ca9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_um.svg b/src/shared/assets/icons/emoji/flag_um.svg new file mode 100644 index 0000000..d51f600 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_um.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_us.svg b/src/shared/assets/icons/emoji/flag_us.svg new file mode 100644 index 0000000..d51f600 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_us.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_uy.svg b/src/shared/assets/icons/emoji/flag_uy.svg new file mode 100644 index 0000000..796244c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_uy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_uz.svg b/src/shared/assets/icons/emoji/flag_uz.svg new file mode 100644 index 0000000..b913772 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_uz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_va.svg b/src/shared/assets/icons/emoji/flag_va.svg new file mode 100644 index 0000000..7b2bffa --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_va.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_vc.svg b/src/shared/assets/icons/emoji/flag_vc.svg new file mode 100644 index 0000000..fb97611 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_vc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ve.svg b/src/shared/assets/icons/emoji/flag_ve.svg new file mode 100644 index 0000000..294b5c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_vg.svg b/src/shared/assets/icons/emoji/flag_vg.svg new file mode 100644 index 0000000..d8194cd --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_vg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_vi.svg b/src/shared/assets/icons/emoji/flag_vi.svg new file mode 100644 index 0000000..d0602d2 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_vi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_vn.svg b/src/shared/assets/icons/emoji/flag_vn.svg new file mode 100644 index 0000000..4e0e1b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_vn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_vu.svg b/src/shared/assets/icons/emoji/flag_vu.svg new file mode 100644 index 0000000..151e7aa --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_vu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_wf.svg b/src/shared/assets/icons/emoji/flag_wf.svg new file mode 100644 index 0000000..9895422 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_wf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_white.svg b/src/shared/assets/icons/emoji/flag_white.svg new file mode 100644 index 0000000..2f21575 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ws.svg b/src/shared/assets/icons/emoji/flag_ws.svg new file mode 100644 index 0000000..6b075cb --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_xk.svg b/src/shared/assets/icons/emoji/flag_xk.svg new file mode 100644 index 0000000..39890a9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_xk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_ye.svg b/src/shared/assets/icons/emoji/flag_ye.svg new file mode 100644 index 0000000..a82532c --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_ye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_yt.svg b/src/shared/assets/icons/emoji/flag_yt.svg new file mode 100644 index 0000000..76765b9 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_yt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_za.svg b/src/shared/assets/icons/emoji/flag_za.svg new file mode 100644 index 0000000..275c136 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_za.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_zm.svg b/src/shared/assets/icons/emoji/flag_zm.svg new file mode 100644 index 0000000..d276896 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_zm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flag_zw.svg b/src/shared/assets/icons/emoji/flag_zw.svg new file mode 100644 index 0000000..15a8464 --- /dev/null +++ b/src/shared/assets/icons/emoji/flag_zw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flags.svg b/src/shared/assets/icons/emoji/flags.svg new file mode 100644 index 0000000..5457d1e --- /dev/null +++ b/src/shared/assets/icons/emoji/flags.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flamingo.svg b/src/shared/assets/icons/emoji/flamingo.svg new file mode 100644 index 0000000..aaa5cfa --- /dev/null +++ b/src/shared/assets/icons/emoji/flamingo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flashlight.svg b/src/shared/assets/icons/emoji/flashlight.svg new file mode 100644 index 0000000..1aff8ae --- /dev/null +++ b/src/shared/assets/icons/emoji/flashlight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fleur_de_lis.svg b/src/shared/assets/icons/emoji/fleur_de_lis.svg new file mode 100644 index 0000000..27be9c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/fleur_de_lis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/floppy_disk.svg b/src/shared/assets/icons/emoji/floppy_disk.svg new file mode 100644 index 0000000..7c97626 --- /dev/null +++ b/src/shared/assets/icons/emoji/floppy_disk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flower_playing_cards.svg b/src/shared/assets/icons/emoji/flower_playing_cards.svg new file mode 100644 index 0000000..33d3e0f --- /dev/null +++ b/src/shared/assets/icons/emoji/flower_playing_cards.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flushed.svg b/src/shared/assets/icons/emoji/flushed.svg new file mode 100644 index 0000000..2663c8c --- /dev/null +++ b/src/shared/assets/icons/emoji/flushed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flying_disc.svg b/src/shared/assets/icons/emoji/flying_disc.svg new file mode 100644 index 0000000..84fdba4 --- /dev/null +++ b/src/shared/assets/icons/emoji/flying_disc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/flying_saucer.svg b/src/shared/assets/icons/emoji/flying_saucer.svg new file mode 100644 index 0000000..5f015fe --- /dev/null +++ b/src/shared/assets/icons/emoji/flying_saucer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fog.svg b/src/shared/assets/icons/emoji/fog.svg new file mode 100644 index 0000000..fe6e480 --- /dev/null +++ b/src/shared/assets/icons/emoji/fog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/foggy.svg b/src/shared/assets/icons/emoji/foggy.svg new file mode 100644 index 0000000..d6298de --- /dev/null +++ b/src/shared/assets/icons/emoji/foggy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/foot.svg b/src/shared/assets/icons/emoji/foot.svg new file mode 100644 index 0000000..abbbbac --- /dev/null +++ b/src/shared/assets/icons/emoji/foot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/football.svg b/src/shared/assets/icons/emoji/football.svg new file mode 100644 index 0000000..4f5530d --- /dev/null +++ b/src/shared/assets/icons/emoji/football.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/footprints.svg b/src/shared/assets/icons/emoji/footprints.svg new file mode 100644 index 0000000..bc37ac0 --- /dev/null +++ b/src/shared/assets/icons/emoji/footprints.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fork_and_knife.svg b/src/shared/assets/icons/emoji/fork_and_knife.svg new file mode 100644 index 0000000..e7de6c0 --- /dev/null +++ b/src/shared/assets/icons/emoji/fork_and_knife.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fork_knife_plate.svg b/src/shared/assets/icons/emoji/fork_knife_plate.svg new file mode 100644 index 0000000..7437a35 --- /dev/null +++ b/src/shared/assets/icons/emoji/fork_knife_plate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fortune_cookie.svg b/src/shared/assets/icons/emoji/fortune_cookie.svg new file mode 100644 index 0000000..5d61144 --- /dev/null +++ b/src/shared/assets/icons/emoji/fortune_cookie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fountain.svg b/src/shared/assets/icons/emoji/fountain.svg new file mode 100644 index 0000000..659c228 --- /dev/null +++ b/src/shared/assets/icons/emoji/fountain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/four.svg b/src/shared/assets/icons/emoji/four.svg new file mode 100644 index 0000000..b1004f3 --- /dev/null +++ b/src/shared/assets/icons/emoji/four.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/four_leaf_clover.svg b/src/shared/assets/icons/emoji/four_leaf_clover.svg new file mode 100644 index 0000000..cac00d4 --- /dev/null +++ b/src/shared/assets/icons/emoji/four_leaf_clover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fox.svg b/src/shared/assets/icons/emoji/fox.svg new file mode 100644 index 0000000..13704a4 --- /dev/null +++ b/src/shared/assets/icons/emoji/fox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/frame_photo.svg b/src/shared/assets/icons/emoji/frame_photo.svg new file mode 100644 index 0000000..1a2ad72 --- /dev/null +++ b/src/shared/assets/icons/emoji/frame_photo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/free.svg b/src/shared/assets/icons/emoji/free.svg new file mode 100644 index 0000000..2dc2d6a --- /dev/null +++ b/src/shared/assets/icons/emoji/free.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/french_bread.svg b/src/shared/assets/icons/emoji/french_bread.svg new file mode 100644 index 0000000..8da1042 --- /dev/null +++ b/src/shared/assets/icons/emoji/french_bread.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fried_shrimp.svg b/src/shared/assets/icons/emoji/fried_shrimp.svg new file mode 100644 index 0000000..9130422 --- /dev/null +++ b/src/shared/assets/icons/emoji/fried_shrimp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fries.svg b/src/shared/assets/icons/emoji/fries.svg new file mode 100644 index 0000000..faac7ec --- /dev/null +++ b/src/shared/assets/icons/emoji/fries.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/frog.svg b/src/shared/assets/icons/emoji/frog.svg new file mode 100644 index 0000000..74ddb59 --- /dev/null +++ b/src/shared/assets/icons/emoji/frog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/frowning.svg b/src/shared/assets/icons/emoji/frowning.svg new file mode 100644 index 0000000..683c0d3 --- /dev/null +++ b/src/shared/assets/icons/emoji/frowning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/frowning2.svg b/src/shared/assets/icons/emoji/frowning2.svg new file mode 100644 index 0000000..a2a4909 --- /dev/null +++ b/src/shared/assets/icons/emoji/frowning2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/fuelpump.svg b/src/shared/assets/icons/emoji/fuelpump.svg new file mode 100644 index 0000000..0081947 --- /dev/null +++ b/src/shared/assets/icons/emoji/fuelpump.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/full_moon.svg b/src/shared/assets/icons/emoji/full_moon.svg new file mode 100644 index 0000000..9a70427 --- /dev/null +++ b/src/shared/assets/icons/emoji/full_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/full_moon_with_face.svg b/src/shared/assets/icons/emoji/full_moon_with_face.svg new file mode 100644 index 0000000..4c98969 --- /dev/null +++ b/src/shared/assets/icons/emoji/full_moon_with_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/game_die.svg b/src/shared/assets/icons/emoji/game_die.svg new file mode 100644 index 0000000..408f2f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/game_die.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/garlic.svg b/src/shared/assets/icons/emoji/garlic.svg new file mode 100644 index 0000000..37a9f36 --- /dev/null +++ b/src/shared/assets/icons/emoji/garlic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gear.svg b/src/shared/assets/icons/emoji/gear.svg new file mode 100644 index 0000000..635ca02 --- /dev/null +++ b/src/shared/assets/icons/emoji/gear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gem.svg b/src/shared/assets/icons/emoji/gem.svg new file mode 100644 index 0000000..a379f71 --- /dev/null +++ b/src/shared/assets/icons/emoji/gem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gemini.svg b/src/shared/assets/icons/emoji/gemini.svg new file mode 100644 index 0000000..9f05642 --- /dev/null +++ b/src/shared/assets/icons/emoji/gemini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/genie.svg b/src/shared/assets/icons/emoji/genie.svg new file mode 100644 index 0000000..95be289 --- /dev/null +++ b/src/shared/assets/icons/emoji/genie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ghost.svg b/src/shared/assets/icons/emoji/ghost.svg new file mode 100644 index 0000000..02e70fa --- /dev/null +++ b/src/shared/assets/icons/emoji/ghost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gift.svg b/src/shared/assets/icons/emoji/gift.svg new file mode 100644 index 0000000..1ab8298 --- /dev/null +++ b/src/shared/assets/icons/emoji/gift.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gift_heart.svg b/src/shared/assets/icons/emoji/gift_heart.svg new file mode 100644 index 0000000..5db2632 --- /dev/null +++ b/src/shared/assets/icons/emoji/gift_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/giraffe.svg b/src/shared/assets/icons/emoji/giraffe.svg new file mode 100644 index 0000000..233e3c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/giraffe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/girl.svg b/src/shared/assets/icons/emoji/girl.svg new file mode 100644 index 0000000..e40a858 --- /dev/null +++ b/src/shared/assets/icons/emoji/girl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/globe_with_meridians.svg b/src/shared/assets/icons/emoji/globe_with_meridians.svg new file mode 100644 index 0000000..a9ec9e6 --- /dev/null +++ b/src/shared/assets/icons/emoji/globe_with_meridians.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gloves.svg b/src/shared/assets/icons/emoji/gloves.svg new file mode 100644 index 0000000..1b028b2 --- /dev/null +++ b/src/shared/assets/icons/emoji/gloves.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/goal.svg b/src/shared/assets/icons/emoji/goal.svg new file mode 100644 index 0000000..4d187f2 --- /dev/null +++ b/src/shared/assets/icons/emoji/goal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/goat.svg b/src/shared/assets/icons/emoji/goat.svg new file mode 100644 index 0000000..83d3e56 --- /dev/null +++ b/src/shared/assets/icons/emoji/goat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/goggles.svg b/src/shared/assets/icons/emoji/goggles.svg new file mode 100644 index 0000000..cdb79f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/goggles.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/golf.svg b/src/shared/assets/icons/emoji/golf.svg new file mode 100644 index 0000000..c4f8916 --- /dev/null +++ b/src/shared/assets/icons/emoji/golf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gorilla.svg b/src/shared/assets/icons/emoji/gorilla.svg new file mode 100644 index 0000000..aa59923 --- /dev/null +++ b/src/shared/assets/icons/emoji/gorilla.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grapes.svg b/src/shared/assets/icons/emoji/grapes.svg new file mode 100644 index 0000000..e52e2f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/grapes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/green_apple.svg b/src/shared/assets/icons/emoji/green_apple.svg new file mode 100644 index 0000000..1423d8a --- /dev/null +++ b/src/shared/assets/icons/emoji/green_apple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/green_book.svg b/src/shared/assets/icons/emoji/green_book.svg new file mode 100644 index 0000000..ff74744 --- /dev/null +++ b/src/shared/assets/icons/emoji/green_book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/green_circle.svg b/src/shared/assets/icons/emoji/green_circle.svg new file mode 100644 index 0000000..3e68a3f --- /dev/null +++ b/src/shared/assets/icons/emoji/green_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/green_heart.svg b/src/shared/assets/icons/emoji/green_heart.svg new file mode 100644 index 0000000..b81f702 --- /dev/null +++ b/src/shared/assets/icons/emoji/green_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/green_square.svg b/src/shared/assets/icons/emoji/green_square.svg new file mode 100644 index 0000000..73ed4fa --- /dev/null +++ b/src/shared/assets/icons/emoji/green_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grey_exclamation.svg b/src/shared/assets/icons/emoji/grey_exclamation.svg new file mode 100644 index 0000000..40881c5 --- /dev/null +++ b/src/shared/assets/icons/emoji/grey_exclamation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grey_question.svg b/src/shared/assets/icons/emoji/grey_question.svg new file mode 100644 index 0000000..ab6b64b --- /dev/null +++ b/src/shared/assets/icons/emoji/grey_question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grimacing.svg b/src/shared/assets/icons/emoji/grimacing.svg new file mode 100644 index 0000000..3fdb9bf --- /dev/null +++ b/src/shared/assets/icons/emoji/grimacing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grin.svg b/src/shared/assets/icons/emoji/grin.svg new file mode 100644 index 0000000..9b792cb --- /dev/null +++ b/src/shared/assets/icons/emoji/grin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/grinning.svg b/src/shared/assets/icons/emoji/grinning.svg new file mode 100644 index 0000000..21afce4 --- /dev/null +++ b/src/shared/assets/icons/emoji/grinning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/guard.svg b/src/shared/assets/icons/emoji/guard.svg new file mode 100644 index 0000000..d809a9f --- /dev/null +++ b/src/shared/assets/icons/emoji/guard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/guide_dog.svg b/src/shared/assets/icons/emoji/guide_dog.svg new file mode 100644 index 0000000..fc63587 --- /dev/null +++ b/src/shared/assets/icons/emoji/guide_dog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/guitar.svg b/src/shared/assets/icons/emoji/guitar.svg new file mode 100644 index 0000000..22074a1 --- /dev/null +++ b/src/shared/assets/icons/emoji/guitar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/gun.svg b/src/shared/assets/icons/emoji/gun.svg new file mode 100644 index 0000000..3c8b6e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/gun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hamburger.svg b/src/shared/assets/icons/emoji/hamburger.svg new file mode 100644 index 0000000..a129dcc --- /dev/null +++ b/src/shared/assets/icons/emoji/hamburger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hammer.svg b/src/shared/assets/icons/emoji/hammer.svg new file mode 100644 index 0000000..1a0485e --- /dev/null +++ b/src/shared/assets/icons/emoji/hammer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hammer_pick.svg b/src/shared/assets/icons/emoji/hammer_pick.svg new file mode 100644 index 0000000..3a8ff26 --- /dev/null +++ b/src/shared/assets/icons/emoji/hammer_pick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hamster.svg b/src/shared/assets/icons/emoji/hamster.svg new file mode 100644 index 0000000..9bb7bae --- /dev/null +++ b/src/shared/assets/icons/emoji/hamster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hand_splayed.svg b/src/shared/assets/icons/emoji/hand_splayed.svg new file mode 100644 index 0000000..1c8dd68 --- /dev/null +++ b/src/shared/assets/icons/emoji/hand_splayed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/handbag.svg b/src/shared/assets/icons/emoji/handbag.svg new file mode 100644 index 0000000..3093d6b --- /dev/null +++ b/src/shared/assets/icons/emoji/handbag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/handshake.svg b/src/shared/assets/icons/emoji/handshake.svg new file mode 100644 index 0000000..3d797a0 --- /dev/null +++ b/src/shared/assets/icons/emoji/handshake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hash.svg b/src/shared/assets/icons/emoji/hash.svg new file mode 100644 index 0000000..f2f1011 --- /dev/null +++ b/src/shared/assets/icons/emoji/hash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hatched_chick.svg b/src/shared/assets/icons/emoji/hatched_chick.svg new file mode 100644 index 0000000..bcbd218 --- /dev/null +++ b/src/shared/assets/icons/emoji/hatched_chick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hatching_chick.svg b/src/shared/assets/icons/emoji/hatching_chick.svg new file mode 100644 index 0000000..98f9c82 --- /dev/null +++ b/src/shared/assets/icons/emoji/hatching_chick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/head_bandage.svg b/src/shared/assets/icons/emoji/head_bandage.svg new file mode 100644 index 0000000..fce67fc --- /dev/null +++ b/src/shared/assets/icons/emoji/head_bandage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/headphones.svg b/src/shared/assets/icons/emoji/headphones.svg new file mode 100644 index 0000000..3a9df15 --- /dev/null +++ b/src/shared/assets/icons/emoji/headphones.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hear_no_evil.svg b/src/shared/assets/icons/emoji/hear_no_evil.svg new file mode 100644 index 0000000..377e0e6 --- /dev/null +++ b/src/shared/assets/icons/emoji/hear_no_evil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heart.svg b/src/shared/assets/icons/emoji/heart.svg new file mode 100644 index 0000000..7eb5c59 --- /dev/null +++ b/src/shared/assets/icons/emoji/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heart_decoration.svg b/src/shared/assets/icons/emoji/heart_decoration.svg new file mode 100644 index 0000000..71adb41 --- /dev/null +++ b/src/shared/assets/icons/emoji/heart_decoration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heart_exclamation.svg b/src/shared/assets/icons/emoji/heart_exclamation.svg new file mode 100644 index 0000000..b78e878 --- /dev/null +++ b/src/shared/assets/icons/emoji/heart_exclamation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heart_eyes.svg b/src/shared/assets/icons/emoji/heart_eyes.svg new file mode 100644 index 0000000..18b1867 --- /dev/null +++ b/src/shared/assets/icons/emoji/heart_eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heart_eyes_cat.svg b/src/shared/assets/icons/emoji/heart_eyes_cat.svg new file mode 100644 index 0000000..a4dd7e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/heart_eyes_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heartbeat.svg b/src/shared/assets/icons/emoji/heartbeat.svg new file mode 100644 index 0000000..404a6e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/heartbeat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heartpulse.svg b/src/shared/assets/icons/emoji/heartpulse.svg new file mode 100644 index 0000000..295f9d4 --- /dev/null +++ b/src/shared/assets/icons/emoji/heartpulse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hearts.svg b/src/shared/assets/icons/emoji/hearts.svg new file mode 100644 index 0000000..67f49c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/hearts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_check_mark.svg b/src/shared/assets/icons/emoji/heavy_check_mark.svg new file mode 100644 index 0000000..1797238 --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_check_mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_division_sign.svg b/src/shared/assets/icons/emoji/heavy_division_sign.svg new file mode 100644 index 0000000..6b8a7c1 --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_division_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_dollar_sign.svg b/src/shared/assets/icons/emoji/heavy_dollar_sign.svg new file mode 100644 index 0000000..1bc1ead --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_dollar_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_minus_sign.svg b/src/shared/assets/icons/emoji/heavy_minus_sign.svg new file mode 100644 index 0000000..589c012 --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_minus_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_multiplication_x.svg b/src/shared/assets/icons/emoji/heavy_multiplication_x.svg new file mode 100644 index 0000000..d102373 --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_multiplication_x.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/heavy_plus_sign.svg b/src/shared/assets/icons/emoji/heavy_plus_sign.svg new file mode 100644 index 0000000..5d55ec2 --- /dev/null +++ b/src/shared/assets/icons/emoji/heavy_plus_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hedgehog.svg b/src/shared/assets/icons/emoji/hedgehog.svg new file mode 100644 index 0000000..ebbfc2a --- /dev/null +++ b/src/shared/assets/icons/emoji/hedgehog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/helicopter.svg b/src/shared/assets/icons/emoji/helicopter.svg new file mode 100644 index 0000000..8b7a403 --- /dev/null +++ b/src/shared/assets/icons/emoji/helicopter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/helmet_with_cross.svg b/src/shared/assets/icons/emoji/helmet_with_cross.svg new file mode 100644 index 0000000..e8457ae --- /dev/null +++ b/src/shared/assets/icons/emoji/helmet_with_cross.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/herb.svg b/src/shared/assets/icons/emoji/herb.svg new file mode 100644 index 0000000..9243e96 --- /dev/null +++ b/src/shared/assets/icons/emoji/herb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hibiscus.svg b/src/shared/assets/icons/emoji/hibiscus.svg new file mode 100644 index 0000000..19c2f89 --- /dev/null +++ b/src/shared/assets/icons/emoji/hibiscus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/high_brightness.svg b/src/shared/assets/icons/emoji/high_brightness.svg new file mode 100644 index 0000000..2a2d58c --- /dev/null +++ b/src/shared/assets/icons/emoji/high_brightness.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/high_heel.svg b/src/shared/assets/icons/emoji/high_heel.svg new file mode 100644 index 0000000..f3aaf44 --- /dev/null +++ b/src/shared/assets/icons/emoji/high_heel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hiking_boot.svg b/src/shared/assets/icons/emoji/hiking_boot.svg new file mode 100644 index 0000000..6715028 --- /dev/null +++ b/src/shared/assets/icons/emoji/hiking_boot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hindu_temple.svg b/src/shared/assets/icons/emoji/hindu_temple.svg new file mode 100644 index 0000000..4a2e9be --- /dev/null +++ b/src/shared/assets/icons/emoji/hindu_temple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hippopotamus.svg b/src/shared/assets/icons/emoji/hippopotamus.svg new file mode 100644 index 0000000..2764249 --- /dev/null +++ b/src/shared/assets/icons/emoji/hippopotamus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hockey.svg b/src/shared/assets/icons/emoji/hockey.svg new file mode 100644 index 0000000..382c629 --- /dev/null +++ b/src/shared/assets/icons/emoji/hockey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hole.svg b/src/shared/assets/icons/emoji/hole.svg new file mode 100644 index 0000000..213a6ab --- /dev/null +++ b/src/shared/assets/icons/emoji/hole.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/homes.svg b/src/shared/assets/icons/emoji/homes.svg new file mode 100644 index 0000000..483f1ad --- /dev/null +++ b/src/shared/assets/icons/emoji/homes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/honey_pot.svg b/src/shared/assets/icons/emoji/honey_pot.svg new file mode 100644 index 0000000..38c4dd5 --- /dev/null +++ b/src/shared/assets/icons/emoji/honey_pot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/horse.svg b/src/shared/assets/icons/emoji/horse.svg new file mode 100644 index 0000000..9aa7d69 --- /dev/null +++ b/src/shared/assets/icons/emoji/horse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/horse_racing.svg b/src/shared/assets/icons/emoji/horse_racing.svg new file mode 100644 index 0000000..e4cf152 --- /dev/null +++ b/src/shared/assets/icons/emoji/horse_racing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hospital.svg b/src/shared/assets/icons/emoji/hospital.svg new file mode 100644 index 0000000..0b2748a --- /dev/null +++ b/src/shared/assets/icons/emoji/hospital.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hot_face.svg b/src/shared/assets/icons/emoji/hot_face.svg new file mode 100644 index 0000000..09e99a3 --- /dev/null +++ b/src/shared/assets/icons/emoji/hot_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hot_pepper.svg b/src/shared/assets/icons/emoji/hot_pepper.svg new file mode 100644 index 0000000..eaeef86 --- /dev/null +++ b/src/shared/assets/icons/emoji/hot_pepper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hotdog.svg b/src/shared/assets/icons/emoji/hotdog.svg new file mode 100644 index 0000000..a450dbb --- /dev/null +++ b/src/shared/assets/icons/emoji/hotdog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hotel.svg b/src/shared/assets/icons/emoji/hotel.svg new file mode 100644 index 0000000..2d67b9a --- /dev/null +++ b/src/shared/assets/icons/emoji/hotel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hotsprings.svg b/src/shared/assets/icons/emoji/hotsprings.svg new file mode 100644 index 0000000..4a87bea --- /dev/null +++ b/src/shared/assets/icons/emoji/hotsprings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hourglass.svg b/src/shared/assets/icons/emoji/hourglass.svg new file mode 100644 index 0000000..ed66084 --- /dev/null +++ b/src/shared/assets/icons/emoji/hourglass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hourglass_flowing_sand.svg b/src/shared/assets/icons/emoji/hourglass_flowing_sand.svg new file mode 100644 index 0000000..3491504 --- /dev/null +++ b/src/shared/assets/icons/emoji/hourglass_flowing_sand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/house.svg b/src/shared/assets/icons/emoji/house.svg new file mode 100644 index 0000000..0692739 --- /dev/null +++ b/src/shared/assets/icons/emoji/house.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/house_abandoned.svg b/src/shared/assets/icons/emoji/house_abandoned.svg new file mode 100644 index 0000000..5c5ade6 --- /dev/null +++ b/src/shared/assets/icons/emoji/house_abandoned.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/house_with_garden.svg b/src/shared/assets/icons/emoji/house_with_garden.svg new file mode 100644 index 0000000..b44b728 --- /dev/null +++ b/src/shared/assets/icons/emoji/house_with_garden.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hugging.svg b/src/shared/assets/icons/emoji/hugging.svg new file mode 100644 index 0000000..1341675 --- /dev/null +++ b/src/shared/assets/icons/emoji/hugging.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/hushed.svg b/src/shared/assets/icons/emoji/hushed.svg new file mode 100644 index 0000000..579bf48 --- /dev/null +++ b/src/shared/assets/icons/emoji/hushed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ice_cream.svg b/src/shared/assets/icons/emoji/ice_cream.svg new file mode 100644 index 0000000..187b2f4 --- /dev/null +++ b/src/shared/assets/icons/emoji/ice_cream.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ice_cube.svg b/src/shared/assets/icons/emoji/ice_cube.svg new file mode 100644 index 0000000..569fe03 --- /dev/null +++ b/src/shared/assets/icons/emoji/ice_cube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ice_skate.svg b/src/shared/assets/icons/emoji/ice_skate.svg new file mode 100644 index 0000000..022e86e --- /dev/null +++ b/src/shared/assets/icons/emoji/ice_skate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/icecream.svg b/src/shared/assets/icons/emoji/icecream.svg new file mode 100644 index 0000000..9b869f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/icecream.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/id.svg b/src/shared/assets/icons/emoji/id.svg new file mode 100644 index 0000000..5796259 --- /dev/null +++ b/src/shared/assets/icons/emoji/id.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ideograph_advantage.svg b/src/shared/assets/icons/emoji/ideograph_advantage.svg new file mode 100644 index 0000000..c7465f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/ideograph_advantage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/imp.svg b/src/shared/assets/icons/emoji/imp.svg new file mode 100644 index 0000000..61097f0 --- /dev/null +++ b/src/shared/assets/icons/emoji/imp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/inbox_tray.svg b/src/shared/assets/icons/emoji/inbox_tray.svg new file mode 100644 index 0000000..921ca18 --- /dev/null +++ b/src/shared/assets/icons/emoji/inbox_tray.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/incoming_envelope.svg b/src/shared/assets/icons/emoji/incoming_envelope.svg new file mode 100644 index 0000000..7c59e93 --- /dev/null +++ b/src/shared/assets/icons/emoji/incoming_envelope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/infinity.svg b/src/shared/assets/icons/emoji/infinity.svg new file mode 100644 index 0000000..03df2a6 --- /dev/null +++ b/src/shared/assets/icons/emoji/infinity.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/information_source.svg b/src/shared/assets/icons/emoji/information_source.svg new file mode 100644 index 0000000..bc34155 --- /dev/null +++ b/src/shared/assets/icons/emoji/information_source.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/innocent.svg b/src/shared/assets/icons/emoji/innocent.svg new file mode 100644 index 0000000..f6260fd --- /dev/null +++ b/src/shared/assets/icons/emoji/innocent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/interrobang.svg b/src/shared/assets/icons/emoji/interrobang.svg new file mode 100644 index 0000000..8cf9985 --- /dev/null +++ b/src/shared/assets/icons/emoji/interrobang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/iphone.svg b/src/shared/assets/icons/emoji/iphone.svg new file mode 100644 index 0000000..81c4e99 --- /dev/null +++ b/src/shared/assets/icons/emoji/iphone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/island.svg b/src/shared/assets/icons/emoji/island.svg new file mode 100644 index 0000000..d66d8d4 --- /dev/null +++ b/src/shared/assets/icons/emoji/island.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/izakaya_lantern.svg b/src/shared/assets/icons/emoji/izakaya_lantern.svg new file mode 100644 index 0000000..a825f2b --- /dev/null +++ b/src/shared/assets/icons/emoji/izakaya_lantern.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/jack_o_lantern.svg b/src/shared/assets/icons/emoji/jack_o_lantern.svg new file mode 100644 index 0000000..591fc66 --- /dev/null +++ b/src/shared/assets/icons/emoji/jack_o_lantern.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/japan.svg b/src/shared/assets/icons/emoji/japan.svg new file mode 100644 index 0000000..a67c561 --- /dev/null +++ b/src/shared/assets/icons/emoji/japan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/japanese_castle.svg b/src/shared/assets/icons/emoji/japanese_castle.svg new file mode 100644 index 0000000..2168399 --- /dev/null +++ b/src/shared/assets/icons/emoji/japanese_castle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/japanese_goblin.svg b/src/shared/assets/icons/emoji/japanese_goblin.svg new file mode 100644 index 0000000..bb0db74 --- /dev/null +++ b/src/shared/assets/icons/emoji/japanese_goblin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/japanese_ogre.svg b/src/shared/assets/icons/emoji/japanese_ogre.svg new file mode 100644 index 0000000..59babb1 --- /dev/null +++ b/src/shared/assets/icons/emoji/japanese_ogre.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/jeans.svg b/src/shared/assets/icons/emoji/jeans.svg new file mode 100644 index 0000000..44191ae --- /dev/null +++ b/src/shared/assets/icons/emoji/jeans.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/jigsaw.svg b/src/shared/assets/icons/emoji/jigsaw.svg new file mode 100644 index 0000000..1505f68 --- /dev/null +++ b/src/shared/assets/icons/emoji/jigsaw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/joy.svg b/src/shared/assets/icons/emoji/joy.svg new file mode 100644 index 0000000..1ec7937 --- /dev/null +++ b/src/shared/assets/icons/emoji/joy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/joy_cat.svg b/src/shared/assets/icons/emoji/joy_cat.svg new file mode 100644 index 0000000..92f9022 --- /dev/null +++ b/src/shared/assets/icons/emoji/joy_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/joystick.svg b/src/shared/assets/icons/emoji/joystick.svg new file mode 100644 index 0000000..33479b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/joystick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kaaba.svg b/src/shared/assets/icons/emoji/kaaba.svg new file mode 100644 index 0000000..3cd63ee --- /dev/null +++ b/src/shared/assets/icons/emoji/kaaba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kangaroo.svg b/src/shared/assets/icons/emoji/kangaroo.svg new file mode 100644 index 0000000..8a72b40 --- /dev/null +++ b/src/shared/assets/icons/emoji/kangaroo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/key.svg b/src/shared/assets/icons/emoji/key.svg new file mode 100644 index 0000000..7b4dc2a --- /dev/null +++ b/src/shared/assets/icons/emoji/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/key2.svg b/src/shared/assets/icons/emoji/key2.svg new file mode 100644 index 0000000..9e97cea --- /dev/null +++ b/src/shared/assets/icons/emoji/key2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/keyboard.svg b/src/shared/assets/icons/emoji/keyboard.svg new file mode 100644 index 0000000..c834ed6 --- /dev/null +++ b/src/shared/assets/icons/emoji/keyboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/keycap_ten.svg b/src/shared/assets/icons/emoji/keycap_ten.svg new file mode 100644 index 0000000..05dc8b9 --- /dev/null +++ b/src/shared/assets/icons/emoji/keycap_ten.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kimono.svg b/src/shared/assets/icons/emoji/kimono.svg new file mode 100644 index 0000000..7c955e9 --- /dev/null +++ b/src/shared/assets/icons/emoji/kimono.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kiss.svg b/src/shared/assets/icons/emoji/kiss.svg new file mode 100644 index 0000000..f71fc97 --- /dev/null +++ b/src/shared/assets/icons/emoji/kiss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kiss_mm.svg b/src/shared/assets/icons/emoji/kiss_mm.svg new file mode 100644 index 0000000..41dbd96 --- /dev/null +++ b/src/shared/assets/icons/emoji/kiss_mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kiss_woman_man.svg b/src/shared/assets/icons/emoji/kiss_woman_man.svg new file mode 100644 index 0000000..8248ed6 --- /dev/null +++ b/src/shared/assets/icons/emoji/kiss_woman_man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kiss_ww.svg b/src/shared/assets/icons/emoji/kiss_ww.svg new file mode 100644 index 0000000..e46dfca --- /dev/null +++ b/src/shared/assets/icons/emoji/kiss_ww.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kissing.svg b/src/shared/assets/icons/emoji/kissing.svg new file mode 100644 index 0000000..6b817ee --- /dev/null +++ b/src/shared/assets/icons/emoji/kissing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kissing_cat.svg b/src/shared/assets/icons/emoji/kissing_cat.svg new file mode 100644 index 0000000..e982de7 --- /dev/null +++ b/src/shared/assets/icons/emoji/kissing_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kissing_closed_eyes.svg b/src/shared/assets/icons/emoji/kissing_closed_eyes.svg new file mode 100644 index 0000000..cefa351 --- /dev/null +++ b/src/shared/assets/icons/emoji/kissing_closed_eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kissing_heart.svg b/src/shared/assets/icons/emoji/kissing_heart.svg new file mode 100644 index 0000000..5e00b8e --- /dev/null +++ b/src/shared/assets/icons/emoji/kissing_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kissing_smiling_eyes.svg b/src/shared/assets/icons/emoji/kissing_smiling_eyes.svg new file mode 100644 index 0000000..d9dfaa9 --- /dev/null +++ b/src/shared/assets/icons/emoji/kissing_smiling_eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kite.svg b/src/shared/assets/icons/emoji/kite.svg new file mode 100644 index 0000000..fd8605e --- /dev/null +++ b/src/shared/assets/icons/emoji/kite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/kiwi.svg b/src/shared/assets/icons/emoji/kiwi.svg new file mode 100644 index 0000000..4007a72 --- /dev/null +++ b/src/shared/assets/icons/emoji/kiwi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/knife.svg b/src/shared/assets/icons/emoji/knife.svg new file mode 100644 index 0000000..d2ba9e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/knife.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/koala.svg b/src/shared/assets/icons/emoji/koala.svg new file mode 100644 index 0000000..1da7190 --- /dev/null +++ b/src/shared/assets/icons/emoji/koala.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/koko.svg b/src/shared/assets/icons/emoji/koko.svg new file mode 100644 index 0000000..c4e6541 --- /dev/null +++ b/src/shared/assets/icons/emoji/koko.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lab_coat.svg b/src/shared/assets/icons/emoji/lab_coat.svg new file mode 100644 index 0000000..5d19b27 --- /dev/null +++ b/src/shared/assets/icons/emoji/lab_coat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/label.svg b/src/shared/assets/icons/emoji/label.svg new file mode 100644 index 0000000..6046266 --- /dev/null +++ b/src/shared/assets/icons/emoji/label.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lacrosse.svg b/src/shared/assets/icons/emoji/lacrosse.svg new file mode 100644 index 0000000..2a4eb10 --- /dev/null +++ b/src/shared/assets/icons/emoji/lacrosse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/large_blue_diamond.svg b/src/shared/assets/icons/emoji/large_blue_diamond.svg new file mode 100644 index 0000000..44acab2 --- /dev/null +++ b/src/shared/assets/icons/emoji/large_blue_diamond.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/large_orange_diamond.svg b/src/shared/assets/icons/emoji/large_orange_diamond.svg new file mode 100644 index 0000000..116e722 --- /dev/null +++ b/src/shared/assets/icons/emoji/large_orange_diamond.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/last_quarter_moon.svg b/src/shared/assets/icons/emoji/last_quarter_moon.svg new file mode 100644 index 0000000..a5813f0 --- /dev/null +++ b/src/shared/assets/icons/emoji/last_quarter_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/last_quarter_moon_with_face.svg b/src/shared/assets/icons/emoji/last_quarter_moon_with_face.svg new file mode 100644 index 0000000..07501e9 --- /dev/null +++ b/src/shared/assets/icons/emoji/last_quarter_moon_with_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/laughing.svg b/src/shared/assets/icons/emoji/laughing.svg new file mode 100644 index 0000000..e82c405 --- /dev/null +++ b/src/shared/assets/icons/emoji/laughing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leafy_green.svg b/src/shared/assets/icons/emoji/leafy_green.svg new file mode 100644 index 0000000..6ef36cb --- /dev/null +++ b/src/shared/assets/icons/emoji/leafy_green.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leaves.svg b/src/shared/assets/icons/emoji/leaves.svg new file mode 100644 index 0000000..650bfa9 --- /dev/null +++ b/src/shared/assets/icons/emoji/leaves.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ledger.svg b/src/shared/assets/icons/emoji/ledger.svg new file mode 100644 index 0000000..ee15b16 --- /dev/null +++ b/src/shared/assets/icons/emoji/ledger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/left_facing_fist.svg b/src/shared/assets/icons/emoji/left_facing_fist.svg new file mode 100644 index 0000000..a5a142b --- /dev/null +++ b/src/shared/assets/icons/emoji/left_facing_fist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/left_luggage.svg b/src/shared/assets/icons/emoji/left_luggage.svg new file mode 100644 index 0000000..f67135d --- /dev/null +++ b/src/shared/assets/icons/emoji/left_luggage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/left_right_arrow.svg b/src/shared/assets/icons/emoji/left_right_arrow.svg new file mode 100644 index 0000000..9884b42 --- /dev/null +++ b/src/shared/assets/icons/emoji/left_right_arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leftwards_arrow_with_hook.svg b/src/shared/assets/icons/emoji/leftwards_arrow_with_hook.svg new file mode 100644 index 0000000..0a39004 --- /dev/null +++ b/src/shared/assets/icons/emoji/leftwards_arrow_with_hook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leg.svg b/src/shared/assets/icons/emoji/leg.svg new file mode 100644 index 0000000..178fd15 --- /dev/null +++ b/src/shared/assets/icons/emoji/leg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lemon.svg b/src/shared/assets/icons/emoji/lemon.svg new file mode 100644 index 0000000..ffbdc08 --- /dev/null +++ b/src/shared/assets/icons/emoji/lemon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leo.svg b/src/shared/assets/icons/emoji/leo.svg new file mode 100644 index 0000000..e9af63d --- /dev/null +++ b/src/shared/assets/icons/emoji/leo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/leopard.svg b/src/shared/assets/icons/emoji/leopard.svg new file mode 100644 index 0000000..4eaef09 --- /dev/null +++ b/src/shared/assets/icons/emoji/leopard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/level_slider.svg b/src/shared/assets/icons/emoji/level_slider.svg new file mode 100644 index 0000000..7071931 --- /dev/null +++ b/src/shared/assets/icons/emoji/level_slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/levitate.svg b/src/shared/assets/icons/emoji/levitate.svg new file mode 100644 index 0000000..d363425 --- /dev/null +++ b/src/shared/assets/icons/emoji/levitate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/libra.svg b/src/shared/assets/icons/emoji/libra.svg new file mode 100644 index 0000000..11583c1 --- /dev/null +++ b/src/shared/assets/icons/emoji/libra.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/light_rail.svg b/src/shared/assets/icons/emoji/light_rail.svg new file mode 100644 index 0000000..160cc71 --- /dev/null +++ b/src/shared/assets/icons/emoji/light_rail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/link.svg b/src/shared/assets/icons/emoji/link.svg new file mode 100644 index 0000000..22ddbe0 --- /dev/null +++ b/src/shared/assets/icons/emoji/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lion_face.svg b/src/shared/assets/icons/emoji/lion_face.svg new file mode 100644 index 0000000..674ff24 --- /dev/null +++ b/src/shared/assets/icons/emoji/lion_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lips.svg b/src/shared/assets/icons/emoji/lips.svg new file mode 100644 index 0000000..e8a29c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/lips.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lipstick.svg b/src/shared/assets/icons/emoji/lipstick.svg new file mode 100644 index 0000000..af7e861 --- /dev/null +++ b/src/shared/assets/icons/emoji/lipstick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lizard.svg b/src/shared/assets/icons/emoji/lizard.svg new file mode 100644 index 0000000..1164a73 --- /dev/null +++ b/src/shared/assets/icons/emoji/lizard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/llama.svg b/src/shared/assets/icons/emoji/llama.svg new file mode 100644 index 0000000..b505faf --- /dev/null +++ b/src/shared/assets/icons/emoji/llama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lobster.svg b/src/shared/assets/icons/emoji/lobster.svg new file mode 100644 index 0000000..8df2a74 --- /dev/null +++ b/src/shared/assets/icons/emoji/lobster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lock.svg b/src/shared/assets/icons/emoji/lock.svg new file mode 100644 index 0000000..378fabf --- /dev/null +++ b/src/shared/assets/icons/emoji/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lock_with_ink_pen.svg b/src/shared/assets/icons/emoji/lock_with_ink_pen.svg new file mode 100644 index 0000000..d2ae486 --- /dev/null +++ b/src/shared/assets/icons/emoji/lock_with_ink_pen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lollipop.svg b/src/shared/assets/icons/emoji/lollipop.svg new file mode 100644 index 0000000..e13447e --- /dev/null +++ b/src/shared/assets/icons/emoji/lollipop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/loop.svg b/src/shared/assets/icons/emoji/loop.svg new file mode 100644 index 0000000..0d7b5fa --- /dev/null +++ b/src/shared/assets/icons/emoji/loop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/loud_sound.svg b/src/shared/assets/icons/emoji/loud_sound.svg new file mode 100644 index 0000000..de54654 --- /dev/null +++ b/src/shared/assets/icons/emoji/loud_sound.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/loudspeaker.svg b/src/shared/assets/icons/emoji/loudspeaker.svg new file mode 100644 index 0000000..8bd0c94 --- /dev/null +++ b/src/shared/assets/icons/emoji/loudspeaker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/love_hotel.svg b/src/shared/assets/icons/emoji/love_hotel.svg new file mode 100644 index 0000000..9da5e44 --- /dev/null +++ b/src/shared/assets/icons/emoji/love_hotel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/love_letter.svg b/src/shared/assets/icons/emoji/love_letter.svg new file mode 100644 index 0000000..0734ecf --- /dev/null +++ b/src/shared/assets/icons/emoji/love_letter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/love_you_gesture.svg b/src/shared/assets/icons/emoji/love_you_gesture.svg new file mode 100644 index 0000000..4f3d74f --- /dev/null +++ b/src/shared/assets/icons/emoji/love_you_gesture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/low_brightness.svg b/src/shared/assets/icons/emoji/low_brightness.svg new file mode 100644 index 0000000..998b8f4 --- /dev/null +++ b/src/shared/assets/icons/emoji/low_brightness.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/luggage.svg b/src/shared/assets/icons/emoji/luggage.svg new file mode 100644 index 0000000..7de2518 --- /dev/null +++ b/src/shared/assets/icons/emoji/luggage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/lying_face.svg b/src/shared/assets/icons/emoji/lying_face.svg new file mode 100644 index 0000000..9f25530 --- /dev/null +++ b/src/shared/assets/icons/emoji/lying_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/m.svg b/src/shared/assets/icons/emoji/m.svg new file mode 100644 index 0000000..29a9429 --- /dev/null +++ b/src/shared/assets/icons/emoji/m.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mag.svg b/src/shared/assets/icons/emoji/mag.svg new file mode 100644 index 0000000..038bbc2 --- /dev/null +++ b/src/shared/assets/icons/emoji/mag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mag_right.svg b/src/shared/assets/icons/emoji/mag_right.svg new file mode 100644 index 0000000..778ae77 --- /dev/null +++ b/src/shared/assets/icons/emoji/mag_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mage.svg b/src/shared/assets/icons/emoji/mage.svg new file mode 100644 index 0000000..5537083 --- /dev/null +++ b/src/shared/assets/icons/emoji/mage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/magnet.svg b/src/shared/assets/icons/emoji/magnet.svg new file mode 100644 index 0000000..e81b464 --- /dev/null +++ b/src/shared/assets/icons/emoji/magnet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mahjong.svg b/src/shared/assets/icons/emoji/mahjong.svg new file mode 100644 index 0000000..f4fa584 --- /dev/null +++ b/src/shared/assets/icons/emoji/mahjong.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mailbox.svg b/src/shared/assets/icons/emoji/mailbox.svg new file mode 100644 index 0000000..79ea795 --- /dev/null +++ b/src/shared/assets/icons/emoji/mailbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mailbox_closed.svg b/src/shared/assets/icons/emoji/mailbox_closed.svg new file mode 100644 index 0000000..54f609e --- /dev/null +++ b/src/shared/assets/icons/emoji/mailbox_closed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mailbox_with_mail.svg b/src/shared/assets/icons/emoji/mailbox_with_mail.svg new file mode 100644 index 0000000..27d6ebe --- /dev/null +++ b/src/shared/assets/icons/emoji/mailbox_with_mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mailbox_with_no_mail.svg b/src/shared/assets/icons/emoji/mailbox_with_no_mail.svg new file mode 100644 index 0000000..4e969c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/mailbox_with_no_mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/male_sign.svg b/src/shared/assets/icons/emoji/male_sign.svg new file mode 100644 index 0000000..29868a8 --- /dev/null +++ b/src/shared/assets/icons/emoji/male_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man.svg b/src/shared/assets/icons/emoji/man.svg new file mode 100644 index 0000000..98b73b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_artist.svg b/src/shared/assets/icons/emoji/man_artist.svg new file mode 100644 index 0000000..eb21722 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_artist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_astronaut.svg b/src/shared/assets/icons/emoji/man_astronaut.svg new file mode 100644 index 0000000..dd97a20 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_astronaut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_bald.svg b/src/shared/assets/icons/emoji/man_bald.svg new file mode 100644 index 0000000..ea49779 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_bald.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_biking.svg b/src/shared/assets/icons/emoji/man_biking.svg new file mode 100644 index 0000000..ae3112e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_bouncing_ball.svg b/src/shared/assets/icons/emoji/man_bouncing_ball.svg new file mode 100644 index 0000000..ee014e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_bouncing_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_bowing.svg b/src/shared/assets/icons/emoji/man_bowing.svg new file mode 100644 index 0000000..7462b00 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_bowing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_cartwheeling.svg b/src/shared/assets/icons/emoji/man_cartwheeling.svg new file mode 100644 index 0000000..7aa23fe --- /dev/null +++ b/src/shared/assets/icons/emoji/man_cartwheeling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_climbing.svg b/src/shared/assets/icons/emoji/man_climbing.svg new file mode 100644 index 0000000..bb49709 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_climbing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_construction_worker.svg b/src/shared/assets/icons/emoji/man_construction_worker.svg new file mode 100644 index 0000000..d1e6b36 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_construction_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_cook.svg b/src/shared/assets/icons/emoji/man_cook.svg new file mode 100644 index 0000000..9344e17 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_cook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_curly_haired.svg b/src/shared/assets/icons/emoji/man_curly_haired.svg new file mode 100644 index 0000000..6ac5743 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_curly_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_dancing.svg b/src/shared/assets/icons/emoji/man_dancing.svg new file mode 100644 index 0000000..e63c1ec --- /dev/null +++ b/src/shared/assets/icons/emoji/man_dancing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_detective.svg b/src/shared/assets/icons/emoji/man_detective.svg new file mode 100644 index 0000000..bba4b94 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_detective.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_elf.svg b/src/shared/assets/icons/emoji/man_elf.svg new file mode 100644 index 0000000..f9c1e97 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_elf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_facepalming.svg b/src/shared/assets/icons/emoji/man_facepalming.svg new file mode 100644 index 0000000..29cbd0b --- /dev/null +++ b/src/shared/assets/icons/emoji/man_facepalming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_factory_worker.svg b/src/shared/assets/icons/emoji/man_factory_worker.svg new file mode 100644 index 0000000..6fc1eae --- /dev/null +++ b/src/shared/assets/icons/emoji/man_factory_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_fairy.svg b/src/shared/assets/icons/emoji/man_fairy.svg new file mode 100644 index 0000000..d538536 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_fairy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_farmer.svg b/src/shared/assets/icons/emoji/man_farmer.svg new file mode 100644 index 0000000..0fcee4f --- /dev/null +++ b/src/shared/assets/icons/emoji/man_farmer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_firefighter.svg b/src/shared/assets/icons/emoji/man_firefighter.svg new file mode 100644 index 0000000..cfdef73 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_firefighter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_frowning.svg b/src/shared/assets/icons/emoji/man_frowning.svg new file mode 100644 index 0000000..6a5ce08 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_frowning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_genie.svg b/src/shared/assets/icons/emoji/man_genie.svg new file mode 100644 index 0000000..af17a48 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_genie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_gesturing_no.svg b/src/shared/assets/icons/emoji/man_gesturing_no.svg new file mode 100644 index 0000000..ba0fc8e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_gesturing_no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_gesturing_ok.svg b/src/shared/assets/icons/emoji/man_gesturing_ok.svg new file mode 100644 index 0000000..1c4205d --- /dev/null +++ b/src/shared/assets/icons/emoji/man_gesturing_ok.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_getting_face_massage.svg b/src/shared/assets/icons/emoji/man_getting_face_massage.svg new file mode 100644 index 0000000..39bb75b --- /dev/null +++ b/src/shared/assets/icons/emoji/man_getting_face_massage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_getting_haircut.svg b/src/shared/assets/icons/emoji/man_getting_haircut.svg new file mode 100644 index 0000000..e3bc6d9 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_getting_haircut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_golfing.svg b/src/shared/assets/icons/emoji/man_golfing.svg new file mode 100644 index 0000000..1381d6d --- /dev/null +++ b/src/shared/assets/icons/emoji/man_golfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_guard.svg b/src/shared/assets/icons/emoji/man_guard.svg new file mode 100644 index 0000000..e8998c5 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_guard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_health_worker.svg b/src/shared/assets/icons/emoji/man_health_worker.svg new file mode 100644 index 0000000..627461f --- /dev/null +++ b/src/shared/assets/icons/emoji/man_health_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_in_lotus_position.svg b/src/shared/assets/icons/emoji/man_in_lotus_position.svg new file mode 100644 index 0000000..e0c1f48 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_in_lotus_position.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_in_manual_wheelchair.svg b/src/shared/assets/icons/emoji/man_in_manual_wheelchair.svg new file mode 100644 index 0000000..b8d2858 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_in_manual_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_in_motorized_wheelchair.svg b/src/shared/assets/icons/emoji/man_in_motorized_wheelchair.svg new file mode 100644 index 0000000..7d37c87 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_in_motorized_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_in_steamy_room.svg b/src/shared/assets/icons/emoji/man_in_steamy_room.svg new file mode 100644 index 0000000..3ecdeee --- /dev/null +++ b/src/shared/assets/icons/emoji/man_in_steamy_room.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_in_tuxedo.svg b/src/shared/assets/icons/emoji/man_in_tuxedo.svg new file mode 100644 index 0000000..5b0498b --- /dev/null +++ b/src/shared/assets/icons/emoji/man_in_tuxedo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_judge.svg b/src/shared/assets/icons/emoji/man_judge.svg new file mode 100644 index 0000000..759d307 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_judge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_juggling.svg b/src/shared/assets/icons/emoji/man_juggling.svg new file mode 100644 index 0000000..62230dc --- /dev/null +++ b/src/shared/assets/icons/emoji/man_juggling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_kneeling.svg b/src/shared/assets/icons/emoji/man_kneeling.svg new file mode 100644 index 0000000..403d73e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_kneeling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_lifting_weights.svg b/src/shared/assets/icons/emoji/man_lifting_weights.svg new file mode 100644 index 0000000..f9bbcc9 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_lifting_weights.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_mage.svg b/src/shared/assets/icons/emoji/man_mage.svg new file mode 100644 index 0000000..c747b34 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_mage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_mechanic.svg b/src/shared/assets/icons/emoji/man_mechanic.svg new file mode 100644 index 0000000..6bc505e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_mechanic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_mountain_biking.svg b/src/shared/assets/icons/emoji/man_mountain_biking.svg new file mode 100644 index 0000000..9914308 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_mountain_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_office_worker.svg b/src/shared/assets/icons/emoji/man_office_worker.svg new file mode 100644 index 0000000..a3f56fe --- /dev/null +++ b/src/shared/assets/icons/emoji/man_office_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_pilot.svg b/src/shared/assets/icons/emoji/man_pilot.svg new file mode 100644 index 0000000..b5ed35a --- /dev/null +++ b/src/shared/assets/icons/emoji/man_pilot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_playing_handball.svg b/src/shared/assets/icons/emoji/man_playing_handball.svg new file mode 100644 index 0000000..3efb466 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_playing_handball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_playing_water_polo.svg b/src/shared/assets/icons/emoji/man_playing_water_polo.svg new file mode 100644 index 0000000..9469b6a --- /dev/null +++ b/src/shared/assets/icons/emoji/man_playing_water_polo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_police_officer.svg b/src/shared/assets/icons/emoji/man_police_officer.svg new file mode 100644 index 0000000..2974c98 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_police_officer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_pouting.svg b/src/shared/assets/icons/emoji/man_pouting.svg new file mode 100644 index 0000000..97bec5b --- /dev/null +++ b/src/shared/assets/icons/emoji/man_pouting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_raising_hand.svg b/src/shared/assets/icons/emoji/man_raising_hand.svg new file mode 100644 index 0000000..faf2f76 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_raising_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_red_haired.svg b/src/shared/assets/icons/emoji/man_red_haired.svg new file mode 100644 index 0000000..1b633b3 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_red_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_rowing_boat.svg b/src/shared/assets/icons/emoji/man_rowing_boat.svg new file mode 100644 index 0000000..d628229 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_rowing_boat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_running.svg b/src/shared/assets/icons/emoji/man_running.svg new file mode 100644 index 0000000..42bc601 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_running.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_scientist.svg b/src/shared/assets/icons/emoji/man_scientist.svg new file mode 100644 index 0000000..02a9e12 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_scientist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_shrugging.svg b/src/shared/assets/icons/emoji/man_shrugging.svg new file mode 100644 index 0000000..29d7e1e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_shrugging.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_singer.svg b/src/shared/assets/icons/emoji/man_singer.svg new file mode 100644 index 0000000..0462a6b --- /dev/null +++ b/src/shared/assets/icons/emoji/man_singer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_standing.svg b/src/shared/assets/icons/emoji/man_standing.svg new file mode 100644 index 0000000..450561e --- /dev/null +++ b/src/shared/assets/icons/emoji/man_standing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_student.svg b/src/shared/assets/icons/emoji/man_student.svg new file mode 100644 index 0000000..ab35970 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_student.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_superhero.svg b/src/shared/assets/icons/emoji/man_superhero.svg new file mode 100644 index 0000000..404dcb2 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_superhero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_supervillain.svg b/src/shared/assets/icons/emoji/man_supervillain.svg new file mode 100644 index 0000000..ed0e66c --- /dev/null +++ b/src/shared/assets/icons/emoji/man_supervillain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_surfing.svg b/src/shared/assets/icons/emoji/man_surfing.svg new file mode 100644 index 0000000..6da42a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_surfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_swimming.svg b/src/shared/assets/icons/emoji/man_swimming.svg new file mode 100644 index 0000000..12bad06 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_swimming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_teacher.svg b/src/shared/assets/icons/emoji/man_teacher.svg new file mode 100644 index 0000000..95963cf --- /dev/null +++ b/src/shared/assets/icons/emoji/man_teacher.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_technologist.svg b/src/shared/assets/icons/emoji/man_technologist.svg new file mode 100644 index 0000000..e37b049 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_technologist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_tipping_hand.svg b/src/shared/assets/icons/emoji/man_tipping_hand.svg new file mode 100644 index 0000000..1bb5433 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_tipping_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_vampire.svg b/src/shared/assets/icons/emoji/man_vampire.svg new file mode 100644 index 0000000..1f104d1 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_vampire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_walking.svg b/src/shared/assets/icons/emoji/man_walking.svg new file mode 100644 index 0000000..9217939 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_walking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_wearing_turban.svg b/src/shared/assets/icons/emoji/man_wearing_turban.svg new file mode 100644 index 0000000..5ef43d4 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_wearing_turban.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_white_haired.svg b/src/shared/assets/icons/emoji/man_white_haired.svg new file mode 100644 index 0000000..a14e3fd --- /dev/null +++ b/src/shared/assets/icons/emoji/man_white_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_with_chinese_cap.svg b/src/shared/assets/icons/emoji/man_with_chinese_cap.svg new file mode 100644 index 0000000..7ed6bd5 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_with_chinese_cap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_with_probing_cane.svg b/src/shared/assets/icons/emoji/man_with_probing_cane.svg new file mode 100644 index 0000000..321bc0d --- /dev/null +++ b/src/shared/assets/icons/emoji/man_with_probing_cane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/man_zombie.svg b/src/shared/assets/icons/emoji/man_zombie.svg new file mode 100644 index 0000000..21674c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/man_zombie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mango.svg b/src/shared/assets/icons/emoji/mango.svg new file mode 100644 index 0000000..b5607c1 --- /dev/null +++ b/src/shared/assets/icons/emoji/mango.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mans_shoe.svg b/src/shared/assets/icons/emoji/mans_shoe.svg new file mode 100644 index 0000000..fe94bf5 --- /dev/null +++ b/src/shared/assets/icons/emoji/mans_shoe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/manual_wheelchair.svg b/src/shared/assets/icons/emoji/manual_wheelchair.svg new file mode 100644 index 0000000..c371d4b --- /dev/null +++ b/src/shared/assets/icons/emoji/manual_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/map.svg b/src/shared/assets/icons/emoji/map.svg new file mode 100644 index 0000000..337b3dc --- /dev/null +++ b/src/shared/assets/icons/emoji/map.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/maple_leaf.svg b/src/shared/assets/icons/emoji/maple_leaf.svg new file mode 100644 index 0000000..7cd7ad9 --- /dev/null +++ b/src/shared/assets/icons/emoji/maple_leaf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/martial_arts_uniform.svg b/src/shared/assets/icons/emoji/martial_arts_uniform.svg new file mode 100644 index 0000000..33d6e21 --- /dev/null +++ b/src/shared/assets/icons/emoji/martial_arts_uniform.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mask.svg b/src/shared/assets/icons/emoji/mask.svg new file mode 100644 index 0000000..098e6b0 --- /dev/null +++ b/src/shared/assets/icons/emoji/mask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mate.svg b/src/shared/assets/icons/emoji/mate.svg new file mode 100644 index 0000000..16b0db8 --- /dev/null +++ b/src/shared/assets/icons/emoji/mate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/meat_on_bone.svg b/src/shared/assets/icons/emoji/meat_on_bone.svg new file mode 100644 index 0000000..44fab59 --- /dev/null +++ b/src/shared/assets/icons/emoji/meat_on_bone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mechanical_arm.svg b/src/shared/assets/icons/emoji/mechanical_arm.svg new file mode 100644 index 0000000..c3d2db4 --- /dev/null +++ b/src/shared/assets/icons/emoji/mechanical_arm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mechanical_leg.svg b/src/shared/assets/icons/emoji/mechanical_leg.svg new file mode 100644 index 0000000..db17a63 --- /dev/null +++ b/src/shared/assets/icons/emoji/mechanical_leg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/medal.svg b/src/shared/assets/icons/emoji/medal.svg new file mode 100644 index 0000000..a576ba8 --- /dev/null +++ b/src/shared/assets/icons/emoji/medal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/medical_symbol.svg b/src/shared/assets/icons/emoji/medical_symbol.svg new file mode 100644 index 0000000..add4c0e --- /dev/null +++ b/src/shared/assets/icons/emoji/medical_symbol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mega.svg b/src/shared/assets/icons/emoji/mega.svg new file mode 100644 index 0000000..20cbc7d --- /dev/null +++ b/src/shared/assets/icons/emoji/mega.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/melon.svg b/src/shared/assets/icons/emoji/melon.svg new file mode 100644 index 0000000..f348273 --- /dev/null +++ b/src/shared/assets/icons/emoji/melon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/men_with_bunny_ears_partying.svg b/src/shared/assets/icons/emoji/men_with_bunny_ears_partying.svg new file mode 100644 index 0000000..13717aa --- /dev/null +++ b/src/shared/assets/icons/emoji/men_with_bunny_ears_partying.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/men_wrestling.svg b/src/shared/assets/icons/emoji/men_wrestling.svg new file mode 100644 index 0000000..13ec50b --- /dev/null +++ b/src/shared/assets/icons/emoji/men_wrestling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/menorah.svg b/src/shared/assets/icons/emoji/menorah.svg new file mode 100644 index 0000000..1ebcec5 --- /dev/null +++ b/src/shared/assets/icons/emoji/menorah.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mens.svg b/src/shared/assets/icons/emoji/mens.svg new file mode 100644 index 0000000..2f7a492 --- /dev/null +++ b/src/shared/assets/icons/emoji/mens.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mermaid.svg b/src/shared/assets/icons/emoji/mermaid.svg new file mode 100644 index 0000000..750f243 --- /dev/null +++ b/src/shared/assets/icons/emoji/mermaid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/merman.svg b/src/shared/assets/icons/emoji/merman.svg new file mode 100644 index 0000000..07111b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/merman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/merperson.svg b/src/shared/assets/icons/emoji/merperson.svg new file mode 100644 index 0000000..52f120c --- /dev/null +++ b/src/shared/assets/icons/emoji/merperson.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/metal.svg b/src/shared/assets/icons/emoji/metal.svg new file mode 100644 index 0000000..c3a1063 --- /dev/null +++ b/src/shared/assets/icons/emoji/metal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/metro.svg b/src/shared/assets/icons/emoji/metro.svg new file mode 100644 index 0000000..acd11bd --- /dev/null +++ b/src/shared/assets/icons/emoji/metro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/microbe.svg b/src/shared/assets/icons/emoji/microbe.svg new file mode 100644 index 0000000..cea144e --- /dev/null +++ b/src/shared/assets/icons/emoji/microbe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/microphone.svg b/src/shared/assets/icons/emoji/microphone.svg new file mode 100644 index 0000000..e261334 --- /dev/null +++ b/src/shared/assets/icons/emoji/microphone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/microphone2.svg b/src/shared/assets/icons/emoji/microphone2.svg new file mode 100644 index 0000000..07881e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/microphone2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/microscope.svg b/src/shared/assets/icons/emoji/microscope.svg new file mode 100644 index 0000000..e910ee8 --- /dev/null +++ b/src/shared/assets/icons/emoji/microscope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/middle_finger.svg b/src/shared/assets/icons/emoji/middle_finger.svg new file mode 100644 index 0000000..e644c37 --- /dev/null +++ b/src/shared/assets/icons/emoji/middle_finger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/military_medal.svg b/src/shared/assets/icons/emoji/military_medal.svg new file mode 100644 index 0000000..b5c2269 --- /dev/null +++ b/src/shared/assets/icons/emoji/military_medal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/milk.svg b/src/shared/assets/icons/emoji/milk.svg new file mode 100644 index 0000000..73947e8 --- /dev/null +++ b/src/shared/assets/icons/emoji/milk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/milky_way.svg b/src/shared/assets/icons/emoji/milky_way.svg new file mode 100644 index 0000000..7853bcd --- /dev/null +++ b/src/shared/assets/icons/emoji/milky_way.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/minibus.svg b/src/shared/assets/icons/emoji/minibus.svg new file mode 100644 index 0000000..d3f1057 --- /dev/null +++ b/src/shared/assets/icons/emoji/minibus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/minidisc.svg b/src/shared/assets/icons/emoji/minidisc.svg new file mode 100644 index 0000000..a557b9b --- /dev/null +++ b/src/shared/assets/icons/emoji/minidisc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mobile_phone_off.svg b/src/shared/assets/icons/emoji/mobile_phone_off.svg new file mode 100644 index 0000000..fc2d2cd --- /dev/null +++ b/src/shared/assets/icons/emoji/mobile_phone_off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/money_mouth.svg b/src/shared/assets/icons/emoji/money_mouth.svg new file mode 100644 index 0000000..5616de7 --- /dev/null +++ b/src/shared/assets/icons/emoji/money_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/money_with_wings.svg b/src/shared/assets/icons/emoji/money_with_wings.svg new file mode 100644 index 0000000..d2d63ce --- /dev/null +++ b/src/shared/assets/icons/emoji/money_with_wings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/moneybag.svg b/src/shared/assets/icons/emoji/moneybag.svg new file mode 100644 index 0000000..5b41c52 --- /dev/null +++ b/src/shared/assets/icons/emoji/moneybag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/monkey.svg b/src/shared/assets/icons/emoji/monkey.svg new file mode 100644 index 0000000..6ffccee --- /dev/null +++ b/src/shared/assets/icons/emoji/monkey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/monkey_face.svg b/src/shared/assets/icons/emoji/monkey_face.svg new file mode 100644 index 0000000..ee6c57c --- /dev/null +++ b/src/shared/assets/icons/emoji/monkey_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/monorail.svg b/src/shared/assets/icons/emoji/monorail.svg new file mode 100644 index 0000000..64ab140 --- /dev/null +++ b/src/shared/assets/icons/emoji/monorail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/moon_cake.svg b/src/shared/assets/icons/emoji/moon_cake.svg new file mode 100644 index 0000000..ebb7ba9 --- /dev/null +++ b/src/shared/assets/icons/emoji/moon_cake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mortar_board.svg b/src/shared/assets/icons/emoji/mortar_board.svg new file mode 100644 index 0000000..dcf3893 --- /dev/null +++ b/src/shared/assets/icons/emoji/mortar_board.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mosque.svg b/src/shared/assets/icons/emoji/mosque.svg new file mode 100644 index 0000000..6ef5516 --- /dev/null +++ b/src/shared/assets/icons/emoji/mosque.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mosquito.svg b/src/shared/assets/icons/emoji/mosquito.svg new file mode 100644 index 0000000..5888151 --- /dev/null +++ b/src/shared/assets/icons/emoji/mosquito.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/motor_scooter.svg b/src/shared/assets/icons/emoji/motor_scooter.svg new file mode 100644 index 0000000..a1e0f4b --- /dev/null +++ b/src/shared/assets/icons/emoji/motor_scooter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/motorboat.svg b/src/shared/assets/icons/emoji/motorboat.svg new file mode 100644 index 0000000..b9badb2 --- /dev/null +++ b/src/shared/assets/icons/emoji/motorboat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/motorcycle.svg b/src/shared/assets/icons/emoji/motorcycle.svg new file mode 100644 index 0000000..c51ccc3 --- /dev/null +++ b/src/shared/assets/icons/emoji/motorcycle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/motorized_wheelchair.svg b/src/shared/assets/icons/emoji/motorized_wheelchair.svg new file mode 100644 index 0000000..153f553 --- /dev/null +++ b/src/shared/assets/icons/emoji/motorized_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/motorway.svg b/src/shared/assets/icons/emoji/motorway.svg new file mode 100644 index 0000000..35e8215 --- /dev/null +++ b/src/shared/assets/icons/emoji/motorway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mount_fuji.svg b/src/shared/assets/icons/emoji/mount_fuji.svg new file mode 100644 index 0000000..a8ad074 --- /dev/null +++ b/src/shared/assets/icons/emoji/mount_fuji.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mountain.svg b/src/shared/assets/icons/emoji/mountain.svg new file mode 100644 index 0000000..ba331d1 --- /dev/null +++ b/src/shared/assets/icons/emoji/mountain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mountain_cableway.svg b/src/shared/assets/icons/emoji/mountain_cableway.svg new file mode 100644 index 0000000..8510956 --- /dev/null +++ b/src/shared/assets/icons/emoji/mountain_cableway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mountain_railway.svg b/src/shared/assets/icons/emoji/mountain_railway.svg new file mode 100644 index 0000000..79a9320 --- /dev/null +++ b/src/shared/assets/icons/emoji/mountain_railway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mountain_snow.svg b/src/shared/assets/icons/emoji/mountain_snow.svg new file mode 100644 index 0000000..8b78f31 --- /dev/null +++ b/src/shared/assets/icons/emoji/mountain_snow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mouse.svg b/src/shared/assets/icons/emoji/mouse.svg new file mode 100644 index 0000000..91e1262 --- /dev/null +++ b/src/shared/assets/icons/emoji/mouse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mouse2.svg b/src/shared/assets/icons/emoji/mouse2.svg new file mode 100644 index 0000000..365ab78 --- /dev/null +++ b/src/shared/assets/icons/emoji/mouse2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mouse_three_button.svg b/src/shared/assets/icons/emoji/mouse_three_button.svg new file mode 100644 index 0000000..961f67e --- /dev/null +++ b/src/shared/assets/icons/emoji/mouse_three_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/movie_camera.svg b/src/shared/assets/icons/emoji/movie_camera.svg new file mode 100644 index 0000000..d6c68e0 --- /dev/null +++ b/src/shared/assets/icons/emoji/movie_camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/moyai.svg b/src/shared/assets/icons/emoji/moyai.svg new file mode 100644 index 0000000..5ba18be --- /dev/null +++ b/src/shared/assets/icons/emoji/moyai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mrs_claus.svg b/src/shared/assets/icons/emoji/mrs_claus.svg new file mode 100644 index 0000000..6cabe58 --- /dev/null +++ b/src/shared/assets/icons/emoji/mrs_claus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/muscle.svg b/src/shared/assets/icons/emoji/muscle.svg new file mode 100644 index 0000000..38a7bb5 --- /dev/null +++ b/src/shared/assets/icons/emoji/muscle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mushroom.svg b/src/shared/assets/icons/emoji/mushroom.svg new file mode 100644 index 0000000..0cf7a79 --- /dev/null +++ b/src/shared/assets/icons/emoji/mushroom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/musical_keyboard.svg b/src/shared/assets/icons/emoji/musical_keyboard.svg new file mode 100644 index 0000000..6ce8afd --- /dev/null +++ b/src/shared/assets/icons/emoji/musical_keyboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/musical_note.svg b/src/shared/assets/icons/emoji/musical_note.svg new file mode 100644 index 0000000..c9286d2 --- /dev/null +++ b/src/shared/assets/icons/emoji/musical_note.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/musical_score.svg b/src/shared/assets/icons/emoji/musical_score.svg new file mode 100644 index 0000000..5628fca --- /dev/null +++ b/src/shared/assets/icons/emoji/musical_score.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/mute.svg b/src/shared/assets/icons/emoji/mute.svg new file mode 100644 index 0000000..39dddb5 --- /dev/null +++ b/src/shared/assets/icons/emoji/mute.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nail_care.svg b/src/shared/assets/icons/emoji/nail_care.svg new file mode 100644 index 0000000..2ddba93 --- /dev/null +++ b/src/shared/assets/icons/emoji/nail_care.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/name_badge.svg b/src/shared/assets/icons/emoji/name_badge.svg new file mode 100644 index 0000000..00f1a10 --- /dev/null +++ b/src/shared/assets/icons/emoji/name_badge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nauseated_face.svg b/src/shared/assets/icons/emoji/nauseated_face.svg new file mode 100644 index 0000000..ed7c86c --- /dev/null +++ b/src/shared/assets/icons/emoji/nauseated_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nazar_amulet.svg b/src/shared/assets/icons/emoji/nazar_amulet.svg new file mode 100644 index 0000000..a45a528 --- /dev/null +++ b/src/shared/assets/icons/emoji/nazar_amulet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/necktie.svg b/src/shared/assets/icons/emoji/necktie.svg new file mode 100644 index 0000000..8e860d6 --- /dev/null +++ b/src/shared/assets/icons/emoji/necktie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/negative_squared_cross_mark.svg b/src/shared/assets/icons/emoji/negative_squared_cross_mark.svg new file mode 100644 index 0000000..814a6e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/negative_squared_cross_mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nerd.svg b/src/shared/assets/icons/emoji/nerd.svg new file mode 100644 index 0000000..d430a68 --- /dev/null +++ b/src/shared/assets/icons/emoji/nerd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/neutral_face.svg b/src/shared/assets/icons/emoji/neutral_face.svg new file mode 100644 index 0000000..953f921 --- /dev/null +++ b/src/shared/assets/icons/emoji/neutral_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/new.svg b/src/shared/assets/icons/emoji/new.svg new file mode 100644 index 0000000..dcf5702 --- /dev/null +++ b/src/shared/assets/icons/emoji/new.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/new_moon.svg b/src/shared/assets/icons/emoji/new_moon.svg new file mode 100644 index 0000000..d71e4d1 --- /dev/null +++ b/src/shared/assets/icons/emoji/new_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/new_moon_with_face.svg b/src/shared/assets/icons/emoji/new_moon_with_face.svg new file mode 100644 index 0000000..6ccbb68 --- /dev/null +++ b/src/shared/assets/icons/emoji/new_moon_with_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/newspaper.svg b/src/shared/assets/icons/emoji/newspaper.svg new file mode 100644 index 0000000..a97d477 --- /dev/null +++ b/src/shared/assets/icons/emoji/newspaper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/newspaper2.svg b/src/shared/assets/icons/emoji/newspaper2.svg new file mode 100644 index 0000000..9567817 --- /dev/null +++ b/src/shared/assets/icons/emoji/newspaper2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ng.svg b/src/shared/assets/icons/emoji/ng.svg new file mode 100644 index 0000000..ccd7c36 --- /dev/null +++ b/src/shared/assets/icons/emoji/ng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/night_with_stars.svg b/src/shared/assets/icons/emoji/night_with_stars.svg new file mode 100644 index 0000000..d6c21b4 --- /dev/null +++ b/src/shared/assets/icons/emoji/night_with_stars.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nine.svg b/src/shared/assets/icons/emoji/nine.svg new file mode 100644 index 0000000..6936cfb --- /dev/null +++ b/src/shared/assets/icons/emoji/nine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_bell.svg b/src/shared/assets/icons/emoji/no_bell.svg new file mode 100644 index 0000000..921d352 --- /dev/null +++ b/src/shared/assets/icons/emoji/no_bell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_bicycles.svg b/src/shared/assets/icons/emoji/no_bicycles.svg new file mode 100644 index 0000000..ab08b6b --- /dev/null +++ b/src/shared/assets/icons/emoji/no_bicycles.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_entry.svg b/src/shared/assets/icons/emoji/no_entry.svg new file mode 100644 index 0000000..fcab301 --- /dev/null +++ b/src/shared/assets/icons/emoji/no_entry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_entry_sign.svg b/src/shared/assets/icons/emoji/no_entry_sign.svg new file mode 100644 index 0000000..4b913ae --- /dev/null +++ b/src/shared/assets/icons/emoji/no_entry_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_mobile_phones.svg b/src/shared/assets/icons/emoji/no_mobile_phones.svg new file mode 100644 index 0000000..fdbab38 --- /dev/null +++ b/src/shared/assets/icons/emoji/no_mobile_phones.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_mouth.svg b/src/shared/assets/icons/emoji/no_mouth.svg new file mode 100644 index 0000000..c208383 --- /dev/null +++ b/src/shared/assets/icons/emoji/no_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_pedestrians.svg b/src/shared/assets/icons/emoji/no_pedestrians.svg new file mode 100644 index 0000000..ebe039f --- /dev/null +++ b/src/shared/assets/icons/emoji/no_pedestrians.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/no_smoking.svg b/src/shared/assets/icons/emoji/no_smoking.svg new file mode 100644 index 0000000..bda285a --- /dev/null +++ b/src/shared/assets/icons/emoji/no_smoking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/non_potable_water.svg b/src/shared/assets/icons/emoji/non_potable_water.svg new file mode 100644 index 0000000..5d2b5a0 --- /dev/null +++ b/src/shared/assets/icons/emoji/non_potable_water.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nose.svg b/src/shared/assets/icons/emoji/nose.svg new file mode 100644 index 0000000..654a6f2 --- /dev/null +++ b/src/shared/assets/icons/emoji/nose.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/notebook.svg b/src/shared/assets/icons/emoji/notebook.svg new file mode 100644 index 0000000..b6f49c0 --- /dev/null +++ b/src/shared/assets/icons/emoji/notebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/notebook_with_decorative_cover.svg b/src/shared/assets/icons/emoji/notebook_with_decorative_cover.svg new file mode 100644 index 0000000..2bfc4ca --- /dev/null +++ b/src/shared/assets/icons/emoji/notebook_with_decorative_cover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/notepad_spiral.svg b/src/shared/assets/icons/emoji/notepad_spiral.svg new file mode 100644 index 0000000..cbb6965 --- /dev/null +++ b/src/shared/assets/icons/emoji/notepad_spiral.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/notes.svg b/src/shared/assets/icons/emoji/notes.svg new file mode 100644 index 0000000..f13b3b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/notes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/nut_and_bolt.svg b/src/shared/assets/icons/emoji/nut_and_bolt.svg new file mode 100644 index 0000000..e02eaa6 --- /dev/null +++ b/src/shared/assets/icons/emoji/nut_and_bolt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/o.svg b/src/shared/assets/icons/emoji/o.svg new file mode 100644 index 0000000..deb4cf1 --- /dev/null +++ b/src/shared/assets/icons/emoji/o.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/o2.svg b/src/shared/assets/icons/emoji/o2.svg new file mode 100644 index 0000000..62f2f6d --- /dev/null +++ b/src/shared/assets/icons/emoji/o2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ocean.svg b/src/shared/assets/icons/emoji/ocean.svg new file mode 100644 index 0000000..0e68ec3 --- /dev/null +++ b/src/shared/assets/icons/emoji/ocean.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/octagonal_sign.svg b/src/shared/assets/icons/emoji/octagonal_sign.svg new file mode 100644 index 0000000..c8eb021 --- /dev/null +++ b/src/shared/assets/icons/emoji/octagonal_sign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/octopus.svg b/src/shared/assets/icons/emoji/octopus.svg new file mode 100644 index 0000000..d915a8f --- /dev/null +++ b/src/shared/assets/icons/emoji/octopus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oden.svg b/src/shared/assets/icons/emoji/oden.svg new file mode 100644 index 0000000..f5f7653 --- /dev/null +++ b/src/shared/assets/icons/emoji/oden.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/office.svg b/src/shared/assets/icons/emoji/office.svg new file mode 100644 index 0000000..8d06ecd --- /dev/null +++ b/src/shared/assets/icons/emoji/office.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oil.svg b/src/shared/assets/icons/emoji/oil.svg new file mode 100644 index 0000000..b7f9cc6 --- /dev/null +++ b/src/shared/assets/icons/emoji/oil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ok.svg b/src/shared/assets/icons/emoji/ok.svg new file mode 100644 index 0000000..1c42dae --- /dev/null +++ b/src/shared/assets/icons/emoji/ok.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ok_hand.svg b/src/shared/assets/icons/emoji/ok_hand.svg new file mode 100644 index 0000000..c36d774 --- /dev/null +++ b/src/shared/assets/icons/emoji/ok_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/older_adult.svg b/src/shared/assets/icons/emoji/older_adult.svg new file mode 100644 index 0000000..ad713bb --- /dev/null +++ b/src/shared/assets/icons/emoji/older_adult.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/older_man.svg b/src/shared/assets/icons/emoji/older_man.svg new file mode 100644 index 0000000..eecf20c --- /dev/null +++ b/src/shared/assets/icons/emoji/older_man.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/older_woman.svg b/src/shared/assets/icons/emoji/older_woman.svg new file mode 100644 index 0000000..5186761 --- /dev/null +++ b/src/shared/assets/icons/emoji/older_woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/om_symbol.svg b/src/shared/assets/icons/emoji/om_symbol.svg new file mode 100644 index 0000000..9e6a1ef --- /dev/null +++ b/src/shared/assets/icons/emoji/om_symbol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/on.svg b/src/shared/assets/icons/emoji/on.svg new file mode 100644 index 0000000..a885bab --- /dev/null +++ b/src/shared/assets/icons/emoji/on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oncoming_automobile.svg b/src/shared/assets/icons/emoji/oncoming_automobile.svg new file mode 100644 index 0000000..25d8df0 --- /dev/null +++ b/src/shared/assets/icons/emoji/oncoming_automobile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oncoming_bus.svg b/src/shared/assets/icons/emoji/oncoming_bus.svg new file mode 100644 index 0000000..68ca65f --- /dev/null +++ b/src/shared/assets/icons/emoji/oncoming_bus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oncoming_police_car.svg b/src/shared/assets/icons/emoji/oncoming_police_car.svg new file mode 100644 index 0000000..ef1662d --- /dev/null +++ b/src/shared/assets/icons/emoji/oncoming_police_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oncoming_taxi.svg b/src/shared/assets/icons/emoji/oncoming_taxi.svg new file mode 100644 index 0000000..e066a12 --- /dev/null +++ b/src/shared/assets/icons/emoji/oncoming_taxi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/one.svg b/src/shared/assets/icons/emoji/one.svg new file mode 100644 index 0000000..38197ad --- /dev/null +++ b/src/shared/assets/icons/emoji/one.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/one_piece_swimsuit.svg b/src/shared/assets/icons/emoji/one_piece_swimsuit.svg new file mode 100644 index 0000000..df3eceb --- /dev/null +++ b/src/shared/assets/icons/emoji/one_piece_swimsuit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/onion.svg b/src/shared/assets/icons/emoji/onion.svg new file mode 100644 index 0000000..ab68cb1 --- /dev/null +++ b/src/shared/assets/icons/emoji/onion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/open_file_folder.svg b/src/shared/assets/icons/emoji/open_file_folder.svg new file mode 100644 index 0000000..60ec379 --- /dev/null +++ b/src/shared/assets/icons/emoji/open_file_folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/open_hands.svg b/src/shared/assets/icons/emoji/open_hands.svg new file mode 100644 index 0000000..eebee25 --- /dev/null +++ b/src/shared/assets/icons/emoji/open_hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/open_mouth.svg b/src/shared/assets/icons/emoji/open_mouth.svg new file mode 100644 index 0000000..21fde1f --- /dev/null +++ b/src/shared/assets/icons/emoji/open_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ophiuchus.svg b/src/shared/assets/icons/emoji/ophiuchus.svg new file mode 100644 index 0000000..4abec02 --- /dev/null +++ b/src/shared/assets/icons/emoji/ophiuchus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orange_book.svg b/src/shared/assets/icons/emoji/orange_book.svg new file mode 100644 index 0000000..b055f66 --- /dev/null +++ b/src/shared/assets/icons/emoji/orange_book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orange_circle.svg b/src/shared/assets/icons/emoji/orange_circle.svg new file mode 100644 index 0000000..2db43d5 --- /dev/null +++ b/src/shared/assets/icons/emoji/orange_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orange_heart.svg b/src/shared/assets/icons/emoji/orange_heart.svg new file mode 100644 index 0000000..26ae9e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/orange_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orange_square.svg b/src/shared/assets/icons/emoji/orange_square.svg new file mode 100644 index 0000000..3cbdde4 --- /dev/null +++ b/src/shared/assets/icons/emoji/orange_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orangutan.svg b/src/shared/assets/icons/emoji/orangutan.svg new file mode 100644 index 0000000..0382845 --- /dev/null +++ b/src/shared/assets/icons/emoji/orangutan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/orthodox_cross.svg b/src/shared/assets/icons/emoji/orthodox_cross.svg new file mode 100644 index 0000000..4d02f16 --- /dev/null +++ b/src/shared/assets/icons/emoji/orthodox_cross.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/otter.svg b/src/shared/assets/icons/emoji/otter.svg new file mode 100644 index 0000000..5ea0173 --- /dev/null +++ b/src/shared/assets/icons/emoji/otter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/outbox_tray.svg b/src/shared/assets/icons/emoji/outbox_tray.svg new file mode 100644 index 0000000..62d9033 --- /dev/null +++ b/src/shared/assets/icons/emoji/outbox_tray.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/owl.svg b/src/shared/assets/icons/emoji/owl.svg new file mode 100644 index 0000000..bb0d461 --- /dev/null +++ b/src/shared/assets/icons/emoji/owl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ox.svg b/src/shared/assets/icons/emoji/ox.svg new file mode 100644 index 0000000..378164c --- /dev/null +++ b/src/shared/assets/icons/emoji/ox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/oyster.svg b/src/shared/assets/icons/emoji/oyster.svg new file mode 100644 index 0000000..f0f4778 --- /dev/null +++ b/src/shared/assets/icons/emoji/oyster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/package.svg b/src/shared/assets/icons/emoji/package.svg new file mode 100644 index 0000000..1ce0961 --- /dev/null +++ b/src/shared/assets/icons/emoji/package.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/page_facing_up.svg b/src/shared/assets/icons/emoji/page_facing_up.svg new file mode 100644 index 0000000..4631bc5 --- /dev/null +++ b/src/shared/assets/icons/emoji/page_facing_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/page_with_curl.svg b/src/shared/assets/icons/emoji/page_with_curl.svg new file mode 100644 index 0000000..bf19ad2 --- /dev/null +++ b/src/shared/assets/icons/emoji/page_with_curl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pager.svg b/src/shared/assets/icons/emoji/pager.svg new file mode 100644 index 0000000..d7d4b5f --- /dev/null +++ b/src/shared/assets/icons/emoji/pager.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/paintbrush.svg b/src/shared/assets/icons/emoji/paintbrush.svg new file mode 100644 index 0000000..b39bcbc --- /dev/null +++ b/src/shared/assets/icons/emoji/paintbrush.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/palm_tree.svg b/src/shared/assets/icons/emoji/palm_tree.svg new file mode 100644 index 0000000..55d246a --- /dev/null +++ b/src/shared/assets/icons/emoji/palm_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/palms_up_together.svg b/src/shared/assets/icons/emoji/palms_up_together.svg new file mode 100644 index 0000000..96b6c65 --- /dev/null +++ b/src/shared/assets/icons/emoji/palms_up_together.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pancakes.svg b/src/shared/assets/icons/emoji/pancakes.svg new file mode 100644 index 0000000..795fb13 --- /dev/null +++ b/src/shared/assets/icons/emoji/pancakes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/panda_face.svg b/src/shared/assets/icons/emoji/panda_face.svg new file mode 100644 index 0000000..8607893 --- /dev/null +++ b/src/shared/assets/icons/emoji/panda_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/paperclip.svg b/src/shared/assets/icons/emoji/paperclip.svg new file mode 100644 index 0000000..284cf66 --- /dev/null +++ b/src/shared/assets/icons/emoji/paperclip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/paperclips.svg b/src/shared/assets/icons/emoji/paperclips.svg new file mode 100644 index 0000000..a6ef181 --- /dev/null +++ b/src/shared/assets/icons/emoji/paperclips.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/parachute.svg b/src/shared/assets/icons/emoji/parachute.svg new file mode 100644 index 0000000..acb16e2 --- /dev/null +++ b/src/shared/assets/icons/emoji/parachute.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/park.svg b/src/shared/assets/icons/emoji/park.svg new file mode 100644 index 0000000..940483b --- /dev/null +++ b/src/shared/assets/icons/emoji/park.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/parking.svg b/src/shared/assets/icons/emoji/parking.svg new file mode 100644 index 0000000..8a494b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/parking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/parrot.svg b/src/shared/assets/icons/emoji/parrot.svg new file mode 100644 index 0000000..f7f743c --- /dev/null +++ b/src/shared/assets/icons/emoji/parrot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/part_alternation_mark.svg b/src/shared/assets/icons/emoji/part_alternation_mark.svg new file mode 100644 index 0000000..e2c5c49 --- /dev/null +++ b/src/shared/assets/icons/emoji/part_alternation_mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/partly_sunny.svg b/src/shared/assets/icons/emoji/partly_sunny.svg new file mode 100644 index 0000000..89d57dc --- /dev/null +++ b/src/shared/assets/icons/emoji/partly_sunny.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/partying_face.svg b/src/shared/assets/icons/emoji/partying_face.svg new file mode 100644 index 0000000..c7a9538 --- /dev/null +++ b/src/shared/assets/icons/emoji/partying_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/passport_control.svg b/src/shared/assets/icons/emoji/passport_control.svg new file mode 100644 index 0000000..2e9dfdf --- /dev/null +++ b/src/shared/assets/icons/emoji/passport_control.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pause_button.svg b/src/shared/assets/icons/emoji/pause_button.svg new file mode 100644 index 0000000..9cb0ac8 --- /dev/null +++ b/src/shared/assets/icons/emoji/pause_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/peace.svg b/src/shared/assets/icons/emoji/peace.svg new file mode 100644 index 0000000..a0be08a --- /dev/null +++ b/src/shared/assets/icons/emoji/peace.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/peach.svg b/src/shared/assets/icons/emoji/peach.svg new file mode 100644 index 0000000..84e81f5 --- /dev/null +++ b/src/shared/assets/icons/emoji/peach.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/peacock.svg b/src/shared/assets/icons/emoji/peacock.svg new file mode 100644 index 0000000..7606d38 --- /dev/null +++ b/src/shared/assets/icons/emoji/peacock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/peanuts.svg b/src/shared/assets/icons/emoji/peanuts.svg new file mode 100644 index 0000000..c809689 --- /dev/null +++ b/src/shared/assets/icons/emoji/peanuts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pear.svg b/src/shared/assets/icons/emoji/pear.svg new file mode 100644 index 0000000..2888963 --- /dev/null +++ b/src/shared/assets/icons/emoji/pear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pen_ballpoint.svg b/src/shared/assets/icons/emoji/pen_ballpoint.svg new file mode 100644 index 0000000..4e791e6 --- /dev/null +++ b/src/shared/assets/icons/emoji/pen_ballpoint.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pen_fountain.svg b/src/shared/assets/icons/emoji/pen_fountain.svg new file mode 100644 index 0000000..8a7f773 --- /dev/null +++ b/src/shared/assets/icons/emoji/pen_fountain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pencil.svg b/src/shared/assets/icons/emoji/pencil.svg new file mode 100644 index 0000000..1697ffb --- /dev/null +++ b/src/shared/assets/icons/emoji/pencil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pencil2.svg b/src/shared/assets/icons/emoji/pencil2.svg new file mode 100644 index 0000000..a9b69e1 --- /dev/null +++ b/src/shared/assets/icons/emoji/pencil2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/penguin.svg b/src/shared/assets/icons/emoji/penguin.svg new file mode 100644 index 0000000..fe34d91 --- /dev/null +++ b/src/shared/assets/icons/emoji/penguin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pensive.svg b/src/shared/assets/icons/emoji/pensive.svg new file mode 100644 index 0000000..be03530 --- /dev/null +++ b/src/shared/assets/icons/emoji/pensive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/people_holding_hands.svg b/src/shared/assets/icons/emoji/people_holding_hands.svg new file mode 100644 index 0000000..6c3d407 --- /dev/null +++ b/src/shared/assets/icons/emoji/people_holding_hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/people_with_bunny_ears_partying.svg b/src/shared/assets/icons/emoji/people_with_bunny_ears_partying.svg new file mode 100644 index 0000000..062ff26 --- /dev/null +++ b/src/shared/assets/icons/emoji/people_with_bunny_ears_partying.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/people_wrestling.svg b/src/shared/assets/icons/emoji/people_wrestling.svg new file mode 100644 index 0000000..fcd902e --- /dev/null +++ b/src/shared/assets/icons/emoji/people_wrestling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/performing_arts.svg b/src/shared/assets/icons/emoji/performing_arts.svg new file mode 100644 index 0000000..c8c9901 --- /dev/null +++ b/src/shared/assets/icons/emoji/performing_arts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/persevere.svg b/src/shared/assets/icons/emoji/persevere.svg new file mode 100644 index 0000000..e548a2e --- /dev/null +++ b/src/shared/assets/icons/emoji/persevere.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_biking.svg b/src/shared/assets/icons/emoji/person_biking.svg new file mode 100644 index 0000000..f1bbb72 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_bouncing_ball.svg b/src/shared/assets/icons/emoji/person_bouncing_ball.svg new file mode 100644 index 0000000..e772c2c --- /dev/null +++ b/src/shared/assets/icons/emoji/person_bouncing_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_bowing.svg b/src/shared/assets/icons/emoji/person_bowing.svg new file mode 100644 index 0000000..7ad69e9 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_bowing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_climbing.svg b/src/shared/assets/icons/emoji/person_climbing.svg new file mode 100644 index 0000000..9709f86 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_climbing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_doing_cartwheel.svg b/src/shared/assets/icons/emoji/person_doing_cartwheel.svg new file mode 100644 index 0000000..aaf5b18 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_doing_cartwheel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_facepalming.svg b/src/shared/assets/icons/emoji/person_facepalming.svg new file mode 100644 index 0000000..631e91c --- /dev/null +++ b/src/shared/assets/icons/emoji/person_facepalming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_fencing.svg b/src/shared/assets/icons/emoji/person_fencing.svg new file mode 100644 index 0000000..5cfb388 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_fencing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_frowning.svg b/src/shared/assets/icons/emoji/person_frowning.svg new file mode 100644 index 0000000..0506155 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_frowning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_gesturing_no.svg b/src/shared/assets/icons/emoji/person_gesturing_no.svg new file mode 100644 index 0000000..d3d9854 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_gesturing_no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_gesturing_ok.svg b/src/shared/assets/icons/emoji/person_gesturing_ok.svg new file mode 100644 index 0000000..351e8d8 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_gesturing_ok.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_getting_haircut.svg b/src/shared/assets/icons/emoji/person_getting_haircut.svg new file mode 100644 index 0000000..1957fa0 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_getting_haircut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_getting_massage.svg b/src/shared/assets/icons/emoji/person_getting_massage.svg new file mode 100644 index 0000000..57e3588 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_getting_massage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_golfing.svg b/src/shared/assets/icons/emoji/person_golfing.svg new file mode 100644 index 0000000..6b973a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_golfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_in_lotus_position.svg b/src/shared/assets/icons/emoji/person_in_lotus_position.svg new file mode 100644 index 0000000..e6b30ed --- /dev/null +++ b/src/shared/assets/icons/emoji/person_in_lotus_position.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_in_steamy_room.svg b/src/shared/assets/icons/emoji/person_in_steamy_room.svg new file mode 100644 index 0000000..4974433 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_in_steamy_room.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_juggling.svg b/src/shared/assets/icons/emoji/person_juggling.svg new file mode 100644 index 0000000..d79aad7 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_juggling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_kneeling.svg b/src/shared/assets/icons/emoji/person_kneeling.svg new file mode 100644 index 0000000..60fe537 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_kneeling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_lifting_weights.svg b/src/shared/assets/icons/emoji/person_lifting_weights.svg new file mode 100644 index 0000000..78e9c7a --- /dev/null +++ b/src/shared/assets/icons/emoji/person_lifting_weights.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_mountain_biking.svg b/src/shared/assets/icons/emoji/person_mountain_biking.svg new file mode 100644 index 0000000..fb824d5 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_mountain_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_playing_handball.svg b/src/shared/assets/icons/emoji/person_playing_handball.svg new file mode 100644 index 0000000..b678e65 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_playing_handball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_playing_water_polo.svg b/src/shared/assets/icons/emoji/person_playing_water_polo.svg new file mode 100644 index 0000000..df8453d --- /dev/null +++ b/src/shared/assets/icons/emoji/person_playing_water_polo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_pouting.svg b/src/shared/assets/icons/emoji/person_pouting.svg new file mode 100644 index 0000000..bc4da1c --- /dev/null +++ b/src/shared/assets/icons/emoji/person_pouting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_raising_hand.svg b/src/shared/assets/icons/emoji/person_raising_hand.svg new file mode 100644 index 0000000..197e831 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_raising_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_rowing_boat.svg b/src/shared/assets/icons/emoji/person_rowing_boat.svg new file mode 100644 index 0000000..a427ce6 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_rowing_boat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_running.svg b/src/shared/assets/icons/emoji/person_running.svg new file mode 100644 index 0000000..a9658d6 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_running.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_shrugging.svg b/src/shared/assets/icons/emoji/person_shrugging.svg new file mode 100644 index 0000000..d5984aa --- /dev/null +++ b/src/shared/assets/icons/emoji/person_shrugging.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_standing.svg b/src/shared/assets/icons/emoji/person_standing.svg new file mode 100644 index 0000000..331041b --- /dev/null +++ b/src/shared/assets/icons/emoji/person_standing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_surfing.svg b/src/shared/assets/icons/emoji/person_surfing.svg new file mode 100644 index 0000000..53b4ec6 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_surfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_swimming.svg b/src/shared/assets/icons/emoji/person_swimming.svg new file mode 100644 index 0000000..4901376 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_swimming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_tipping_hand.svg b/src/shared/assets/icons/emoji/person_tipping_hand.svg new file mode 100644 index 0000000..eeffd85 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_tipping_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_walking.svg b/src/shared/assets/icons/emoji/person_walking.svg new file mode 100644 index 0000000..124c296 --- /dev/null +++ b/src/shared/assets/icons/emoji/person_walking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/person_wearing_turban.svg b/src/shared/assets/icons/emoji/person_wearing_turban.svg new file mode 100644 index 0000000..216ebcc --- /dev/null +++ b/src/shared/assets/icons/emoji/person_wearing_turban.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/petri_dish.svg b/src/shared/assets/icons/emoji/petri_dish.svg new file mode 100644 index 0000000..8fdeaf9 --- /dev/null +++ b/src/shared/assets/icons/emoji/petri_dish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pick.svg b/src/shared/assets/icons/emoji/pick.svg new file mode 100644 index 0000000..ac8ac01 --- /dev/null +++ b/src/shared/assets/icons/emoji/pick.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pie.svg b/src/shared/assets/icons/emoji/pie.svg new file mode 100644 index 0000000..5916cac --- /dev/null +++ b/src/shared/assets/icons/emoji/pie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pig.svg b/src/shared/assets/icons/emoji/pig.svg new file mode 100644 index 0000000..49175ea --- /dev/null +++ b/src/shared/assets/icons/emoji/pig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pig2.svg b/src/shared/assets/icons/emoji/pig2.svg new file mode 100644 index 0000000..9a71ef8 --- /dev/null +++ b/src/shared/assets/icons/emoji/pig2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pig_nose.svg b/src/shared/assets/icons/emoji/pig_nose.svg new file mode 100644 index 0000000..071722d --- /dev/null +++ b/src/shared/assets/icons/emoji/pig_nose.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pill.svg b/src/shared/assets/icons/emoji/pill.svg new file mode 100644 index 0000000..931839b --- /dev/null +++ b/src/shared/assets/icons/emoji/pill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pinching_hand.svg b/src/shared/assets/icons/emoji/pinching_hand.svg new file mode 100644 index 0000000..626e3b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/pinching_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pineapple.svg b/src/shared/assets/icons/emoji/pineapple.svg new file mode 100644 index 0000000..e96999d --- /dev/null +++ b/src/shared/assets/icons/emoji/pineapple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ping_pong.svg b/src/shared/assets/icons/emoji/ping_pong.svg new file mode 100644 index 0000000..6201ef5 --- /dev/null +++ b/src/shared/assets/icons/emoji/ping_pong.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pirate_flag.svg b/src/shared/assets/icons/emoji/pirate_flag.svg new file mode 100644 index 0000000..ae0d531 --- /dev/null +++ b/src/shared/assets/icons/emoji/pirate_flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pisces.svg b/src/shared/assets/icons/emoji/pisces.svg new file mode 100644 index 0000000..854032a --- /dev/null +++ b/src/shared/assets/icons/emoji/pisces.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pizza.svg b/src/shared/assets/icons/emoji/pizza.svg new file mode 100644 index 0000000..3a44bba --- /dev/null +++ b/src/shared/assets/icons/emoji/pizza.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/place_of_worship.svg b/src/shared/assets/icons/emoji/place_of_worship.svg new file mode 100644 index 0000000..086e273 --- /dev/null +++ b/src/shared/assets/icons/emoji/place_of_worship.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/play_pause.svg b/src/shared/assets/icons/emoji/play_pause.svg new file mode 100644 index 0000000..69c3d2d --- /dev/null +++ b/src/shared/assets/icons/emoji/play_pause.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pleading_face.svg b/src/shared/assets/icons/emoji/pleading_face.svg new file mode 100644 index 0000000..fe93360 --- /dev/null +++ b/src/shared/assets/icons/emoji/pleading_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/point_down.svg b/src/shared/assets/icons/emoji/point_down.svg new file mode 100644 index 0000000..b3df617 --- /dev/null +++ b/src/shared/assets/icons/emoji/point_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/point_left.svg b/src/shared/assets/icons/emoji/point_left.svg new file mode 100644 index 0000000..10cf55f --- /dev/null +++ b/src/shared/assets/icons/emoji/point_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/point_right.svg b/src/shared/assets/icons/emoji/point_right.svg new file mode 100644 index 0000000..f8c6a4b --- /dev/null +++ b/src/shared/assets/icons/emoji/point_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/point_up.svg b/src/shared/assets/icons/emoji/point_up.svg new file mode 100644 index 0000000..95d8ddd --- /dev/null +++ b/src/shared/assets/icons/emoji/point_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/point_up_2.svg b/src/shared/assets/icons/emoji/point_up_2.svg new file mode 100644 index 0000000..46bc359 --- /dev/null +++ b/src/shared/assets/icons/emoji/point_up_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/police_car.svg b/src/shared/assets/icons/emoji/police_car.svg new file mode 100644 index 0000000..cbf344d --- /dev/null +++ b/src/shared/assets/icons/emoji/police_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/police_officer.svg b/src/shared/assets/icons/emoji/police_officer.svg new file mode 100644 index 0000000..feaeb0b --- /dev/null +++ b/src/shared/assets/icons/emoji/police_officer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/poodle.svg b/src/shared/assets/icons/emoji/poodle.svg new file mode 100644 index 0000000..4852dda --- /dev/null +++ b/src/shared/assets/icons/emoji/poodle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/poop.svg b/src/shared/assets/icons/emoji/poop.svg new file mode 100644 index 0000000..19221f6 --- /dev/null +++ b/src/shared/assets/icons/emoji/poop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/popcorn.svg b/src/shared/assets/icons/emoji/popcorn.svg new file mode 100644 index 0000000..ddbff6d --- /dev/null +++ b/src/shared/assets/icons/emoji/popcorn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/post_office.svg b/src/shared/assets/icons/emoji/post_office.svg new file mode 100644 index 0000000..132ba41 --- /dev/null +++ b/src/shared/assets/icons/emoji/post_office.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/postal_horn.svg b/src/shared/assets/icons/emoji/postal_horn.svg new file mode 100644 index 0000000..2fa1e2d --- /dev/null +++ b/src/shared/assets/icons/emoji/postal_horn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/postbox.svg b/src/shared/assets/icons/emoji/postbox.svg new file mode 100644 index 0000000..61c0332 --- /dev/null +++ b/src/shared/assets/icons/emoji/postbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/potable_water.svg b/src/shared/assets/icons/emoji/potable_water.svg new file mode 100644 index 0000000..40f5774 --- /dev/null +++ b/src/shared/assets/icons/emoji/potable_water.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/potato.svg b/src/shared/assets/icons/emoji/potato.svg new file mode 100644 index 0000000..b8d120d --- /dev/null +++ b/src/shared/assets/icons/emoji/potato.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pouch.svg b/src/shared/assets/icons/emoji/pouch.svg new file mode 100644 index 0000000..6d6b136 --- /dev/null +++ b/src/shared/assets/icons/emoji/pouch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/poultry_leg.svg b/src/shared/assets/icons/emoji/poultry_leg.svg new file mode 100644 index 0000000..77d0b87 --- /dev/null +++ b/src/shared/assets/icons/emoji/poultry_leg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pound.svg b/src/shared/assets/icons/emoji/pound.svg new file mode 100644 index 0000000..93a16ff --- /dev/null +++ b/src/shared/assets/icons/emoji/pound.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pouting_cat.svg b/src/shared/assets/icons/emoji/pouting_cat.svg new file mode 100644 index 0000000..19a41d7 --- /dev/null +++ b/src/shared/assets/icons/emoji/pouting_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pray.svg b/src/shared/assets/icons/emoji/pray.svg new file mode 100644 index 0000000..8b33d80 --- /dev/null +++ b/src/shared/assets/icons/emoji/pray.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/prayer_beads.svg b/src/shared/assets/icons/emoji/prayer_beads.svg new file mode 100644 index 0000000..a38a8e2 --- /dev/null +++ b/src/shared/assets/icons/emoji/prayer_beads.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pregnant_woman.svg b/src/shared/assets/icons/emoji/pregnant_woman.svg new file mode 100644 index 0000000..31a9377 --- /dev/null +++ b/src/shared/assets/icons/emoji/pregnant_woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pretzel.svg b/src/shared/assets/icons/emoji/pretzel.svg new file mode 100644 index 0000000..10bd682 --- /dev/null +++ b/src/shared/assets/icons/emoji/pretzel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/prince.svg b/src/shared/assets/icons/emoji/prince.svg new file mode 100644 index 0000000..666ac38 --- /dev/null +++ b/src/shared/assets/icons/emoji/prince.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/princess.svg b/src/shared/assets/icons/emoji/princess.svg new file mode 100644 index 0000000..9704853 --- /dev/null +++ b/src/shared/assets/icons/emoji/princess.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/printer.svg b/src/shared/assets/icons/emoji/printer.svg new file mode 100644 index 0000000..fae59fe --- /dev/null +++ b/src/shared/assets/icons/emoji/printer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/probing_cane.svg b/src/shared/assets/icons/emoji/probing_cane.svg new file mode 100644 index 0000000..aba8a98 --- /dev/null +++ b/src/shared/assets/icons/emoji/probing_cane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/projector.svg b/src/shared/assets/icons/emoji/projector.svg new file mode 100644 index 0000000..b12b42c --- /dev/null +++ b/src/shared/assets/icons/emoji/projector.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/punch.svg b/src/shared/assets/icons/emoji/punch.svg new file mode 100644 index 0000000..813373e --- /dev/null +++ b/src/shared/assets/icons/emoji/punch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/purple_circle.svg b/src/shared/assets/icons/emoji/purple_circle.svg new file mode 100644 index 0000000..8a034ca --- /dev/null +++ b/src/shared/assets/icons/emoji/purple_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/purple_heart.svg b/src/shared/assets/icons/emoji/purple_heart.svg new file mode 100644 index 0000000..f1dc073 --- /dev/null +++ b/src/shared/assets/icons/emoji/purple_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/purple_square.svg b/src/shared/assets/icons/emoji/purple_square.svg new file mode 100644 index 0000000..c331b1f --- /dev/null +++ b/src/shared/assets/icons/emoji/purple_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/purse.svg b/src/shared/assets/icons/emoji/purse.svg new file mode 100644 index 0000000..bb404a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/purse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/pushpin.svg b/src/shared/assets/icons/emoji/pushpin.svg new file mode 100644 index 0000000..2ab6da3 --- /dev/null +++ b/src/shared/assets/icons/emoji/pushpin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/put_litter_in_its_place.svg b/src/shared/assets/icons/emoji/put_litter_in_its_place.svg new file mode 100644 index 0000000..dadbe6e --- /dev/null +++ b/src/shared/assets/icons/emoji/put_litter_in_its_place.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/question.svg b/src/shared/assets/icons/emoji/question.svg new file mode 100644 index 0000000..d76931b --- /dev/null +++ b/src/shared/assets/icons/emoji/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rabbit.svg b/src/shared/assets/icons/emoji/rabbit.svg new file mode 100644 index 0000000..2f70f96 --- /dev/null +++ b/src/shared/assets/icons/emoji/rabbit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rabbit2.svg b/src/shared/assets/icons/emoji/rabbit2.svg new file mode 100644 index 0000000..71be122 --- /dev/null +++ b/src/shared/assets/icons/emoji/rabbit2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/raccoon.svg b/src/shared/assets/icons/emoji/raccoon.svg new file mode 100644 index 0000000..30c8872 --- /dev/null +++ b/src/shared/assets/icons/emoji/raccoon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/race_car.svg b/src/shared/assets/icons/emoji/race_car.svg new file mode 100644 index 0000000..3f42716 --- /dev/null +++ b/src/shared/assets/icons/emoji/race_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/racehorse.svg b/src/shared/assets/icons/emoji/racehorse.svg new file mode 100644 index 0000000..1cd00b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/racehorse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/radio.svg b/src/shared/assets/icons/emoji/radio.svg new file mode 100644 index 0000000..33808ad --- /dev/null +++ b/src/shared/assets/icons/emoji/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/radio_button.svg b/src/shared/assets/icons/emoji/radio_button.svg new file mode 100644 index 0000000..e4d0348 --- /dev/null +++ b/src/shared/assets/icons/emoji/radio_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/radioactive.svg b/src/shared/assets/icons/emoji/radioactive.svg new file mode 100644 index 0000000..2039db1 --- /dev/null +++ b/src/shared/assets/icons/emoji/radioactive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rage.svg b/src/shared/assets/icons/emoji/rage.svg new file mode 100644 index 0000000..f370594 --- /dev/null +++ b/src/shared/assets/icons/emoji/rage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/railway_car.svg b/src/shared/assets/icons/emoji/railway_car.svg new file mode 100644 index 0000000..775ae86 --- /dev/null +++ b/src/shared/assets/icons/emoji/railway_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/railway_track.svg b/src/shared/assets/icons/emoji/railway_track.svg new file mode 100644 index 0000000..f11069e --- /dev/null +++ b/src/shared/assets/icons/emoji/railway_track.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rainbow.svg b/src/shared/assets/icons/emoji/rainbow.svg new file mode 100644 index 0000000..ffe6a12 --- /dev/null +++ b/src/shared/assets/icons/emoji/rainbow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rainbow_flag.svg b/src/shared/assets/icons/emoji/rainbow_flag.svg new file mode 100644 index 0000000..1969e49 --- /dev/null +++ b/src/shared/assets/icons/emoji/rainbow_flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/raised_back_of_hand.svg b/src/shared/assets/icons/emoji/raised_back_of_hand.svg new file mode 100644 index 0000000..a3d2b1c --- /dev/null +++ b/src/shared/assets/icons/emoji/raised_back_of_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/raised_hand.svg b/src/shared/assets/icons/emoji/raised_hand.svg new file mode 100644 index 0000000..31576f1 --- /dev/null +++ b/src/shared/assets/icons/emoji/raised_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/raised_hands.svg b/src/shared/assets/icons/emoji/raised_hands.svg new file mode 100644 index 0000000..be95511 --- /dev/null +++ b/src/shared/assets/icons/emoji/raised_hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ram.svg b/src/shared/assets/icons/emoji/ram.svg new file mode 100644 index 0000000..f0ba99e --- /dev/null +++ b/src/shared/assets/icons/emoji/ram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ramen.svg b/src/shared/assets/icons/emoji/ramen.svg new file mode 100644 index 0000000..e9fc970 --- /dev/null +++ b/src/shared/assets/icons/emoji/ramen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rat.svg b/src/shared/assets/icons/emoji/rat.svg new file mode 100644 index 0000000..d0a03a2 --- /dev/null +++ b/src/shared/assets/icons/emoji/rat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/razor.svg b/src/shared/assets/icons/emoji/razor.svg new file mode 100644 index 0000000..3b261c9 --- /dev/null +++ b/src/shared/assets/icons/emoji/razor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/receipt.svg b/src/shared/assets/icons/emoji/receipt.svg new file mode 100644 index 0000000..c6d288c --- /dev/null +++ b/src/shared/assets/icons/emoji/receipt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/record_button.svg b/src/shared/assets/icons/emoji/record_button.svg new file mode 100644 index 0000000..e8dfcca --- /dev/null +++ b/src/shared/assets/icons/emoji/record_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/recycle.svg b/src/shared/assets/icons/emoji/recycle.svg new file mode 100644 index 0000000..06352b9 --- /dev/null +++ b/src/shared/assets/icons/emoji/recycle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/red_car.svg b/src/shared/assets/icons/emoji/red_car.svg new file mode 100644 index 0000000..97b5f10 --- /dev/null +++ b/src/shared/assets/icons/emoji/red_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/red_circle.svg b/src/shared/assets/icons/emoji/red_circle.svg new file mode 100644 index 0000000..d98cc6d --- /dev/null +++ b/src/shared/assets/icons/emoji/red_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/red_envelope.svg b/src/shared/assets/icons/emoji/red_envelope.svg new file mode 100644 index 0000000..203e78d --- /dev/null +++ b/src/shared/assets/icons/emoji/red_envelope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/red_square.svg b/src/shared/assets/icons/emoji/red_square.svg new file mode 100644 index 0000000..5326d65 --- /dev/null +++ b/src/shared/assets/icons/emoji/red_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/relaxed.svg b/src/shared/assets/icons/emoji/relaxed.svg new file mode 100644 index 0000000..5020134 --- /dev/null +++ b/src/shared/assets/icons/emoji/relaxed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/relieved.svg b/src/shared/assets/icons/emoji/relieved.svg new file mode 100644 index 0000000..f8d5623 --- /dev/null +++ b/src/shared/assets/icons/emoji/relieved.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/reminder_ribbon.svg b/src/shared/assets/icons/emoji/reminder_ribbon.svg new file mode 100644 index 0000000..1f419d4 --- /dev/null +++ b/src/shared/assets/icons/emoji/reminder_ribbon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/repeat.svg b/src/shared/assets/icons/emoji/repeat.svg new file mode 100644 index 0000000..27efdab --- /dev/null +++ b/src/shared/assets/icons/emoji/repeat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/repeat_one.svg b/src/shared/assets/icons/emoji/repeat_one.svg new file mode 100644 index 0000000..926d896 --- /dev/null +++ b/src/shared/assets/icons/emoji/repeat_one.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/restroom.svg b/src/shared/assets/icons/emoji/restroom.svg new file mode 100644 index 0000000..0ecbb53 --- /dev/null +++ b/src/shared/assets/icons/emoji/restroom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/revolving_hearts.svg b/src/shared/assets/icons/emoji/revolving_hearts.svg new file mode 100644 index 0000000..b9459b7 --- /dev/null +++ b/src/shared/assets/icons/emoji/revolving_hearts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rewind.svg b/src/shared/assets/icons/emoji/rewind.svg new file mode 100644 index 0000000..0510ac7 --- /dev/null +++ b/src/shared/assets/icons/emoji/rewind.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rhino.svg b/src/shared/assets/icons/emoji/rhino.svg new file mode 100644 index 0000000..0d07017 --- /dev/null +++ b/src/shared/assets/icons/emoji/rhino.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ribbon.svg b/src/shared/assets/icons/emoji/ribbon.svg new file mode 100644 index 0000000..03d4a75 --- /dev/null +++ b/src/shared/assets/icons/emoji/ribbon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rice.svg b/src/shared/assets/icons/emoji/rice.svg new file mode 100644 index 0000000..04019a1 --- /dev/null +++ b/src/shared/assets/icons/emoji/rice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rice_ball.svg b/src/shared/assets/icons/emoji/rice_ball.svg new file mode 100644 index 0000000..e508f8f --- /dev/null +++ b/src/shared/assets/icons/emoji/rice_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rice_cracker.svg b/src/shared/assets/icons/emoji/rice_cracker.svg new file mode 100644 index 0000000..f35a02e --- /dev/null +++ b/src/shared/assets/icons/emoji/rice_cracker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rice_scene.svg b/src/shared/assets/icons/emoji/rice_scene.svg new file mode 100644 index 0000000..37c3a7e --- /dev/null +++ b/src/shared/assets/icons/emoji/rice_scene.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/right_facing_fist.svg b/src/shared/assets/icons/emoji/right_facing_fist.svg new file mode 100644 index 0000000..afaa803 --- /dev/null +++ b/src/shared/assets/icons/emoji/right_facing_fist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ring.svg b/src/shared/assets/icons/emoji/ring.svg new file mode 100644 index 0000000..0834165 --- /dev/null +++ b/src/shared/assets/icons/emoji/ring.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ringed_planet.svg b/src/shared/assets/icons/emoji/ringed_planet.svg new file mode 100644 index 0000000..46a0c53 --- /dev/null +++ b/src/shared/assets/icons/emoji/ringed_planet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/robot.svg b/src/shared/assets/icons/emoji/robot.svg new file mode 100644 index 0000000..1dbe6d6 --- /dev/null +++ b/src/shared/assets/icons/emoji/robot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rocket.svg b/src/shared/assets/icons/emoji/rocket.svg new file mode 100644 index 0000000..8658d43 --- /dev/null +++ b/src/shared/assets/icons/emoji/rocket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rofl.svg b/src/shared/assets/icons/emoji/rofl.svg new file mode 100644 index 0000000..7ddfcae --- /dev/null +++ b/src/shared/assets/icons/emoji/rofl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/roll_of_paper.svg b/src/shared/assets/icons/emoji/roll_of_paper.svg new file mode 100644 index 0000000..e8f7252 --- /dev/null +++ b/src/shared/assets/icons/emoji/roll_of_paper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/roller_coaster.svg b/src/shared/assets/icons/emoji/roller_coaster.svg new file mode 100644 index 0000000..b1e64ec --- /dev/null +++ b/src/shared/assets/icons/emoji/roller_coaster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rolling_eyes.svg b/src/shared/assets/icons/emoji/rolling_eyes.svg new file mode 100644 index 0000000..91c0b62 --- /dev/null +++ b/src/shared/assets/icons/emoji/rolling_eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rooster.svg b/src/shared/assets/icons/emoji/rooster.svg new file mode 100644 index 0000000..29a4abe --- /dev/null +++ b/src/shared/assets/icons/emoji/rooster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rose.svg b/src/shared/assets/icons/emoji/rose.svg new file mode 100644 index 0000000..500d925 --- /dev/null +++ b/src/shared/assets/icons/emoji/rose.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rosette.svg b/src/shared/assets/icons/emoji/rosette.svg new file mode 100644 index 0000000..dfaa718 --- /dev/null +++ b/src/shared/assets/icons/emoji/rosette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rotating_light.svg b/src/shared/assets/icons/emoji/rotating_light.svg new file mode 100644 index 0000000..5ed7ec8 --- /dev/null +++ b/src/shared/assets/icons/emoji/rotating_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/round_pushpin.svg b/src/shared/assets/icons/emoji/round_pushpin.svg new file mode 100644 index 0000000..8ab3159 --- /dev/null +++ b/src/shared/assets/icons/emoji/round_pushpin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/rugby_football.svg b/src/shared/assets/icons/emoji/rugby_football.svg new file mode 100644 index 0000000..5e12c43 --- /dev/null +++ b/src/shared/assets/icons/emoji/rugby_football.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/running_shirt_with_sash.svg b/src/shared/assets/icons/emoji/running_shirt_with_sash.svg new file mode 100644 index 0000000..8410aee --- /dev/null +++ b/src/shared/assets/icons/emoji/running_shirt_with_sash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sa.svg b/src/shared/assets/icons/emoji/sa.svg new file mode 100644 index 0000000..7f1e841 --- /dev/null +++ b/src/shared/assets/icons/emoji/sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/safety_pin.svg b/src/shared/assets/icons/emoji/safety_pin.svg new file mode 100644 index 0000000..a37a048 --- /dev/null +++ b/src/shared/assets/icons/emoji/safety_pin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/safety_vest.svg b/src/shared/assets/icons/emoji/safety_vest.svg new file mode 100644 index 0000000..50bf8e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/safety_vest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sagittarius.svg b/src/shared/assets/icons/emoji/sagittarius.svg new file mode 100644 index 0000000..df13efc --- /dev/null +++ b/src/shared/assets/icons/emoji/sagittarius.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sailboat.svg b/src/shared/assets/icons/emoji/sailboat.svg new file mode 100644 index 0000000..c76c0de --- /dev/null +++ b/src/shared/assets/icons/emoji/sailboat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sake.svg b/src/shared/assets/icons/emoji/sake.svg new file mode 100644 index 0000000..2bb872e --- /dev/null +++ b/src/shared/assets/icons/emoji/sake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/salad.svg b/src/shared/assets/icons/emoji/salad.svg new file mode 100644 index 0000000..f18b096 --- /dev/null +++ b/src/shared/assets/icons/emoji/salad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/salt.svg b/src/shared/assets/icons/emoji/salt.svg new file mode 100644 index 0000000..40dea88 --- /dev/null +++ b/src/shared/assets/icons/emoji/salt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sandal.svg b/src/shared/assets/icons/emoji/sandal.svg new file mode 100644 index 0000000..c2f62e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/sandal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sandwich.svg b/src/shared/assets/icons/emoji/sandwich.svg new file mode 100644 index 0000000..d514ba7 --- /dev/null +++ b/src/shared/assets/icons/emoji/sandwich.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/santa.svg b/src/shared/assets/icons/emoji/santa.svg new file mode 100644 index 0000000..9c61da6 --- /dev/null +++ b/src/shared/assets/icons/emoji/santa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sari.svg b/src/shared/assets/icons/emoji/sari.svg new file mode 100644 index 0000000..846d591 --- /dev/null +++ b/src/shared/assets/icons/emoji/sari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/satellite.svg b/src/shared/assets/icons/emoji/satellite.svg new file mode 100644 index 0000000..dcb0294 --- /dev/null +++ b/src/shared/assets/icons/emoji/satellite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/satellite_orbital.svg b/src/shared/assets/icons/emoji/satellite_orbital.svg new file mode 100644 index 0000000..6d9bb3d --- /dev/null +++ b/src/shared/assets/icons/emoji/satellite_orbital.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sauropod.svg b/src/shared/assets/icons/emoji/sauropod.svg new file mode 100644 index 0000000..fb046c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/sauropod.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/saxophone.svg b/src/shared/assets/icons/emoji/saxophone.svg new file mode 100644 index 0000000..ed0f849 --- /dev/null +++ b/src/shared/assets/icons/emoji/saxophone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scales.svg b/src/shared/assets/icons/emoji/scales.svg new file mode 100644 index 0000000..61af844 --- /dev/null +++ b/src/shared/assets/icons/emoji/scales.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scarf.svg b/src/shared/assets/icons/emoji/scarf.svg new file mode 100644 index 0000000..2c959f4 --- /dev/null +++ b/src/shared/assets/icons/emoji/scarf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/school.svg b/src/shared/assets/icons/emoji/school.svg new file mode 100644 index 0000000..8be9e96 --- /dev/null +++ b/src/shared/assets/icons/emoji/school.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/school_satchel.svg b/src/shared/assets/icons/emoji/school_satchel.svg new file mode 100644 index 0000000..f44d568 --- /dev/null +++ b/src/shared/assets/icons/emoji/school_satchel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scissors.svg b/src/shared/assets/icons/emoji/scissors.svg new file mode 100644 index 0000000..e5d3ac1 --- /dev/null +++ b/src/shared/assets/icons/emoji/scissors.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scooter.svg b/src/shared/assets/icons/emoji/scooter.svg new file mode 100644 index 0000000..e217dc4 --- /dev/null +++ b/src/shared/assets/icons/emoji/scooter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scorpion.svg b/src/shared/assets/icons/emoji/scorpion.svg new file mode 100644 index 0000000..582c722 --- /dev/null +++ b/src/shared/assets/icons/emoji/scorpion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scorpius.svg b/src/shared/assets/icons/emoji/scorpius.svg new file mode 100644 index 0000000..ec1b93a --- /dev/null +++ b/src/shared/assets/icons/emoji/scorpius.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scotland.svg b/src/shared/assets/icons/emoji/scotland.svg new file mode 100644 index 0000000..bfb8b48 --- /dev/null +++ b/src/shared/assets/icons/emoji/scotland.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scream.svg b/src/shared/assets/icons/emoji/scream.svg new file mode 100644 index 0000000..c70a81a --- /dev/null +++ b/src/shared/assets/icons/emoji/scream.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scream_cat.svg b/src/shared/assets/icons/emoji/scream_cat.svg new file mode 100644 index 0000000..65ea8a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/scream_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/scroll.svg b/src/shared/assets/icons/emoji/scroll.svg new file mode 100644 index 0000000..2a7fd37 --- /dev/null +++ b/src/shared/assets/icons/emoji/scroll.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/seat.svg b/src/shared/assets/icons/emoji/seat.svg new file mode 100644 index 0000000..bf27bb1 --- /dev/null +++ b/src/shared/assets/icons/emoji/seat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/second_place.svg b/src/shared/assets/icons/emoji/second_place.svg new file mode 100644 index 0000000..685db6d --- /dev/null +++ b/src/shared/assets/icons/emoji/second_place.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/secret.svg b/src/shared/assets/icons/emoji/secret.svg new file mode 100644 index 0000000..d1a7933 --- /dev/null +++ b/src/shared/assets/icons/emoji/secret.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/see_no_evil.svg b/src/shared/assets/icons/emoji/see_no_evil.svg new file mode 100644 index 0000000..31e38a3 --- /dev/null +++ b/src/shared/assets/icons/emoji/see_no_evil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/seedling.svg b/src/shared/assets/icons/emoji/seedling.svg new file mode 100644 index 0000000..668d777 --- /dev/null +++ b/src/shared/assets/icons/emoji/seedling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/selfie.svg b/src/shared/assets/icons/emoji/selfie.svg new file mode 100644 index 0000000..47fa031 --- /dev/null +++ b/src/shared/assets/icons/emoji/selfie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/service_dog.svg b/src/shared/assets/icons/emoji/service_dog.svg new file mode 100644 index 0000000..0ba7fb3 --- /dev/null +++ b/src/shared/assets/icons/emoji/service_dog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/seven.svg b/src/shared/assets/icons/emoji/seven.svg new file mode 100644 index 0000000..2da4206 --- /dev/null +++ b/src/shared/assets/icons/emoji/seven.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shallow_pan_of_food.svg b/src/shared/assets/icons/emoji/shallow_pan_of_food.svg new file mode 100644 index 0000000..878520c --- /dev/null +++ b/src/shared/assets/icons/emoji/shallow_pan_of_food.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shamrock.svg b/src/shared/assets/icons/emoji/shamrock.svg new file mode 100644 index 0000000..72eaf47 --- /dev/null +++ b/src/shared/assets/icons/emoji/shamrock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shark.svg b/src/shared/assets/icons/emoji/shark.svg new file mode 100644 index 0000000..f6381c5 --- /dev/null +++ b/src/shared/assets/icons/emoji/shark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shaved_ice.svg b/src/shared/assets/icons/emoji/shaved_ice.svg new file mode 100644 index 0000000..232dd3c --- /dev/null +++ b/src/shared/assets/icons/emoji/shaved_ice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sheep.svg b/src/shared/assets/icons/emoji/sheep.svg new file mode 100644 index 0000000..891e670 --- /dev/null +++ b/src/shared/assets/icons/emoji/sheep.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shell.svg b/src/shared/assets/icons/emoji/shell.svg new file mode 100644 index 0000000..804ece8 --- /dev/null +++ b/src/shared/assets/icons/emoji/shell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shield.svg b/src/shared/assets/icons/emoji/shield.svg new file mode 100644 index 0000000..97f6894 --- /dev/null +++ b/src/shared/assets/icons/emoji/shield.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shinto_shrine.svg b/src/shared/assets/icons/emoji/shinto_shrine.svg new file mode 100644 index 0000000..395048e --- /dev/null +++ b/src/shared/assets/icons/emoji/shinto_shrine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ship.svg b/src/shared/assets/icons/emoji/ship.svg new file mode 100644 index 0000000..79077f0 --- /dev/null +++ b/src/shared/assets/icons/emoji/ship.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shirt.svg b/src/shared/assets/icons/emoji/shirt.svg new file mode 100644 index 0000000..1db4820 --- /dev/null +++ b/src/shared/assets/icons/emoji/shirt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shopping_bags.svg b/src/shared/assets/icons/emoji/shopping_bags.svg new file mode 100644 index 0000000..e2ae916 --- /dev/null +++ b/src/shared/assets/icons/emoji/shopping_bags.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shopping_cart.svg b/src/shared/assets/icons/emoji/shopping_cart.svg new file mode 100644 index 0000000..03608d5 --- /dev/null +++ b/src/shared/assets/icons/emoji/shopping_cart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shorts.svg b/src/shared/assets/icons/emoji/shorts.svg new file mode 100644 index 0000000..03e70ca --- /dev/null +++ b/src/shared/assets/icons/emoji/shorts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shower.svg b/src/shared/assets/icons/emoji/shower.svg new file mode 100644 index 0000000..004dadf --- /dev/null +++ b/src/shared/assets/icons/emoji/shower.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shrimp.svg b/src/shared/assets/icons/emoji/shrimp.svg new file mode 100644 index 0000000..8279307 --- /dev/null +++ b/src/shared/assets/icons/emoji/shrimp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/shushing_face.svg b/src/shared/assets/icons/emoji/shushing_face.svg new file mode 100644 index 0000000..a00edc9 --- /dev/null +++ b/src/shared/assets/icons/emoji/shushing_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/signal_strength.svg b/src/shared/assets/icons/emoji/signal_strength.svg new file mode 100644 index 0000000..df646fd --- /dev/null +++ b/src/shared/assets/icons/emoji/signal_strength.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/six.svg b/src/shared/assets/icons/emoji/six.svg new file mode 100644 index 0000000..c28896e --- /dev/null +++ b/src/shared/assets/icons/emoji/six.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/six_pointed_star.svg b/src/shared/assets/icons/emoji/six_pointed_star.svg new file mode 100644 index 0000000..7efa372 --- /dev/null +++ b/src/shared/assets/icons/emoji/six_pointed_star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/skateboard.svg b/src/shared/assets/icons/emoji/skateboard.svg new file mode 100644 index 0000000..1ee4bfe --- /dev/null +++ b/src/shared/assets/icons/emoji/skateboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ski.svg b/src/shared/assets/icons/emoji/ski.svg new file mode 100644 index 0000000..a117c93 --- /dev/null +++ b/src/shared/assets/icons/emoji/ski.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/skier.svg b/src/shared/assets/icons/emoji/skier.svg new file mode 100644 index 0000000..ade6f21 --- /dev/null +++ b/src/shared/assets/icons/emoji/skier.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/skull.svg b/src/shared/assets/icons/emoji/skull.svg new file mode 100644 index 0000000..a8000b1 --- /dev/null +++ b/src/shared/assets/icons/emoji/skull.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/skull_crossbones.svg b/src/shared/assets/icons/emoji/skull_crossbones.svg new file mode 100644 index 0000000..66f9862 --- /dev/null +++ b/src/shared/assets/icons/emoji/skull_crossbones.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/skunk.svg b/src/shared/assets/icons/emoji/skunk.svg new file mode 100644 index 0000000..47478ff --- /dev/null +++ b/src/shared/assets/icons/emoji/skunk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sled.svg b/src/shared/assets/icons/emoji/sled.svg new file mode 100644 index 0000000..12d776d --- /dev/null +++ b/src/shared/assets/icons/emoji/sled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sleeping.svg b/src/shared/assets/icons/emoji/sleeping.svg new file mode 100644 index 0000000..643ae22 --- /dev/null +++ b/src/shared/assets/icons/emoji/sleeping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sleeping_accommodation.svg b/src/shared/assets/icons/emoji/sleeping_accommodation.svg new file mode 100644 index 0000000..183ccf0 --- /dev/null +++ b/src/shared/assets/icons/emoji/sleeping_accommodation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sleepy.svg b/src/shared/assets/icons/emoji/sleepy.svg new file mode 100644 index 0000000..ede0d7a --- /dev/null +++ b/src/shared/assets/icons/emoji/sleepy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/slight_frown.svg b/src/shared/assets/icons/emoji/slight_frown.svg new file mode 100644 index 0000000..cf3557b --- /dev/null +++ b/src/shared/assets/icons/emoji/slight_frown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/slight_smile.svg b/src/shared/assets/icons/emoji/slight_smile.svg new file mode 100644 index 0000000..ff9f989 --- /dev/null +++ b/src/shared/assets/icons/emoji/slight_smile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/slot_machine.svg b/src/shared/assets/icons/emoji/slot_machine.svg new file mode 100644 index 0000000..789fd08 --- /dev/null +++ b/src/shared/assets/icons/emoji/slot_machine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sloth.svg b/src/shared/assets/icons/emoji/sloth.svg new file mode 100644 index 0000000..7371a8e --- /dev/null +++ b/src/shared/assets/icons/emoji/sloth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/small_blue_diamond.svg b/src/shared/assets/icons/emoji/small_blue_diamond.svg new file mode 100644 index 0000000..bb4865d --- /dev/null +++ b/src/shared/assets/icons/emoji/small_blue_diamond.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/small_orange_diamond.svg b/src/shared/assets/icons/emoji/small_orange_diamond.svg new file mode 100644 index 0000000..435ad6a --- /dev/null +++ b/src/shared/assets/icons/emoji/small_orange_diamond.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/small_red_triangle.svg b/src/shared/assets/icons/emoji/small_red_triangle.svg new file mode 100644 index 0000000..96d0ebb --- /dev/null +++ b/src/shared/assets/icons/emoji/small_red_triangle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/small_red_triangle_down.svg b/src/shared/assets/icons/emoji/small_red_triangle_down.svg new file mode 100644 index 0000000..f846cbf --- /dev/null +++ b/src/shared/assets/icons/emoji/small_red_triangle_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smile.svg b/src/shared/assets/icons/emoji/smile.svg new file mode 100644 index 0000000..99ac39c --- /dev/null +++ b/src/shared/assets/icons/emoji/smile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smile_cat.svg b/src/shared/assets/icons/emoji/smile_cat.svg new file mode 100644 index 0000000..4e125ab --- /dev/null +++ b/src/shared/assets/icons/emoji/smile_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smiley.svg b/src/shared/assets/icons/emoji/smiley.svg new file mode 100644 index 0000000..25d4b96 --- /dev/null +++ b/src/shared/assets/icons/emoji/smiley.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smiley_cat.svg b/src/shared/assets/icons/emoji/smiley_cat.svg new file mode 100644 index 0000000..88057ce --- /dev/null +++ b/src/shared/assets/icons/emoji/smiley_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smiling_face_with_3_hearts.svg b/src/shared/assets/icons/emoji/smiling_face_with_3_hearts.svg new file mode 100644 index 0000000..6b063df --- /dev/null +++ b/src/shared/assets/icons/emoji/smiling_face_with_3_hearts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smiling_imp.svg b/src/shared/assets/icons/emoji/smiling_imp.svg new file mode 100644 index 0000000..79c2480 --- /dev/null +++ b/src/shared/assets/icons/emoji/smiling_imp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smirk.svg b/src/shared/assets/icons/emoji/smirk.svg new file mode 100644 index 0000000..ef4f386 --- /dev/null +++ b/src/shared/assets/icons/emoji/smirk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smirk_cat.svg b/src/shared/assets/icons/emoji/smirk_cat.svg new file mode 100644 index 0000000..198ad47 --- /dev/null +++ b/src/shared/assets/icons/emoji/smirk_cat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/smoking.svg b/src/shared/assets/icons/emoji/smoking.svg new file mode 100644 index 0000000..1c0dff2 --- /dev/null +++ b/src/shared/assets/icons/emoji/smoking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snail.svg b/src/shared/assets/icons/emoji/snail.svg new file mode 100644 index 0000000..2c63658 --- /dev/null +++ b/src/shared/assets/icons/emoji/snail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snake.svg b/src/shared/assets/icons/emoji/snake.svg new file mode 100644 index 0000000..1753178 --- /dev/null +++ b/src/shared/assets/icons/emoji/snake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sneezing_face.svg b/src/shared/assets/icons/emoji/sneezing_face.svg new file mode 100644 index 0000000..dc86ab3 --- /dev/null +++ b/src/shared/assets/icons/emoji/sneezing_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snowboarder.svg b/src/shared/assets/icons/emoji/snowboarder.svg new file mode 100644 index 0000000..bff2c08 --- /dev/null +++ b/src/shared/assets/icons/emoji/snowboarder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snowflake.svg b/src/shared/assets/icons/emoji/snowflake.svg new file mode 100644 index 0000000..258c161 --- /dev/null +++ b/src/shared/assets/icons/emoji/snowflake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snowman.svg b/src/shared/assets/icons/emoji/snowman.svg new file mode 100644 index 0000000..74caddf --- /dev/null +++ b/src/shared/assets/icons/emoji/snowman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/snowman2.svg b/src/shared/assets/icons/emoji/snowman2.svg new file mode 100644 index 0000000..c02380e --- /dev/null +++ b/src/shared/assets/icons/emoji/snowman2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/soap.svg b/src/shared/assets/icons/emoji/soap.svg new file mode 100644 index 0000000..e5b1e02 --- /dev/null +++ b/src/shared/assets/icons/emoji/soap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sob.svg b/src/shared/assets/icons/emoji/sob.svg new file mode 100644 index 0000000..11d1159 --- /dev/null +++ b/src/shared/assets/icons/emoji/sob.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/soccer.svg b/src/shared/assets/icons/emoji/soccer.svg new file mode 100644 index 0000000..f24749c --- /dev/null +++ b/src/shared/assets/icons/emoji/soccer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/socks.svg b/src/shared/assets/icons/emoji/socks.svg new file mode 100644 index 0000000..44fc310 --- /dev/null +++ b/src/shared/assets/icons/emoji/socks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/softball.svg b/src/shared/assets/icons/emoji/softball.svg new file mode 100644 index 0000000..1c9270c --- /dev/null +++ b/src/shared/assets/icons/emoji/softball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/soon.svg b/src/shared/assets/icons/emoji/soon.svg new file mode 100644 index 0000000..6904281 --- /dev/null +++ b/src/shared/assets/icons/emoji/soon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sos.svg b/src/shared/assets/icons/emoji/sos.svg new file mode 100644 index 0000000..6fe35a1 --- /dev/null +++ b/src/shared/assets/icons/emoji/sos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sound.svg b/src/shared/assets/icons/emoji/sound.svg new file mode 100644 index 0000000..9fb6c1c --- /dev/null +++ b/src/shared/assets/icons/emoji/sound.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/space_invader.svg b/src/shared/assets/icons/emoji/space_invader.svg new file mode 100644 index 0000000..cda3444 --- /dev/null +++ b/src/shared/assets/icons/emoji/space_invader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/spades.svg b/src/shared/assets/icons/emoji/spades.svg new file mode 100644 index 0000000..5f7b109 --- /dev/null +++ b/src/shared/assets/icons/emoji/spades.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/spaghetti.svg b/src/shared/assets/icons/emoji/spaghetti.svg new file mode 100644 index 0000000..3ae82eb --- /dev/null +++ b/src/shared/assets/icons/emoji/spaghetti.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sparkle.svg b/src/shared/assets/icons/emoji/sparkle.svg new file mode 100644 index 0000000..61e1997 --- /dev/null +++ b/src/shared/assets/icons/emoji/sparkle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sparkler.svg b/src/shared/assets/icons/emoji/sparkler.svg new file mode 100644 index 0000000..68cfb64 --- /dev/null +++ b/src/shared/assets/icons/emoji/sparkler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sparkles.svg b/src/shared/assets/icons/emoji/sparkles.svg new file mode 100644 index 0000000..347ad12 --- /dev/null +++ b/src/shared/assets/icons/emoji/sparkles.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sparkling_heart.svg b/src/shared/assets/icons/emoji/sparkling_heart.svg new file mode 100644 index 0000000..aa3abbc --- /dev/null +++ b/src/shared/assets/icons/emoji/sparkling_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speak_no_evil.svg b/src/shared/assets/icons/emoji/speak_no_evil.svg new file mode 100644 index 0000000..1e4e313 --- /dev/null +++ b/src/shared/assets/icons/emoji/speak_no_evil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speaker.svg b/src/shared/assets/icons/emoji/speaker.svg new file mode 100644 index 0000000..11a7b0e --- /dev/null +++ b/src/shared/assets/icons/emoji/speaker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speaking_head.svg b/src/shared/assets/icons/emoji/speaking_head.svg new file mode 100644 index 0000000..4e613c0 --- /dev/null +++ b/src/shared/assets/icons/emoji/speaking_head.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speech_balloon.svg b/src/shared/assets/icons/emoji/speech_balloon.svg new file mode 100644 index 0000000..11533c5 --- /dev/null +++ b/src/shared/assets/icons/emoji/speech_balloon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speech_left.svg b/src/shared/assets/icons/emoji/speech_left.svg new file mode 100644 index 0000000..d091897 --- /dev/null +++ b/src/shared/assets/icons/emoji/speech_left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/speedboat.svg b/src/shared/assets/icons/emoji/speedboat.svg new file mode 100644 index 0000000..7dfe5a6 --- /dev/null +++ b/src/shared/assets/icons/emoji/speedboat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/spider.svg b/src/shared/assets/icons/emoji/spider.svg new file mode 100644 index 0000000..a156865 --- /dev/null +++ b/src/shared/assets/icons/emoji/spider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/spider_web.svg b/src/shared/assets/icons/emoji/spider_web.svg new file mode 100644 index 0000000..92142fd --- /dev/null +++ b/src/shared/assets/icons/emoji/spider_web.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sponge.svg b/src/shared/assets/icons/emoji/sponge.svg new file mode 100644 index 0000000..1c95751 --- /dev/null +++ b/src/shared/assets/icons/emoji/sponge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/spoon.svg b/src/shared/assets/icons/emoji/spoon.svg new file mode 100644 index 0000000..1f2d69f --- /dev/null +++ b/src/shared/assets/icons/emoji/spoon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/squeeze_bottle.svg b/src/shared/assets/icons/emoji/squeeze_bottle.svg new file mode 100644 index 0000000..2cb39a7 --- /dev/null +++ b/src/shared/assets/icons/emoji/squeeze_bottle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/squid.svg b/src/shared/assets/icons/emoji/squid.svg new file mode 100644 index 0000000..e0bbf92 --- /dev/null +++ b/src/shared/assets/icons/emoji/squid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stadium.svg b/src/shared/assets/icons/emoji/stadium.svg new file mode 100644 index 0000000..248c6d9 --- /dev/null +++ b/src/shared/assets/icons/emoji/stadium.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/star.svg b/src/shared/assets/icons/emoji/star.svg new file mode 100644 index 0000000..760ad08 --- /dev/null +++ b/src/shared/assets/icons/emoji/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/star2.svg b/src/shared/assets/icons/emoji/star2.svg new file mode 100644 index 0000000..a4695dd --- /dev/null +++ b/src/shared/assets/icons/emoji/star2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/star_and_crescent.svg b/src/shared/assets/icons/emoji/star_and_crescent.svg new file mode 100644 index 0000000..678a1e8 --- /dev/null +++ b/src/shared/assets/icons/emoji/star_and_crescent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/star_of_david.svg b/src/shared/assets/icons/emoji/star_of_david.svg new file mode 100644 index 0000000..bdf63ac --- /dev/null +++ b/src/shared/assets/icons/emoji/star_of_david.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/star_struck.svg b/src/shared/assets/icons/emoji/star_struck.svg new file mode 100644 index 0000000..260cd80 --- /dev/null +++ b/src/shared/assets/icons/emoji/star_struck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stars.svg b/src/shared/assets/icons/emoji/stars.svg new file mode 100644 index 0000000..295a5a1 --- /dev/null +++ b/src/shared/assets/icons/emoji/stars.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/station.svg b/src/shared/assets/icons/emoji/station.svg new file mode 100644 index 0000000..cebf01d --- /dev/null +++ b/src/shared/assets/icons/emoji/station.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/statue_of_liberty.svg b/src/shared/assets/icons/emoji/statue_of_liberty.svg new file mode 100644 index 0000000..3191523 --- /dev/null +++ b/src/shared/assets/icons/emoji/statue_of_liberty.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/steam_locomotive.svg b/src/shared/assets/icons/emoji/steam_locomotive.svg new file mode 100644 index 0000000..c93874d --- /dev/null +++ b/src/shared/assets/icons/emoji/steam_locomotive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stethoscope.svg b/src/shared/assets/icons/emoji/stethoscope.svg new file mode 100644 index 0000000..848c72e --- /dev/null +++ b/src/shared/assets/icons/emoji/stethoscope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stew.svg b/src/shared/assets/icons/emoji/stew.svg new file mode 100644 index 0000000..37f9be8 --- /dev/null +++ b/src/shared/assets/icons/emoji/stew.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stop_button.svg b/src/shared/assets/icons/emoji/stop_button.svg new file mode 100644 index 0000000..c38882a --- /dev/null +++ b/src/shared/assets/icons/emoji/stop_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stopwatch.svg b/src/shared/assets/icons/emoji/stopwatch.svg new file mode 100644 index 0000000..599d246 --- /dev/null +++ b/src/shared/assets/icons/emoji/stopwatch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/straight_ruler.svg b/src/shared/assets/icons/emoji/straight_ruler.svg new file mode 100644 index 0000000..37b035b --- /dev/null +++ b/src/shared/assets/icons/emoji/straight_ruler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/strawberry.svg b/src/shared/assets/icons/emoji/strawberry.svg new file mode 100644 index 0000000..26a41ee --- /dev/null +++ b/src/shared/assets/icons/emoji/strawberry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stuck_out_tongue.svg b/src/shared/assets/icons/emoji/stuck_out_tongue.svg new file mode 100644 index 0000000..903422a --- /dev/null +++ b/src/shared/assets/icons/emoji/stuck_out_tongue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stuck_out_tongue_closed_eyes.svg b/src/shared/assets/icons/emoji/stuck_out_tongue_closed_eyes.svg new file mode 100644 index 0000000..09dead6 --- /dev/null +++ b/src/shared/assets/icons/emoji/stuck_out_tongue_closed_eyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stuck_out_tongue_winking_eye.svg b/src/shared/assets/icons/emoji/stuck_out_tongue_winking_eye.svg new file mode 100644 index 0000000..6f78739 --- /dev/null +++ b/src/shared/assets/icons/emoji/stuck_out_tongue_winking_eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/stuffed_flatbread.svg b/src/shared/assets/icons/emoji/stuffed_flatbread.svg new file mode 100644 index 0000000..baa9a4b --- /dev/null +++ b/src/shared/assets/icons/emoji/stuffed_flatbread.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sun_with_face.svg b/src/shared/assets/icons/emoji/sun_with_face.svg new file mode 100644 index 0000000..2da9b19 --- /dev/null +++ b/src/shared/assets/icons/emoji/sun_with_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sunflower.svg b/src/shared/assets/icons/emoji/sunflower.svg new file mode 100644 index 0000000..413e6fc --- /dev/null +++ b/src/shared/assets/icons/emoji/sunflower.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sunglasses.svg b/src/shared/assets/icons/emoji/sunglasses.svg new file mode 100644 index 0000000..fff644a --- /dev/null +++ b/src/shared/assets/icons/emoji/sunglasses.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sunny.svg b/src/shared/assets/icons/emoji/sunny.svg new file mode 100644 index 0000000..8602bae --- /dev/null +++ b/src/shared/assets/icons/emoji/sunny.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sunrise.svg b/src/shared/assets/icons/emoji/sunrise.svg new file mode 100644 index 0000000..8e3f66d --- /dev/null +++ b/src/shared/assets/icons/emoji/sunrise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sunrise_over_mountains.svg b/src/shared/assets/icons/emoji/sunrise_over_mountains.svg new file mode 100644 index 0000000..0709f1c --- /dev/null +++ b/src/shared/assets/icons/emoji/sunrise_over_mountains.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/superhero.svg b/src/shared/assets/icons/emoji/superhero.svg new file mode 100644 index 0000000..f012215 --- /dev/null +++ b/src/shared/assets/icons/emoji/superhero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/supervillain.svg b/src/shared/assets/icons/emoji/supervillain.svg new file mode 100644 index 0000000..43922b0 --- /dev/null +++ b/src/shared/assets/icons/emoji/supervillain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sushi.svg b/src/shared/assets/icons/emoji/sushi.svg new file mode 100644 index 0000000..eed2b88 --- /dev/null +++ b/src/shared/assets/icons/emoji/sushi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/suspension_railway.svg b/src/shared/assets/icons/emoji/suspension_railway.svg new file mode 100644 index 0000000..72eac03 --- /dev/null +++ b/src/shared/assets/icons/emoji/suspension_railway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/swan.svg b/src/shared/assets/icons/emoji/swan.svg new file mode 100644 index 0000000..9c38381 --- /dev/null +++ b/src/shared/assets/icons/emoji/swan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sweat.svg b/src/shared/assets/icons/emoji/sweat.svg new file mode 100644 index 0000000..83c6580 --- /dev/null +++ b/src/shared/assets/icons/emoji/sweat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sweat_drops.svg b/src/shared/assets/icons/emoji/sweat_drops.svg new file mode 100644 index 0000000..fd53cd8 --- /dev/null +++ b/src/shared/assets/icons/emoji/sweat_drops.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sweat_smile.svg b/src/shared/assets/icons/emoji/sweat_smile.svg new file mode 100644 index 0000000..de6eb5d --- /dev/null +++ b/src/shared/assets/icons/emoji/sweat_smile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/sweet_potato.svg b/src/shared/assets/icons/emoji/sweet_potato.svg new file mode 100644 index 0000000..c2894e3 --- /dev/null +++ b/src/shared/assets/icons/emoji/sweet_potato.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/symbols.svg b/src/shared/assets/icons/emoji/symbols.svg new file mode 100644 index 0000000..71ac157 --- /dev/null +++ b/src/shared/assets/icons/emoji/symbols.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/synagogue.svg b/src/shared/assets/icons/emoji/synagogue.svg new file mode 100644 index 0000000..c82ae00 --- /dev/null +++ b/src/shared/assets/icons/emoji/synagogue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/syringe.svg b/src/shared/assets/icons/emoji/syringe.svg new file mode 100644 index 0000000..ef9c72c --- /dev/null +++ b/src/shared/assets/icons/emoji/syringe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/t_rex.svg b/src/shared/assets/icons/emoji/t_rex.svg new file mode 100644 index 0000000..64b68d7 --- /dev/null +++ b/src/shared/assets/icons/emoji/t_rex.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/taco.svg b/src/shared/assets/icons/emoji/taco.svg new file mode 100644 index 0000000..5b08f1f --- /dev/null +++ b/src/shared/assets/icons/emoji/taco.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tada.svg b/src/shared/assets/icons/emoji/tada.svg new file mode 100644 index 0000000..a4b8305 --- /dev/null +++ b/src/shared/assets/icons/emoji/tada.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/takeout_box.svg b/src/shared/assets/icons/emoji/takeout_box.svg new file mode 100644 index 0000000..6a05c9c --- /dev/null +++ b/src/shared/assets/icons/emoji/takeout_box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tanabata_tree.svg b/src/shared/assets/icons/emoji/tanabata_tree.svg new file mode 100644 index 0000000..0636380 --- /dev/null +++ b/src/shared/assets/icons/emoji/tanabata_tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tangerine.svg b/src/shared/assets/icons/emoji/tangerine.svg new file mode 100644 index 0000000..82c0c52 --- /dev/null +++ b/src/shared/assets/icons/emoji/tangerine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/taurus.svg b/src/shared/assets/icons/emoji/taurus.svg new file mode 100644 index 0000000..6e9918a --- /dev/null +++ b/src/shared/assets/icons/emoji/taurus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/taxi.svg b/src/shared/assets/icons/emoji/taxi.svg new file mode 100644 index 0000000..5446414 --- /dev/null +++ b/src/shared/assets/icons/emoji/taxi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tea.svg b/src/shared/assets/icons/emoji/tea.svg new file mode 100644 index 0000000..7726963 --- /dev/null +++ b/src/shared/assets/icons/emoji/tea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/teddy_bear.svg b/src/shared/assets/icons/emoji/teddy_bear.svg new file mode 100644 index 0000000..87af73b --- /dev/null +++ b/src/shared/assets/icons/emoji/teddy_bear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/telephone.svg b/src/shared/assets/icons/emoji/telephone.svg new file mode 100644 index 0000000..e65124f --- /dev/null +++ b/src/shared/assets/icons/emoji/telephone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/telephone_receiver.svg b/src/shared/assets/icons/emoji/telephone_receiver.svg new file mode 100644 index 0000000..cfaf7ca --- /dev/null +++ b/src/shared/assets/icons/emoji/telephone_receiver.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/telescope.svg b/src/shared/assets/icons/emoji/telescope.svg new file mode 100644 index 0000000..113c033 --- /dev/null +++ b/src/shared/assets/icons/emoji/telescope.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tennis.svg b/src/shared/assets/icons/emoji/tennis.svg new file mode 100644 index 0000000..323e5c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/tennis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tent.svg b/src/shared/assets/icons/emoji/tent.svg new file mode 100644 index 0000000..72c5cbd --- /dev/null +++ b/src/shared/assets/icons/emoji/tent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/test_tube.svg b/src/shared/assets/icons/emoji/test_tube.svg new file mode 100644 index 0000000..8116cfa --- /dev/null +++ b/src/shared/assets/icons/emoji/test_tube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thermometer.svg b/src/shared/assets/icons/emoji/thermometer.svg new file mode 100644 index 0000000..95a7598 --- /dev/null +++ b/src/shared/assets/icons/emoji/thermometer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thermometer_face.svg b/src/shared/assets/icons/emoji/thermometer_face.svg new file mode 100644 index 0000000..b6ac0a9 --- /dev/null +++ b/src/shared/assets/icons/emoji/thermometer_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thinking.svg b/src/shared/assets/icons/emoji/thinking.svg new file mode 100644 index 0000000..4e8c4cc --- /dev/null +++ b/src/shared/assets/icons/emoji/thinking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/third_place.svg b/src/shared/assets/icons/emoji/third_place.svg new file mode 100644 index 0000000..6bb5f77 --- /dev/null +++ b/src/shared/assets/icons/emoji/third_place.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thought_balloon.svg b/src/shared/assets/icons/emoji/thought_balloon.svg new file mode 100644 index 0000000..f3d835c --- /dev/null +++ b/src/shared/assets/icons/emoji/thought_balloon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thread.svg b/src/shared/assets/icons/emoji/thread.svg new file mode 100644 index 0000000..3210fbe --- /dev/null +++ b/src/shared/assets/icons/emoji/thread.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/three.svg b/src/shared/assets/icons/emoji/three.svg new file mode 100644 index 0000000..95db6d2 --- /dev/null +++ b/src/shared/assets/icons/emoji/three.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thumbsdown.svg b/src/shared/assets/icons/emoji/thumbsdown.svg new file mode 100644 index 0000000..1569ad0 --- /dev/null +++ b/src/shared/assets/icons/emoji/thumbsdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thumbsup.svg b/src/shared/assets/icons/emoji/thumbsup.svg new file mode 100644 index 0000000..595672d --- /dev/null +++ b/src/shared/assets/icons/emoji/thumbsup.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/thunder_cloud_rain.svg b/src/shared/assets/icons/emoji/thunder_cloud_rain.svg new file mode 100644 index 0000000..878ba81 --- /dev/null +++ b/src/shared/assets/icons/emoji/thunder_cloud_rain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/ticket.svg b/src/shared/assets/icons/emoji/ticket.svg new file mode 100644 index 0000000..cd23401 --- /dev/null +++ b/src/shared/assets/icons/emoji/ticket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tickets.svg b/src/shared/assets/icons/emoji/tickets.svg new file mode 100644 index 0000000..984f270 --- /dev/null +++ b/src/shared/assets/icons/emoji/tickets.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tiger.svg b/src/shared/assets/icons/emoji/tiger.svg new file mode 100644 index 0000000..5ecd980 --- /dev/null +++ b/src/shared/assets/icons/emoji/tiger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tiger2.svg b/src/shared/assets/icons/emoji/tiger2.svg new file mode 100644 index 0000000..c74ecf6 --- /dev/null +++ b/src/shared/assets/icons/emoji/tiger2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/timer.svg b/src/shared/assets/icons/emoji/timer.svg new file mode 100644 index 0000000..7cb6e02 --- /dev/null +++ b/src/shared/assets/icons/emoji/timer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tired_face.svg b/src/shared/assets/icons/emoji/tired_face.svg new file mode 100644 index 0000000..4253ada --- /dev/null +++ b/src/shared/assets/icons/emoji/tired_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/toilet.svg b/src/shared/assets/icons/emoji/toilet.svg new file mode 100644 index 0000000..2463448 --- /dev/null +++ b/src/shared/assets/icons/emoji/toilet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tokyo_tower.svg b/src/shared/assets/icons/emoji/tokyo_tower.svg new file mode 100644 index 0000000..92fd6ae --- /dev/null +++ b/src/shared/assets/icons/emoji/tokyo_tower.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tomato.svg b/src/shared/assets/icons/emoji/tomato.svg new file mode 100644 index 0000000..411c2a5 --- /dev/null +++ b/src/shared/assets/icons/emoji/tomato.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tongue.svg b/src/shared/assets/icons/emoji/tongue.svg new file mode 100644 index 0000000..64386b9 --- /dev/null +++ b/src/shared/assets/icons/emoji/tongue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/toolbox.svg b/src/shared/assets/icons/emoji/toolbox.svg new file mode 100644 index 0000000..ae06531 --- /dev/null +++ b/src/shared/assets/icons/emoji/toolbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tools.svg b/src/shared/assets/icons/emoji/tools.svg new file mode 100644 index 0000000..085f902 --- /dev/null +++ b/src/shared/assets/icons/emoji/tools.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tooth.svg b/src/shared/assets/icons/emoji/tooth.svg new file mode 100644 index 0000000..49cc5f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/tooth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/top.svg b/src/shared/assets/icons/emoji/top.svg new file mode 100644 index 0000000..54ab898 --- /dev/null +++ b/src/shared/assets/icons/emoji/top.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tophat.svg b/src/shared/assets/icons/emoji/tophat.svg new file mode 100644 index 0000000..1017cef --- /dev/null +++ b/src/shared/assets/icons/emoji/tophat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/track_next.svg b/src/shared/assets/icons/emoji/track_next.svg new file mode 100644 index 0000000..6e66128 --- /dev/null +++ b/src/shared/assets/icons/emoji/track_next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/track_previous.svg b/src/shared/assets/icons/emoji/track_previous.svg new file mode 100644 index 0000000..889b162 --- /dev/null +++ b/src/shared/assets/icons/emoji/track_previous.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/trackball.svg b/src/shared/assets/icons/emoji/trackball.svg new file mode 100644 index 0000000..caea2fd --- /dev/null +++ b/src/shared/assets/icons/emoji/trackball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tractor.svg b/src/shared/assets/icons/emoji/tractor.svg new file mode 100644 index 0000000..014ca11 --- /dev/null +++ b/src/shared/assets/icons/emoji/tractor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/traffic_light.svg b/src/shared/assets/icons/emoji/traffic_light.svg new file mode 100644 index 0000000..6cb3827 --- /dev/null +++ b/src/shared/assets/icons/emoji/traffic_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/train.svg b/src/shared/assets/icons/emoji/train.svg new file mode 100644 index 0000000..da204b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/train.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/train2.svg b/src/shared/assets/icons/emoji/train2.svg new file mode 100644 index 0000000..3f5f5b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/train2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tram.svg b/src/shared/assets/icons/emoji/tram.svg new file mode 100644 index 0000000..b93eab0 --- /dev/null +++ b/src/shared/assets/icons/emoji/tram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/triangular_flag_on_post.svg b/src/shared/assets/icons/emoji/triangular_flag_on_post.svg new file mode 100644 index 0000000..a9338f1 --- /dev/null +++ b/src/shared/assets/icons/emoji/triangular_flag_on_post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/triangular_ruler.svg b/src/shared/assets/icons/emoji/triangular_ruler.svg new file mode 100644 index 0000000..b365150 --- /dev/null +++ b/src/shared/assets/icons/emoji/triangular_ruler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/trident.svg b/src/shared/assets/icons/emoji/trident.svg new file mode 100644 index 0000000..20cc78d --- /dev/null +++ b/src/shared/assets/icons/emoji/trident.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/triumph.svg b/src/shared/assets/icons/emoji/triumph.svg new file mode 100644 index 0000000..c211eec --- /dev/null +++ b/src/shared/assets/icons/emoji/triumph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/trolleybus.svg b/src/shared/assets/icons/emoji/trolleybus.svg new file mode 100644 index 0000000..e3dc44d --- /dev/null +++ b/src/shared/assets/icons/emoji/trolleybus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/trophy.svg b/src/shared/assets/icons/emoji/trophy.svg new file mode 100644 index 0000000..00457c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/trophy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tropical_drink.svg b/src/shared/assets/icons/emoji/tropical_drink.svg new file mode 100644 index 0000000..1c4db46 --- /dev/null +++ b/src/shared/assets/icons/emoji/tropical_drink.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tropical_fish.svg b/src/shared/assets/icons/emoji/tropical_fish.svg new file mode 100644 index 0000000..ccc11c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/tropical_fish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/truck.svg b/src/shared/assets/icons/emoji/truck.svg new file mode 100644 index 0000000..7441d1b --- /dev/null +++ b/src/shared/assets/icons/emoji/truck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/trumpet.svg b/src/shared/assets/icons/emoji/trumpet.svg new file mode 100644 index 0000000..454ab78 --- /dev/null +++ b/src/shared/assets/icons/emoji/trumpet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tulip.svg b/src/shared/assets/icons/emoji/tulip.svg new file mode 100644 index 0000000..86a1a36 --- /dev/null +++ b/src/shared/assets/icons/emoji/tulip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tumbler_glass.svg b/src/shared/assets/icons/emoji/tumbler_glass.svg new file mode 100644 index 0000000..27750ea --- /dev/null +++ b/src/shared/assets/icons/emoji/tumbler_glass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/turkey.svg b/src/shared/assets/icons/emoji/turkey.svg new file mode 100644 index 0000000..e9de7de --- /dev/null +++ b/src/shared/assets/icons/emoji/turkey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/turtle.svg b/src/shared/assets/icons/emoji/turtle.svg new file mode 100644 index 0000000..fe4b659 --- /dev/null +++ b/src/shared/assets/icons/emoji/turtle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/tv.svg b/src/shared/assets/icons/emoji/tv.svg new file mode 100644 index 0000000..5f864de --- /dev/null +++ b/src/shared/assets/icons/emoji/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/twisted_rightwards_arrows.svg b/src/shared/assets/icons/emoji/twisted_rightwards_arrows.svg new file mode 100644 index 0000000..43f78bc --- /dev/null +++ b/src/shared/assets/icons/emoji/twisted_rightwards_arrows.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/two.svg b/src/shared/assets/icons/emoji/two.svg new file mode 100644 index 0000000..8d81b8c --- /dev/null +++ b/src/shared/assets/icons/emoji/two.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/two_hearts.svg b/src/shared/assets/icons/emoji/two_hearts.svg new file mode 100644 index 0000000..b4b3216 --- /dev/null +++ b/src/shared/assets/icons/emoji/two_hearts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/two_men_holding_hands.svg b/src/shared/assets/icons/emoji/two_men_holding_hands.svg new file mode 100644 index 0000000..87280c1 --- /dev/null +++ b/src/shared/assets/icons/emoji/two_men_holding_hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/two_women_holding_hands.svg b/src/shared/assets/icons/emoji/two_women_holding_hands.svg new file mode 100644 index 0000000..91a55c3 --- /dev/null +++ b/src/shared/assets/icons/emoji/two_women_holding_hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u5272.svg b/src/shared/assets/icons/emoji/u5272.svg new file mode 100644 index 0000000..889c027 --- /dev/null +++ b/src/shared/assets/icons/emoji/u5272.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u5408.svg b/src/shared/assets/icons/emoji/u5408.svg new file mode 100644 index 0000000..b90b9c4 --- /dev/null +++ b/src/shared/assets/icons/emoji/u5408.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u55b6.svg b/src/shared/assets/icons/emoji/u55b6.svg new file mode 100644 index 0000000..87a2ceb --- /dev/null +++ b/src/shared/assets/icons/emoji/u55b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u6307.svg b/src/shared/assets/icons/emoji/u6307.svg new file mode 100644 index 0000000..112269d --- /dev/null +++ b/src/shared/assets/icons/emoji/u6307.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u6708.svg b/src/shared/assets/icons/emoji/u6708.svg new file mode 100644 index 0000000..459d948 --- /dev/null +++ b/src/shared/assets/icons/emoji/u6708.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u6709.svg b/src/shared/assets/icons/emoji/u6709.svg new file mode 100644 index 0000000..93c5998 --- /dev/null +++ b/src/shared/assets/icons/emoji/u6709.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u6e80.svg b/src/shared/assets/icons/emoji/u6e80.svg new file mode 100644 index 0000000..86f24ca --- /dev/null +++ b/src/shared/assets/icons/emoji/u6e80.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u7121.svg b/src/shared/assets/icons/emoji/u7121.svg new file mode 100644 index 0000000..9b0253a --- /dev/null +++ b/src/shared/assets/icons/emoji/u7121.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u7533.svg b/src/shared/assets/icons/emoji/u7533.svg new file mode 100644 index 0000000..af984cb --- /dev/null +++ b/src/shared/assets/icons/emoji/u7533.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u7981.svg b/src/shared/assets/icons/emoji/u7981.svg new file mode 100644 index 0000000..4efe9bb --- /dev/null +++ b/src/shared/assets/icons/emoji/u7981.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/u7a7a.svg b/src/shared/assets/icons/emoji/u7a7a.svg new file mode 100644 index 0000000..2e2072c --- /dev/null +++ b/src/shared/assets/icons/emoji/u7a7a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/umbrella.svg b/src/shared/assets/icons/emoji/umbrella.svg new file mode 100644 index 0000000..6240aa6 --- /dev/null +++ b/src/shared/assets/icons/emoji/umbrella.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/umbrella2.svg b/src/shared/assets/icons/emoji/umbrella2.svg new file mode 100644 index 0000000..7c63330 --- /dev/null +++ b/src/shared/assets/icons/emoji/umbrella2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/unamused.svg b/src/shared/assets/icons/emoji/unamused.svg new file mode 100644 index 0000000..197089f --- /dev/null +++ b/src/shared/assets/icons/emoji/unamused.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/underage.svg b/src/shared/assets/icons/emoji/underage.svg new file mode 100644 index 0000000..8f877f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/underage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/unicorn.svg b/src/shared/assets/icons/emoji/unicorn.svg new file mode 100644 index 0000000..19d9ff1 --- /dev/null +++ b/src/shared/assets/icons/emoji/unicorn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/united_nations.svg b/src/shared/assets/icons/emoji/united_nations.svg new file mode 100644 index 0000000..a035a76 --- /dev/null +++ b/src/shared/assets/icons/emoji/united_nations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/unlock.svg b/src/shared/assets/icons/emoji/unlock.svg new file mode 100644 index 0000000..cd82ec8 --- /dev/null +++ b/src/shared/assets/icons/emoji/unlock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/up.svg b/src/shared/assets/icons/emoji/up.svg new file mode 100644 index 0000000..19ab184 --- /dev/null +++ b/src/shared/assets/icons/emoji/up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/upside_down.svg b/src/shared/assets/icons/emoji/upside_down.svg new file mode 100644 index 0000000..ce06237 --- /dev/null +++ b/src/shared/assets/icons/emoji/upside_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/urn.svg b/src/shared/assets/icons/emoji/urn.svg new file mode 100644 index 0000000..830c81a --- /dev/null +++ b/src/shared/assets/icons/emoji/urn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/v.svg b/src/shared/assets/icons/emoji/v.svg new file mode 100644 index 0000000..730545f --- /dev/null +++ b/src/shared/assets/icons/emoji/v.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vampire.svg b/src/shared/assets/icons/emoji/vampire.svg new file mode 100644 index 0000000..642dc3a --- /dev/null +++ b/src/shared/assets/icons/emoji/vampire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vertical_traffic_light.svg b/src/shared/assets/icons/emoji/vertical_traffic_light.svg new file mode 100644 index 0000000..252e85c --- /dev/null +++ b/src/shared/assets/icons/emoji/vertical_traffic_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vhs.svg b/src/shared/assets/icons/emoji/vhs.svg new file mode 100644 index 0000000..31024ba --- /dev/null +++ b/src/shared/assets/icons/emoji/vhs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vibration_mode.svg b/src/shared/assets/icons/emoji/vibration_mode.svg new file mode 100644 index 0000000..287d5a9 --- /dev/null +++ b/src/shared/assets/icons/emoji/vibration_mode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/video_camera.svg b/src/shared/assets/icons/emoji/video_camera.svg new file mode 100644 index 0000000..f1abb59 --- /dev/null +++ b/src/shared/assets/icons/emoji/video_camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/video_game.svg b/src/shared/assets/icons/emoji/video_game.svg new file mode 100644 index 0000000..4ec08ae --- /dev/null +++ b/src/shared/assets/icons/emoji/video_game.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/violin.svg b/src/shared/assets/icons/emoji/violin.svg new file mode 100644 index 0000000..efb7d5d --- /dev/null +++ b/src/shared/assets/icons/emoji/violin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/virgo.svg b/src/shared/assets/icons/emoji/virgo.svg new file mode 100644 index 0000000..98ad1a8 --- /dev/null +++ b/src/shared/assets/icons/emoji/virgo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/volcano.svg b/src/shared/assets/icons/emoji/volcano.svg new file mode 100644 index 0000000..88d989d --- /dev/null +++ b/src/shared/assets/icons/emoji/volcano.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/volleyball.svg b/src/shared/assets/icons/emoji/volleyball.svg new file mode 100644 index 0000000..b23cfc3 --- /dev/null +++ b/src/shared/assets/icons/emoji/volleyball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vs.svg b/src/shared/assets/icons/emoji/vs.svg new file mode 100644 index 0000000..2d36646 --- /dev/null +++ b/src/shared/assets/icons/emoji/vs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/vulcan.svg b/src/shared/assets/icons/emoji/vulcan.svg new file mode 100644 index 0000000..4b834f8 --- /dev/null +++ b/src/shared/assets/icons/emoji/vulcan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/waffle.svg b/src/shared/assets/icons/emoji/waffle.svg new file mode 100644 index 0000000..cc92a9d --- /dev/null +++ b/src/shared/assets/icons/emoji/waffle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wales.svg b/src/shared/assets/icons/emoji/wales.svg new file mode 100644 index 0000000..a832676 --- /dev/null +++ b/src/shared/assets/icons/emoji/wales.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/waning_crescent_moon.svg b/src/shared/assets/icons/emoji/waning_crescent_moon.svg new file mode 100644 index 0000000..bad95d5 --- /dev/null +++ b/src/shared/assets/icons/emoji/waning_crescent_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/waning_gibbous_moon.svg b/src/shared/assets/icons/emoji/waning_gibbous_moon.svg new file mode 100644 index 0000000..9cbc981 --- /dev/null +++ b/src/shared/assets/icons/emoji/waning_gibbous_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/warning.svg b/src/shared/assets/icons/emoji/warning.svg new file mode 100644 index 0000000..b9ee297 --- /dev/null +++ b/src/shared/assets/icons/emoji/warning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wastebasket.svg b/src/shared/assets/icons/emoji/wastebasket.svg new file mode 100644 index 0000000..2669507 --- /dev/null +++ b/src/shared/assets/icons/emoji/wastebasket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/watch.svg b/src/shared/assets/icons/emoji/watch.svg new file mode 100644 index 0000000..53e6f6e --- /dev/null +++ b/src/shared/assets/icons/emoji/watch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/water_buffalo.svg b/src/shared/assets/icons/emoji/water_buffalo.svg new file mode 100644 index 0000000..33d0009 --- /dev/null +++ b/src/shared/assets/icons/emoji/water_buffalo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/watermelon.svg b/src/shared/assets/icons/emoji/watermelon.svg new file mode 100644 index 0000000..0f5ec06 --- /dev/null +++ b/src/shared/assets/icons/emoji/watermelon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wave.svg b/src/shared/assets/icons/emoji/wave.svg new file mode 100644 index 0000000..8942c68 --- /dev/null +++ b/src/shared/assets/icons/emoji/wave.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wavy_dash.svg b/src/shared/assets/icons/emoji/wavy_dash.svg new file mode 100644 index 0000000..8ea1141 --- /dev/null +++ b/src/shared/assets/icons/emoji/wavy_dash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/waxing_crescent_moon.svg b/src/shared/assets/icons/emoji/waxing_crescent_moon.svg new file mode 100644 index 0000000..d3bb1a7 --- /dev/null +++ b/src/shared/assets/icons/emoji/waxing_crescent_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/waxing_gibbous_moon.svg b/src/shared/assets/icons/emoji/waxing_gibbous_moon.svg new file mode 100644 index 0000000..90488ed --- /dev/null +++ b/src/shared/assets/icons/emoji/waxing_gibbous_moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wc.svg b/src/shared/assets/icons/emoji/wc.svg new file mode 100644 index 0000000..aad724c --- /dev/null +++ b/src/shared/assets/icons/emoji/wc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/weary.svg b/src/shared/assets/icons/emoji/weary.svg new file mode 100644 index 0000000..d367d48 --- /dev/null +++ b/src/shared/assets/icons/emoji/weary.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wedding.svg b/src/shared/assets/icons/emoji/wedding.svg new file mode 100644 index 0000000..974ddac --- /dev/null +++ b/src/shared/assets/icons/emoji/wedding.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/whale.svg b/src/shared/assets/icons/emoji/whale.svg new file mode 100644 index 0000000..f00ea10 --- /dev/null +++ b/src/shared/assets/icons/emoji/whale.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/whale2.svg b/src/shared/assets/icons/emoji/whale2.svg new file mode 100644 index 0000000..8bf0a53 --- /dev/null +++ b/src/shared/assets/icons/emoji/whale2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wheel_of_dharma.svg b/src/shared/assets/icons/emoji/wheel_of_dharma.svg new file mode 100644 index 0000000..a00bf1d --- /dev/null +++ b/src/shared/assets/icons/emoji/wheel_of_dharma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wheelchair.svg b/src/shared/assets/icons/emoji/wheelchair.svg new file mode 100644 index 0000000..b1d1c42 --- /dev/null +++ b/src/shared/assets/icons/emoji/wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_check_mark.svg b/src/shared/assets/icons/emoji/white_check_mark.svg new file mode 100644 index 0000000..9817a09 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_check_mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_circle.svg b/src/shared/assets/icons/emoji/white_circle.svg new file mode 100644 index 0000000..60b9bbc --- /dev/null +++ b/src/shared/assets/icons/emoji/white_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_flower.svg b/src/shared/assets/icons/emoji/white_flower.svg new file mode 100644 index 0000000..7f8b528 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_flower.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_heart.svg b/src/shared/assets/icons/emoji/white_heart.svg new file mode 100644 index 0000000..7deb0cd --- /dev/null +++ b/src/shared/assets/icons/emoji/white_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_large_square.svg b/src/shared/assets/icons/emoji/white_large_square.svg new file mode 100644 index 0000000..a40e12e --- /dev/null +++ b/src/shared/assets/icons/emoji/white_large_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_medium_small_square.svg b/src/shared/assets/icons/emoji/white_medium_small_square.svg new file mode 100644 index 0000000..6f73777 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_medium_small_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_medium_square.svg b/src/shared/assets/icons/emoji/white_medium_square.svg new file mode 100644 index 0000000..eb40d14 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_medium_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_small_square.svg b/src/shared/assets/icons/emoji/white_small_square.svg new file mode 100644 index 0000000..6d1f796 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_small_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_square_button.svg b/src/shared/assets/icons/emoji/white_square_button.svg new file mode 100644 index 0000000..13f35b7 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_square_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_sun_cloud.svg b/src/shared/assets/icons/emoji/white_sun_cloud.svg new file mode 100644 index 0000000..1efae10 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_sun_cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_sun_rain_cloud.svg b/src/shared/assets/icons/emoji/white_sun_rain_cloud.svg new file mode 100644 index 0000000..3a65ae7 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_sun_rain_cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/white_sun_small_cloud.svg b/src/shared/assets/icons/emoji/white_sun_small_cloud.svg new file mode 100644 index 0000000..8ba8c52 --- /dev/null +++ b/src/shared/assets/icons/emoji/white_sun_small_cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wilted_rose.svg b/src/shared/assets/icons/emoji/wilted_rose.svg new file mode 100644 index 0000000..dedff20 --- /dev/null +++ b/src/shared/assets/icons/emoji/wilted_rose.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wind_blowing_face.svg b/src/shared/assets/icons/emoji/wind_blowing_face.svg new file mode 100644 index 0000000..7d55457 --- /dev/null +++ b/src/shared/assets/icons/emoji/wind_blowing_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wind_chime.svg b/src/shared/assets/icons/emoji/wind_chime.svg new file mode 100644 index 0000000..9aebc79 --- /dev/null +++ b/src/shared/assets/icons/emoji/wind_chime.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wine_glass.svg b/src/shared/assets/icons/emoji/wine_glass.svg new file mode 100644 index 0000000..b792531 --- /dev/null +++ b/src/shared/assets/icons/emoji/wine_glass.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wink.svg b/src/shared/assets/icons/emoji/wink.svg new file mode 100644 index 0000000..1b7bba0 --- /dev/null +++ b/src/shared/assets/icons/emoji/wink.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wolf.svg b/src/shared/assets/icons/emoji/wolf.svg new file mode 100644 index 0000000..af40205 --- /dev/null +++ b/src/shared/assets/icons/emoji/wolf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman.svg b/src/shared/assets/icons/emoji/woman.svg new file mode 100644 index 0000000..4178567 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_artist.svg b/src/shared/assets/icons/emoji/woman_artist.svg new file mode 100644 index 0000000..6d4807e --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_artist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_astronaut.svg b/src/shared/assets/icons/emoji/woman_astronaut.svg new file mode 100644 index 0000000..c4fdde4 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_astronaut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_bald.svg b/src/shared/assets/icons/emoji/woman_bald.svg new file mode 100644 index 0000000..3fd1004 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_bald.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_biking.svg b/src/shared/assets/icons/emoji/woman_biking.svg new file mode 100644 index 0000000..4ecaf72 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_bouncing_ball.svg b/src/shared/assets/icons/emoji/woman_bouncing_ball.svg new file mode 100644 index 0000000..f25f03d --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_bouncing_ball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_bowing.svg b/src/shared/assets/icons/emoji/woman_bowing.svg new file mode 100644 index 0000000..0545aa2 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_bowing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_cartwheeling.svg b/src/shared/assets/icons/emoji/woman_cartwheeling.svg new file mode 100644 index 0000000..9cec3f9 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_cartwheeling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_climbing.svg b/src/shared/assets/icons/emoji/woman_climbing.svg new file mode 100644 index 0000000..c65c14a --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_climbing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_construction_worker.svg b/src/shared/assets/icons/emoji/woman_construction_worker.svg new file mode 100644 index 0000000..ecfd1b8 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_construction_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_cook.svg b/src/shared/assets/icons/emoji/woman_cook.svg new file mode 100644 index 0000000..962decc --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_cook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_curly_haired.svg b/src/shared/assets/icons/emoji/woman_curly_haired.svg new file mode 100644 index 0000000..62cc26b --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_curly_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_detective.svg b/src/shared/assets/icons/emoji/woman_detective.svg new file mode 100644 index 0000000..1f92d39 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_detective.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_elf.svg b/src/shared/assets/icons/emoji/woman_elf.svg new file mode 100644 index 0000000..f452ca7 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_elf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_facepalming.svg b/src/shared/assets/icons/emoji/woman_facepalming.svg new file mode 100644 index 0000000..a31d72b --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_facepalming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_factory_worker.svg b/src/shared/assets/icons/emoji/woman_factory_worker.svg new file mode 100644 index 0000000..064bfd4 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_factory_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_fairy.svg b/src/shared/assets/icons/emoji/woman_fairy.svg new file mode 100644 index 0000000..7a60a49 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_fairy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_farmer.svg b/src/shared/assets/icons/emoji/woman_farmer.svg new file mode 100644 index 0000000..c8974b5 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_farmer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_firefighter.svg b/src/shared/assets/icons/emoji/woman_firefighter.svg new file mode 100644 index 0000000..cbde12e --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_firefighter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_frowning.svg b/src/shared/assets/icons/emoji/woman_frowning.svg new file mode 100644 index 0000000..e14fb57 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_frowning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_genie.svg b/src/shared/assets/icons/emoji/woman_genie.svg new file mode 100644 index 0000000..9893e0a --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_genie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_gesturing_no.svg b/src/shared/assets/icons/emoji/woman_gesturing_no.svg new file mode 100644 index 0000000..2e47b67 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_gesturing_no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_gesturing_ok.svg b/src/shared/assets/icons/emoji/woman_gesturing_ok.svg new file mode 100644 index 0000000..ccdb92a --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_gesturing_ok.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_getting_face_massage.svg b/src/shared/assets/icons/emoji/woman_getting_face_massage.svg new file mode 100644 index 0000000..de2053b --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_getting_face_massage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_getting_haircut.svg b/src/shared/assets/icons/emoji/woman_getting_haircut.svg new file mode 100644 index 0000000..8bfab80 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_getting_haircut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_golfing.svg b/src/shared/assets/icons/emoji/woman_golfing.svg new file mode 100644 index 0000000..859d12f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_golfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_guard.svg b/src/shared/assets/icons/emoji/woman_guard.svg new file mode 100644 index 0000000..e8a3388 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_guard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_health_worker.svg b/src/shared/assets/icons/emoji/woman_health_worker.svg new file mode 100644 index 0000000..efe2909 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_health_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_in_lotus_position.svg b/src/shared/assets/icons/emoji/woman_in_lotus_position.svg new file mode 100644 index 0000000..8fcb70f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_in_lotus_position.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_in_manual_wheelchair.svg b/src/shared/assets/icons/emoji/woman_in_manual_wheelchair.svg new file mode 100644 index 0000000..1d6b02c --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_in_manual_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_in_motorized_wheelchair.svg b/src/shared/assets/icons/emoji/woman_in_motorized_wheelchair.svg new file mode 100644 index 0000000..6706ec8 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_in_motorized_wheelchair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_in_steamy_room.svg b/src/shared/assets/icons/emoji/woman_in_steamy_room.svg new file mode 100644 index 0000000..f1d0343 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_in_steamy_room.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_judge.svg b/src/shared/assets/icons/emoji/woman_judge.svg new file mode 100644 index 0000000..e8b489a --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_judge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_juggling.svg b/src/shared/assets/icons/emoji/woman_juggling.svg new file mode 100644 index 0000000..0e3e5e4 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_juggling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_kneeling.svg b/src/shared/assets/icons/emoji/woman_kneeling.svg new file mode 100644 index 0000000..89c9ff4 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_kneeling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_lifting_weights.svg b/src/shared/assets/icons/emoji/woman_lifting_weights.svg new file mode 100644 index 0000000..1e2ac7f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_lifting_weights.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_mage.svg b/src/shared/assets/icons/emoji/woman_mage.svg new file mode 100644 index 0000000..d5b31e5 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_mage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_mechanic.svg b/src/shared/assets/icons/emoji/woman_mechanic.svg new file mode 100644 index 0000000..24b1609 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_mechanic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_mountain_biking.svg b/src/shared/assets/icons/emoji/woman_mountain_biking.svg new file mode 100644 index 0000000..aaf71dc --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_mountain_biking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_office_worker.svg b/src/shared/assets/icons/emoji/woman_office_worker.svg new file mode 100644 index 0000000..9f41d66 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_office_worker.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_pilot.svg b/src/shared/assets/icons/emoji/woman_pilot.svg new file mode 100644 index 0000000..953b06f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_pilot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_playing_handball.svg b/src/shared/assets/icons/emoji/woman_playing_handball.svg new file mode 100644 index 0000000..28e86b3 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_playing_handball.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_playing_water_polo.svg b/src/shared/assets/icons/emoji/woman_playing_water_polo.svg new file mode 100644 index 0000000..1cca2e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_playing_water_polo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_police_officer.svg b/src/shared/assets/icons/emoji/woman_police_officer.svg new file mode 100644 index 0000000..6b0fac2 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_police_officer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_pouting.svg b/src/shared/assets/icons/emoji/woman_pouting.svg new file mode 100644 index 0000000..0bd74db --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_pouting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_raising_hand.svg b/src/shared/assets/icons/emoji/woman_raising_hand.svg new file mode 100644 index 0000000..a5ccaa1 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_raising_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_red_haired.svg b/src/shared/assets/icons/emoji/woman_red_haired.svg new file mode 100644 index 0000000..68367e8 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_red_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_rowing_boat.svg b/src/shared/assets/icons/emoji/woman_rowing_boat.svg new file mode 100644 index 0000000..8e0c5ad --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_rowing_boat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_running.svg b/src/shared/assets/icons/emoji/woman_running.svg new file mode 100644 index 0000000..9acdb7a --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_running.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_scientist.svg b/src/shared/assets/icons/emoji/woman_scientist.svg new file mode 100644 index 0000000..9597ebc --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_scientist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_shrugging.svg b/src/shared/assets/icons/emoji/woman_shrugging.svg new file mode 100644 index 0000000..f78db07 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_shrugging.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_singer.svg b/src/shared/assets/icons/emoji/woman_singer.svg new file mode 100644 index 0000000..8aa5e4c --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_singer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_standing.svg b/src/shared/assets/icons/emoji/woman_standing.svg new file mode 100644 index 0000000..1b8bfc3 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_standing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_student.svg b/src/shared/assets/icons/emoji/woman_student.svg new file mode 100644 index 0000000..47ad3e7 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_student.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_superhero.svg b/src/shared/assets/icons/emoji/woman_superhero.svg new file mode 100644 index 0000000..120097e --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_superhero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_supervillain.svg b/src/shared/assets/icons/emoji/woman_supervillain.svg new file mode 100644 index 0000000..7d6953e --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_supervillain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_surfing.svg b/src/shared/assets/icons/emoji/woman_surfing.svg new file mode 100644 index 0000000..c33ecc7 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_surfing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_swimming.svg b/src/shared/assets/icons/emoji/woman_swimming.svg new file mode 100644 index 0000000..dfc2cb6 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_swimming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_teacher.svg b/src/shared/assets/icons/emoji/woman_teacher.svg new file mode 100644 index 0000000..9a3e544 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_teacher.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_technologist.svg b/src/shared/assets/icons/emoji/woman_technologist.svg new file mode 100644 index 0000000..c69729f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_technologist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_tipping_hand.svg b/src/shared/assets/icons/emoji/woman_tipping_hand.svg new file mode 100644 index 0000000..7a4864f --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_tipping_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_vampire.svg b/src/shared/assets/icons/emoji/woman_vampire.svg new file mode 100644 index 0000000..53d6dde --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_vampire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_walking.svg b/src/shared/assets/icons/emoji/woman_walking.svg new file mode 100644 index 0000000..8e187bf --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_walking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_wearing_turban.svg b/src/shared/assets/icons/emoji/woman_wearing_turban.svg new file mode 100644 index 0000000..9fe3052 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_wearing_turban.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_white_haired.svg b/src/shared/assets/icons/emoji/woman_white_haired.svg new file mode 100644 index 0000000..1ce720e --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_white_haired.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_with_headscarf.svg b/src/shared/assets/icons/emoji/woman_with_headscarf.svg new file mode 100644 index 0000000..a650fee --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_with_headscarf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_with_probing_cane.svg b/src/shared/assets/icons/emoji/woman_with_probing_cane.svg new file mode 100644 index 0000000..fe55587 --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_with_probing_cane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woman_zombie.svg b/src/shared/assets/icons/emoji/woman_zombie.svg new file mode 100644 index 0000000..cac9ccf --- /dev/null +++ b/src/shared/assets/icons/emoji/woman_zombie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/womans_clothes.svg b/src/shared/assets/icons/emoji/womans_clothes.svg new file mode 100644 index 0000000..9d6306c --- /dev/null +++ b/src/shared/assets/icons/emoji/womans_clothes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/womans_flat_shoe.svg b/src/shared/assets/icons/emoji/womans_flat_shoe.svg new file mode 100644 index 0000000..2206307 --- /dev/null +++ b/src/shared/assets/icons/emoji/womans_flat_shoe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/womans_hat.svg b/src/shared/assets/icons/emoji/womans_hat.svg new file mode 100644 index 0000000..4b64744 --- /dev/null +++ b/src/shared/assets/icons/emoji/womans_hat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/women_with_bunny_ears_partying.svg b/src/shared/assets/icons/emoji/women_with_bunny_ears_partying.svg new file mode 100644 index 0000000..7c7fe7d --- /dev/null +++ b/src/shared/assets/icons/emoji/women_with_bunny_ears_partying.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/women_wrestling.svg b/src/shared/assets/icons/emoji/women_wrestling.svg new file mode 100644 index 0000000..9abd833 --- /dev/null +++ b/src/shared/assets/icons/emoji/women_wrestling.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/womens.svg b/src/shared/assets/icons/emoji/womens.svg new file mode 100644 index 0000000..d73ed94 --- /dev/null +++ b/src/shared/assets/icons/emoji/womens.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/woozy_face.svg b/src/shared/assets/icons/emoji/woozy_face.svg new file mode 100644 index 0000000..87bb859 --- /dev/null +++ b/src/shared/assets/icons/emoji/woozy_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/worried.svg b/src/shared/assets/icons/emoji/worried.svg new file mode 100644 index 0000000..c5cec95 --- /dev/null +++ b/src/shared/assets/icons/emoji/worried.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/wrench.svg b/src/shared/assets/icons/emoji/wrench.svg new file mode 100644 index 0000000..73a06d0 --- /dev/null +++ b/src/shared/assets/icons/emoji/wrench.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/writing_hand.svg b/src/shared/assets/icons/emoji/writing_hand.svg new file mode 100644 index 0000000..f138584 --- /dev/null +++ b/src/shared/assets/icons/emoji/writing_hand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/x.svg b/src/shared/assets/icons/emoji/x.svg new file mode 100644 index 0000000..4d76e24 --- /dev/null +++ b/src/shared/assets/icons/emoji/x.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yarn.svg b/src/shared/assets/icons/emoji/yarn.svg new file mode 100644 index 0000000..f402fd2 --- /dev/null +++ b/src/shared/assets/icons/emoji/yarn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yawning_face.svg b/src/shared/assets/icons/emoji/yawning_face.svg new file mode 100644 index 0000000..26444c6 --- /dev/null +++ b/src/shared/assets/icons/emoji/yawning_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yellow_circle.svg b/src/shared/assets/icons/emoji/yellow_circle.svg new file mode 100644 index 0000000..5c05d43 --- /dev/null +++ b/src/shared/assets/icons/emoji/yellow_circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yellow_heart.svg b/src/shared/assets/icons/emoji/yellow_heart.svg new file mode 100644 index 0000000..e57e244 --- /dev/null +++ b/src/shared/assets/icons/emoji/yellow_heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yellow_square.svg b/src/shared/assets/icons/emoji/yellow_square.svg new file mode 100644 index 0000000..64795b1 --- /dev/null +++ b/src/shared/assets/icons/emoji/yellow_square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yen.svg b/src/shared/assets/icons/emoji/yen.svg new file mode 100644 index 0000000..5db237d --- /dev/null +++ b/src/shared/assets/icons/emoji/yen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yin_yang.svg b/src/shared/assets/icons/emoji/yin_yang.svg new file mode 100644 index 0000000..e0aff80 --- /dev/null +++ b/src/shared/assets/icons/emoji/yin_yang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yo_yo.svg b/src/shared/assets/icons/emoji/yo_yo.svg new file mode 100644 index 0000000..fc9af9b --- /dev/null +++ b/src/shared/assets/icons/emoji/yo_yo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/yum.svg b/src/shared/assets/icons/emoji/yum.svg new file mode 100644 index 0000000..2c962bb --- /dev/null +++ b/src/shared/assets/icons/emoji/yum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zany_face.svg b/src/shared/assets/icons/emoji/zany_face.svg new file mode 100644 index 0000000..baf58f2 --- /dev/null +++ b/src/shared/assets/icons/emoji/zany_face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zap.svg b/src/shared/assets/icons/emoji/zap.svg new file mode 100644 index 0000000..9d9ae7d --- /dev/null +++ b/src/shared/assets/icons/emoji/zap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zebra.svg b/src/shared/assets/icons/emoji/zebra.svg new file mode 100644 index 0000000..2cb4b9e --- /dev/null +++ b/src/shared/assets/icons/emoji/zebra.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zero.svg b/src/shared/assets/icons/emoji/zero.svg new file mode 100644 index 0000000..8794b3a --- /dev/null +++ b/src/shared/assets/icons/emoji/zero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zipper_mouth.svg b/src/shared/assets/icons/emoji/zipper_mouth.svg new file mode 100644 index 0000000..873621f --- /dev/null +++ b/src/shared/assets/icons/emoji/zipper_mouth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zombie.svg b/src/shared/assets/icons/emoji/zombie.svg new file mode 100644 index 0000000..596a02f --- /dev/null +++ b/src/shared/assets/icons/emoji/zombie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/emoji/zzz.svg b/src/shared/assets/icons/emoji/zzz.svg new file mode 100644 index 0000000..b713e97 --- /dev/null +++ b/src/shared/assets/icons/emoji/zzz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/icons/feature/chat.svg b/src/shared/assets/icons/feature/chat.svg new file mode 100644 index 0000000..0a75d6e --- /dev/null +++ b/src/shared/assets/icons/feature/chat.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/feature/upload-icon.svg b/src/shared/assets/icons/feature/upload-icon.svg new file mode 100644 index 0000000..b70d4c8 --- /dev/null +++ b/src/shared/assets/icons/feature/upload-icon.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/index.ts b/src/shared/assets/icons/index.ts new file mode 100644 index 0000000..4af6f71 --- /dev/null +++ b/src/shared/assets/icons/index.ts @@ -0,0 +1 @@ +export default import.meta.glob('./**/*.svg', { query: '?raw', import: 'default' }) diff --git a/src/shared/assets/icons/logos/patchcord/combination.svg b/src/shared/assets/icons/logos/patchcord/combination.svg new file mode 100644 index 0000000..a13a29e --- /dev/null +++ b/src/shared/assets/icons/logos/patchcord/combination.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/shared/assets/icons/logos/patchcord/symbol.svg b/src/shared/assets/icons/logos/patchcord/symbol.svg new file mode 100644 index 0000000..999429b --- /dev/null +++ b/src/shared/assets/icons/logos/patchcord/symbol.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/shared/assets/icons/logos/patchcord/text.svg b/src/shared/assets/icons/logos/patchcord/text.svg new file mode 100644 index 0000000..d75267e --- /dev/null +++ b/src/shared/assets/icons/logos/patchcord/text.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/logos/statuspage.svg b/src/shared/assets/icons/logos/statuspage.svg new file mode 100644 index 0000000..e37bb82 --- /dev/null +++ b/src/shared/assets/icons/logos/statuspage.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/shared/assets/icons/logos/telegram.svg b/src/shared/assets/icons/logos/telegram.svg new file mode 100644 index 0000000..f9d30d0 --- /dev/null +++ b/src/shared/assets/icons/logos/telegram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/bell.svg b/src/shared/assets/icons/misc/bell.svg new file mode 100644 index 0000000..9c64600 --- /dev/null +++ b/src/shared/assets/icons/misc/bell.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/call-end.svg b/src/shared/assets/icons/misc/call-end.svg new file mode 100644 index 0000000..f0d74d0 --- /dev/null +++ b/src/shared/assets/icons/misc/call-end.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/chat-bubbles.svg b/src/shared/assets/icons/misc/chat-bubbles.svg new file mode 100644 index 0000000..597e128 --- /dev/null +++ b/src/shared/assets/icons/misc/chat-bubbles.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/check-circle.svg b/src/shared/assets/icons/misc/check-circle.svg new file mode 100644 index 0000000..4e9ada9 --- /dev/null +++ b/src/shared/assets/icons/misc/check-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/check.svg b/src/shared/assets/icons/misc/check.svg new file mode 100644 index 0000000..63e45e7 --- /dev/null +++ b/src/shared/assets/icons/misc/check.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/shared/assets/icons/misc/chevron-down.svg b/src/shared/assets/icons/misc/chevron-down.svg new file mode 100644 index 0000000..434214d --- /dev/null +++ b/src/shared/assets/icons/misc/chevron-down.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/shared/assets/icons/misc/chevron-right.svg b/src/shared/assets/icons/misc/chevron-right.svg new file mode 100644 index 0000000..f5bfe19 --- /dev/null +++ b/src/shared/assets/icons/misc/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/chevron-up.svg b/src/shared/assets/icons/misc/chevron-up.svg new file mode 100644 index 0000000..2acf35b --- /dev/null +++ b/src/shared/assets/icons/misc/chevron-up.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/shared/assets/icons/misc/compass-circle.svg b/src/shared/assets/icons/misc/compass-circle.svg new file mode 100644 index 0000000..abee3cf --- /dev/null +++ b/src/shared/assets/icons/misc/compass-circle.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/cross.svg b/src/shared/assets/icons/misc/cross.svg new file mode 100644 index 0000000..282e913 --- /dev/null +++ b/src/shared/assets/icons/misc/cross.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/dot.svg b/src/shared/assets/icons/misc/dot.svg new file mode 100644 index 0000000..751b413 --- /dev/null +++ b/src/shared/assets/icons/misc/dot.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/dots-vertical.svg b/src/shared/assets/icons/misc/dots-vertical.svg new file mode 100644 index 0000000..bd6c973 --- /dev/null +++ b/src/shared/assets/icons/misc/dots-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/drawer.svg b/src/shared/assets/icons/misc/drawer.svg new file mode 100644 index 0000000..78d10df --- /dev/null +++ b/src/shared/assets/icons/misc/drawer.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/emoji.svg b/src/shared/assets/icons/misc/emoji.svg new file mode 100644 index 0000000..fd0bbc7 --- /dev/null +++ b/src/shared/assets/icons/misc/emoji.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/gear.svg b/src/shared/assets/icons/misc/gear.svg new file mode 100644 index 0000000..340304c --- /dev/null +++ b/src/shared/assets/icons/misc/gear.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/gif.svg b/src/shared/assets/icons/misc/gif.svg new file mode 100644 index 0000000..d81c0f6 --- /dev/null +++ b/src/shared/assets/icons/misc/gif.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/greeting.svg b/src/shared/assets/icons/misc/greeting.svg new file mode 100644 index 0000000..71f8620 --- /dev/null +++ b/src/shared/assets/icons/misc/greeting.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/hashtag.svg b/src/shared/assets/icons/misc/hashtag.svg new file mode 100644 index 0000000..06d1d2b --- /dev/null +++ b/src/shared/assets/icons/misc/hashtag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/headset-off.svg b/src/shared/assets/icons/misc/headset-off.svg new file mode 100644 index 0000000..b081880 --- /dev/null +++ b/src/shared/assets/icons/misc/headset-off.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/headset.svg b/src/shared/assets/icons/misc/headset.svg new file mode 100644 index 0000000..56282c8 --- /dev/null +++ b/src/shared/assets/icons/misc/headset.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/info-circle.svg b/src/shared/assets/icons/misc/info-circle.svg new file mode 100644 index 0000000..4f3b447 --- /dev/null +++ b/src/shared/assets/icons/misc/info-circle.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/magnifier.svg b/src/shared/assets/icons/misc/magnifier.svg new file mode 100644 index 0000000..ffc8466 --- /dev/null +++ b/src/shared/assets/icons/misc/magnifier.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/message.svg b/src/shared/assets/icons/misc/message.svg new file mode 100644 index 0000000..74c1db1 --- /dev/null +++ b/src/shared/assets/icons/misc/message.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/misc/mic-off.svg b/src/shared/assets/icons/misc/mic-off.svg new file mode 100644 index 0000000..7ee7dbf --- /dev/null +++ b/src/shared/assets/icons/misc/mic-off.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/mic.svg b/src/shared/assets/icons/misc/mic.svg new file mode 100644 index 0000000..075fc54 --- /dev/null +++ b/src/shared/assets/icons/misc/mic.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/pin.svg b/src/shared/assets/icons/misc/pin.svg new file mode 100644 index 0000000..a948aad --- /dev/null +++ b/src/shared/assets/icons/misc/pin.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/plus-circle.svg b/src/shared/assets/icons/misc/plus-circle.svg new file mode 100644 index 0000000..15e3288 --- /dev/null +++ b/src/shared/assets/icons/misc/plus-circle.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/plus-large.svg b/src/shared/assets/icons/misc/plus-large.svg new file mode 100644 index 0000000..110c623 --- /dev/null +++ b/src/shared/assets/icons/misc/plus-large.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/plus.svg b/src/shared/assets/icons/misc/plus.svg new file mode 100644 index 0000000..6ba6f22 --- /dev/null +++ b/src/shared/assets/icons/misc/plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/question-circle.svg b/src/shared/assets/icons/misc/question-circle.svg new file mode 100644 index 0000000..e1fcc7a --- /dev/null +++ b/src/shared/assets/icons/misc/question-circle.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/speaker.svg b/src/shared/assets/icons/misc/speaker.svg new file mode 100644 index 0000000..d98b20c --- /dev/null +++ b/src/shared/assets/icons/misc/speaker.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/sticker.svg b/src/shared/assets/icons/misc/sticker.svg new file mode 100644 index 0000000..b356f10 --- /dev/null +++ b/src/shared/assets/icons/misc/sticker.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/shared/assets/icons/misc/user-add.svg b/src/shared/assets/icons/misc/user-add.svg new file mode 100644 index 0000000..980400d --- /dev/null +++ b/src/shared/assets/icons/misc/user-add.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/users-add.svg b/src/shared/assets/icons/misc/users-add.svg new file mode 100644 index 0000000..7f82bed --- /dev/null +++ b/src/shared/assets/icons/misc/users-add.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/users.svg b/src/shared/assets/icons/misc/users.svg new file mode 100644 index 0000000..2bea07d --- /dev/null +++ b/src/shared/assets/icons/misc/users.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/misc/video-off.svg b/src/shared/assets/icons/misc/video-off.svg new file mode 100644 index 0000000..1b4a05c --- /dev/null +++ b/src/shared/assets/icons/misc/video-off.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/shared/assets/icons/misc/video.svg b/src/shared/assets/icons/misc/video.svg new file mode 100644 index 0000000..c404624 --- /dev/null +++ b/src/shared/assets/icons/misc/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/shared/assets/icons/pixel/book.svg b/src/shared/assets/icons/pixel/book.svg new file mode 100644 index 0000000..00ae81f --- /dev/null +++ b/src/shared/assets/icons/pixel/book.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/brush.svg b/src/shared/assets/icons/pixel/brush.svg new file mode 100644 index 0000000..2173e78 --- /dev/null +++ b/src/shared/assets/icons/pixel/brush.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/couch.svg b/src/shared/assets/icons/pixel/couch.svg new file mode 100644 index 0000000..0e57b23 --- /dev/null +++ b/src/shared/assets/icons/pixel/couch.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/download.svg b/src/shared/assets/icons/pixel/download.svg new file mode 100644 index 0000000..e2424b3 --- /dev/null +++ b/src/shared/assets/icons/pixel/download.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/gamepad.svg b/src/shared/assets/icons/pixel/gamepad.svg new file mode 100644 index 0000000..028437d --- /dev/null +++ b/src/shared/assets/icons/pixel/gamepad.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/globe.svg b/src/shared/assets/icons/pixel/globe.svg new file mode 100644 index 0000000..bc3fa22 --- /dev/null +++ b/src/shared/assets/icons/pixel/globe.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/heart.svg b/src/shared/assets/icons/pixel/heart.svg new file mode 100644 index 0000000..27e6bc8 --- /dev/null +++ b/src/shared/assets/icons/pixel/heart.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/leaf.svg b/src/shared/assets/icons/pixel/leaf.svg new file mode 100644 index 0000000..2ff6294 --- /dev/null +++ b/src/shared/assets/icons/pixel/leaf.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/mailbox.svg b/src/shared/assets/icons/pixel/mailbox.svg new file mode 100644 index 0000000..8d34ba8 --- /dev/null +++ b/src/shared/assets/icons/pixel/mailbox.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/palette.svg b/src/shared/assets/icons/pixel/palette.svg new file mode 100644 index 0000000..bacab89 --- /dev/null +++ b/src/shared/assets/icons/pixel/palette.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/paper-plane.svg b/src/shared/assets/icons/pixel/paper-plane.svg new file mode 100644 index 0000000..3cf1b6c --- /dev/null +++ b/src/shared/assets/icons/pixel/paper-plane.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/peach.svg b/src/shared/assets/icons/pixel/peach.svg new file mode 100644 index 0000000..0a45d48 --- /dev/null +++ b/src/shared/assets/icons/pixel/peach.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/icons/pixel/pencil.svg b/src/shared/assets/icons/pixel/pencil.svg new file mode 100644 index 0000000..b33009d --- /dev/null +++ b/src/shared/assets/icons/pixel/pencil.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/shared/assets/images/auth/background.svg b/src/shared/assets/images/auth/background.svg new file mode 100644 index 0000000..ef28c34 --- /dev/null +++ b/src/shared/assets/images/auth/background.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/shared/assets/images/patchy_waving.svg b/src/shared/assets/images/patchy_waving.svg new file mode 100644 index 0000000..7ccc5cf --- /dev/null +++ b/src/shared/assets/images/patchy_waving.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/shared/assets/images/user/default-avatar.png b/src/shared/assets/images/user/default-avatar.png new file mode 100644 index 0000000..2b8f252 Binary files /dev/null and b/src/shared/assets/images/user/default-avatar.png differ diff --git a/src/shared/assets/sounds/bop_message1.mp3 b/src/shared/assets/sounds/bop_message1.mp3 new file mode 100644 index 0000000..a98f1c7 Binary files /dev/null and b/src/shared/assets/sounds/bop_message1.mp3 differ diff --git a/src/shared/assets/sounds/call_calling.mp3 b/src/shared/assets/sounds/call_calling.mp3 new file mode 100644 index 0000000..5a00cd0 Binary files /dev/null and b/src/shared/assets/sounds/call_calling.mp3 differ diff --git a/src/shared/assets/sounds/call_ringing.mp3 b/src/shared/assets/sounds/call_ringing.mp3 new file mode 100644 index 0000000..6c576c2 Binary files /dev/null and b/src/shared/assets/sounds/call_ringing.mp3 differ diff --git a/src/shared/assets/sounds/camera_off.mp3 b/src/shared/assets/sounds/camera_off.mp3 new file mode 100644 index 0000000..f6731fb Binary files /dev/null and b/src/shared/assets/sounds/camera_off.mp3 differ diff --git a/src/shared/assets/sounds/camera_on.mp3 b/src/shared/assets/sounds/camera_on.mp3 new file mode 100644 index 0000000..65ad834 Binary files /dev/null and b/src/shared/assets/sounds/camera_on.mp3 differ diff --git a/src/shared/assets/sounds/deafen.mp3 b/src/shared/assets/sounds/deafen.mp3 new file mode 100644 index 0000000..8168123 Binary files /dev/null and b/src/shared/assets/sounds/deafen.mp3 differ diff --git a/src/shared/assets/sounds/disconnect.mp3 b/src/shared/assets/sounds/disconnect.mp3 new file mode 100644 index 0000000..c58e9ed Binary files /dev/null and b/src/shared/assets/sounds/disconnect.mp3 differ diff --git a/src/shared/assets/sounds/index.ts b/src/shared/assets/sounds/index.ts new file mode 100644 index 0000000..d4fcd5d --- /dev/null +++ b/src/shared/assets/sounds/index.ts @@ -0,0 +1,15 @@ +const sounds = import.meta.glob('./**/*.{mp3,wav,ogg}', { eager: true, import: 'default' }) + +export const SOUND_MAP: Record = Object.entries(sounds).reduce( + (acc, [path, url]) => { + const fileName = path.split('/').pop()?.split('.')[0] + + if (fileName && typeof url === 'string') { + acc[fileName] = url + } + return acc + }, + {} as Record, +) + +export type SoundName = keyof typeof SOUND_MAP diff --git a/src/shared/assets/sounds/mention1.mp3 b/src/shared/assets/sounds/mention1.mp3 new file mode 100644 index 0000000..ac36dad Binary files /dev/null and b/src/shared/assets/sounds/mention1.mp3 differ diff --git a/src/shared/assets/sounds/mention2.mp3 b/src/shared/assets/sounds/mention2.mp3 new file mode 100644 index 0000000..fe406e2 Binary files /dev/null and b/src/shared/assets/sounds/mention2.mp3 differ diff --git a/src/shared/assets/sounds/mention3.mp3 b/src/shared/assets/sounds/mention3.mp3 new file mode 100644 index 0000000..07703fb Binary files /dev/null and b/src/shared/assets/sounds/mention3.mp3 differ diff --git a/src/shared/assets/sounds/message1.mp3 b/src/shared/assets/sounds/message1.mp3 new file mode 100644 index 0000000..30fb531 Binary files /dev/null and b/src/shared/assets/sounds/message1.mp3 differ diff --git a/src/shared/assets/sounds/message2.mp3 b/src/shared/assets/sounds/message2.mp3 new file mode 100644 index 0000000..c8f52cf Binary files /dev/null and b/src/shared/assets/sounds/message2.mp3 differ diff --git a/src/shared/assets/sounds/message3.mp3 b/src/shared/assets/sounds/message3.mp3 new file mode 100644 index 0000000..cd2cbf0 Binary files /dev/null and b/src/shared/assets/sounds/message3.mp3 differ diff --git a/src/shared/assets/sounds/mute.mp3 b/src/shared/assets/sounds/mute.mp3 new file mode 100644 index 0000000..b87de43 Binary files /dev/null and b/src/shared/assets/sounds/mute.mp3 differ diff --git a/src/shared/assets/sounds/ptt_start.mp3 b/src/shared/assets/sounds/ptt_start.mp3 new file mode 100644 index 0000000..38c8ec7 Binary files /dev/null and b/src/shared/assets/sounds/ptt_start.mp3 differ diff --git a/src/shared/assets/sounds/ptt_stop.mp3 b/src/shared/assets/sounds/ptt_stop.mp3 new file mode 100644 index 0000000..d1706a8 Binary files /dev/null and b/src/shared/assets/sounds/ptt_stop.mp3 differ diff --git a/src/shared/assets/sounds/reconnect.mp3 b/src/shared/assets/sounds/reconnect.mp3 new file mode 100644 index 0000000..38e8566 Binary files /dev/null and b/src/shared/assets/sounds/reconnect.mp3 differ diff --git a/src/shared/assets/sounds/stream_ended.mp3 b/src/shared/assets/sounds/stream_ended.mp3 new file mode 100644 index 0000000..b1d009c Binary files /dev/null and b/src/shared/assets/sounds/stream_ended.mp3 differ diff --git a/src/shared/assets/sounds/stream_started.mp3 b/src/shared/assets/sounds/stream_started.mp3 new file mode 100644 index 0000000..444fce8 Binary files /dev/null and b/src/shared/assets/sounds/stream_started.mp3 differ diff --git a/src/shared/assets/sounds/stream_user_joined.mp3 b/src/shared/assets/sounds/stream_user_joined.mp3 new file mode 100644 index 0000000..fd51c45 Binary files /dev/null and b/src/shared/assets/sounds/stream_user_joined.mp3 differ diff --git a/src/shared/assets/sounds/stream_user_left.mp3 b/src/shared/assets/sounds/stream_user_left.mp3 new file mode 100644 index 0000000..2ef04db Binary files /dev/null and b/src/shared/assets/sounds/stream_user_left.mp3 differ diff --git a/src/shared/assets/sounds/undeafen.mp3 b/src/shared/assets/sounds/undeafen.mp3 new file mode 100644 index 0000000..797c56e Binary files /dev/null and b/src/shared/assets/sounds/undeafen.mp3 differ diff --git a/src/shared/assets/sounds/unmute.mp3 b/src/shared/assets/sounds/unmute.mp3 new file mode 100644 index 0000000..fd78422 Binary files /dev/null and b/src/shared/assets/sounds/unmute.mp3 differ diff --git a/src/shared/assets/sounds/user_join.mp3 b/src/shared/assets/sounds/user_join.mp3 new file mode 100644 index 0000000..3e030fa Binary files /dev/null and b/src/shared/assets/sounds/user_join.mp3 differ diff --git a/src/shared/assets/sounds/user_leave.mp3 b/src/shared/assets/sounds/user_leave.mp3 new file mode 100644 index 0000000..1ec4a80 Binary files /dev/null and b/src/shared/assets/sounds/user_leave.mp3 differ diff --git a/src/shared/assets/sounds/user_moved.mp3 b/src/shared/assets/sounds/user_moved.mp3 new file mode 100644 index 0000000..1dfb081 Binary files /dev/null and b/src/shared/assets/sounds/user_moved.mp3 differ diff --git a/src/shared/assets/sprites/custom-emojis-grayscale.png b/src/shared/assets/sprites/custom-emojis-grayscale.png new file mode 100644 index 0000000..7e304af Binary files /dev/null and b/src/shared/assets/sprites/custom-emojis-grayscale.png differ diff --git a/src/shared/assets/sprites/custom-emojis.png b/src/shared/assets/sprites/custom-emojis.png new file mode 100644 index 0000000..fd8472a Binary files /dev/null and b/src/shared/assets/sprites/custom-emojis.png differ diff --git a/src/shared/assets/sprites/emojis.png b/src/shared/assets/sprites/emojis.png new file mode 100644 index 0000000..c87ad8d Binary files /dev/null and b/src/shared/assets/sprites/emojis.png differ diff --git a/src/shared/assets/videos/patchcord-spinner.webm b/src/shared/assets/videos/patchcord-spinner.webm new file mode 100644 index 0000000..b61a844 Binary files /dev/null and b/src/shared/assets/videos/patchcord-spinner.webm differ diff --git a/src/shared/composables/index.ts b/src/shared/composables/index.ts new file mode 100644 index 0000000..41c008d --- /dev/null +++ b/src/shared/composables/index.ts @@ -0,0 +1 @@ +export { useSound } from './useSound' diff --git a/src/shared/composables/useMediaDevices.ts b/src/shared/composables/useMediaDevices.ts new file mode 100644 index 0000000..e8e033f --- /dev/null +++ b/src/shared/composables/useMediaDevices.ts @@ -0,0 +1,62 @@ +import { ref, onMounted, onUnmounted } from 'vue' + +export const useMediaDevices = () => { + const audioInputs = ref([]) + const audioOutputs = ref([]) + const hasPermissions = ref(false) + + const requestAudioPermissions = async () => { + try { + const stream = await navigator.mediaDevices.getUserMedia({ audio: true }) + hasPermissions.value = true + stream.getTracks().forEach((track) => track.stop()) + await updateDeviceList() + } catch (error) { + console.error('Ошибка доступа к микрофону:', error) + hasPermissions.value = false + throw error + } + } + + const updateDeviceList = async () => { + try { + const devices = await navigator.mediaDevices.enumerateDevices() + audioInputs.value = devices.filter((device) => device.kind === 'audioinput') + audioOutputs.value = devices.filter((device) => device.kind === 'audiooutput') + } catch (error) { + console.error('Ошибка при получении списка устройств:', error) + } + } + + const getAudioStream = async (deviceId?: string): Promise => { + const constraints: MediaStreamConstraints = { + audio: deviceId ? { deviceId: { ideal: deviceId } } : true, + } + return await navigator.mediaDevices.getUserMedia(constraints) + } + + const handleDeviceChange = () => { + updateDeviceList() + } + + onMounted(() => { + if (navigator.mediaDevices) { + navigator.mediaDevices.addEventListener('devicechange', handleDeviceChange) + } + }) + + onUnmounted(() => { + if (navigator.mediaDevices) { + navigator.mediaDevices.removeEventListener('devicechange', handleDeviceChange) + } + }) + + return { + audioInputs, + audioOutputs, + hasPermissions, + requestAudioPermissions, + updateDeviceList, + getAudioStream, + } +} diff --git a/src/shared/composables/useSound.ts b/src/shared/composables/useSound.ts new file mode 100644 index 0000000..39415fe --- /dev/null +++ b/src/shared/composables/useSound.ts @@ -0,0 +1,26 @@ +import { SOUND_MAP, type SoundName } from '@/shared/assets/sounds' + +export const useSound = () => { + const play = (name: SoundName, options?: { volume?: number; loop?: boolean }) => { + const url = SOUND_MAP[name] + + if (!url) { + console.error(`Sound "${String(name)}" not found in registry.`) + return + } + + const audio = new Audio(url) + audio.volume = options?.volume ?? 0.5 + audio.loop = options?.loop ?? false + + audio.play().catch((err) => { + if (err.name !== 'NotAllowedError') { + console.warn('Playback error:', err) + } + }) + + return audio + } + + return { play, availableSounds: Object.keys(SOUND_MAP) } +} diff --git a/src/shared/config/api.config.ts b/src/shared/config/api.config.ts new file mode 100644 index 0000000..6202b29 --- /dev/null +++ b/src/shared/config/api.config.ts @@ -0,0 +1,11 @@ +export interface IApiConfig { + baseUrl: string + timeout: number +} + +const config: IApiConfig = { + baseUrl: import.meta.env.VITE_API_URL || 'http://localhost:3000', + timeout: 5000, +} + +export default config diff --git a/src/shared/config/app.config.ts b/src/shared/config/app.config.ts new file mode 100644 index 0000000..25b8c8d --- /dev/null +++ b/src/shared/config/app.config.ts @@ -0,0 +1,9 @@ +export interface IAppConfig { + env: string +} + +const config: IAppConfig = { + env: import.meta.env.MODE || 'development', +} + +export default config diff --git a/src/shared/config/index.ts b/src/shared/config/index.ts new file mode 100644 index 0000000..189f872 --- /dev/null +++ b/src/shared/config/index.ts @@ -0,0 +1,6 @@ +import appConfig from './app.config' +import apiConfig from './api.config' +import mediaConfig from './media.config' +export * from './sprites.config' + +export { appConfig, apiConfig, mediaConfig } diff --git a/src/shared/config/media.config.ts b/src/shared/config/media.config.ts new file mode 100644 index 0000000..45d7641 --- /dev/null +++ b/src/shared/config/media.config.ts @@ -0,0 +1,9 @@ +export interface MediaConfig { + mediaUrl: string +} + +const config: MediaConfig = { + mediaUrl: import.meta.env.VITE_MEDIA_URL || 'http://localhost:9001', +} + +export default config diff --git a/src/shared/config/sprites.config.ts b/src/shared/config/sprites.config.ts new file mode 100644 index 0000000..99467e6 --- /dev/null +++ b/src/shared/config/sprites.config.ts @@ -0,0 +1,1949 @@ +import emojiUrl from '@/shared/assets/sprites/emojis.png?url' +import customEmojiUrl from '@/shared/assets/sprites/custom-emojis.png?url' +import customEmojiGrayScaleUrl from '@/shared/assets/sprites/custom-emojis-grayscale.png?url' + +interface SpriteSheet { + url: string + sheetSize: { width: number; height: number } + spriteSize: number + items: Record +} + +export const SpriteConfig: Record = { + emoji: { + url: emojiUrl, + sheetSize: { width: 1680, height: 1560 }, + spriteSize: 40, + items: { + '100': [-320, -1040], + '1234': [-80, -1120], + grinning: [0, 0], + smiley: [-40, 0], + smile: [-80, 0], + grin: [-120, 0], + laughing: [-160, 0], + face_holding_back_tears: [-200, 0], + sweat_smile: [-240, 0], + joy: [-280, 0], + rofl: [-320, 0], + smiling_face_with_tear: [-360, 0], + relaxed: [-400, 0], + blush: [-440, 0], + innocent: [-480, 0], + slight_smile: [-520, 0], + upside_down: [-560, 0], + wink: [-600, 0], + relieved: [-640, 0], + heart_eyes: [-680, 0], + smiling_face_with_3_hearts: [-720, 0], + kissing_heart: [-760, 0], + kissing: [-800, 0], + kissing_smiling_eyes: [-840, 0], + kissing_closed_eyes: [-880, 0], + yum: [-920, 0], + stuck_out_tongue: [-960, 0], + stuck_out_tongue_closed_eyes: [-1000, 0], + stuck_out_tongue_winking_eye: [-1040, 0], + zany_face: [-1080, 0], + face_with_raised_eyebrow: [-1120, 0], + face_with_monocle: [-1160, 0], + nerd: [-1200, 0], + sunglasses: [-1240, 0], + disguised_face: [-1280, 0], + star_struck: [-1320, 0], + partying_face: [-1360, 0], + smirk: [-1400, 0], + unamused: [-1440, 0], + disappointed: [-1480, 0], + pensive: [-1520, 0], + worried: [-1560, 0], + confused: [-1600, 0], + slight_frown: [-1640, 0], + frowning2: [0, -40], + persevere: [-40, -40], + confounded: [-80, -40], + tired_face: [-120, -40], + weary: [-160, -40], + pleading_face: [-200, -40], + cry: [-240, -40], + sob: [-280, -40], + triumph: [-320, -40], + angry: [-360, -40], + rage: [-400, -40], + face_with_symbols_over_mouth: [-440, -40], + grimacing: [-1560, -40], + rolling_eyes: [-1600, -40], + hushed: [-1640, -40], + frowning: [0, -80], + anguished: [-40, -80], + open_mouth: [-80, -80], + astonished: [-120, -80], + yawning_face: [-160, -80], + sleeping: [-200, -80], + drooling_face: [-240, -80], + sleepy: [-280, -80], + face_exhaling: [-320, -80], + dizzy_face: [-360, -80], + face_with_spiral_eyes: [-400, -80], + zipper_mouth: [-440, -80], + woozy_face: [-480, -80], + nauseated_face: [-520, -80], + face_vomiting: [-560, -80], + sneezing_face: [-600, -80], + mask: [-640, -80], + thermometer_face: [-680, -80], + head_bandage: [-720, -80], + money_mouth: [-760, -80], + cowboy: [-800, -80], + smiling_imp: [-840, -80], + imp: [-880, -80], + japanese_ogre: [-920, -80], + japanese_goblin: [-960, -80], + clown: [-1000, -80], + poop: [-1040, -80], + ghost: [-1080, -80], + skull: [-1120, -80], + skull_crossbones: [-1160, -80], + alien: [-1200, -80], + space_invader: [-1240, -80], + robot: [-1280, -80], + jack_o_lantern: [-1320, -80], + smiley_cat: [-1360, -80], + smile_cat: [-1400, -80], + joy_cat: [-1440, -80], + heart_eyes_cat: [-1480, -80], + smirk_cat: [-1520, -80], + kissing_cat: [-1560, -80], + scream_cat: [-1600, -80], + crying_cat_face: [-1640, -80], + pouting_cat: [0, -120], + handshake: [-40, -120], + heart_hands: [0, 0], + palms_up_together: [-40, 0], + open_hands: [-80, 0], + raised_hands: [-120, 0], + clap: [-160, 0], + thumbsup: [-200, 0], + thumbsdown: [-240, 0], + punch: [-280, 0], + fist: [-320, 0], + left_facing_fist: [-360, 0], + right_facing_fist: [0, -40], + leftwards_pushing_hand: [-40, -40], + rightwards_pushing_hand: [-80, -40], + fingers_crossed: [-120, -40], + v: [-160, -40], + hand_with_index_finger_and_thumb_crossed: [-200, -40], + love_you_gesture: [-240, -40], + metal: [-280, -40], + ok_hand: [-320, -40], + pinched_fingers: [-360, -40], + pinching_hand: [0, -80], + palm_down_hand: [-40, -80], + palm_up_hand: [-80, -80], + point_left: [-120, -80], + point_right: [-160, -80], + point_up_2: [-200, -80], + point_down: [-240, -80], + point_up: [-280, -80], + raised_hand: [-320, -80], + raised_back_of_hand: [-360, -80], + hand_splayed: [0, -120], + vulcan: [-40, -120], + wave: [-80, -120], + call_me: [-120, -120], + leftwards_hand: [-160, -120], + rightwards_hand: [-200, -120], + muscle: [-240, -120], + mechanical_arm: [-80, -120], + middle_finger: [-280, -120], + writing_hand: [-320, -120], + pray: [-360, -120], + index_pointing_at_the_viewer: [0, -160], + foot: [-40, -160], + exploding_head: [-480, -40], + flushed: [-520, -40], + hot_face: [-560, -40], + cold_face: [-600, -40], + face_in_clouds: [-640, -40], + scream: [-680, -40], + fearful: [-720, -40], + cold_sweat: [-760, -40], + disappointed_relieved: [-800, -40], + sweat: [-840, -40], + hugging: [-880, -40], + thinking: [-920, -40], + face_with_peeking_eye: [-960, -40], + face_with_hand_over_mouth: [-1000, -40], + face_with_open_eyes_and_hand_over_mouth: [-1040, -40], + saluting_face: [-1080, -40], + shushing_face: [-1120, -40], + melting_face: [-1160, -40], + lying_face: [-1200, -40], + no_mouth: [-1240, -40], + dotted_line_face: [-1280, -40], + neutral_face: [-1320, -40], + face_with_diagonal_mouth: [-1360, -40], + expressionless: [-1400, -40], + shaking_face: [-1440, -40], + head_shaking_horizontally: [-1480, -40], + head_shaking_vertically: [-1520, -40], + leg: [-80, -160], + mechanical_leg: [-120, -120], + lipstick: [-160, -120], + kiss: [-200, -120], + lips: [-240, -120], + biting_lip: [-280, -120], + tooth: [-320, -120], + tongue: [-360, -120], + ear: [-120, -160], + ear_with_hearing_aid: [-160, -160], + nose: [-200, -160], + footprints: [-400, -120], + eye: [-440, -120], + eyes: [-480, -120], + anatomical_heart: [-520, -120], + lungs: [-560, -120], + brain: [-600, -120], + speaking_head: [-640, -120], + bust_in_silhouette: [-680, -120], + busts_in_silhouette: [-720, -120], + people_hugging: [-760, -120], + baby: [-240, -160], + child: [-280, -160], + girl: [-320, -160], + boy: [-360, -160], + adult: [0, -200], + woman: [-40, -200], + man: [-80, -200], + person_curly_hair: [-120, -200], + woman_curly_haired: [-160, -200], + man_curly_haired: [-200, -200], + person_red_hair: [-240, -200], + woman_red_haired: [-280, -200], + man_red_haired: [-320, -200], + blond_haired_person: [-360, -200], + blond_haired_woman: [0, -240], + blond_haired_man: [-40, -240], + person_white_hair: [-80, -240], + woman_white_haired: [-120, -240], + man_white_haired: [-160, -240], + person_bald: [-200, -240], + woman_bald: [-240, -240], + man_bald: [-280, -240], + bearded_person: [-320, -240], + woman_beard: [-360, -240], + man_beard: [0, -280], + older_adult: [-40, -280], + older_woman: [-80, -280], + older_man: [-120, -280], + man_with_chinese_cap: [-160, -280], + person_wearing_turban: [-200, -280], + woman_wearing_turban: [-240, -280], + man_wearing_turban: [-280, -280], + woman_with_headscarf: [-320, -280], + police_officer: [-360, -280], + woman_police_officer: [0, -320], + man_police_officer: [-40, -320], + construction_worker: [-80, -320], + woman_construction_worker: [-120, -320], + man_construction_worker: [-160, -320], + guard: [-200, -320], + woman_guard: [-240, -320], + man_guard: [-280, -320], + detective: [-320, -320], + woman_detective: [-360, -320], + man_detective: [0, -360], + health_worker: [-40, -360], + woman_health_worker: [-80, -360], + man_health_worker: [-120, -360], + farmer: [-160, -360], + woman_farmer: [-200, -360], + man_farmer: [-240, -360], + artist: [-160, -480], + woman_artist: [-200, -480], + man_artist: [-240, -480], + firefighter: [-280, -480], + woman_firefighter: [-320, -480], + man_firefighter: [-360, -480], + pilot: [0, -520], + woman_pilot: [-40, -520], + man_pilot: [-80, -520], + astronaut: [-120, -520], + woman_astronaut: [-160, -520], + man_astronaut: [-200, -520], + judge: [-240, -520], + woman_judge: [-280, -520], + man_judge: [-320, -520], + person_with_veil: [-360, -520], + woman_with_veil: [0, -560], + man_with_veil: [-40, -560], + person_in_tuxedo: [-80, -560], + woman_in_tuxedo: [-120, -560], + man_in_tuxedo: [-160, -560], + person_with_crown: [-200, -560], + princess: [-240, -560], + prince: [-280, -560], + superhero: [-320, -560], + woman_superhero: [-360, -560], + man_superhero: [0, -600], + supervillain: [-40, -600], + woman_supervillain: [-80, -600], + man_supervillain: [-120, -600], + ninja: [-160, -600], + mx_claus: [-200, -600], + mrs_claus: [-240, -600], + santa: [-280, -600], + mage: [-320, -600], + woman_mage: [-360, -600], + man_mage: [0, -640], + elf: [-40, -640], + woman_elf: [-80, -640], + man_elf: [-120, -640], + troll: [-800, -120], + vampire: [-160, -640], + woman_vampire: [-200, -640], + man_vampire: [-240, -640], + zombie: [-840, -120], + woman_zombie: [-880, -120], + man_zombie: [-920, -120], + genie: [-960, -120], + woman_genie: [-1000, -120], + man_genie: [-1040, -120], + merperson: [-280, -640], + mermaid: [-320, -640], + merman: [-360, -640], + fairy: [0, -680], + woman_fairy: [-40, -680], + man_fairy: [-80, -680], + angel: [-120, -680], + pregnant_person: [-160, -680], + pregnant_woman: [-200, -680], + pregnant_man: [-240, -680], + breast_feeding: [-280, -680], + person_feeding_baby: [-320, -680], + woman_feeding_baby: [-360, -680], + man_gesturing_no: [-360, -720], + person_gesturing_ok: [0, -760], + woman_gesturing_ok: [-40, -760], + man_gesturing_ok: [-80, -760], + person_raising_hand: [-120, -760], + woman_raising_hand: [-160, -760], + man_raising_hand: [-200, -760], + deaf_person: [-240, -760], + deaf_woman: [-280, -760], + deaf_man: [-320, -760], + person_facepalming: [-360, -760], + woman_facepalming: [0, -800], + man_facepalming: [-40, -800], + person_shrugging: [-80, -800], + woman_shrugging: [-120, -800], + man_shrugging: [-160, -800], + person_pouting: [-200, -800], + woman_pouting: [-240, -800], + man_pouting: [-280, -800], + person_frowning: [-320, -800], + woman_frowning: [-360, -800], + man_frowning: [0, -840], + person_getting_haircut: [-40, -840], + woman_getting_haircut: [-80, -840], + man_getting_haircut: [-120, -840], + person_getting_massage: [-160, -840], + woman_getting_face_massage: [-200, -840], + man_getting_face_massage: [-240, -840], + person_in_steamy_room: [-280, -840], + woman_in_steamy_room: [-320, -840], + man_in_steamy_room: [-360, -840], + nail_care: [0, -880], + selfie: [-40, -880], + dancer: [-80, -880], + man_dancing: [-120, -880], + people_with_bunny_ears_partying: [-1080, -120], + women_with_bunny_ears_partying: [-1120, -120], + men_with_bunny_ears_partying: [-1160, -120], + levitate: [-160, -880], + person_in_manual_wheelchair: [-200, -880], + woman_in_manual_wheelchair: [-240, -880], + man_in_manual_wheelchair: [-280, -880], + person_in_manual_wheelchair_facing_right: [-320, -880], + man_in_manual_wheelchair_facing_right: [-360, -880], + woman_in_manual_wheelchair_facing_right: [0, -920], + person_in_motorized_wheelchair: [-40, -920], + woman_in_motorized_wheelchair: [-80, -920], + man_in_motorized_wheelchair: [-120, -920], + person_in_motorized_wheelchair_facing_right: [-160, -920], + man_in_motorized_wheelchair_facing_right: [-200, -920], + woman_in_motorized_wheelchair_facing_right: [-240, -920], + person_walking: [-280, -920], + woman_walking: [-320, -920], + man_walking: [-360, -920], + person_walking_facing_right: [0, -960], + woman_walking_facing_right: [-40, -960], + man_walking_facing_right: [-80, -960], + person_with_probing_cane: [-120, -960], + woman_with_probing_cane: [-160, -960], + man_with_probing_cane: [-200, -960], + person_with_white_cane_facing_right: [-240, -960], + man_with_white_cane_facing_right: [-280, -960], + woman_with_white_cane_facing_right: [-320, -960], + person_kneeling: [-360, -960], + woman_kneeling: [0, -1000], + man_kneeling: [-40, -1000], + person_kneeling_facing_right: [-80, -1000], + woman_kneeling_facing_right: [-120, -1000], + man_kneeling_facing_right: [-160, -1000], + person_running: [-200, -1000], + woman_running: [-240, -1000], + man_running: [-280, -1000], + person_running_facing_right: [-320, -1000], + woman_running_facing_right: [-360, -1000], + man_running_facing_right: [0, -1040], + person_standing: [-40, -1040], + woman_standing: [-80, -1040], + man_standing: [-120, -1040], + people_holding_hands: [-1200, -120], + couple: [-1240, -120], + two_women_holding_hands: [-1280, -120], + two_men_holding_hands: [-1320, -120], + couple_with_heart: [-1360, -120], + couple_with_heart_woman_man: [-1400, -120], + couple_ww: [-1440, -120], + couple_mm: [-1480, -120], + couplekiss: [-1520, -120], + kiss_woman_man: [-1560, -120], + kiss_ww: [-1600, -120], + kiss_mm: [-1640, -120], + family_adult_adult_child_child: [0, -160], + family_adult_adult_child: [-40, -160], + family_adult_child_child: [-80, -160], + family_adult_child: [-120, -160], + family: [-160, -160], + family_man_woman_boy: [-200, -160], + family_mwg: [-240, -160], + family_mwgb: [-280, -160], + family_mwbb: [-320, -160], + family_mwgg: [-360, -160], + family_wwb: [-400, -160], + family_wwg: [-440, -160], + family_wwgb: [-480, -160], + family_wwbb: [-520, -160], + family_wwgg: [-560, -160], + family_mmb: [-600, -160], + family_mmg: [-640, -160], + family_mmgb: [-680, -160], + family_mmbb: [-720, -160], + family_mmgg: [-760, -160], + family_woman_boy: [-800, -160], + family_woman_girl: [-840, -160], + family_woman_girl_boy: [-880, -160], + family_woman_boy_boy: [-920, -160], + family_woman_girl_girl: [-960, -160], + family_man_boy: [-1000, -160], + family_man_girl: [-1040, -160], + family_man_girl_boy: [-1080, -160], + family_man_boy_boy: [-1120, -160], + family_man_girl_girl: [-1160, -160], + knot: [-1200, -160], + yarn: [-1240, -160], + thread: [-1280, -160], + sewing_needle: [-1320, -160], + coat: [-1360, -160], + lab_coat: [-1400, -160], + safety_vest: [-1440, -160], + womans_clothes: [-1480, -160], + shirt: [-1520, -160], + jeans: [-1560, -160], + briefs: [-1600, -160], + shorts: [-1640, -160], + necktie: [0, -200], + dress: [-40, -200], + bikini: [-80, -200], + one_piece_swimsuit: [-120, -200], + kimono: [-160, -200], + sari: [-200, -200], + thong_sandal: [-240, -200], + womans_flat_shoe: [-280, -200], + high_heel: [-320, -200], + sandal: [-360, -200], + boot: [-400, -200], + mans_shoe: [-440, -200], + athletic_shoe: [-480, -200], + hiking_boot: [-520, -200], + socks: [-560, -200], + gloves: [-600, -200], + scarf: [-640, -200], + tophat: [-680, -200], + billed_cap: [-720, -200], + womans_hat: [-760, -200], + mortar_board: [-800, -200], + helmet_with_cross: [-840, -200], + military_helmet: [-880, -200], + crown: [-920, -200], + ring: [-960, -200], + pouch: [-1000, -200], + purse: [-1040, -200], + handbag: [-1080, -200], + briefcase: [-1120, -200], + school_satchel: [-1160, -200], + luggage: [-1200, -200], + eyeglasses: [-1240, -200], + dark_sunglasses: [-1280, -200], + goggles: [-1320, -200], + closed_umbrella: [-1360, -200], + dog: [-1400, -200], + cat: [-1440, -200], + mouse: [-1480, -200], + hamster: [-1520, -200], + rabbit: [-1560, -200], + fox: [-1600, -200], + bear: [-1640, -200], + panda_face: [0, -240], + polar_bear: [-40, -240], + koala: [-80, -240], + tiger: [-120, -240], + lion_face: [-160, -240], + cow: [-200, -240], + pig: [-240, -240], + pig_nose: [-280, -240], + frog: [-320, -240], + monkey_face: [-360, -240], + see_no_evil: [-400, -240], + hear_no_evil: [-440, -240], + speak_no_evil: [-480, -240], + monkey: [-520, -240], + chicken: [-560, -240], + penguin: [-600, -240], + bird: [-640, -240], + baby_chick: [-680, -240], + hatching_chick: [-720, -240], + hatched_chick: [-760, -240], + goose: [-800, -240], + duck: [-840, -240], + black_bird: [-880, -240], + eagle: [-920, -240], + owl: [-960, -240], + bat: [-1000, -240], + wolf: [-1040, -240], + boar: [-1080, -240], + horse: [-1120, -240], + unicorn: [-1160, -240], + moose: [-1200, -240], + bee: [-1240, -240], + worm: [-1280, -240], + bug: [-1320, -240], + butterfly: [-1360, -240], + snail: [-1400, -240], + lady_beetle: [-1440, -240], + ant: [-1480, -240], + fly: [-1520, -240], + beetle: [-1560, -240], + cockroach: [-1600, -240], + mosquito: [-1640, -240], + cricket: [0, -280], + spider: [-40, -280], + spider_web: [-80, -280], + scorpion: [-120, -280], + turtle: [-160, -280], + rhino: [-1280, -280], + dromedary_camel: [-1320, -280], + camel: [-1360, -280], + giraffe: [-1400, -280], + kangaroo: [-1440, -280], + bison: [-1480, -280], + water_buffalo: [-1520, -280], + ox: [-1560, -280], + cow2: [-1600, -280], + donkey: [-1640, -280], + racehorse: [0, -320], + pig2: [-40, -320], + ram: [-80, -320], + sheep: [-120, -320], + llama: [-160, -320], + goat: [-200, -320], + deer: [-240, -320], + dog2: [-280, -320], + poodle: [-320, -320], + guide_dog: [-360, -320], + service_dog: [-400, -320], + cat2: [-440, -320], + black_cat: [-480, -320], + feather: [-520, -320], + wing: [-560, -320], + rooster: [-600, -320], + turkey: [-640, -320], + dodo: [-680, -320], + peacock: [-720, -320], + parrot: [-760, -320], + swan: [-800, -320], + flamingo: [-840, -320], + dove: [-880, -320], + rabbit2: [-920, -320], + raccoon: [-960, -320], + skunk: [-1000, -320], + badger: [-1040, -320], + beaver: [-1080, -320], + otter: [-1120, -320], + sloth: [-1160, -320], + mouse2: [-1200, -320], + rat: [-1240, -320], + chipmunk: [-1280, -320], + hedgehog: [-1320, -320], + feet: [-1360, -320], + dragon: [-1400, -320], + dragon_face: [-1440, -320], + phoenix: [-1480, -320], + cactus: [-1520, -320], + christmas_tree: [-1560, -320], + evergreen_tree: [-1600, -320], + deciduous_tree: [-1640, -320], + palm_tree: [0, -360], + wood: [-40, -360], + seedling: [-80, -360], + herb: [-120, -360], + shamrock: [-160, -360], + four_leaf_clover: [-200, -360], + bamboo: [-240, -360], + potted_plant: [-280, -360], + tanabata_tree: [-320, -360], + leaves: [-360, -360], + fallen_leaf: [-400, -360], + maple_leaf: [-440, -360], + nest_with_eggs: [-480, -360], + empty_nest: [-520, -360], + mushroom: [-560, -360], + brown_mushroom: [-600, -360], + shell: [-640, -360], + coral: [-680, -360], + rock: [-720, -360], + ear_of_rice: [-760, -360], + bouquet: [-800, -360], + tulip: [-840, -360], + rose: [-880, -360], + wilted_rose: [-920, -360], + hyacinth: [-960, -360], + lotus: [-1000, -360], + hibiscus: [-1040, -360], + cherry_blossom: [-1080, -360], + blossom: [-1120, -360], + sunflower: [-1160, -360], + sun_with_face: [-1200, -360], + full_moon_with_face: [-1240, -360], + first_quarter_moon_with_face: [-1280, -360], + last_quarter_moon_with_face: [-1320, -360], + new_moon_with_face: [-1360, -360], + full_moon: [-1400, -360], + waning_gibbous_moon: [-1440, -360], + last_quarter_moon: [-1480, -360], + waning_crescent_moon: [-1520, -360], + new_moon: [-1560, -360], + waxing_crescent_moon: [-1600, -360], + first_quarter_moon: [-1640, -360], + waxing_gibbous_moon: [0, -400], + crescent_moon: [-40, -400], + earth_americas: [-80, -400], + earth_africa: [-120, -400], + earth_asia: [-160, -400], + ringed_planet: [-200, -400], + dizzy: [-240, -400], + star: [-280, -400], + star2: [-320, -400], + sparkles: [-360, -400], + zap: [-400, -400], + comet: [-440, -400], + boom: [-480, -400], + fire: [-520, -400], + cloud_tornado: [-560, -400], + rainbow: [-600, -400], + sunny: [-640, -400], + white_sun_small_cloud: [-680, -400], + partly_sunny: [-720, -400], + white_sun_cloud: [-760, -400], + cloud: [-800, -400], + white_sun_rain_cloud: [-840, -400], + cloud_rain: [-880, -400], + thunder_cloud_rain: [-920, -400], + cloud_lightning: [-960, -400], + cloud_snow: [-1000, -400], + snowflake: [-1040, -400], + snowman2: [-1080, -400], + snowman: [-1120, -400], + wind_blowing_face: [-1160, -400], + dash: [-1200, -400], + droplet: [-1240, -400], + sweat_drops: [-1280, -400], + bubbles: [-1320, -400], + umbrella: [-1360, -400], + umbrella2: [-1400, -400], + ocean: [-1440, -400], + fog: [-1480, -400], + green_apple: [-1520, -400], + apple: [-1560, -400], + pear: [-1600, -400], + tangerine: [-1640, -400], + lemon: [0, -440], + lime: [-40, -440], + banana: [-80, -440], + watermelon: [-120, -440], + grapes: [-160, -440], + strawberry: [-200, -440], + blueberries: [-240, -440], + melon: [-280, -440], + cherries: [-320, -440], + peach: [-360, -440], + mango: [-400, -440], + pineapple: [-440, -440], + coconut: [-480, -440], + kiwi: [-520, -440], + tomato: [-560, -440], + eggplant: [-600, -440], + avocado: [-640, -440], + pea_pod: [-680, -440], + broccoli: [-720, -440], + leafy_green: [-760, -440], + cucumber: [-800, -440], + hot_pepper: [-840, -440], + bell_pepper: [-880, -440], + corn: [-920, -440], + carrot: [-960, -440], + olive: [-1000, -440], + garlic: [-1040, -440], + onion: [-1080, -440], + potato: [-1120, -440], + sweet_potato: [-1160, -440], + ginger_root: [-1200, -440], + croissant: [-1240, -440], + bagel: [-1280, -440], + bread: [-1320, -440], + french_bread: [-1360, -440], + pretzel: [-1400, -440], + cheese: [-1440, -440], + egg: [-1480, -440], + cooking: [-1520, -440], + butter: [-1560, -440], + pancakes: [-1600, -440], + waffle: [-1640, -440], + bacon: [0, -480], + cut_of_meat: [-40, -480], + poultry_leg: [-80, -480], + meat_on_bone: [-120, -480], + bone: [-160, -480], + hotdog: [-200, -480], + hamburger: [-240, -480], + fries: [-280, -480], + pizza: [-320, -480], + flatbread: [-360, -480], + sandwich: [-400, -480], + stuffed_flatbread: [-440, -480], + falafel: [-480, -480], + taco: [-520, -480], + burrito: [-560, -480], + tamale: [-600, -480], + salad: [-640, -480], + shallow_pan_of_food: [-680, -480], + fondue: [-720, -480], + canned_food: [-760, -480], + jar: [-800, -480], + spaghetti: [-840, -480], + ramen: [-880, -480], + stew: [-920, -480], + curry: [-960, -480], + sushi: [-1000, -480], + bento: [-1040, -480], + dumpling: [-1080, -480], + oyster: [-1120, -480], + fried_shrimp: [-1160, -480], + rice_ball: [-1200, -480], + rice: [-1240, -480], + rice_cracker: [-1280, -480], + fish_cake: [-1320, -480], + fortune_cookie: [-1360, -480], + moon_cake: [-1400, -480], + oden: [-1440, -480], + dango: [-1480, -480], + shaved_ice: [-1520, -480], + ice_cream: [-1560, -480], + icecream: [-1600, -480], + pie: [-1640, -480], + cupcake: [0, -520], + cake: [-40, -520], + birthday: [-80, -520], + custard: [-120, -520], + lollipop: [-160, -520], + candy: [-200, -520], + chocolate_bar: [-240, -520], + popcorn: [-280, -520], + doughnut: [-320, -520], + cookie: [-360, -520], + chestnut: [-400, -520], + peanuts: [-440, -520], + beans: [-480, -520], + honey_pot: [-520, -520], + milk: [-560, -520], + pouring_liquid: [-600, -520], + baby_bottle: [-640, -520], + teapot: [-680, -520], + coffee: [-720, -520], + tea: [-760, -520], + mate: [-800, -520], + beverage_box: [-840, -520], + cup_with_straw: [-880, -520], + bubble_tea: [-920, -520], + sake: [-960, -520], + beer: [-1000, -520], + beers: [-1040, -520], + champagne_glass: [-1080, -520], + wine_glass: [-1120, -520], + tumbler_glass: [-1160, -520], + cocktail: [-1200, -520], + tropical_drink: [-1240, -520], + champagne: [-1280, -520], + ice_cube: [-1320, -520], + spoon: [-1360, -520], + fork_and_knife: [-1400, -520], + fork_knife_plate: [-1440, -520], + bowl_with_spoon: [-1480, -520], + takeout_box: [-1520, -520], + chopsticks: [-1560, -520], + salt: [-1600, -520], + soccer: [-1640, -520], + basketball: [0, -560], + football: [-40, -560], + baseball: [-80, -560], + softball: [-120, -560], + tennis: [-160, -560], + volleyball: [-200, -560], + rugby_football: [-240, -560], + flying_disc: [-280, -560], + '8ball': [-320, -560], + yo_yo: [-360, -560], + ping_pong: [-400, -560], + badminton: [-440, -560], + hockey: [-480, -560], + field_hockey: [-520, -560], + lacrosse: [-560, -560], + cricket_game: [-600, -560], + boomerang: [-640, -560], + goal: [-680, -560], + golf: [-720, -560], + kite: [-760, -560], + playground_slide: [-800, -560], + bow_and_arrow: [-840, -560], + fishing_pole_and_fish: [-880, -560], + diving_mask: [-920, -560], + boxing_glove: [-960, -560], + martial_arts_uniform: [-1000, -560], + running_shirt_with_sash: [-1040, -560], + skateboard: [-1080, -560], + roller_skate: [-1120, -560], + sled: [-1160, -560], + ice_skate: [-1200, -560], + curling_stone: [-1240, -560], + ski: [-1280, -560], + skier: [-1320, -560], + snowboarder: [-160, -1040], + parachute: [-1360, -560], + person_lifting_weights: [-200, -1040], + woman_lifting_weights: [-240, -1040], + man_lifting_weights: [-280, -1040], + people_wrestling: [-1400, -560], + women_wrestling: [-1440, -560], + men_wrestling: [-1480, -560], + person_doing_cartwheel: [-320, -1040], + woman_cartwheeling: [-360, -1040], + man_cartwheeling: [0, -1080], + person_bouncing_ball: [-40, -1080], + woman_bouncing_ball: [-80, -1080], + man_bouncing_ball: [-120, -1080], + person_fencing: [-1520, -560], + person_playing_handball: [-160, -1080], + woman_playing_handball: [-200, -1080], + man_playing_handball: [-240, -1080], + person_golfing: [-280, -1080], + woman_golfing: [-320, -1080], + man_golfing: [-360, -1080], + horse_racing: [0, -1120], + person_in_lotus_position: [-40, -1120], + woman_in_lotus_position: [-80, -1120], + man_in_lotus_position: [-120, -1120], + person_surfing: [-160, -1120], + woman_surfing: [-200, -1120], + man_surfing: [-240, -1120], + person_swimming: [-280, -1120], + woman_swimming: [-320, -1120], + man_swimming: [-360, -1120], + person_playing_water_polo: [0, -1160], + woman_playing_water_polo: [-40, -1160], + man_playing_water_polo: [-80, -1160], + person_rowing_boat: [-120, -1160], + woman_rowing_boat: [-160, -1160], + man_rowing_boat: [-200, -1160], + person_climbing: [-240, -1160], + woman_climbing: [-280, -1160], + man_climbing: [-320, -1160], + person_mountain_biking: [-360, -1160], + woman_mountain_biking: [0, -1200], + man_mountain_biking: [-40, -1200], + person_biking: [-80, -1200], + woman_biking: [-120, -1200], + man_biking: [-160, -1200], + trophy: [-1560, -560], + first_place: [-1600, -560], + second_place: [-1640, -560], + third_place: [0, -600], + medal: [-40, -600], + military_medal: [-80, -600], + rosette: [-120, -600], + reminder_ribbon: [-160, -600], + ticket: [-200, -600], + tickets: [-240, -600], + circus_tent: [-280, -600], + person_juggling: [-200, -1200], + woman_juggling: [-240, -1200], + man_juggling: [-280, -1200], + performing_arts: [-320, -600], + ballet_shoes: [-360, -600], + art: [-400, -600], + clapper: [-440, -600], + microphone: [-480, -600], + headphones: [-520, -600], + musical_score: [-560, -600], + musical_keyboard: [-600, -600], + maracas: [-640, -600], + drum: [-680, -600], + long_drum: [-720, -600], + saxophone: [-760, -600], + trumpet: [-800, -600], + accordion: [-840, -600], + guitar: [-880, -600], + banjo: [-920, -600], + violin: [-960, -600], + flute: [-1000, -600], + game_die: [-1040, -600], + chess_pawn: [-1080, -600], + dart: [-1120, -600], + bowling: [-1160, -600], + video_game: [-1200, -600], + slot_machine: [-1240, -600], + jigsaw: [-1280, -600], + red_car: [-1320, -600], + taxi: [-1360, -600], + blue_car: [-1400, -600], + pickup_truck: [-1440, -600], + minibus: [-1480, -600], + bus: [-1520, -600], + trolleybus: [-1560, -600], + race_car: [-1600, -600], + police_car: [-1640, -600], + ambulance: [0, -640], + fire_engine: [-40, -640], + truck: [-80, -640], + articulated_lorry: [-120, -640], + tractor: [-160, -640], + probing_cane: [-200, -640], + manual_wheelchair: [-240, -640], + motorized_wheelchair: [-280, -640], + crutch: [-320, -640], + scooter: [-360, -640], + bike: [-400, -640], + motor_scooter: [-440, -640], + motorcycle: [-480, -640], + auto_rickshaw: [-520, -640], + wheel: [-560, -640], + rotating_light: [-600, -640], + oncoming_police_car: [-640, -640], + oncoming_bus: [-680, -640], + oncoming_automobile: [-720, -640], + oncoming_taxi: [-760, -640], + aerial_tramway: [-800, -640], + mountain_cableway: [-840, -640], + suspension_railway: [-880, -640], + railway_car: [-920, -640], + train: [-960, -640], + mountain_railway: [-1000, -640], + monorail: [-1040, -640], + bullettrain_side: [-1080, -640], + bullettrain_front: [-1120, -640], + light_rail: [-1160, -640], + steam_locomotive: [-1200, -640], + train2: [-1240, -640], + metro: [-1280, -640], + tram: [-1320, -640], + station: [-1360, -640], + airplane: [-1400, -640], + airplane_departure: [-1440, -640], + airplane_arriving: [-1480, -640], + airplane_small: [-1520, -640], + seat: [-1560, -640], + satellite_orbital: [-1600, -640], + rocket: [-1640, -640], + flying_saucer: [0, -680], + helicopter: [-40, -680], + canoe: [-80, -680], + sailboat: [-120, -680], + speedboat: [-160, -680], + motorboat: [-200, -680], + cruise_ship: [-240, -680], + ferry: [-280, -680], + ship: [-320, -680], + ring_buoy: [-360, -680], + anchor: [-400, -680], + hook: [-440, -680], + fuelpump: [-480, -680], + construction: [-520, -680], + vertical_traffic_light: [-560, -680], + traffic_light: [-600, -680], + busstop: [-640, -680], + map: [-680, -680], + moyai: [-720, -680], + statue_of_liberty: [-760, -680], + tokyo_tower: [-800, -680], + european_castle: [-840, -680], + japanese_castle: [-880, -680], + stadium: [-920, -680], + ferris_wheel: [-960, -680], + roller_coaster: [-1000, -680], + carousel_horse: [-1040, -680], + fountain: [-1080, -680], + beach_umbrella: [-1120, -680], + beach: [-1160, -680], + island: [-1200, -680], + desert: [-1240, -680], + volcano: [-1280, -680], + mountain: [-1320, -680], + mountain_snow: [-1360, -680], + mount_fuji: [-1400, -680], + camping: [-1440, -680], + tent: [-1480, -680], + house: [-1520, -680], + house_with_garden: [-1560, -680], + homes: [-1600, -680], + house_abandoned: [-1640, -680], + hut: [0, -720], + construction_site: [-40, -720], + factory: [-80, -720], + office: [-120, -720], + department_store: [-160, -720], + post_office: [-200, -720], + european_post_office: [-240, -720], + hospital: [-280, -720], + bank: [-320, -720], + hotel: [-360, -720], + convenience_store: [-400, -720], + school: [-440, -720], + love_hotel: [-480, -720], + wedding: [-520, -720], + classical_building: [-560, -720], + church: [-600, -720], + mosque: [-640, -720], + synagogue: [-680, -720], + hindu_temple: [-720, -720], + kaaba: [-760, -720], + shinto_shrine: [-800, -720], + railway_track: [-840, -720], + motorway: [-880, -720], + japan: [-920, -720], + rice_scene: [-960, -720], + park: [-1000, -720], + sunrise: [-1040, -720], + sunrise_over_mountains: [-1080, -720], + stars: [-1120, -720], + sparkler: [-1160, -720], + fireworks: [-1200, -720], + city_sunset: [-1240, -720], + city_dusk: [-1280, -720], + cityscape: [-1320, -720], + night_with_stars: [-1360, -720], + milky_way: [-1400, -720], + bridge_at_night: [-1440, -720], + foggy: [-1480, -720], + watch: [-1520, -720], + mobile_phone: [-1560, -720], + calling: [-1600, -720], + computer: [-1640, -720], + keyboard: [0, -760], + desktop: [-40, -760], + printer: [-80, -760], + mouse_three_button: [-120, -760], + trackball: [-160, -760], + joystick: [-200, -760], + compression: [-240, -760], + minidisc: [-280, -760], + floppy_disk: [-320, -760], + cd: [-360, -760], + dvd: [-400, -760], + vhs: [-440, -760], + camera: [-480, -760], + camera_with_flash: [-520, -760], + video_camera: [-560, -760], + movie_camera: [-600, -760], + projector: [-640, -760], + film_frames: [-680, -760], + telephone_receiver: [-720, -760], + telephone: [-760, -760], + pager: [-800, -760], + fax: [-840, -760], + tv: [-880, -760], + radio: [-920, -760], + microphone2: [-960, -760], + level_slider: [-1000, -760], + control_knobs: [-1040, -760], + compass: [-1080, -760], + stopwatch: [-1120, -760], + timer: [-1160, -760], + alarm_clock: [-1200, -760], + clock: [-1240, -760], + hourglass: [-1280, -760], + hourglass_flowing_sand: [-1320, -760], + satellite: [-1360, -760], + battery: [-1400, -760], + low_battery: [-1440, -760], + electric_plug: [-1480, -760], + bulb: [-1520, -760], + flashlight: [-1560, -760], + candle: [-1600, -760], + diya_lamp: [-1640, -760], + fire_extinguisher: [0, -800], + oil: [-40, -800], + money_with_wings: [-80, -800], + dollar: [-120, -800], + yen: [-160, -800], + euro: [-200, -800], + pound: [-240, -800], + coin: [-280, -800], + moneybag: [-320, -800], + credit_card: [-360, -800], + identification_card: [-400, -800], + gem: [-440, -800], + scales: [-480, -800], + ladder: [-520, -800], + toolbox: [-560, -800], + screwdriver: [-600, -800], + wrench: [-640, -800], + hammer: [-680, -800], + hammer_pick: [-720, -800], + tools: [-760, -800], + pick: [-800, -800], + carpentry_saw: [-840, -800], + nut_and_bolt: [-880, -800], + gear: [-920, -800], + mouse_trap: [-960, -800], + bricks: [-1000, -800], + chains: [-1040, -800], + link: [-1080, -800], + broken_chain: [-1120, -800], + magnet: [-1160, -800], + gun: [-1200, -800], + bomb: [-1240, -800], + firecracker: [-1280, -800], + axe: [-1320, -800], + knife: [-1360, -800], + dagger: [-1400, -800], + crossed_swords: [-1440, -800], + shield: [-1480, -800], + smoking: [-1520, -800], + coffin: [-1560, -800], + headstone: [-1600, -800], + urn: [-1640, -800], + amphora: [0, -840], + crystal_ball: [-40, -840], + prayer_beads: [-80, -840], + nazar_amulet: [-120, -840], + hamsa: [-160, -840], + barber: [-200, -840], + alembic: [-240, -840], + telescope: [-280, -840], + microscope: [-320, -840], + hole: [-360, -840], + x_ray: [-400, -840], + adhesive_bandage: [-440, -840], + stethoscope: [-480, -840], + pill: [-520, -840], + syringe: [-560, -840], + drop_of_blood: [-600, -840], + dna: [-640, -840], + microbe: [-680, -840], + petri_dish: [-720, -840], + test_tube: [-760, -840], + thermometer: [-800, -840], + broom: [-840, -840], + plunger: [-880, -840], + basket: [-920, -840], + roll_of_paper: [-960, -840], + toilet: [-1000, -840], + potable_water: [-1040, -840], + shower: [-1080, -840], + bathtub: [-1120, -840], + bath: [-320, -1200], + soap: [-1160, -840], + toothbrush: [-1200, -840], + razor: [-1240, -840], + hair_pick: [-1280, -840], + sponge: [-1320, -840], + bucket: [-1360, -840], + squeeze_bottle: [-1400, -840], + bellhop: [-1440, -840], + key: [-1480, -840], + key2: [-1520, -840], + door: [-1560, -840], + chair: [-1600, -840], + couch: [-1640, -840], + bed: [0, -880], + sleeping_accommodation: [-360, -1200], + teddy_bear: [-40, -880], + nesting_dolls: [-80, -880], + frame_photo: [-120, -880], + mirror: [-160, -880], + window: [-200, -880], + shopping_bags: [-240, -880], + shopping_cart: [-280, -880], + gift: [-320, -880], + balloon: [-360, -880], + flags: [-400, -880], + ribbon: [-440, -880], + magic_wand: [-480, -880], + piñata: [-520, -880], + confetti_ball: [-560, -880], + tada: [-600, -880], + dolls: [-640, -880], + folding_hand_fan: [-680, -880], + izakaya_lantern: [-720, -880], + wind_chime: [-760, -880], + mirror_ball: [-800, -880], + red_envelope: [-840, -880], + envelope: [-880, -880], + envelope_with_arrow: [-920, -880], + incoming_envelope: [-960, -880], + e_mail: [-1000, -880], + love_letter: [-1040, -880], + inbox_tray: [-1080, -880], + outbox_tray: [-1120, -880], + package: [-1160, -880], + label: [-1200, -880], + placard: [-1240, -880], + mailbox_closed: [-1280, -880], + mailbox: [-1320, -880], + mailbox_with_mail: [-1360, -880], + mailbox_with_no_mail: [-1400, -880], + postbox: [-1440, -880], + postal_horn: [-1480, -880], + scroll: [-1520, -880], + page_with_curl: [-1560, -880], + page_facing_up: [-1600, -880], + bookmark_tabs: [-1640, -880], + receipt: [0, -920], + bar_chart: [-40, -920], + chart_with_upwards_trend: [-80, -920], + chart_with_downwards_trend: [-120, -920], + notepad_spiral: [-160, -920], + calendar_spiral: [-200, -920], + calendar: [-240, -920], + date: [-280, -920], + wastebasket: [-320, -920], + card_index: [-360, -920], + card_box: [-400, -920], + ballot_box: [-440, -920], + file_cabinet: [-480, -920], + clipboard: [-520, -920], + file_folder: [-560, -920], + open_file_folder: [-600, -920], + dividers: [-640, -920], + newspaper2: [-680, -920], + newspaper: [-720, -920], + notebook: [-760, -920], + notebook_with_decorative_cover: [-800, -920], + ledger: [-840, -920], + closed_book: [-880, -920], + green_book: [-920, -920], + blue_book: [-960, -920], + orange_book: [-1000, -920], + books: [-1040, -920], + book: [-1080, -920], + bookmark: [-1120, -920], + safety_pin: [-1160, -920], + paperclip: [-1200, -920], + paperclips: [-1240, -920], + triangular_ruler: [-1280, -920], + straight_ruler: [-1320, -920], + abacus: [-1360, -920], + pushpin: [-1400, -920], + round_pushpin: [-1440, -920], + scissors: [-1480, -920], + pen_ballpoint: [-1520, -920], + pen_fountain: [-1560, -920], + black_nib: [-1600, -920], + paintbrush: [-1640, -920], + crayon: [0, -960], + pencil: [-40, -960], + pencil2: [-80, -960], + mag: [-120, -960], + mag_right: [-160, -960], + lock_with_ink_pen: [-200, -960], + closed_lock_with_key: [-240, -960], + lock: [-280, -960], + unlock: [-320, -960], + pink_heart: [-360, -960], + heart: [-400, -960], + orange_heart: [-440, -960], + yellow_heart: [-480, -960], + green_heart: [-520, -960], + light_blue_heart: [-560, -960], + blue_heart: [-600, -960], + purple_heart: [-640, -960], + black_heart: [-680, -960], + grey_heart: [-720, -960], + white_heart: [-760, -960], + brown_heart: [-800, -960], + broken_heart: [-840, -960], + heart_exclamation: [-880, -960], + two_hearts: [-920, -960], + revolving_hearts: [-960, -960], + heartbeat: [-1000, -960], + heartpulse: [-1040, -960], + sparkling_heart: [-1080, -960], + cupid: [-1120, -960], + gift_heart: [-1160, -960], + mending_heart: [-1200, -960], + heart_on_fire: [-1240, -960], + heart_decoration: [-1280, -960], + peace: [-1320, -960], + cross: [-1360, -960], + star_and_crescent: [-1400, -960], + om_symbol: [-1440, -960], + wheel_of_dharma: [-1480, -960], + khanda: [-1520, -960], + star_of_david: [-1560, -960], + six_pointed_star: [-1600, -960], + menorah: [-1640, -960], + yin_yang: [0, -1000], + orthodox_cross: [-40, -1000], + place_of_worship: [-80, -1000], + ophiuchus: [-120, -1000], + aries: [-160, -1000], + taurus: [-200, -1000], + gemini: [-240, -1000], + cancer: [-280, -1000], + leo: [-320, -1000], + virgo: [-360, -1000], + libra: [-400, -1000], + scorpius: [-440, -1000], + sagittarius: [-480, -1000], + capricorn: [-520, -1000], + aquarius: [-560, -1000], + pisces: [-600, -1000], + id: [-640, -1000], + atom: [-680, -1000], + accept: [-720, -1000], + radioactive: [-760, -1000], + biohazard: [-800, -1000], + mobile_phone_off: [-840, -1000], + vibration_mode: [-880, -1000], + u6709: [-920, -1000], + u7121: [-960, -1000], + u7533: [-1000, -1000], + u55b6: [-1040, -1000], + u6708: [-1080, -1000], + eight_pointed_black_star: [-1120, -1000], + vs: [-1160, -1000], + white_flower: [-1200, -1000], + ideograph_advantage: [-1240, -1000], + secret: [-1280, -1000], + congratulations: [-1320, -1000], + u5408: [-1360, -1000], + u6e80: [-1400, -1000], + u5272: [-1440, -1000], + u7981: [-1480, -1000], + a: [-1520, -1000], + b: [-1560, -1000], + ab: [-1600, -1000], + cl: [-1640, -1000], + o2: [0, -1040], + sos: [-40, -1040], + x: [-80, -1040], + o: [-120, -1040], + octagonal_sign: [-160, -1040], + no_entry: [-200, -1040], + name_badge: [-240, -1040], + no_entry_sign: [-280, -1040], + anger: [-360, -1040], + hotsprings: [-400, -1040], + no_pedestrians: [-440, -1040], + do_not_litter: [-480, -1040], + no_bicycles: [-520, -1040], + non_potable_water: [-560, -1040], + underage: [-600, -1040], + no_mobile_phones: [-640, -1040], + no_smoking: [-680, -1040], + exclamation: [-720, -1040], + grey_exclamation: [-760, -1040], + question: [-800, -1040], + grey_question: [-840, -1040], + bangbang: [-880, -1040], + interrobang: [-920, -1040], + low_brightness: [-960, -1040], + high_brightness: [-1000, -1040], + part_alternation_mark: [-1040, -1040], + warning: [-1080, -1040], + children_crossing: [-1120, -1040], + trident: [-1160, -1040], + fleur_de_lis: [-1200, -1040], + beginner: [-1240, -1040], + recycle: [-1280, -1040], + white_check_mark: [-1320, -1040], + u6307: [-1360, -1040], + chart: [-1400, -1040], + sparkle: [-1440, -1040], + eight_spoked_asterisk: [-1480, -1040], + negative_squared_cross_mark: [-1520, -1040], + globe_with_meridians: [-1560, -1040], + diamond_shape_with_a_dot_inside: [-1600, -1040], + m: [-1640, -1040], + cyclone: [0, -1080], + zzz: [-40, -1080], + atm: [-80, -1080], + wc: [-120, -1080], + wheelchair: [-160, -1080], + parking: [-200, -1080], + elevator: [-240, -1080], + u7a7a: [-280, -1080], + sa: [-320, -1080], + passport_control: [-360, -1080], + customs: [-400, -1080], + baggage_claim: [-440, -1080], + left_luggage: [-480, -1080], + wireless: [-520, -1080], + mens: [-560, -1080], + womens: [-600, -1080], + baby_symbol: [-640, -1080], + restroom: [-680, -1080], + put_litter_in_its_place: [-720, -1080], + cinema: [-760, -1080], + signal_strength: [-800, -1080], + koko: [-840, -1080], + symbols: [-880, -1080], + information_source: [-920, -1080], + abc: [-960, -1080], + abcd: [-1000, -1080], + capital_abcd: [-1040, -1080], + ng: [-1080, -1080], + ok: [-1120, -1080], + up: [-1160, -1080], + cool: [-1200, -1080], + new: [-1240, -1080], + free: [-1280, -1080], + zero: [-1320, -1080], + one: [-1360, -1080], + two: [-1400, -1080], + three: [-1440, -1080], + four: [-1480, -1080], + five: [-1520, -1080], + six: [-1560, -1080], + seven: [-1600, -1080], + eight: [-1640, -1080], + nine: [0, -1120], + keycap_ten: [-40, -1120], + hash: [-120, -1120], + asterisk: [-160, -1120], + eject: [-200, -1120], + arrow_forward: [-240, -1120], + pause_button: [-280, -1120], + play_pause: [-320, -1120], + stop_button: [-360, -1120], + record_button: [-400, -1120], + track_next: [-440, -1120], + track_previous: [-480, -1120], + fast_forward: [-520, -1120], + rewind: [-560, -1120], + arrow_double_up: [-600, -1120], + arrow_double_down: [-640, -1120], + arrow_backward: [-680, -1120], + arrow_up_small: [-720, -1120], + arrow_down_small: [-760, -1120], + arrow_right: [-800, -1120], + arrow_left: [-840, -1120], + arrow_up: [-880, -1120], + arrow_down: [-920, -1120], + arrow_upper_right: [-960, -1120], + arrow_lower_right: [-1000, -1120], + arrow_lower_left: [-1040, -1120], + arrow_upper_left: [-1080, -1120], + arrow_up_down: [-1120, -1120], + left_right_arrow: [-1160, -1120], + arrow_right_hook: [-1200, -1120], + leftwards_arrow_with_hook: [-1240, -1120], + arrow_heading_up: [-1280, -1120], + arrow_heading_down: [-1320, -1120], + twisted_rightwards_arrows: [-1360, -1120], + repeat: [-1400, -1120], + repeat_one: [-1440, -1120], + arrows_counterclockwise: [-1480, -1120], + arrows_clockwise: [-1520, -1120], + musical_note: [-1560, -1120], + notes: [-1600, -1120], + heavy_plus_sign: [-1640, -1120], + heavy_minus_sign: [0, -1160], + heavy_division_sign: [-40, -1160], + heavy_multiplication_x: [-80, -1160], + heavy_equals_sign: [-120, -1160], + infinity: [-160, -1160], + heavy_dollar_sign: [-200, -1160], + currency_exchange: [-240, -1160], + tm: [-280, -1160], + copyright: [-320, -1160], + registered: [-360, -1160], + wavy_dash: [-400, -1160], + curly_loop: [-440, -1160], + loop: [-480, -1160], + end: [-520, -1160], + back: [-560, -1160], + on: [-600, -1160], + top: [-640, -1160], + soon: [-680, -1160], + heavy_check_mark: [-720, -1160], + ballot_box_with_check: [-760, -1160], + radio_button: [-800, -1160], + white_circle: [-840, -1160], + black_circle: [-880, -1160], + red_circle: [-920, -1160], + blue_circle: [-960, -1160], + brown_circle: [-1000, -1160], + purple_circle: [-1040, -1160], + green_circle: [-1080, -1160], + yellow_circle: [-1120, -1160], + orange_circle: [-1160, -1160], + small_red_triangle: [-1200, -1160], + small_red_triangle_down: [-1240, -1160], + small_orange_diamond: [-1280, -1160], + small_blue_diamond: [-1320, -1160], + large_orange_diamond: [-1360, -1160], + large_blue_diamond: [-1400, -1160], + white_square_button: [-1440, -1160], + black_square_button: [-1480, -1160], + black_small_square: [-1520, -1160], + white_small_square: [-1560, -1160], + black_medium_small_square: [-1600, -1160], + white_medium_small_square: [-1640, -1160], + black_medium_square: [0, -1200], + white_medium_square: [-40, -1200], + black_large_square: [-80, -1200], + white_large_square: [-120, -1200], + orange_square: [-160, -1200], + blue_square: [-200, -1200], + red_square: [-240, -1200], + brown_square: [-280, -1200], + purple_square: [-320, -1200], + green_square: [-360, -1200], + yellow_square: [-400, -1200], + speaker: [-440, -1200], + mute: [-480, -1200], + sound: [-520, -1200], + loud_sound: [-560, -1200], + bell: [-600, -1200], + no_bell: [-640, -1200], + mega: [-680, -1200], + loudspeaker: [-720, -1200], + speech_left: [-760, -1200], + eye_in_speech_bubble: [-800, -1200], + speech_balloon: [-840, -1200], + thought_balloon: [-880, -1200], + anger_right: [-920, -1200], + spades: [-960, -1200], + clubs: [-1000, -1200], + hearts: [-1040, -1200], + diamonds: [-1080, -1200], + black_joker: [-1120, -1200], + flower_playing_cards: [-1160, -1200], + mahjong: [-1200, -1200], + clock1: [-1240, -1200], + clock2: [-1280, -1200], + clock3: [-1320, -1200], + clock4: [-1360, -1200], + clock5: [-1400, -1200], + clock6: [-1440, -1200], + clock7: [-1480, -1200], + clock8: [-1520, -1200], + clock9: [-1560, -1200], + clock10: [-1600, -1200], + clock11: [-1640, -1200], + clock12: [0, -1240], + clock130: [-40, -1240], + clock230: [-80, -1240], + clock330: [-120, -1240], + clock430: [-160, -1240], + clock530: [-200, -1240], + clock630: [-240, -1240], + clock730: [-280, -1240], + clock830: [-320, -1240], + clock930: [-360, -1240], + clock1030: [-400, -1240], + clock1130: [-440, -1240], + clock1230: [-480, -1240], + female_sign: [-520, -1240], + male_sign: [-560, -1240], + transgender_symbol: [-600, -1240], + medical_symbol: [-640, -1240], + regional_indicator_z: [-680, -1240], + regional_indicator_y: [-720, -1240], + regional_indicator_x: [-760, -1240], + regional_indicator_w: [-800, -1240], + regional_indicator_v: [-840, -1240], + regional_indicator_u: [-880, -1240], + regional_indicator_t: [-920, -1240], + regional_indicator_s: [-960, -1240], + regional_indicator_r: [-1000, -1240], + regional_indicator_q: [-1040, -1240], + regional_indicator_p: [-1080, -1240], + regional_indicator_o: [-1120, -1240], + regional_indicator_n: [-1160, -1240], + regional_indicator_m: [-1200, -1240], + regional_indicator_l: [-1240, -1240], + regional_indicator_k: [-1280, -1240], + regional_indicator_j: [-1320, -1240], + regional_indicator_i: [-1360, -1240], + regional_indicator_h: [-1400, -1240], + regional_indicator_g: [-1440, -1240], + regional_indicator_f: [-1480, -1240], + regional_indicator_e: [-1520, -1240], + regional_indicator_d: [-1560, -1240], + regional_indicator_c: [-1600, -1240], + regional_indicator_b: [-1640, -1240], + regional_indicator_a: [0, -1280], + flag_white: [-40, -1280], + flag_black: [-80, -1280], + pirate_flag: [-120, -1280], + checkered_flag: [-160, -1280], + triangular_flag_on_post: [-200, -1280], + rainbow_flag: [-240, -1280], + transgender_flag: [-280, -1280], + united_nations: [-320, -1280], + flag_af: [-360, -1280], + flag_ax: [-400, -1280], + flag_al: [-440, -1280], + flag_dz: [-480, -1280], + flag_as: [-520, -1280], + flag_ad: [-560, -1280], + flag_ao: [-600, -1280], + flag_ai: [-640, -1280], + flag_aq: [-680, -1280], + flag_ag: [-720, -1280], + flag_ar: [-760, -1280], + flag_am: [-800, -1280], + flag_aw: [-840, -1280], + flag_au: [-880, -1280], + flag_at: [-920, -1280], + flag_az: [-960, -1280], + flag_bs: [-1000, -1280], + flag_bh: [-1040, -1280], + flag_bd: [-1080, -1280], + flag_bb: [-1120, -1280], + flag_by: [-1160, -1280], + flag_be: [-1200, -1280], + flag_bz: [-1240, -1280], + flag_bj: [-1280, -1280], + flag_bm: [-1320, -1280], + flag_bt: [-1360, -1280], + flag_bo: [-1400, -1280], + flag_ba: [-1440, -1280], + flag_bw: [-1480, -1280], + flag_br: [-1520, -1280], + flag_io: [-1560, -1280], + flag_vg: [-1600, -1280], + flag_bn: [-1640, -1280], + flag_bg: [0, -1320], + flag_bf: [-40, -1320], + flag_bi: [-80, -1320], + flag_kh: [-120, -1320], + flag_cm: [-160, -1320], + flag_ca: [-200, -1320], + flag_ic: [-240, -1320], + flag_cv: [-280, -1320], + flag_bq: [-320, -1320], + flag_ky: [-360, -1320], + flag_cf: [-400, -1320], + flag_td: [-440, -1320], + flag_cl: [-480, -1320], + flag_cn: [-520, -1320], + flag_cx: [-560, -1320], + flag_cc: [-600, -1320], + flag_co: [-640, -1320], + flag_km: [-680, -1320], + flag_cg: [-720, -1320], + flag_cd: [-760, -1320], + flag_ck: [-800, -1320], + flag_cr: [-840, -1320], + flag_ci: [-880, -1320], + flag_hr: [-920, -1320], + flag_cu: [-960, -1320], + flag_cw: [-1000, -1320], + flag_cy: [-1040, -1320], + flag_cz: [-1080, -1320], + flag_dk: [-1120, -1320], + flag_dj: [-1160, -1320], + flag_dm: [-1200, -1320], + flag_do: [-1240, -1320], + flag_ec: [-1280, -1320], + flag_eg: [-1320, -1320], + flag_sv: [-1360, -1320], + flag_gq: [-1400, -1320], + flag_er: [-1440, -1320], + flag_ee: [-1480, -1320], + flag_et: [-1520, -1320], + flag_eu: [-1560, -1320], + flag_fk: [-1600, -1320], + flag_fo: [-1640, -1320], + flag_fj: [0, -1360], + flag_fi: [-40, -1360], + flag_fr: [-80, -1360], + flag_gf: [-120, -1360], + flag_pf: [-160, -1360], + flag_tf: [-200, -1360], + flag_ga: [-240, -1360], + flag_gm: [-280, -1360], + flag_ge: [-320, -1360], + flag_de: [-360, -1360], + flag_gh: [-400, -1360], + flag_gi: [-440, -1360], + flag_gr: [-480, -1360], + flag_gl: [-520, -1360], + flag_gd: [-560, -1360], + flag_gp: [-600, -1360], + flag_gu: [-640, -1360], + flag_gt: [-680, -1360], + flag_gg: [-720, -1360], + flag_gn: [-760, -1360], + flag_gw: [-800, -1360], + flag_gy: [-840, -1360], + flag_ht: [-880, -1360], + flag_hn: [-920, -1360], + flag_hk: [-960, -1360], + flag_hu: [-1000, -1360], + flag_is: [-1040, -1360], + flag_in: [-1080, -1360], + flag_id: [-1120, -1360], + flag_ir: [-1160, -1360], + flag_iq: [-1200, -1360], + flag_ie: [-1240, -1360], + flag_im: [-1280, -1360], + flag_il: [-1320, -1360], + flag_it: [-1360, -1360], + flag_jm: [-1400, -1360], + flag_jp: [-1440, -1360], + crossed_flags: [-1480, -1360], + flag_je: [-1520, -1360], + flag_jo: [-1560, -1360], + flag_kz: [-1600, -1360], + flag_ke: [-1640, -1360], + flag_ki: [0, -1400], + flag_xk: [-40, -1400], + flag_kw: [-80, -1400], + flag_kg: [-120, -1400], + flag_la: [-160, -1400], + flag_lv: [-200, -1400], + flag_lb: [-240, -1400], + flag_ls: [-280, -1400], + flag_lr: [-320, -1400], + flag_ly: [-360, -1400], + flag_li: [-400, -1400], + flag_lt: [-440, -1400], + flag_lu: [-480, -1400], + flag_mo: [-520, -1400], + flag_mk: [-560, -1400], + flag_mg: [-600, -1400], + flag_mw: [-640, -1400], + flag_my: [-680, -1400], + flag_mv: [-720, -1400], + flag_ml: [-760, -1400], + flag_mt: [-800, -1400], + flag_mh: [-840, -1400], + flag_mq: [-880, -1400], + flag_mr: [-920, -1400], + flag_mu: [-960, -1400], + flag_yt: [-1000, -1400], + flag_mx: [-1040, -1400], + flag_fm: [-1080, -1400], + flag_md: [-1120, -1400], + flag_mc: [-1160, -1400], + flag_mn: [-1200, -1400], + flag_me: [-1240, -1400], + flag_ms: [-1280, -1400], + flag_ma: [-1320, -1400], + flag_mz: [-1360, -1400], + flag_mm: [-1400, -1400], + flag_na: [-1440, -1400], + flag_nr: [-1480, -1400], + flag_np: [-1520, -1400], + flag_nl: [-1560, -1400], + flag_nc: [-1600, -1400], + flag_nz: [-1640, -1400], + flag_ni: [0, -1440], + flag_ne: [-40, -1440], + flag_ng: [-80, -1440], + flag_nu: [-120, -1440], + flag_nf: [-160, -1440], + flag_kp: [-200, -1440], + flag_mp: [-240, -1440], + flag_no: [-280, -1440], + flag_om: [-320, -1440], + flag_pk: [-360, -1440], + flag_pw: [-400, -1440], + flag_ps: [-440, -1440], + flag_pa: [-480, -1440], + flag_pg: [-520, -1440], + flag_py: [-560, -1440], + flag_pe: [-600, -1440], + flag_ph: [-640, -1440], + flag_pn: [-680, -1440], + flag_pl: [-720, -1440], + flag_pt: [-760, -1440], + flag_pr: [-800, -1440], + flag_qa: [-840, -1440], + flag_re: [-880, -1440], + flag_ro: [-920, -1440], + flag_ru: [-960, -1440], + flag_rw: [-1000, -1440], + flag_ws: [-1040, -1440], + flag_sm: [-1080, -1440], + flag_st: [-1120, -1440], + flag_sa: [-1160, -1440], + flag_sn: [-1200, -1440], + flag_rs: [-1240, -1440], + flag_sc: [-1280, -1440], + flag_sl: [-1320, -1440], + flag_sg: [-1360, -1440], + flag_sx: [-1400, -1440], + flag_sk: [-1440, -1440], + flag_si: [-1480, -1440], + flag_gs: [-1520, -1440], + flag_sb: [-1560, -1440], + flag_so: [-1600, -1440], + flag_za: [-1640, -1440], + flag_kr: [0, -1480], + flag_ss: [-40, -1480], + flag_es: [-80, -1480], + flag_lk: [-120, -1480], + flag_bl: [-160, -1480], + flag_sh: [-200, -1480], + flag_kn: [-240, -1480], + flag_lc: [-280, -1480], + flag_pm: [-320, -1480], + flag_vc: [-360, -1480], + flag_sd: [-400, -1480], + flag_sr: [-440, -1480], + flag_sz: [-480, -1480], + flag_se: [-520, -1480], + flag_ch: [-560, -1480], + flag_sy: [-600, -1480], + flag_tw: [-640, -1480], + flag_tj: [-680, -1480], + flag_tz: [-720, -1480], + flag_th: [-760, -1480], + flag_tl: [-800, -1480], + flag_tg: [-840, -1480], + flag_tk: [-880, -1480], + flag_to: [-920, -1480], + flag_tt: [-960, -1480], + flag_tn: [-1000, -1480], + flag_tr: [-1040, -1480], + flag_tm: [-1080, -1480], + flag_tc: [-1120, -1480], + flag_vi: [-1160, -1480], + flag_tv: [-1200, -1480], + flag_ug: [-1240, -1480], + flag_ua: [-1280, -1480], + flag_ae: [-1320, -1480], + flag_gb: [-1360, -1480], + england: [-1400, -1480], + scotland: [-1440, -1480], + wales: [-1480, -1480], + flag_us: [-1520, -1480], + flag_uy: [-1560, -1480], + flag_uz: [-1600, -1480], + flag_vu: [-1640, -1480], + flag_va: [0, -1520], + flag_ve: [-40, -1520], + flag_vn: [-80, -1520], + flag_wf: [-120, -1520], + flag_eh: [-160, -1520], + flag_ye: [-200, -1520], + flag_zm: [-240, -1520], + flag_zw: [-280, -1520], + flag_ac: [-320, -1520], + flag_bv: [-360, -1520], + flag_cp: [-400, -1520], + flag_ea: [-440, -1520], + flag_dg: [-480, -1520], + flag_hm: [-520, -1520], + flag_mf: [-560, -1520], + flag_sj: [-600, -1520], + flag_ta: [-640, -1520], + flag_um: [-680, -1520], + }, + }, + 'custom-emoji': { + url: customEmojiUrl, + sheetSize: { width: 360, height: 72 }, + spriteSize: 18, + items: { + smiling_imp: [0, 0], + cold_face: [-18, 0], + cry: [-36, 0], + kissing_heart: [-54, 0], + face_vomiting: [-72, 0], + face_with_diagonal_mouth: [-90, 0], + mask: [-108, 0], + face_with_monocle: [-126, 0], + open_mouth: [-144, 0], + stuck_out_tongue: [-162, 0], + smiley: [-180, 0], + kissing: [-198, 0], + kissing_smiling_eyes: [-216, 0], + money_mouth_face: [-234, 0], + face_exhaling: [-252, 0], + sleeping: [-270, 0], + disappointed: [-288, 0], + wink: [-306, 0], + crazy_face: [-324, 0], + anguished: [-342, 0], + + astonished: [0, -18], + confounded: [-18, -18], + unamused: [-36, -18], + cowboy: [-54, -18], + // TODO Дописать остальные эмодзи + }, + }, + 'custom-emoji-grayscale': { + url: customEmojiGrayScaleUrl, + sheetSize: { width: 360, height: 72 }, + spriteSize: 18, + items: { + smiling_imp: [0, 0], + cold_face: [-18, 0], + cry: [-36, 0], + kissing_heart: [-54, 0], + face_vomiting: [-72, 0], + face_with_diagonal_mouth: [-90, 0], + mask: [-108, 0], + face_with_monocle: [-126, 0], + open_mouth: [-144, 0], + stuck_out_tongue: [-162, 0], + smiley: [-180, 0], + kissing: [-198, 0], + kissing_smiling_eyes: [-216, 0], + money_mouth_face: [-234, 0], + face_exhaling: [-252, 0], + sleeping: [-270, 0], + disappointed: [-288, 0], + wink: [-306, 0], + crazy_face: [-324, 0], + anguished: [-342, 0], + + astonished: [0, -18], + confounded: [-18, -18], + unamused: [-36, -18], + cowboy: [-54, -18], + // TODO Дописать остальные эмодзи + }, + }, +} + +export type SpriteType = keyof typeof SpriteConfig diff --git a/src/shared/directives/v-on-click-outside.ts b/src/shared/directives/v-on-click-outside.ts new file mode 100644 index 0000000..0ddc5cd --- /dev/null +++ b/src/shared/directives/v-on-click-outside.ts @@ -0,0 +1,31 @@ +import type { DirectiveBinding, ObjectDirective } from 'vue' + +type ClickOutsideHandler = (event: MouseEvent, element: HTMLElement) => void + +interface ClickOutsideElement extends HTMLElement { + _clickOutsideEvent: (event: MouseEvent) => void +} + +export const vOnClickOutside: ObjectDirective = { + beforeMount(element: ClickOutsideElement, binding: DirectiveBinding): void { + element._clickOutsideEvent = (event: MouseEvent): void => { + const excludeComponent = binding.arg ? document.getElementById(binding.arg) : null + const target = event.target as Node + + const isInsideElement = element === target || element.contains(target) + const isInsideExcluded = + excludeComponent != null && + (excludeComponent === target || excludeComponent.contains(target)) + + if (!isInsideElement && !isInsideExcluded) { + binding.value(event, element) + } + } + + document.addEventListener('click', element._clickOutsideEvent) + }, + + unmounted(element: ClickOutsideElement): void { + document.removeEventListener('click', element._clickOutsideEvent) + }, +} diff --git a/src/shared/directives/v-tooltip.ts b/src/shared/directives/v-tooltip.ts new file mode 100644 index 0000000..42f49b2 --- /dev/null +++ b/src/shared/directives/v-tooltip.ts @@ -0,0 +1,272 @@ +import { type Directive, type DirectiveBinding, h, render, type VNode } from 'vue' +import { + computePosition, + autoUpdate, + flip, + shift, + offset, + arrow, + type Placement, + type Middleware, +} from '@floating-ui/dom' +import TooltipComponent from '@/shared/ui/PTooltip' + +export interface TooltipOptions { + content: string + placement?: Placement + trigger?: 'hover' | 'click' | 'manual' + maxWidth?: string | number + delay?: number + appendTo?: 'body' | 'parent' | string | HTMLElement +} + +interface TooltipElement extends HTMLElement { + _tooltipCleanup?: () => void + _tooltipContainer?: HTMLElement + _tooltipVNode?: VNode + _tooltipShow?: () => void + _tooltipHide?: () => void + _tooltipToggle?: () => void +} + +export const vTooltip: Directive = { + mounted(el, binding) { + initTooltip(el, binding) + }, + + updated(el, binding) { + const oldVal: TooltipOptions = binding.oldValue || ({} as TooltipOptions) + const newVal = binding.value || {} + + if (oldVal.content !== newVal.content || oldVal.maxWidth !== newVal.maxWidth) { + updateTooltipProps(el, binding) + } + }, + + beforeUnmount(el) { + destroyTooltip(el) + }, +} + +function initTooltip(el: TooltipElement, binding: DirectiveBinding) { + const options = normalizeOptions(binding.value) + + const container = document.createElement('div') + + Object.assign(container.style, { + position: 'absolute', + visibility: 'visible', + inset: '0px auto auto 0px', + margin: '0', + [`z-index`]: 9999, + [`pointer-events`]: 'none', + [`max-width`]: `calc(100vw - 10px)`, + }) + + el._tooltipContainer = container + + const vnode = h(TooltipComponent, { + text: options.content, + visible: false, + maxWidth: options.maxWidth, + actualPlacement: options.placement, + }) + + render(vnode, container) + el._tooltipVNode = vnode + + let hoverTimeout: ReturnType + + const show = () => { + if (el._tooltipCleanup) return // Уже показан + + hoverTimeout = setTimeout(() => { + // Определяем куда маунтить + const targetContainer = resolveAppendTarget(options.appendTo, el) + + if (!container.isConnected) { + targetContainer.appendChild(container) + } + + const component = vnode.component + const tooltipEl = component?.exposed?.tooltipRef.value as HTMLElement + const arrowEl = component?.exposed?.arrowRef.value as HTMLElement + + // Активируем анимацию появления + if (component) { + component.props.visible = true + component.update() + } + + if (tooltipEl && arrowEl) { + // Запускаем Floating UI + el._tooltipCleanup = autoUpdate(el, tooltipEl, () => { + updatePosition(el, container, arrowEl, binding.value.placement || 'top') + }) + } + }, options.delay) + } + + // --- HIDE --- + const hide = () => { + clearTimeout(hoverTimeout) + + const component = vnode.component + if (component) { + component.props.visible = false + component.update() + } + + if (el._tooltipCleanup) { + el._tooltipCleanup() + el._tooltipCleanup = undefined + } + + // Ждем окончания анимации + setTimeout(() => { + if (container.isConnected) { + // Проверка на "передумывание" (юзер быстро увел и вернул мышь) + const isVisible = component?.props.visible + if (!isVisible) { + container.remove() + } + } + }, 200) + } + + const toggle = () => { + if (el._tooltipCleanup) hide() + else show() + } + + // Сохраняем методы для ручного вызова или очистки + el._tooltipShow = show + el._tooltipHide = hide + el._tooltipToggle = toggle + + // --- BIND EVENTS --- + const trigger = options.trigger + if (trigger === 'hover') { + el.addEventListener('mouseenter', show) + el.addEventListener('mouseleave', hide) + el.addEventListener('focus', show) + el.addEventListener('blur', hide) + } else if (trigger === 'click') { + el.addEventListener('click', toggle) + } +} + +// Логика выбора родителя для appendChild +function resolveAppendTarget(appendTo: TooltipOptions['appendTo'], el: HTMLElement): HTMLElement { + if (!appendTo || appendTo === 'body') return document.body + + if (appendTo === 'parent') { + return el.parentElement || document.body + } + + if (typeof appendTo === 'string') { + const found = document.querySelector(appendTo) + return (found as HTMLElement) || document.body + } + + if (appendTo instanceof HTMLElement) { + return appendTo + } + + return document.body +} + +function updatePosition( + reference: HTMLElement, + floating: HTMLElement, + arrowEl: HTMLElement, + placement: Placement, +) { + const middleware: Middleware[] = [ + offset(8), + flip(), + shift({ padding: 5 }), + arrow({ element: arrowEl }), + ] + + computePosition(reference, floating, { + placement, + middleware, + }).then(({ x, y, placement: finalPlacement, middlewareData }) => { + Object.assign(floating.style, { + transform: `translate(${x}px, ${y}px)`, + }) + + // Обновляем data-side для CSS стрелки + floating.setAttribute('data-side', finalPlacement) + + // Позиционируем стрелку + if (middlewareData.arrow) { + const { x: arrowX, y: arrowY } = middlewareData.arrow + + const placementParts = finalPlacement?.split('-') + if (!placementParts[0]) return + + const staticSide = { + top: 'bottom', + right: 'left', + bottom: 'top', + left: 'right', + }[placementParts[0]] as string + + Object.assign(arrowEl.style, { + left: arrowX != null ? `${arrowX}px` : '', + top: arrowY != null ? `${arrowY}px` : '', + right: '', + bottom: '', + [staticSide]: '-4px', // Сдвиг стрелки наружу + }) + } + }) +} + +function updateTooltipProps(el: TooltipElement, binding: DirectiveBinding) { + if (el._tooltipVNode && el._tooltipVNode.component) { + const options = normalizeOptions(binding.value) + const props = el._tooltipVNode.component.props + props.text = options.content + props.maxWidth = options.maxWidth + el._tooltipVNode.component.update() + } +} + +function destroyTooltip(el: TooltipElement) { + if (el._tooltipCleanup) el._tooltipCleanup() + + if (el._tooltipShow) { + el.removeEventListener('mouseenter', el._tooltipShow) + el.removeEventListener('mouseleave', el._tooltipHide!) + el.removeEventListener('focus', el._tooltipShow) + el.removeEventListener('blur', el._tooltipHide!) + el.removeEventListener('click', el._tooltipToggle!) + } + + if (el._tooltipContainer) { + render(null, el._tooltipContainer) + el._tooltipContainer.remove() + } + + delete el._tooltipVNode + delete el._tooltipContainer +} + +function normalizeOptions(value: TooltipOptions): Required< + Omit +> & { + placement: Placement + appendTo: TooltipOptions['appendTo'] +} { + return { + content: value.content || '', + placement: value.placement || 'top', + trigger: value.trigger || 'hover', + maxWidth: value.maxWidth || 'auto', + delay: value.delay || 200, + appendTo: value.appendTo || 'body', + } +} diff --git a/src/shared/ui/PAnchor/PAnchor.vue b/src/shared/ui/PAnchor/PAnchor.vue new file mode 100644 index 0000000..e49aea9 --- /dev/null +++ b/src/shared/ui/PAnchor/PAnchor.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/shared/ui/PAnchor/__stories__/PAnchor.stories.ts b/src/shared/ui/PAnchor/__stories__/PAnchor.stories.ts new file mode 100644 index 0000000..c2ecf34 --- /dev/null +++ b/src/shared/ui/PAnchor/__stories__/PAnchor.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PAnchor from '../PAnchor.vue' + +export default { + title: 'Components/Inputs/PAnchor', + component: PAnchor, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PAnchor }, + template: ` + Anchor`, + }), +} diff --git a/src/shared/ui/PAnchor/__tests__/PAnchor.test.ts b/src/shared/ui/PAnchor/__tests__/PAnchor.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PAnchor/index.ts b/src/shared/ui/PAnchor/index.ts new file mode 100644 index 0000000..f65fde5 --- /dev/null +++ b/src/shared/ui/PAnchor/index.ts @@ -0,0 +1,3 @@ +import PAnchor from './PAnchor.vue' + +export default PAnchor diff --git a/src/shared/ui/PAvatar/PAvatar.vue b/src/shared/ui/PAvatar/PAvatar.vue new file mode 100644 index 0000000..b4abdfb --- /dev/null +++ b/src/shared/ui/PAvatar/PAvatar.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/shared/ui/PAvatar/__stories__/PAvatar.stories.ts b/src/shared/ui/PAvatar/__stories__/PAvatar.stories.ts new file mode 100644 index 0000000..8264e12 --- /dev/null +++ b/src/shared/ui/PAvatar/__stories__/PAvatar.stories.ts @@ -0,0 +1,44 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PAvatar from '../PAvatar.vue' +import PIcon from '../../PIcon/PIcon.vue' +import SvgDefs from '@/app/ui/SvgDefs' + +export default { + title: 'Components/Data Display/PAvatar', + component: PAvatar, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PAvatar, SvgDefs, PIcon }, + template: ` +
+ + + + + + +
+
+ + + + + + + + + + + + +
+ `, + }), +} diff --git a/src/shared/ui/PAvatar/__tests__/PAvatar.test.ts b/src/shared/ui/PAvatar/__tests__/PAvatar.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PAvatar/index.ts b/src/shared/ui/PAvatar/index.ts new file mode 100644 index 0000000..6028a8a --- /dev/null +++ b/src/shared/ui/PAvatar/index.ts @@ -0,0 +1,3 @@ +import PAvatar from './PAvatar.vue' + +export default PAvatar diff --git a/src/shared/ui/PButton/PButton.vue b/src/shared/ui/PButton/PButton.vue new file mode 100644 index 0000000..25c81a0 --- /dev/null +++ b/src/shared/ui/PButton/PButton.vue @@ -0,0 +1,336 @@ + + + + + diff --git a/src/shared/ui/PButton/__stories__/PButton.stories.ts b/src/shared/ui/PButton/__stories__/PButton.stories.ts new file mode 100644 index 0000000..ef2b10e --- /dev/null +++ b/src/shared/ui/PButton/__stories__/PButton.stories.ts @@ -0,0 +1,178 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' +import { action } from 'storybook/actions' + +import PButton from '../PButton.vue' + +export default { + title: 'Components/Inputs/PButton', + component: PButton, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Views: Story = { + args: { + onClick: action('onClick'), + }, + render: () => ({ + components: { PButton }, + template: ` +
+ + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + +
+ `, + }), +} + +export const Loading: Story = { + argTypes: { + loading: { + control: { type: 'boolean' }, + }, + }, + args: { + loading: true, + }, + render: (args) => ({ + components: { PButton }, + setup() { + return { args } + }, + template: ` +
+ + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + + + Button + +
+ `, + }), +} + +export const Sizes: Story = { + args: { + onClick: action('onClick'), + }, + render: () => ({ + components: { PButton }, + template: ` + + Button + +
+ + Button + + `, + }), +} diff --git a/src/shared/ui/PButton/__tests__/PButton.test.ts b/src/shared/ui/PButton/__tests__/PButton.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PButton/index.ts b/src/shared/ui/PButton/index.ts new file mode 100644 index 0000000..dc70440 --- /dev/null +++ b/src/shared/ui/PButton/index.ts @@ -0,0 +1,3 @@ +import PButton from './PButton.vue' + +export default PButton diff --git a/src/shared/ui/PCheckbox/PCheckbox.vue b/src/shared/ui/PCheckbox/PCheckbox.vue new file mode 100644 index 0000000..1d5db5a --- /dev/null +++ b/src/shared/ui/PCheckbox/PCheckbox.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/shared/ui/PCheckbox/__stories__/PCheckbox.stories.ts b/src/shared/ui/PCheckbox/__stories__/PCheckbox.stories.ts new file mode 100644 index 0000000..f45ba9a --- /dev/null +++ b/src/shared/ui/PCheckbox/__stories__/PCheckbox.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PCheckbox from '../PCheckbox.vue' + +export default { + title: 'Components/Inputs/PCheckbox', + component: PCheckbox, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PCheckbox }, + template: + '', + }), +} diff --git a/src/shared/ui/PCheckbox/__tests__/PCheckbox.test.ts b/src/shared/ui/PCheckbox/__tests__/PCheckbox.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PCheckbox/index.ts b/src/shared/ui/PCheckbox/index.ts new file mode 100644 index 0000000..d75cfe9 --- /dev/null +++ b/src/shared/ui/PCheckbox/index.ts @@ -0,0 +1,3 @@ +import PCheckbox from './PCheckbox.vue' + +export default PCheckbox diff --git a/src/shared/ui/PCloseButton/PCloseButton.vue b/src/shared/ui/PCloseButton/PCloseButton.vue new file mode 100644 index 0000000..0caf21e --- /dev/null +++ b/src/shared/ui/PCloseButton/PCloseButton.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/shared/ui/PCloseButton/__stories__/PCloseButton.stories.ts b/src/shared/ui/PCloseButton/__stories__/PCloseButton.stories.ts new file mode 100644 index 0000000..e3b1251 --- /dev/null +++ b/src/shared/ui/PCloseButton/__stories__/PCloseButton.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PCloseButton from '../PCloseButton.vue' + +export default { + title: 'Components/Inputs/PCloseButton', + component: PCloseButton, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PCloseButton }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PCloseButton/__tests__/PCloseButton.test.ts b/src/shared/ui/PCloseButton/__tests__/PCloseButton.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PCloseButton/index.ts b/src/shared/ui/PCloseButton/index.ts new file mode 100644 index 0000000..78327de --- /dev/null +++ b/src/shared/ui/PCloseButton/index.ts @@ -0,0 +1,3 @@ +import PCloseButton from './PCloseButton.vue' + +export default PCloseButton diff --git a/src/shared/ui/PFieldHint/PFieldHint.vue b/src/shared/ui/PFieldHint/PFieldHint.vue new file mode 100644 index 0000000..e2353db --- /dev/null +++ b/src/shared/ui/PFieldHint/PFieldHint.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/shared/ui/PFieldHint/__stories__/PFieldHint.stories.ts b/src/shared/ui/PFieldHint/__stories__/PFieldHint.stories.ts new file mode 100644 index 0000000..4ff0f3a --- /dev/null +++ b/src/shared/ui/PFieldHint/__stories__/PFieldHint.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PFieldHint from '../PFieldHint.vue' + +export default { + title: 'Components/Data Display/PFieldHint', + component: PFieldHint, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PFieldHint }, + template: ` + Field hint `, + }), +} diff --git a/src/shared/ui/PFieldHint/__tests__/PFieldHint.test.ts b/src/shared/ui/PFieldHint/__tests__/PFieldHint.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PFieldHint/index.ts b/src/shared/ui/PFieldHint/index.ts new file mode 100644 index 0000000..8ca9b4c --- /dev/null +++ b/src/shared/ui/PFieldHint/index.ts @@ -0,0 +1,3 @@ +import PFieldHint from './PFieldHint.vue' + +export default PFieldHint diff --git a/src/shared/ui/PIcon/PIcon.vue b/src/shared/ui/PIcon/PIcon.vue new file mode 100644 index 0000000..7697c65 --- /dev/null +++ b/src/shared/ui/PIcon/PIcon.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/shared/ui/PIcon/__stories__/PIcon.stories.ts b/src/shared/ui/PIcon/__stories__/PIcon.stories.ts new file mode 100644 index 0000000..050a9d8 --- /dev/null +++ b/src/shared/ui/PIcon/__stories__/PIcon.stories.ts @@ -0,0 +1,40 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PIcon from '../PIcon.vue' + +export default { + title: 'Components/Data Display/PIcon', + component: PIcon, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Sizes: Story = { + args: {}, + render: () => ({ + components: { PIcon }, + template: ` + + + + + + `, + }), +} diff --git a/src/shared/ui/PIcon/__tests__/PIcon.test.ts b/src/shared/ui/PIcon/__tests__/PIcon.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PIcon/index.ts b/src/shared/ui/PIcon/index.ts new file mode 100644 index 0000000..5ef6bb2 --- /dev/null +++ b/src/shared/ui/PIcon/index.ts @@ -0,0 +1,3 @@ +import PIcon from './PIcon.vue' + +export default PIcon diff --git a/src/shared/ui/PInput/PInput.vue b/src/shared/ui/PInput/PInput.vue new file mode 100644 index 0000000..b1e0d70 --- /dev/null +++ b/src/shared/ui/PInput/PInput.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/shared/ui/PInput/__stories__/PInput.stories.ts b/src/shared/ui/PInput/__stories__/PInput.stories.ts new file mode 100644 index 0000000..aa2e7bb --- /dev/null +++ b/src/shared/ui/PInput/__stories__/PInput.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PInput from '../PInput.vue' + +export default { + title: 'Components/Inputs/PInput', + component: PInput, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PInput }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PInput/__tests__/PInput.test.ts b/src/shared/ui/PInput/__tests__/PInput.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PInput/index.ts b/src/shared/ui/PInput/index.ts new file mode 100644 index 0000000..9567a16 --- /dev/null +++ b/src/shared/ui/PInput/index.ts @@ -0,0 +1,3 @@ +import PInput from './PInput.vue' + +export default PInput diff --git a/src/shared/ui/PLabel/PLabel.vue b/src/shared/ui/PLabel/PLabel.vue new file mode 100644 index 0000000..cbe7d1a --- /dev/null +++ b/src/shared/ui/PLabel/PLabel.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/shared/ui/PLabel/__stories__/PLabel.stories.ts b/src/shared/ui/PLabel/__stories__/PLabel.stories.ts new file mode 100644 index 0000000..947604d --- /dev/null +++ b/src/shared/ui/PLabel/__stories__/PLabel.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PLabel from '../PLabel.vue' + +export default { + title: 'Components/Data Display/PLabel', + component: PLabel, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PLabel }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PLabel/__tests__/PLabel.test.ts b/src/shared/ui/PLabel/__tests__/PLabel.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PLabel/index.ts b/src/shared/ui/PLabel/index.ts new file mode 100644 index 0000000..992bdc1 --- /dev/null +++ b/src/shared/ui/PLabel/index.ts @@ -0,0 +1,3 @@ +import PLabel from './PLabel.vue' + +export default PLabel diff --git a/src/shared/ui/PLayerModal/PLayerModal.vue b/src/shared/ui/PLayerModal/PLayerModal.vue new file mode 100644 index 0000000..e36afd5 --- /dev/null +++ b/src/shared/ui/PLayerModal/PLayerModal.vue @@ -0,0 +1,70 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PLayerModal/__stories__/PLayerModal.stories.ts b/src/shared/ui/PLayerModal/__stories__/PLayerModal.stories.ts new file mode 100644 index 0000000..b1c6ea4 --- /dev/null +++ b/src/shared/ui/PLayerModal/__stories__/PLayerModal.stories.ts @@ -0,0 +1 @@ +export default {} diff --git a/src/shared/ui/PLayerModal/__tests__/PLayerModal.test.ts b/src/shared/ui/PLayerModal/__tests__/PLayerModal.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PLayerModal/index.ts b/src/shared/ui/PLayerModal/index.ts new file mode 100644 index 0000000..98e6142 --- /dev/null +++ b/src/shared/ui/PLayerModal/index.ts @@ -0,0 +1,3 @@ +import PLayerModal from './PLayerModal.vue' + +export default PLayerModal diff --git a/src/shared/ui/PModal/PModal.vue b/src/shared/ui/PModal/PModal.vue new file mode 100644 index 0000000..f647092 --- /dev/null +++ b/src/shared/ui/PModal/PModal.vue @@ -0,0 +1,271 @@ + + + + + diff --git a/src/shared/ui/PModal/__stories__/PModal.stories.ts b/src/shared/ui/PModal/__stories__/PModal.stories.ts new file mode 100644 index 0000000..188c2dd --- /dev/null +++ b/src/shared/ui/PModal/__stories__/PModal.stories.ts @@ -0,0 +1,54 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PModal from '../PModal.vue' + +export default { + title: 'Components/Data Display/PModal', + component: PModal, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PModal }, + template: ` + + + + + `, + }), +} + +export const WithSlots: Story = { + args: {}, + render: () => ({ + components: { PModal }, + template: ` + + + + + + + `, + }), +} diff --git a/src/shared/ui/PModal/__tests__/PModal.test.ts b/src/shared/ui/PModal/__tests__/PModal.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PModal/index.ts b/src/shared/ui/PModal/index.ts new file mode 100644 index 0000000..06afb63 --- /dev/null +++ b/src/shared/ui/PModal/index.ts @@ -0,0 +1,3 @@ +import PModal from './PModal.vue' + +export default PModal diff --git a/src/shared/ui/PPopover/PPopover.vue b/src/shared/ui/PPopover/PPopover.vue new file mode 100644 index 0000000..0349fcb --- /dev/null +++ b/src/shared/ui/PPopover/PPopover.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PPopover/__stories__/PPopover.stories.ts b/src/shared/ui/PPopover/__stories__/PPopover.stories.ts new file mode 100644 index 0000000..eff6850 --- /dev/null +++ b/src/shared/ui/PPopover/__stories__/PPopover.stories.ts @@ -0,0 +1,22 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PPopover from '../PPopover.vue' + +export default { + title: 'Components/Data Display/PPopover', + component: PPopover, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PPopover }, + template: ` + + test + `, + }), +} diff --git a/src/shared/ui/PPopover/__tests__/PPopover.test.ts b/src/shared/ui/PPopover/__tests__/PPopover.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PPopover/index.ts b/src/shared/ui/PPopover/index.ts new file mode 100644 index 0000000..9d503c2 --- /dev/null +++ b/src/shared/ui/PPopover/index.ts @@ -0,0 +1,3 @@ +import PPopover from './PPopover.vue' + +export default PPopover diff --git a/src/shared/ui/PRadio/PRadio.vue b/src/shared/ui/PRadio/PRadio.vue new file mode 100644 index 0000000..87f5fa7 --- /dev/null +++ b/src/shared/ui/PRadio/PRadio.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/src/shared/ui/PRadio/__stories__/PRadio.stories.ts b/src/shared/ui/PRadio/__stories__/PRadio.stories.ts new file mode 100644 index 0000000..52cae50 --- /dev/null +++ b/src/shared/ui/PRadio/__stories__/PRadio.stories.ts @@ -0,0 +1,25 @@ +import { ref } from 'vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PRadio from '../PRadio.vue' + +export default { + title: 'Components/Inputs/PRadio', + component: PRadio, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PRadio }, + setup() { + const model = ref(false) + const value = 'option1' + return { args, value, model } + }, + template: ` + Radio`, + }), +} diff --git a/src/shared/ui/PRadio/__tests__/PRadio.test.ts b/src/shared/ui/PRadio/__tests__/PRadio.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PRadio/index.ts b/src/shared/ui/PRadio/index.ts new file mode 100644 index 0000000..a46326e --- /dev/null +++ b/src/shared/ui/PRadio/index.ts @@ -0,0 +1,3 @@ +import PRadio from './PRadio.vue' + +export default PRadio diff --git a/src/shared/ui/PRadioGroup/PRadioGroup.vue b/src/shared/ui/PRadioGroup/PRadioGroup.vue new file mode 100644 index 0000000..57de613 --- /dev/null +++ b/src/shared/ui/PRadioGroup/PRadioGroup.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/shared/ui/PRadioGroup/__stories__/PRadioGroup.stories.ts b/src/shared/ui/PRadioGroup/__stories__/PRadioGroup.stories.ts new file mode 100644 index 0000000..9eea0a9 --- /dev/null +++ b/src/shared/ui/PRadioGroup/__stories__/PRadioGroup.stories.ts @@ -0,0 +1,44 @@ +import { ref } from 'vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PRadioGroup from '../PRadioGroup.vue' + +export default { + title: 'Components/Inputs/PRadioGroup', + component: PRadioGroup, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PRadioGroup }, + setup() { + const model = ref(false) + const options = [ + { + label: 'Option 1', + value: 'option1', + description: 'Description for option 1', + icon: 'misc.hashtag', + }, + { + label: 'Option 2', + value: 'option2', + description: 'Description for option 2', + icon: 'misc.speaker', + }, + { + label: 'Option 3', + value: 'option3', + description: 'Description for option 3', + icon: 'misc.chat-bubbles', + }, + ] + return { args, options, model } + }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PRadioGroup/__tests__/PRadioGroup.test.ts b/src/shared/ui/PRadioGroup/__tests__/PRadioGroup.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PRadioGroup/index.ts b/src/shared/ui/PRadioGroup/index.ts new file mode 100644 index 0000000..0eea0de --- /dev/null +++ b/src/shared/ui/PRadioGroup/index.ts @@ -0,0 +1,4 @@ +import PRadioGroup, { type RadioOption } from './PRadioGroup.vue' + +export default PRadioGroup +export type { RadioOption } diff --git a/src/shared/ui/PScrim/PScrim.vue b/src/shared/ui/PScrim/PScrim.vue new file mode 100644 index 0000000..d026720 --- /dev/null +++ b/src/shared/ui/PScrim/PScrim.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/src/shared/ui/PScrim/__stories__/PScrim.stories.ts b/src/shared/ui/PScrim/__stories__/PScrim.stories.ts new file mode 100644 index 0000000..4f20b44 --- /dev/null +++ b/src/shared/ui/PScrim/__stories__/PScrim.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PScrim from '../PScrim.vue' + +export default { + title: 'Components/Data Display/PScrim', + component: PScrim, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PScrim }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PScrim/__tests__/PScrim.test.ts b/src/shared/ui/PScrim/__tests__/PScrim.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PScrim/index.ts b/src/shared/ui/PScrim/index.ts new file mode 100644 index 0000000..83c5802 --- /dev/null +++ b/src/shared/ui/PScrim/index.ts @@ -0,0 +1,3 @@ +import PScrim from './PScrim.vue' + +export default PScrim diff --git a/src/shared/ui/PSectionDivider/PSectionDivider.vue b/src/shared/ui/PSectionDivider/PSectionDivider.vue new file mode 100644 index 0000000..cb784fd --- /dev/null +++ b/src/shared/ui/PSectionDivider/PSectionDivider.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/shared/ui/PSectionDivider/__stories__/PSectionDivider.stories.ts b/src/shared/ui/PSectionDivider/__stories__/PSectionDivider.stories.ts new file mode 100644 index 0000000..35543cf --- /dev/null +++ b/src/shared/ui/PSectionDivider/__stories__/PSectionDivider.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSectionDivider from '../PSectionDivider.vue' + +export default { + title: 'Components/Data Display/PSectionDivider', + component: PSectionDivider, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PSectionDivider }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PSectionDivider/__tests__/PSectionDivider.test.ts b/src/shared/ui/PSectionDivider/__tests__/PSectionDivider.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSectionDivider/index.ts b/src/shared/ui/PSectionDivider/index.ts new file mode 100644 index 0000000..25efaf4 --- /dev/null +++ b/src/shared/ui/PSectionDivider/index.ts @@ -0,0 +1,3 @@ +import PSectionDivider from './PSectionDivider.vue' + +export default PSectionDivider diff --git a/src/shared/ui/PSelect/PSelect.vue b/src/shared/ui/PSelect/PSelect.vue new file mode 100644 index 0000000..43ad6f0 --- /dev/null +++ b/src/shared/ui/PSelect/PSelect.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/shared/ui/PSelect/PSelectList.vue b/src/shared/ui/PSelect/PSelectList.vue new file mode 100644 index 0000000..3ffb1f2 --- /dev/null +++ b/src/shared/ui/PSelect/PSelectList.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/shared/ui/PSelect/__stories__/PSelect.stories.ts b/src/shared/ui/PSelect/__stories__/PSelect.stories.ts new file mode 100644 index 0000000..2207499 --- /dev/null +++ b/src/shared/ui/PSelect/__stories__/PSelect.stories.ts @@ -0,0 +1,26 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSelect from '../PSelect.vue' + +export default { + title: 'Components/Inputs/PSelect', + component: PSelect, + args: { + items: [ + { value: '1', title: 'Option 1' }, + { value: '2', title: 'Option 2' }, + { value: '3', title: 'Option 3' }, + ], + }, + render: (args) => ({ + components: { PSelect }, + setup() { + return { args } + }, + template: ``, + }), +} as Meta + +type Story = StoryObj + +export const Default: Story = {} diff --git a/src/shared/ui/PSelect/__tests__/PSelect.test.ts b/src/shared/ui/PSelect/__tests__/PSelect.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSelect/index.ts b/src/shared/ui/PSelect/index.ts new file mode 100644 index 0000000..99ae79e --- /dev/null +++ b/src/shared/ui/PSelect/index.ts @@ -0,0 +1,3 @@ +import PSelect from './PSelect.vue' + +export default PSelect diff --git a/src/shared/ui/PServerIcon/PServerIcon.vue b/src/shared/ui/PServerIcon/PServerIcon.vue new file mode 100644 index 0000000..21ce261 --- /dev/null +++ b/src/shared/ui/PServerIcon/PServerIcon.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/shared/ui/PServerIcon/__stories__/PServerIcon.stories.ts b/src/shared/ui/PServerIcon/__stories__/PServerIcon.stories.ts new file mode 100644 index 0000000..b93bac9 --- /dev/null +++ b/src/shared/ui/PServerIcon/__stories__/PServerIcon.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PServerIcon from '../PServerIcon.vue' + +export default { + title: 'Components/Data Display/PInput', + component: PServerIcon, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PServerIcon }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PServerIcon/__tests__/PServerIcon.test.ts b/src/shared/ui/PServerIcon/__tests__/PServerIcon.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PServerIcon/index.ts b/src/shared/ui/PServerIcon/index.ts new file mode 100644 index 0000000..ad60de5 --- /dev/null +++ b/src/shared/ui/PServerIcon/index.ts @@ -0,0 +1,3 @@ +import PServerIcon from './PServerIcon.vue' + +export default PServerIcon diff --git a/src/shared/ui/PSkeleton/PSkeleton.vue b/src/shared/ui/PSkeleton/PSkeleton.vue new file mode 100644 index 0000000..3cf4a94 --- /dev/null +++ b/src/shared/ui/PSkeleton/PSkeleton.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/shared/ui/PSkeleton/__stories__/PSkeleton.stories.ts b/src/shared/ui/PSkeleton/__stories__/PSkeleton.stories.ts new file mode 100644 index 0000000..a151a16 --- /dev/null +++ b/src/shared/ui/PSkeleton/__stories__/PSkeleton.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSkeleton from '../PSkeleton.vue' + +export default { + title: 'Components/Data Display/PSkeleton', + component: PSkeleton, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PSkeleton }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PSkeleton/__tests__/PSkeleton.test.ts b/src/shared/ui/PSkeleton/__tests__/PSkeleton.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSkeleton/index.ts b/src/shared/ui/PSkeleton/index.ts new file mode 100644 index 0000000..69393b2 --- /dev/null +++ b/src/shared/ui/PSkeleton/index.ts @@ -0,0 +1,3 @@ +import PSkeleton from './PSkeleton.vue' + +export default PSkeleton diff --git a/src/shared/ui/PSlider/PSlider.vue b/src/shared/ui/PSlider/PSlider.vue new file mode 100644 index 0000000..9e8ce3b --- /dev/null +++ b/src/shared/ui/PSlider/PSlider.vue @@ -0,0 +1,150 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PSlider/__stories__/PSlider.stories.ts b/src/shared/ui/PSlider/__stories__/PSlider.stories.ts new file mode 100644 index 0000000..a9c0269 --- /dev/null +++ b/src/shared/ui/PSlider/__stories__/PSlider.stories.ts @@ -0,0 +1,25 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSlider from '../PSlider.vue' +import { ref } from 'vue' + +export default { + title: 'Components/Inputs/PSlider', + component: PSlider, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PSlider }, + setup() { + const value = ref(0) + return { args, value } + }, + template: ` + + `, + }), +} diff --git a/src/shared/ui/PSlider/__tests__/PSlider.test.ts b/src/shared/ui/PSlider/__tests__/PSlider.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSpriteImage/PSpriteImage.vue b/src/shared/ui/PSpriteImage/PSpriteImage.vue new file mode 100644 index 0000000..24edb2c --- /dev/null +++ b/src/shared/ui/PSpriteImage/PSpriteImage.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PSpriteImage/__stories__/PSpriteImage.stories.ts b/src/shared/ui/PSpriteImage/__stories__/PSpriteImage.stories.ts new file mode 100644 index 0000000..e7da4bc --- /dev/null +++ b/src/shared/ui/PSpriteImage/__stories__/PSpriteImage.stories.ts @@ -0,0 +1,24 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSpriteImage from '../PSpriteImage.vue' + +export default { + title: 'Components/Data Display/PSpriteImage', + component: PSpriteImage, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PSpriteImage }, + template: ` + + + + + `, + }), +} diff --git a/src/shared/ui/PSpriteImage/__tests__/PSpriteImage.test.ts b/src/shared/ui/PSpriteImage/__tests__/PSpriteImage.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSpriteImage/index.ts b/src/shared/ui/PSpriteImage/index.ts new file mode 100644 index 0000000..0a58874 --- /dev/null +++ b/src/shared/ui/PSpriteImage/index.ts @@ -0,0 +1,3 @@ +import PSpriteImage from './PSpriteImage.vue' + +export default PSpriteImage diff --git a/src/shared/ui/PStatusMessage/PStatusMessage.vue b/src/shared/ui/PStatusMessage/PStatusMessage.vue new file mode 100644 index 0000000..d2f6253 --- /dev/null +++ b/src/shared/ui/PStatusMessage/PStatusMessage.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/shared/ui/PStatusMessage/__stories__/PStatusMessage.stories.ts b/src/shared/ui/PStatusMessage/__stories__/PStatusMessage.stories.ts new file mode 100644 index 0000000..a82466f --- /dev/null +++ b/src/shared/ui/PStatusMessage/__stories__/PStatusMessage.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PStatusMessage from '../PStatusMessage.vue' + +export default { + title: 'Components/Data Display/PStatusMessage', + component: PStatusMessage, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PStatusMessage }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PStatusMessage/__tests__/PStatusMessage.test.ts b/src/shared/ui/PStatusMessage/__tests__/PStatusMessage.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PStatusMessage/index.ts b/src/shared/ui/PStatusMessage/index.ts new file mode 100644 index 0000000..9f6c9e8 --- /dev/null +++ b/src/shared/ui/PStatusMessage/index.ts @@ -0,0 +1,3 @@ +import PStatusMessage from './PStatusMessage.vue' + +export default PStatusMessage diff --git a/src/shared/ui/PSwitch/PSwitch.vue b/src/shared/ui/PSwitch/PSwitch.vue new file mode 100644 index 0000000..3733bac --- /dev/null +++ b/src/shared/ui/PSwitch/PSwitch.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/src/shared/ui/PSwitch/__stories__/PSwitch.stories.ts b/src/shared/ui/PSwitch/__stories__/PSwitch.stories.ts new file mode 100644 index 0000000..a191483 --- /dev/null +++ b/src/shared/ui/PSwitch/__stories__/PSwitch.stories.ts @@ -0,0 +1,24 @@ +import { ref } from 'vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PSwitch from '../PSwitch.vue' + +export default { + title: 'Components/Inputs/PSwitch', + component: PSwitch, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PSwitch }, + setup() { + const model = ref(false) + return { args, model } + }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PSwitch/__tests__/PSwitch.test.ts b/src/shared/ui/PSwitch/__tests__/PSwitch.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PSwitch/index.ts b/src/shared/ui/PSwitch/index.ts new file mode 100644 index 0000000..98267d3 --- /dev/null +++ b/src/shared/ui/PSwitch/index.ts @@ -0,0 +1,3 @@ +import PSwitch from './PSwitch.vue' + +export default PSwitch diff --git a/src/shared/ui/PTabBar/PTabBar.vue b/src/shared/ui/PTabBar/PTabBar.vue new file mode 100644 index 0000000..28e1191 --- /dev/null +++ b/src/shared/ui/PTabBar/PTabBar.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PTabBar/__stories__/PTabBar.stories.ts b/src/shared/ui/PTabBar/__stories__/PTabBar.stories.ts new file mode 100644 index 0000000..a21d2e0 --- /dev/null +++ b/src/shared/ui/PTabBar/__stories__/PTabBar.stories.ts @@ -0,0 +1,24 @@ +import { ref } from 'vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PTabBar from '../PTabBar.vue' + +export default { + title: 'Components/Inputs/PTabBar', + component: PTabBar, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PTabBar }, + setup() { + const model = ref(false) + return { args, model } + }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PTabBar/__tests__/PTabBar.test.ts b/src/shared/ui/PTabBar/__tests__/PTabBar.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PTabBar/index.ts b/src/shared/ui/PTabBar/index.ts new file mode 100644 index 0000000..2fdf8ec --- /dev/null +++ b/src/shared/ui/PTabBar/index.ts @@ -0,0 +1,3 @@ +import PTabBar from './PTabBar.vue' + +export default PTabBar diff --git a/src/shared/ui/PTextArea/PTextarea.vue b/src/shared/ui/PTextArea/PTextarea.vue new file mode 100644 index 0000000..a45480c --- /dev/null +++ b/src/shared/ui/PTextArea/PTextarea.vue @@ -0,0 +1,222 @@ + + + + + \ No newline at end of file diff --git a/src/shared/ui/PTextArea/__stories__/PTextarea.stories.ts b/src/shared/ui/PTextArea/__stories__/PTextarea.stories.ts new file mode 100644 index 0000000..7beae75 --- /dev/null +++ b/src/shared/ui/PTextArea/__stories__/PTextarea.stories.ts @@ -0,0 +1,25 @@ +import { ref } from 'vue' +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PTextarea from '../PTextarea.vue' + +export default { + title: 'Components/Inputs/PTextarea', + component: PTextarea, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + render: (args) => ({ + components: { PTextarea }, + setup() { + const model = ref('') + return { args, model } + }, + template: ` + + `, + }), +} diff --git a/src/shared/ui/PTextArea/__tests__/PTextarea.test.ts b/src/shared/ui/PTextArea/__tests__/PTextarea.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PTextArea/index.ts b/src/shared/ui/PTextArea/index.ts new file mode 100644 index 0000000..5e4f7a2 --- /dev/null +++ b/src/shared/ui/PTextArea/index.ts @@ -0,0 +1,3 @@ +import PTextArea from './PTextarea.vue' + +export default PTextArea diff --git a/src/shared/ui/PTextField/PTextField.vue b/src/shared/ui/PTextField/PTextField.vue new file mode 100644 index 0000000..baddc58 --- /dev/null +++ b/src/shared/ui/PTextField/PTextField.vue @@ -0,0 +1,164 @@ +/* stylelint-disable no-descending-specificity */ /* stylelint-disable selector-class-pattern */ + + + + + diff --git a/src/shared/ui/PTextField/__stories__/PTextField.stories.ts b/src/shared/ui/PTextField/__stories__/PTextField.stories.ts new file mode 100644 index 0000000..e9bbf9b --- /dev/null +++ b/src/shared/ui/PTextField/__stories__/PTextField.stories.ts @@ -0,0 +1,21 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PTextField from '../PTextField.vue' + +export default { + title: 'Components/Inputs/PTextField', + component: PTextField, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PTextField }, + template: ` + + `, + }), +} diff --git a/src/shared/ui/PTextField/__tests__/PTextField.test.ts b/src/shared/ui/PTextField/__tests__/PTextField.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PTextField/index.ts b/src/shared/ui/PTextField/index.ts new file mode 100644 index 0000000..14cb31f --- /dev/null +++ b/src/shared/ui/PTextField/index.ts @@ -0,0 +1,3 @@ +import PTextField from './PTextField.vue' + +export default PTextField diff --git a/src/shared/ui/PToggle/PToggle.vue b/src/shared/ui/PToggle/PToggle.vue new file mode 100644 index 0000000..6b1fc2f --- /dev/null +++ b/src/shared/ui/PToggle/PToggle.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/shared/ui/PToggle/__stories__/PToggle.stories.ts b/src/shared/ui/PToggle/__stories__/PToggle.stories.ts new file mode 100644 index 0000000..a56c1f5 --- /dev/null +++ b/src/shared/ui/PToggle/__stories__/PToggle.stories.ts @@ -0,0 +1,24 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PToggle from '../PToggle.vue' +import PIcon from '../../PIcon/PIcon.vue' + +export default { + title: 'Components/Inputs/PToggle', + component: PToggle, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PToggle, PIcon }, + template: ` + + + + `, + }), +} diff --git a/src/shared/ui/PToggle/__tests__/PToggle.test.ts b/src/shared/ui/PToggle/__tests__/PToggle.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PToggle/index.ts b/src/shared/ui/PToggle/index.ts new file mode 100644 index 0000000..6971f7d --- /dev/null +++ b/src/shared/ui/PToggle/index.ts @@ -0,0 +1,3 @@ +import PToggle from './PToggle.vue' + +export default PToggle diff --git a/src/shared/ui/PTooltip/PTooltip.vue b/src/shared/ui/PTooltip/PTooltip.vue new file mode 100644 index 0000000..5a89c90 --- /dev/null +++ b/src/shared/ui/PTooltip/PTooltip.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/shared/ui/PTooltip/__stories__/PTooltip.stories.ts b/src/shared/ui/PTooltip/__stories__/PTooltip.stories.ts new file mode 100644 index 0000000..6bdcbec --- /dev/null +++ b/src/shared/ui/PTooltip/__stories__/PTooltip.stories.ts @@ -0,0 +1,21 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PTooltip from '../PTooltip.vue' + +export default { + title: 'Components/Data Display/PTooltip', + component: PTooltip, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PTooltip }, + template: ` + + `, + }), +} diff --git a/src/shared/ui/PTooltip/__tests__/PTooltip.test.ts b/src/shared/ui/PTooltip/__tests__/PTooltip.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PTooltip/index.ts b/src/shared/ui/PTooltip/index.ts new file mode 100644 index 0000000..a6aed2d --- /dev/null +++ b/src/shared/ui/PTooltip/index.ts @@ -0,0 +1,3 @@ +import PTooltip from './PTooltip.vue' + +export default PTooltip diff --git a/src/shared/ui/PUploadIcon/PUploadIcon.vue b/src/shared/ui/PUploadIcon/PUploadIcon.vue new file mode 100644 index 0000000..55fcdaf --- /dev/null +++ b/src/shared/ui/PUploadIcon/PUploadIcon.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/shared/ui/PUploadIcon/__stories__/PUploadIcon.stories.ts b/src/shared/ui/PUploadIcon/__stories__/PUploadIcon.stories.ts new file mode 100644 index 0000000..1ad432e --- /dev/null +++ b/src/shared/ui/PUploadIcon/__stories__/PUploadIcon.stories.ts @@ -0,0 +1,20 @@ +import type { Meta, StoryObj } from '@storybook/vue3-vite' + +import PUploadIcon from '../PUploadIcon.vue' + +export default { + title: 'Components/Inputs/PUploadIcon', + component: PUploadIcon, + parameters: {}, +} as Meta + +type Story = StoryObj + +export const Default: Story = { + args: {}, + render: () => ({ + components: { PUploadIcon }, + template: ` + `, + }), +} diff --git a/src/shared/ui/PUploadIcon/__tests__/PUploadIcon.test.ts b/src/shared/ui/PUploadIcon/__tests__/PUploadIcon.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/shared/ui/PUploadIcon/index.ts b/src/shared/ui/PUploadIcon/index.ts new file mode 100644 index 0000000..3275540 --- /dev/null +++ b/src/shared/ui/PUploadIcon/index.ts @@ -0,0 +1,3 @@ +import PUploadIcon from './PUploadIcon.vue' + +export default PUploadIcon diff --git a/src/shared/ui/index.ts b/src/shared/ui/index.ts new file mode 100644 index 0000000..c6a3191 --- /dev/null +++ b/src/shared/ui/index.ts @@ -0,0 +1,26 @@ +export { default as PAnchor } from './PAnchor' +export { default as PButton } from './PButton' +export { default as PCheckbox } from './PCheckbox' +export { default as PIcon } from './PIcon' +export { default as PInput } from './PInput' +export { default as PLabel } from './PLabel' +export { default as PSelect } from './PSelect' +export { default as PTextField } from './PTextField' +export { default as PAvatar } from './PAvatar' +export { default as PToggle } from './PToggle' +export { default as PFieldHint } from './PFieldHint' +export { default as PStatusMessage } from './PStatusMessage' +export { default as PModal } from './PModal' +export { default as PScrim } from './PScrim' +export { default as PCloseButton } from './PCloseButton' +export { default as PUploadIcon } from './PUploadIcon' +export { default as PSkeleton } from './PSkeleton' +export { default as PTooltip } from './PTooltip' +export { default as PRadio } from './PRadio' +export { default as PRadioGroup, type RadioOption } from './PRadioGroup' +export { default as PTextarea } from './PTextArea' +export { default as PServerIcon } from './PServerIcon' +export { default as PSpriteImage } from './PSpriteImage' +export { default as PTabBar } from './PTabBar' +export { default as PPopover } from './PPopover' +export { default as PSectionDivider } from './PSectionDivider' diff --git a/src/shared/utils/index.ts b/src/shared/utils/index.ts new file mode 100644 index 0000000..dc6034c --- /dev/null +++ b/src/shared/utils/index.ts @@ -0,0 +1 @@ +export * from './storage.utils' diff --git a/src/shared/utils/storage.utils.ts b/src/shared/utils/storage.utils.ts new file mode 100644 index 0000000..58eb8ab --- /dev/null +++ b/src/shared/utils/storage.utils.ts @@ -0,0 +1,16 @@ +import { mediaConfig } from '@/shared/config' + +export const StoragePaths = { + userAvatar: (userId: string, hash: string) => `${mediaConfig.mediaUrl}/avatars/${userId}/${hash}`, + + serverIcon: (serverId: string, hash: string) => + `${mediaConfig.mediaUrl}/icons/${serverId}/${hash}`, + + channelIcon: (channelId: string, hash: string) => + `${mediaConfig.mediaUrl}/channels/${channelId}/icons/${hash}`, + + defaultUserAvatar: (userId: string) => `${mediaConfig.mediaUrl}/embed/avatars/${userId}.png`, + + attachment: (channelId: string, attachmentId: string, filename: string) => + `${mediaConfig.mediaUrl}/attachments/${channelId}/${attachmentId}/${filename}`, +} diff --git a/src/stores/counter.ts b/src/stores/counter.ts deleted file mode 100644 index b6757ba..0000000 --- a/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/src/widgets/app-sidebar/AppSidebar.vue b/src/widgets/app-sidebar/AppSidebar.vue new file mode 100644 index 0000000..db23cc0 --- /dev/null +++ b/src/widgets/app-sidebar/AppSidebar.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/widgets/app-sidebar/index.ts b/src/widgets/app-sidebar/index.ts new file mode 100644 index 0000000..c189e36 --- /dev/null +++ b/src/widgets/app-sidebar/index.ts @@ -0,0 +1,3 @@ +import AppSidebar from './AppSidebar.vue' + +export default AppSidebar diff --git a/src/widgets/app-topbar/AppTopbar.vue b/src/widgets/app-topbar/AppTopbar.vue new file mode 100644 index 0000000..da7b666 --- /dev/null +++ b/src/widgets/app-topbar/AppTopbar.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/widgets/app-topbar/index.ts b/src/widgets/app-topbar/index.ts new file mode 100644 index 0000000..18921ec --- /dev/null +++ b/src/widgets/app-topbar/index.ts @@ -0,0 +1,3 @@ +import AppTopbar from './AppTopbar.vue' + +export default AppTopbar diff --git a/src/widgets/auth-box/AuthBox.vue b/src/widgets/auth-box/AuthBox.vue new file mode 100644 index 0000000..ded7b75 --- /dev/null +++ b/src/widgets/auth-box/AuthBox.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/widgets/auth-box/index.ts b/src/widgets/auth-box/index.ts new file mode 100644 index 0000000..3d7faaf --- /dev/null +++ b/src/widgets/auth-box/index.ts @@ -0,0 +1,3 @@ +import AuthBox from './AuthBox.vue' + +export default AuthBox diff --git a/src/widgets/auth-layout/AuthLayout.vue b/src/widgets/auth-layout/AuthLayout.vue new file mode 100644 index 0000000..891dc05 --- /dev/null +++ b/src/widgets/auth-layout/AuthLayout.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/widgets/auth-layout/index.ts b/src/widgets/auth-layout/index.ts new file mode 100644 index 0000000..a6faeb7 --- /dev/null +++ b/src/widgets/auth-layout/index.ts @@ -0,0 +1,3 @@ +import AuthLayout from './AuthLayout.vue' + +export default AuthLayout diff --git a/src/widgets/call-connect/index.ts b/src/widgets/call-connect/index.ts new file mode 100644 index 0000000..2119534 --- /dev/null +++ b/src/widgets/call-connect/index.ts @@ -0,0 +1,3 @@ +import CallConnect from './ui/CallConnect.vue' + +export default CallConnect diff --git a/src/widgets/call-connect/ui/CallConnect.vue b/src/widgets/call-connect/ui/CallConnect.vue new file mode 100644 index 0000000..0407d8c --- /dev/null +++ b/src/widgets/call-connect/ui/CallConnect.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/call-controls/index.ts b/src/widgets/call-controls/index.ts new file mode 100644 index 0000000..9d72108 --- /dev/null +++ b/src/widgets/call-controls/index.ts @@ -0,0 +1,3 @@ +import CallControls from './ui/CallControls.vue' + +export default CallControls diff --git a/src/widgets/call-controls/ui/CallControls.vue b/src/widgets/call-controls/ui/CallControls.vue new file mode 100644 index 0000000..2667164 --- /dev/null +++ b/src/widgets/call-controls/ui/CallControls.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/channel-call/index.ts b/src/widgets/channel-call/index.ts new file mode 100644 index 0000000..019a1db --- /dev/null +++ b/src/widgets/channel-call/index.ts @@ -0,0 +1,3 @@ +import ChannelCall from './ui/ChannelCall.vue' + +export default ChannelCall diff --git a/src/widgets/channel-call/ui/ChannelCall.vue b/src/widgets/channel-call/ui/ChannelCall.vue new file mode 100644 index 0000000..4b78ad0 --- /dev/null +++ b/src/widgets/channel-call/ui/ChannelCall.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/channel-chat/index.ts b/src/widgets/channel-chat/index.ts new file mode 100644 index 0000000..e36aefd --- /dev/null +++ b/src/widgets/channel-chat/index.ts @@ -0,0 +1,3 @@ +import ChannelChat from './ui/ChannelChat.vue' + +export default ChannelChat diff --git a/src/widgets/channel-chat/ui/ChannelChat.vue b/src/widgets/channel-chat/ui/ChannelChat.vue new file mode 100644 index 0000000..8284ac0 --- /dev/null +++ b/src/widgets/channel-chat/ui/ChannelChat.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/channel-list/ChannelList.vue b/src/widgets/channel-list/ChannelList.vue new file mode 100644 index 0000000..cd1bd98 --- /dev/null +++ b/src/widgets/channel-list/ChannelList.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/widgets/channel-list/ListGroup.vue b/src/widgets/channel-list/ListGroup.vue new file mode 100644 index 0000000..1874e8f --- /dev/null +++ b/src/widgets/channel-list/ListGroup.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/widgets/channel-list/index.ts b/src/widgets/channel-list/index.ts new file mode 100644 index 0000000..c5a1676 --- /dev/null +++ b/src/widgets/channel-list/index.ts @@ -0,0 +1,3 @@ +import ChannelList from './ChannelList.vue' + +export default ChannelList diff --git a/src/widgets/chat-header/ChatHeader.vue b/src/widgets/chat-header/ChatHeader.vue new file mode 100644 index 0000000..d86050f --- /dev/null +++ b/src/widgets/chat-header/ChatHeader.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/widgets/chat-header/index.ts b/src/widgets/chat-header/index.ts new file mode 100644 index 0000000..f06ffb8 --- /dev/null +++ b/src/widgets/chat-header/index.ts @@ -0,0 +1,3 @@ +import ChatHeader from './ChatHeader.vue' + +export default ChatHeader diff --git a/src/widgets/connection-status/ConnectionStatus.vue b/src/widgets/connection-status/ConnectionStatus.vue new file mode 100644 index 0000000..ccce76c --- /dev/null +++ b/src/widgets/connection-status/ConnectionStatus.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/connection-status/index.ts b/src/widgets/connection-status/index.ts new file mode 100644 index 0000000..2a741df --- /dev/null +++ b/src/widgets/connection-status/index.ts @@ -0,0 +1,3 @@ +import ConnectionStatus from './ConnectionStatus.vue' + +export default ConnectionStatus diff --git a/src/widgets/create-channel-modal/CreateChannelModal.vue b/src/widgets/create-channel-modal/CreateChannelModal.vue new file mode 100644 index 0000000..00dc31c --- /dev/null +++ b/src/widgets/create-channel-modal/CreateChannelModal.vue @@ -0,0 +1,77 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/create-channel-modal/index.ts b/src/widgets/create-channel-modal/index.ts new file mode 100644 index 0000000..2ecbed5 --- /dev/null +++ b/src/widgets/create-channel-modal/index.ts @@ -0,0 +1,3 @@ +import CreateChannelModal from './CreateChannelModal.vue' + +export default CreateChannelModal diff --git a/src/widgets/create-server-modal/CreateServerModal.vue b/src/widgets/create-server-modal/CreateServerModal.vue new file mode 100644 index 0000000..9567f06 --- /dev/null +++ b/src/widgets/create-server-modal/CreateServerModal.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/src/widgets/create-server-modal/index.ts b/src/widgets/create-server-modal/index.ts new file mode 100644 index 0000000..aa5d093 --- /dev/null +++ b/src/widgets/create-server-modal/index.ts @@ -0,0 +1,3 @@ +import CreateServerModal from './CreateServerModal.vue' + +export default CreateServerModal diff --git a/src/widgets/index.ts b/src/widgets/index.ts new file mode 100644 index 0000000..c521769 --- /dev/null +++ b/src/widgets/index.ts @@ -0,0 +1,7 @@ +import AppTopbar from './app-topbar' +import AuthBox from './auth-box' +import AuthLayout from './auth-layout' +import MainLayout from './main-layout' +import AppSidebar from './app-sidebar' + +export { AppTopbar, AuthBox, AuthLayout, MainLayout, AppSidebar } diff --git a/src/widgets/main-layout/MainLayout.vue b/src/widgets/main-layout/MainLayout.vue new file mode 100644 index 0000000..3cf7e35 --- /dev/null +++ b/src/widgets/main-layout/MainLayout.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/widgets/main-layout/index.ts b/src/widgets/main-layout/index.ts new file mode 100644 index 0000000..7070edb --- /dev/null +++ b/src/widgets/main-layout/index.ts @@ -0,0 +1,3 @@ +import MainLayout from './MainLayout.vue' + +export default MainLayout diff --git a/src/widgets/message-feed/MessageFeed.vue b/src/widgets/message-feed/MessageFeed.vue new file mode 100644 index 0000000..6edfca6 --- /dev/null +++ b/src/widgets/message-feed/MessageFeed.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/widgets/message-feed/index.ts b/src/widgets/message-feed/index.ts new file mode 100644 index 0000000..fe95bf3 --- /dev/null +++ b/src/widgets/message-feed/index.ts @@ -0,0 +1,3 @@ +import MessageFeed from './MessageFeed.vue' + +export default MessageFeed diff --git a/src/widgets/no-channel/NoChannel.vue b/src/widgets/no-channel/NoChannel.vue new file mode 100644 index 0000000..1d0f547 --- /dev/null +++ b/src/widgets/no-channel/NoChannel.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/widgets/no-channel/index.ts b/src/widgets/no-channel/index.ts new file mode 100644 index 0000000..8a71865 --- /dev/null +++ b/src/widgets/no-channel/index.ts @@ -0,0 +1,3 @@ +import NoChannel from './NoChannel.vue' + +export default NoChannel diff --git a/src/widgets/people-column/index.ts b/src/widgets/people-column/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/widgets/people-column/ui/PeopleColumn.vue b/src/widgets/people-column/ui/PeopleColumn.vue new file mode 100644 index 0000000..13671e0 --- /dev/null +++ b/src/widgets/people-column/ui/PeopleColumn.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/people-list/index.ts b/src/widgets/people-list/index.ts new file mode 100644 index 0000000..13901f4 --- /dev/null +++ b/src/widgets/people-list/index.ts @@ -0,0 +1,3 @@ +import PeopleList from './ui/PeopleList.vue' + +export default PeopleList diff --git a/src/widgets/people-list/ui/ActionButton.vue b/src/widgets/people-list/ui/ActionButton.vue new file mode 100644 index 0000000..076fd34 --- /dev/null +++ b/src/widgets/people-list/ui/ActionButton.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/people-list/ui/PeopleList.vue b/src/widgets/people-list/ui/PeopleList.vue new file mode 100644 index 0000000..39134b5 --- /dev/null +++ b/src/widgets/people-list/ui/PeopleList.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/people-list/ui/PeopleListItem.vue b/src/widgets/people-list/ui/PeopleListItem.vue new file mode 100644 index 0000000..48fc282 --- /dev/null +++ b/src/widgets/people-list/ui/PeopleListItem.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/src/widgets/server-list/ListItem.vue b/src/widgets/server-list/ListItem.vue new file mode 100644 index 0000000..4ed714a --- /dev/null +++ b/src/widgets/server-list/ListItem.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/src/widgets/server-list/ServerList.vue b/src/widgets/server-list/ServerList.vue new file mode 100644 index 0000000..8c0984f --- /dev/null +++ b/src/widgets/server-list/ServerList.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/widgets/server-list/index.ts b/src/widgets/server-list/index.ts new file mode 100644 index 0000000..ed7e242 --- /dev/null +++ b/src/widgets/server-list/index.ts @@ -0,0 +1,3 @@ +import ServerList from './ServerList.vue' + +export default ServerList diff --git a/src/widgets/user-area/UserArea.vue b/src/widgets/user-area/UserArea.vue new file mode 100644 index 0000000..8a228ac --- /dev/null +++ b/src/widgets/user-area/UserArea.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/widgets/user-area/index.ts b/src/widgets/user-area/index.ts new file mode 100644 index 0000000..417a7c6 --- /dev/null +++ b/src/widgets/user-area/index.ts @@ -0,0 +1,3 @@ +import UserArea from './UserArea.vue' + +export default UserArea diff --git a/src/widgets/user-info/index.ts b/src/widgets/user-info/index.ts new file mode 100644 index 0000000..f2ab0f3 --- /dev/null +++ b/src/widgets/user-info/index.ts @@ -0,0 +1,3 @@ +import UserInfo from './ui/UserInfo.vue' + +export default UserInfo diff --git a/src/widgets/user-info/ui/UserInfo.vue b/src/widgets/user-info/ui/UserInfo.vue new file mode 100644 index 0000000..8d2fa8e --- /dev/null +++ b/src/widgets/user-info/ui/UserInfo.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 4217010..dff096d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,15 +4,14 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueDevTools from 'vite-plugin-vue-devtools' +const isStorybookProcess = process.env.npm_lifecycle_event === 'storybook' + // https://vite.dev/config/ export default defineConfig({ - plugins: [ - vue(), - vueDevTools(), - ], + plugins: [vue(), !isStorybookProcess && vueDevTools()], resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) + '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, })