Merge remote-tracking branch 'upstream/master'
0
.assets/manifest.json
Normal file
3
.gitignore
vendored
|
|
@ -39,4 +39,5 @@ db.sqlite
|
||||||
/searxng
|
/searxng
|
||||||
|
|
||||||
# AI stuff for planning and implementation
|
# AI stuff for planning and implementation
|
||||||
.ai/
|
.ai/
|
||||||
|
certificates
|
||||||
|
|
@ -79,6 +79,9 @@ There are mainly 2 ways of installing Perplexica - With Docker, Without Docker.
|
||||||
- `OLLAMA`: Your Ollama API URL. You should enter it as `http://host.docker.internal:PORT_NUMBER`. If you installed Ollama on port 11434, use `http://host.docker.internal:11434`. For other ports, adjust accordingly. **You need to fill this if you wish to use Ollama's models instead of OpenAI's**.
|
- `OLLAMA`: Your Ollama API URL. You should enter it as `http://host.docker.internal:PORT_NUMBER`. If you installed Ollama on port 11434, use `http://host.docker.internal:11434`. For other ports, adjust accordingly. **You need to fill this if you wish to use Ollama's models instead of OpenAI's**.
|
||||||
- `GROQ`: Your Groq API key. **You only need to fill this if you wish to use Groq's hosted models**.
|
- `GROQ`: Your Groq API key. **You only need to fill this if you wish to use Groq's hosted models**.
|
||||||
- `ANTHROPIC`: Your Anthropic API key. **You only need to fill this if you wish to use Anthropic models**.
|
- `ANTHROPIC`: Your Anthropic API key. **You only need to fill this if you wish to use Anthropic models**.
|
||||||
|
- `Gemini`: Your Gemini API key. **You only need to fill this if you wish to use Google's models**.
|
||||||
|
- `DEEPSEEK`: Your Deepseek API key. **Only needed if you want Deepseek models.**
|
||||||
|
- `AIMLAPI`: Your AI/ML API key. **Only needed if you want to use AI/ML API models and embeddings.**
|
||||||
|
|
||||||
**Note**: You can change these after starting Perplexica from the settings dialog.
|
**Note**: You can change these after starting Perplexica from the settings dialog.
|
||||||
|
|
||||||
|
|
@ -100,7 +103,7 @@ There are mainly 2 ways of installing Perplexica - With Docker, Without Docker.
|
||||||
2. Clone the repository and rename the `sample.config.toml` file to `config.toml` in the root directory. Ensure you complete all required fields in this file.
|
2. Clone the repository and rename the `sample.config.toml` file to `config.toml` in the root directory. Ensure you complete all required fields in this file.
|
||||||
3. After populating the configuration run `npm i`.
|
3. After populating the configuration run `npm i`.
|
||||||
4. Install the dependencies and then execute `npm run build`.
|
4. Install the dependencies and then execute `npm run build`.
|
||||||
5. Finally, start the app by running `npm rum start`
|
5. Finally, start the app by running `npm run start`
|
||||||
|
|
||||||
**Note**: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables and dependencies.
|
**Note**: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables and dependencies.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@ COPY public ./public
|
||||||
RUN mkdir -p /home/perplexica/data
|
RUN mkdir -p /home/perplexica/data
|
||||||
RUN yarn build
|
RUN yarn build
|
||||||
|
|
||||||
|
RUN yarn add --dev @vercel/ncc
|
||||||
|
RUN yarn ncc build ./src/lib/db/migrate.ts -o migrator
|
||||||
|
|
||||||
FROM --platform=linux/amd64 node:20-slim
|
FROM --platform=linux/amd64 node:20-slim
|
||||||
|
|
||||||
ENV NEXT_TELEMETRY_DISABLED=1
|
ENV NEXT_TELEMETRY_DISABLED=1
|
||||||
|
|
@ -24,19 +27,18 @@ COPY --from=builder /home/perplexica/.next/static ./public/_next/static
|
||||||
|
|
||||||
COPY --from=builder /home/perplexica/.next/standalone ./
|
COPY --from=builder /home/perplexica/.next/standalone ./
|
||||||
COPY --from=builder /home/perplexica/data ./data
|
COPY --from=builder /home/perplexica/data ./data
|
||||||
|
COPY drizzle ./drizzle
|
||||||
|
COPY --from=builder /home/perplexica/migrator/build ./build
|
||||||
|
COPY --from=builder /home/perplexica/migrator/index.js ./migrate.js
|
||||||
|
|
||||||
# Copy files needed for database migrations at runtime
|
COPY entrypoint.sh ./entrypoint.sh
|
||||||
COPY drizzle.config.ts ./
|
|
||||||
COPY src/lib/db/schema.ts ./src/lib/db/
|
|
||||||
COPY docker-entrypoint.sh ./
|
|
||||||
COPY package.json ./
|
|
||||||
|
|
||||||
RUN mkdir /home/perplexica/uploads && \
|
RUN mkdir /home/perplexica/uploads && \
|
||||||
chmod +x /home/perplexica/docker-entrypoint.sh && \
|
chmod +x /home/perplexica/entrypoint.sh && \
|
||||||
npm install playwright drizzle-kit && \
|
npm install playwright && \
|
||||||
npx -y playwright install chromium --only-shell --with-deps && \
|
npx -y playwright install chromium --only-shell --with-deps && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y procps && \
|
apt-get install -y procps && \
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/*
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
CMD ["./docker-entrypoint.sh"]
|
CMD ["./entrypoint.sh"]
|
||||||
|
|
@ -18,6 +18,7 @@ services:
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
environment:
|
environment:
|
||||||
- SEARXNG_API_URL=http://searxng:8080
|
- SEARXNG_API_URL=http://searxng:8080
|
||||||
|
- DATA_DIR=/home/perplexica
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3000:3000
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "🚀 Starting Perplexica..."
|
|
||||||
|
|
||||||
# Ensure data directory exists
|
|
||||||
mkdir -p /home/perplexica/data
|
|
||||||
|
|
||||||
# Run database schema migration
|
|
||||||
echo "📊 Updating database schema..."
|
|
||||||
npm run db:push
|
|
||||||
|
|
||||||
# Start the application
|
|
||||||
echo "🌐 Starting Next.js server..."
|
|
||||||
exec node server.js
|
|
||||||
|
|
@ -41,6 +41,6 @@ To update Perplexica to the latest version, follow these steps:
|
||||||
3. Check for changes in the configuration files. If the `sample.config.toml` file contains new fields, delete your existing `config.toml` file, rename `sample.config.toml` to `config.toml`, and update the configuration accordingly.
|
3. Check for changes in the configuration files. If the `sample.config.toml` file contains new fields, delete your existing `config.toml` file, rename `sample.config.toml` to `config.toml`, and update the configuration accordingly.
|
||||||
4. After populating the configuration run `npm i`.
|
4. After populating the configuration run `npm i`.
|
||||||
5. Install the dependencies and then execute `npm run build`.
|
5. Install the dependencies and then execute `npm run build`.
|
||||||
6. Finally, start the app by running `npm rum start`
|
6. Finally, start the app by running `npm run start`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
import { defineConfig } from 'drizzle-kit';
|
import { defineConfig } from 'drizzle-kit';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
dialect: 'sqlite',
|
dialect: 'sqlite',
|
||||||
schema: './src/lib/db/schema.ts',
|
schema: './src/lib/db/schema.ts',
|
||||||
out: './drizzle',
|
out: './drizzle',
|
||||||
dbCredentials: {
|
dbCredentials: {
|
||||||
url: './data/db.sqlite',
|
url: path.join(process.cwd(), 'data', 'db.sqlite'),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
16
drizzle/0000_fuzzy_randall.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
CREATE TABLE IF NOT EXISTS `chats` (
|
||||||
|
`id` text PRIMARY KEY NOT NULL,
|
||||||
|
`title` text NOT NULL,
|
||||||
|
`createdAt` text NOT NULL,
|
||||||
|
`focusMode` text NOT NULL,
|
||||||
|
`files` text DEFAULT '[]'
|
||||||
|
);
|
||||||
|
--> statement-breakpoint
|
||||||
|
CREATE TABLE IF NOT EXISTS `messages` (
|
||||||
|
`id` integer PRIMARY KEY NOT NULL,
|
||||||
|
`content` text NOT NULL,
|
||||||
|
`chatId` text NOT NULL,
|
||||||
|
`messageId` text NOT NULL,
|
||||||
|
`type` text,
|
||||||
|
`metadata` text
|
||||||
|
);
|
||||||
8
drizzle/0001_tricky_thor.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
CREATE TABLE `system_prompts` (
|
||||||
|
`id` text PRIMARY KEY NOT NULL,
|
||||||
|
`name` text NOT NULL,
|
||||||
|
`content` text NOT NULL,
|
||||||
|
`type` text DEFAULT 'system' NOT NULL,
|
||||||
|
`created_at` integer NOT NULL,
|
||||||
|
`updated_at` integer NOT NULL
|
||||||
|
);
|
||||||
116
drizzle/meta/0000_snapshot.json
Normal file
|
|
@ -0,0 +1,116 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"id": "ef3a044b-0f34-40b5-babb-2bb3a909ba27",
|
||||||
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||||
|
"tables": {
|
||||||
|
"chats": {
|
||||||
|
"name": "chats",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"name": "title",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"name": "createdAt",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"focusMode": {
|
||||||
|
"name": "focusMode",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"files": {
|
||||||
|
"name": "files",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false,
|
||||||
|
"default": "'[]'"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"checkConstraints": {}
|
||||||
|
},
|
||||||
|
"messages": {
|
||||||
|
"name": "messages",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"name": "content",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"chatId": {
|
||||||
|
"name": "chatId",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"messageId": {
|
||||||
|
"name": "messageId",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "type",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"name": "metadata",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"checkConstraints": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"views": {},
|
||||||
|
"enums": {},
|
||||||
|
"_meta": {
|
||||||
|
"schemas": {},
|
||||||
|
"tables": {},
|
||||||
|
"columns": {}
|
||||||
|
},
|
||||||
|
"internal": {
|
||||||
|
"indexes": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
169
drizzle/meta/0001_snapshot.json
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"version": "6",
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"id": "92ab35e3-541f-48ba-9a8d-ecb12c5c8a06",
|
||||||
|
"prevId": "ef3a044b-0f34-40b5-babb-2bb3a909ba27",
|
||||||
|
"tables": {
|
||||||
|
"chats": {
|
||||||
|
"name": "chats",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"name": "title",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"name": "createdAt",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"focusMode": {
|
||||||
|
"name": "focusMode",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"files": {
|
||||||
|
"name": "files",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false,
|
||||||
|
"default": "'[]'"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"checkConstraints": {}
|
||||||
|
},
|
||||||
|
"messages": {
|
||||||
|
"name": "messages",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"name": "content",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"chatId": {
|
||||||
|
"name": "chatId",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"messageId": {
|
||||||
|
"name": "messageId",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "type",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"name": "metadata",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false,
|
||||||
|
"autoincrement": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"checkConstraints": {}
|
||||||
|
},
|
||||||
|
"system_prompts": {
|
||||||
|
"name": "system_prompts",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"name": "content",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "type",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false,
|
||||||
|
"default": "'system'"
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"autoincrement": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"checkConstraints": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"views": {},
|
||||||
|
"enums": {},
|
||||||
|
"_meta": {
|
||||||
|
"schemas": {},
|
||||||
|
"tables": {},
|
||||||
|
"columns": {}
|
||||||
|
},
|
||||||
|
"internal": {
|
||||||
|
"indexes": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
20
drizzle/meta/_journal.json
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"version": "7",
|
||||||
|
"dialect": "sqlite",
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"idx": 0,
|
||||||
|
"version": "6",
|
||||||
|
"when": 1748405503809,
|
||||||
|
"tag": "0000_fuzzy_randall",
|
||||||
|
"breakpoints": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idx": 1,
|
||||||
|
"version": "6",
|
||||||
|
"when": 1752728893879,
|
||||||
|
"tag": "0001_tricky_thor",
|
||||||
|
"breakpoints": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
entrypoint.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
node migrate.js
|
||||||
|
|
||||||
|
exec node server.js
|
||||||
757
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "perplexica-frontend",
|
"name": "perplexica-frontend",
|
||||||
"version": "1.10.2",
|
"version": "1.11.0-rc2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "ItzCrazyKns",
|
"author": "ItzCrazyKns",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
@ -9,7 +9,8 @@
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"format:write": "prettier . --write",
|
"format:write": "prettier . --write",
|
||||||
"db:push": "drizzle-kit push"
|
"db:push": "drizzle-kit push",
|
||||||
|
"db:generate": "drizzle-kit generate"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^2.2.0",
|
"@headlessui/react": "^2.2.0",
|
||||||
|
|
@ -37,8 +38,10 @@
|
||||||
"drizzle-orm": "^0.40.1",
|
"drizzle-orm": "^0.40.1",
|
||||||
"html-to-text": "^9.0.5",
|
"html-to-text": "^9.0.5",
|
||||||
"jsdom": "^26.1.0",
|
"jsdom": "^26.1.0",
|
||||||
|
"jspdf": "^3.0.1",
|
||||||
"langchain": "^0.3.26",
|
"langchain": "^0.3.26",
|
||||||
"lucide-react": "^0.525.0",
|
"lucide-react": "^0.525.0",
|
||||||
|
"mammoth": "^1.9.1",
|
||||||
"markdown-to-jsx": "^7.7.2",
|
"markdown-to-jsx": "^7.7.2",
|
||||||
"next": "^15.2.2",
|
"next": "^15.2.2",
|
||||||
"next-themes": "^0.4.6",
|
"next-themes": "^0.4.6",
|
||||||
|
|
@ -59,6 +62,7 @@
|
||||||
"@types/better-sqlite3": "^7.6.12",
|
"@types/better-sqlite3": "^7.6.12",
|
||||||
"@types/html-to-text": "^9.0.4",
|
"@types/html-to-text": "^9.0.4",
|
||||||
"@types/jsdom": "^21.1.7",
|
"@types/jsdom": "^21.1.7",
|
||||||
|
"@types/jspdf": "^2.0.0",
|
||||||
"@types/node": "^20",
|
"@types/node": "^20",
|
||||||
"@types/pdf-parse": "^1.1.4",
|
"@types/pdf-parse": "^1.1.4",
|
||||||
"@types/react": "^19",
|
"@types/react": "^19",
|
||||||
|
|
|
||||||
BIN
public/icon-100.png
Normal file
|
After Width: | Height: | Size: 916 B |
BIN
public/icon-50.png
Normal file
|
After Width: | Height: | Size: 515 B |
BIN
public/icon.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/screenshots/p1.png
Normal file
|
After Width: | Height: | Size: 183 KiB |
BIN
public/screenshots/p1_small.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
public/screenshots/p2.png
Normal file
|
After Width: | Height: | Size: 627 KiB |
BIN
public/screenshots/p2_small.png
Normal file
|
After Width: | Height: | Size: 202 KiB |
131
public/weather-ico/clear-day.svg
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.34167" y="-.34167" width="1.6833" height="1.85">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.9 KiB |
159
public/weather-ico/clear-night.svg
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.3038" y="-.3318" width="1.6076" height="1.894">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g id="night" transform="translate(-4,-18)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .78534 36 20.022)" stroke-width="1.2616">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5" fill="#ffa500" stroke-miterlimit="10"
|
||||||
|
stroke-width="1.4105" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" stroke-width="1.4105" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2.5232" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.7 KiB |
178
public/weather-ico/cloudy-1-day.svg
Normal file
|
|
@ -0,0 +1,178 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.28472" width="1.403" height="1.6944">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-2"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#c6deff" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.8 KiB |
206
public/weather-ico/cloudy-1-night.svg
Normal file
|
|
@ -0,0 +1,206 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.19471" y="-.26087" width="1.3744" height="1.6884">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-2"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#c6deff" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8.6 KiB |
244
public/weather-ico/fog-day.svg
Normal file
|
|
@ -0,0 +1,244 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** FOG
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-fog-1 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translate(7px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-1 {
|
||||||
|
-webkit-animation-name: am-weather-fog-1;
|
||||||
|
-moz-animation-name: am-weather-fog-1;
|
||||||
|
-ms-animation-name: am-weather-fog-1;
|
||||||
|
animation-name: am-weather-fog-1;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-2 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
21.05% {
|
||||||
|
transform: translate(-6px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
78.95% {
|
||||||
|
transform: translate(9px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-2 {
|
||||||
|
-webkit-animation-name: am-weather-fog-2;
|
||||||
|
-moz-animation-name: am-weather-fog-2;
|
||||||
|
-ms-animation-name: am-weather-fog-2;
|
||||||
|
animation-name: am-weather-fog-2;
|
||||||
|
-webkit-animation-duration: 20s;
|
||||||
|
-moz-animation-duration: 20s;
|
||||||
|
-ms-animation-duration: 20s;
|
||||||
|
animation-duration: 20s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-3 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
transform: translate(4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
transform: translate(-4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-3 {
|
||||||
|
-webkit-animation-name: am-weather-fog-3;
|
||||||
|
-moz-animation-name: am-weather-fog-3;
|
||||||
|
-ms-animation-name: am-weather-fog-3;
|
||||||
|
animation-name: am-weather-fog-3;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-4 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translate(-4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-4 {
|
||||||
|
-webkit-animation-name: am-weather-fog-4;
|
||||||
|
-moz-animation-name: am-weather-fog-4;
|
||||||
|
-ms-animation-name: am-weather-fog-4;
|
||||||
|
animation-name: am-weather-fog-4;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun" transform="translate(0,16)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />F
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffc04a" stroke="#ffc04a" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-fog" transform="translate(-10,20)" fill="none" stroke="#c6deff" stroke-linecap="round"
|
||||||
|
stroke-width="2">
|
||||||
|
<line class="am-weather-fog-1" y1="0" y2="0" x1="1" x2="37" stroke-dasharray="3, 5, 17, 5, 7" />
|
||||||
|
<line class="am-weather-fog-2" y1="5" y2="5" x1="9" x2="33" stroke-dasharray="11, 7, 15" />
|
||||||
|
<line class="am-weather-fog-3" y1="10" y2="10" x1="5" x2="40" stroke-dasharray="11, 7, 3, 5, 9" />
|
||||||
|
<line class="am-weather-fog-4" y1="15" y2="15" x1="7" x2="42" stroke-dasharray="13, 5, 9, 5, 3" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8 KiB |
309
public/weather-ico/fog-night.svg
Normal file
|
|
@ -0,0 +1,309 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** FOG
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-fog-1 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translate(7px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-1 {
|
||||||
|
-webkit-animation-name: am-weather-fog-1;
|
||||||
|
-moz-animation-name: am-weather-fog-1;
|
||||||
|
-ms-animation-name: am-weather-fog-1;
|
||||||
|
animation-name: am-weather-fog-1;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-2 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
21.05% {
|
||||||
|
transform: translate(-6px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
78.95% {
|
||||||
|
transform: translate(9px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-2 {
|
||||||
|
-webkit-animation-name: am-weather-fog-2;
|
||||||
|
-moz-animation-name: am-weather-fog-2;
|
||||||
|
-ms-animation-name: am-weather-fog-2;
|
||||||
|
animation-name: am-weather-fog-2;
|
||||||
|
-webkit-animation-duration: 20s;
|
||||||
|
-moz-animation-duration: 20s;
|
||||||
|
-ms-animation-duration: 20s;
|
||||||
|
animation-duration: 20s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-3 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
transform: translate(4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
transform: translate(-4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-3 {
|
||||||
|
-webkit-animation-name: am-weather-fog-3;
|
||||||
|
-moz-animation-name: am-weather-fog-3;
|
||||||
|
-ms-animation-name: am-weather-fog-3;
|
||||||
|
animation-name: am-weather-fog-3;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-fog-4 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translate(-4px, 0px)
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translate(0px, 0px)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-fog-4 {
|
||||||
|
-webkit-animation-name: am-weather-fog-4;
|
||||||
|
-moz-animation-name: am-weather-fog-4;
|
||||||
|
-ms-animation-name: am-weather-fog-4;
|
||||||
|
animation-name: am-weather-fog-4;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffc04a"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffc04a" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffc04a" stroke="#ffc04a" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-fog" transform="translate(-10,20)" fill="none" stroke="#c6deff" stroke-linecap="round"
|
||||||
|
stroke-width="2">
|
||||||
|
<line class="am-weather-fog-1" y1="0" y2="0" x1="1" x2="37" stroke-dasharray="3, 5, 17, 5, 7" />
|
||||||
|
<line class="am-weather-fog-2" y1="5" y2="5" x1="9" x2="33" stroke-dasharray="11, 7, 15" />
|
||||||
|
<line class="am-weather-fog-3" y1="10" y2="10" x1="5" x2="40" stroke-dasharray="11, 7, 3, 5, 9" />
|
||||||
|
<line class="am-weather-fog-4" y1="15" y2="15" x1="7" x2="42" stroke-dasharray="13, 5, 9, 5, 3" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
204
public/weather-ico/frost-day.svg
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** FROST
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-frost {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
1% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
3% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
5% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
7% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
9% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
11% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
13% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
15% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
16% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-frost {
|
||||||
|
-webkit-animation-name: am-weather-frost;
|
||||||
|
-moz-animation-name: am-weather-frost;
|
||||||
|
animation-name: am-weather-frost;
|
||||||
|
-webkit-animation-duration: 1.11s;
|
||||||
|
-moz-animation-duration: 1.11s;
|
||||||
|
animation-duration: 1.11s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun" transform="translate(0,16)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />F
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffc04a" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffc04a" stroke="#ffc04a" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-16,4)">
|
||||||
|
<g class="am-weather-frost" stroke="#57a0ee" transform="translate(0,2)" fill="none" stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
style="-moz-animation-duration:1.11s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-frost;-moz-animation-timing-function:linear;-webkit-animation-duration:1.11s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-frost;-webkit-animation-timing-function:linear">
|
||||||
|
<path d="M11,32H45" />
|
||||||
|
<path d="M15.5,37H40.5" />
|
||||||
|
<path d="M22.5,42H33.5" />
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path stroke="#57a0ee" transform="translate(0,0)" fill="none" stroke-width="2" stroke-linecap="round"
|
||||||
|
d="M28,31V9M28,22l11,-3.67M34,20l2,-4M34,20l4,2M28,22l-11,-3.67M22,20l-2,-4M22,20l-4,2M28,14.27l3.01,-3.02M28,14.27l-3.01,-3.02" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.3 KiB |
269
public/weather-ico/frost-night.svg
Normal file
|
|
@ -0,0 +1,269 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** FROST
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-frost {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
1% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
3% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
5% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
7% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
9% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
11% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
13% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
15% {
|
||||||
|
-webkit-transform: translate(-0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(-0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(-0.3px, 0.0px);
|
||||||
|
transform: translate(-0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
16% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-frost {
|
||||||
|
-webkit-animation-name: am-weather-frost;
|
||||||
|
-moz-animation-name: am-weather-frost;
|
||||||
|
animation-name: am-weather-frost;
|
||||||
|
-webkit-animation-duration: 1.11s;
|
||||||
|
-moz-animation-duration: 1.11s;
|
||||||
|
animation-duration: 1.11s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffc04a"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffc04a" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffc04a" stroke="#ffc04a" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-16,4)">
|
||||||
|
<g class="am-weather-frost" stroke="#57a0ee" transform="translate(0,2)" fill="none" stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
style="-moz-animation-duration:1.11s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-frost;-moz-animation-timing-function:linear;-webkit-animation-duration:1.11s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-frost;-webkit-animation-timing-function:linear">
|
||||||
|
<path d="M11,32H45" />
|
||||||
|
<path d="M15.5,37H40.5" />
|
||||||
|
<path d="M22.5,42H33.5" />
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path stroke="#57a0ee" transform="translate(0,0)" fill="none" stroke-width="2" stroke-linecap="round"
|
||||||
|
d="M28,31V9M28,22l11,-3.67M34,20l2,-4M34,20l4,2M28,22l-11,-3.67M22,20l-2,-4M22,20l-4,2M28,14.27l3.01,-3.02M28,14.27l-3.01,-3.02" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
141
public/weather-ico/rain-and-sleet-mix.svg
Normal file
|
|
@ -0,0 +1,141 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<!-- Mix of Rain and Sleet | Contributed by hsoJ95 on GitHub: https://github.com/hsoj95 -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.24684" y="-.22776" width="1.4937" height="1.5756">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-2 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-delay: 0.25s;
|
||||||
|
-moz-animation-delay: 0.25s;
|
||||||
|
-ms-animation-delay: 0.25s;
|
||||||
|
animation-delay: 0.25s;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-3 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-3 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-3;
|
||||||
|
-moz-animation-name: am-weather-cloud-3;
|
||||||
|
animation-name: am-weather-cloud-3;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-3;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-3;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-sleet-2" transform="translate(-20,-10) rotate(10,-247.39,200.17)" fill="none" stroke="#91c0f8"
|
||||||
|
stroke-linecap="round">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-5,1)" y2="8" stroke-dasharray="0.1, 7" stroke-width="2"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-1" transform="translate(5)" y2="8" stroke-dasharray="0.1, 7" stroke-width="2"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-rain-3" transform="translate(-20,-10) rotate(10,-245.89,217.31)" fill="none" stroke="#91c0f8"
|
||||||
|
stroke-dasharray="4, 7" stroke-linecap="round" stroke-width="2">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-13,1)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-3,2)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-2" transform="translate(7,-1)" y2="8"
|
||||||
|
style="-moz-animation-delay:0.25s;-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-delay:0.25s;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-delay:0.25s;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.6 KiB |
179
public/weather-ico/rainy-1-day.svg
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-rain-1" transform="translate(-20,-10) rotate(10,-238.68,233.96)">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-6,1)" y2="8" fill="none" stroke="#91c0f8"
|
||||||
|
stroke-dasharray="4, 7" stroke-linecap="round" stroke-width="2"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.4 KiB |
243
public/weather-ico/rainy-1-night.svg
Normal file
|
|
@ -0,0 +1,243 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.21122" width="1.403" height="1.4997">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weaher-rain-1" transform="translate(-20,-10) rotate(10,-238.68,233.96)">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-6,1)" y2="8" fill="none" stroke="#91c0f8"
|
||||||
|
stroke-dasharray="4, 7" stroke-linecap="round" stroke-width="2"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 10 KiB |
204
public/weather-ico/rainy-2-day.svg
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.20592" width="1.403" height="1.4872">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-2 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-delay: 0.25s;
|
||||||
|
-moz-animation-delay: 0.25s;
|
||||||
|
-ms-animation-delay: 0.25s;
|
||||||
|
animation-delay: 0.25s;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" stroke="#ffa500" stroke-linecap="round" stroke-width="2" fifll="none" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-20,-10) rotate(10,-245.89,217.31)" fill="none" stroke="#91c0f8" stroke-dasharray="4, 7" stroke-linecap="round"
|
||||||
|
stroke-width="2">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-6,1)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-2" transform="translate(0,-1)" y2="8"
|
||||||
|
style="-moz-animation-delay:0.25s;-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-delay:0.25s;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-delay:0.25s;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8.8 KiB |
256
public/weather-ico/rainy-2-night.svg
Normal file
|
|
@ -0,0 +1,256 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-2 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-delay: 0.25s;
|
||||||
|
-moz-animation-delay: 0.25s;
|
||||||
|
-ms-animation-delay: 0.25s;
|
||||||
|
animation-delay: 0.25s;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g class="layer" transform="translate(16,-2)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-rain-2" transform="translate(-20,-10) rotate(10,34,46)" fill="none" stroke="#91c0f8"
|
||||||
|
stroke-dasharray="4, 7" stroke-linecap="round" stroke-width="2">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-6,1)" x1="34" x2="34" y1="46" y2="54"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-2" transform="translate(0,-1)" x1="34" x2="34" y1="46" y2="54"
|
||||||
|
style="-moz-animation-delay:0.25s;-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-delay:0.25s;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-delay:0.25s;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
206
public/weather-ico/rainy-3-day.svg
Normal file
|
|
@ -0,0 +1,206 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.24684" y="-.22892" width="1.4937" height="1.5576">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-2 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-delay: 0.25s;
|
||||||
|
-moz-animation-delay: 0.25s;
|
||||||
|
-ms-animation-delay: 0.25s;
|
||||||
|
animation-delay: 0.25s;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" stroke="#ffa500" stroke-linecap="round" stroke-width="2" fifll="none" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-20,-10) rotate(10,-247.39,200.17)" fill="none" stroke="#91c0f8" stroke-dasharray="4, 4"
|
||||||
|
stroke-linecap="round" stroke-width="2">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-4,1)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-2" transform="translate(0,-1)" y2="8"
|
||||||
|
style="-moz-animation-delay:0.25s;-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-delay:0.25s;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-delay:0.25s;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-1" transform="translate(4)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.3 KiB |
270
public/weather-ico/rainy-3-night.svg
Normal file
|
|
@ -0,0 +1,270 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.24684" y="-.22892" width="1.4937" height="1.5576">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** RAIN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-rain {
|
||||||
|
0% {
|
||||||
|
stroke-dashoffset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dashoffset: -100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-1 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-rain-2 {
|
||||||
|
-webkit-animation-name: am-weather-rain;
|
||||||
|
-moz-animation-name: am-weather-rain;
|
||||||
|
-ms-animation-name: am-weather-rain;
|
||||||
|
animation-name: am-weather-rain;
|
||||||
|
-webkit-animation-delay: 0.25s;
|
||||||
|
-moz-animation-delay: 0.25s;
|
||||||
|
-ms-animation-delay: 0.25s;
|
||||||
|
animation-delay: 0.25s;
|
||||||
|
-webkit-animation-duration: 8s;
|
||||||
|
-moz-animation-duration: 8s;
|
||||||
|
-ms-animation-duration: 8s;
|
||||||
|
animation-duration: 8s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-20,-10) rotate(10,-247.39,200.17)" fill="none" stroke="#91c0f8" stroke-dasharray="4, 4"
|
||||||
|
stroke-linecap="round" stroke-width="2">
|
||||||
|
<line class="am-weather-rain-1" transform="translate(-4,1)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-2" transform="translate(0,-1)" y2="8"
|
||||||
|
style="-moz-animation-delay:0.25s;-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-delay:0.25s;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-delay:0.25s;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
<line class="am-weather-rain-1" transform="translate(4)" y2="8"
|
||||||
|
style="-moz-animation-duration:8s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-rain;-moz-animation-timing-function:linear;-ms-animation-duration:8s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-rain;-ms-animation-timing-function:linear;-webkit-animation-duration:8s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-rain;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 12 KiB |
374
public/weather-ico/scattered-thunderstorms-day.svg
Normal file
|
|
@ -0,0 +1,374 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<!-- Scattered Thunderstorms | Contributed by hsoJ95 on GitHub: https://github.com/hsoj95 -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.1975" width="1.403" height="1.4766">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-3 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(10px, 0px);
|
||||||
|
-moz-transform: translate(10px, 0px);
|
||||||
|
-ms-transform: translate(10px, 0px);
|
||||||
|
transform: translate(10px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-3 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-3;
|
||||||
|
-moz-animation-name: am-weather-cloud-3;
|
||||||
|
animation-name: am-weather-cloud-3;
|
||||||
|
-webkit-animation-duration: 7s;
|
||||||
|
-moz-animation-duration: 7s;
|
||||||
|
animation-duration: 7s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** STROKE
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-stroke {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
2% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
4% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
6% {
|
||||||
|
-webkit-transform: translate(0.5px, 0.4px);
|
||||||
|
-moz-transform: translate(0.5px, 0.4px);
|
||||||
|
-ms-transform: translate(0.5px, 0.4px);
|
||||||
|
transform: translate(0.5px, 0.4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
8% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
10% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
12% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
14% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
16% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
18% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
22% {
|
||||||
|
-webkit-transform: translate(1px, 0.0px);
|
||||||
|
-moz-transform: translate(1px, 0.0px);
|
||||||
|
-ms-transform: translate(1px, 0.0px);
|
||||||
|
transform: translate(1px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
24% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
26% {
|
||||||
|
-webkit-transform: translate(-1px, 0.0px);
|
||||||
|
-moz-transform: translate(-1px, 0.0px);
|
||||||
|
-ms-transform: translate(-1px, 0.0px);
|
||||||
|
transform: translate(-1px, 0.0px);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
28% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
fill: orange;
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
65% {
|
||||||
|
fill: white;
|
||||||
|
-webkit-transform: translate(-1px, 5.0px);
|
||||||
|
-moz-transform: translate(-1px, 5.0px);
|
||||||
|
-ms-transform: translate(-1px, 5.0px);
|
||||||
|
transform: translate(-1px, 5.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
61% {
|
||||||
|
fill: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-stroke {
|
||||||
|
-webkit-animation-name: am-weather-stroke;
|
||||||
|
-moz-animation-name: am-weather-stroke;
|
||||||
|
animation-name: am-weather-stroke;
|
||||||
|
-webkit-animation-duration: 1.11s;
|
||||||
|
-moz-animation-duration: 1.11s;
|
||||||
|
animation-duration: 1.11s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g id="thunder" transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-lightning" transform="matrix(1.2,0,0,1.2,-4,28)">
|
||||||
|
<polygon class="am-weather-stroke" points="11.1 6.9 14.3 -2.9 20.5 -2.9 16.4 4.3 20.3 4.3 11.5 14.6 14.9 6.9"
|
||||||
|
fill="#ffa500" stroke="#fff"
|
||||||
|
style="-moz-animation-duration:1.11s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-stroke;-moz-animation-timing-function:linear;-webkit-animation-duration:1.11s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-stroke;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 13 KiB |
283
public/weather-ico/scattered-thunderstorms-night.svg
Normal file
|
|
@ -0,0 +1,283 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<!-- Scattered Thunderstorms | Contributed by hsoJ95 on GitHub: https://github.com/hsoj95 -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.1975" width="1.403" height="1.4766">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-3 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(10px, 0px);
|
||||||
|
-moz-transform: translate(10px, 0px);
|
||||||
|
-ms-transform: translate(10px, 0px);
|
||||||
|
transform: translate(10px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-3 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-3;
|
||||||
|
-moz-animation-name: am-weather-cloud-3;
|
||||||
|
animation-name: am-weather-cloud-3;
|
||||||
|
-webkit-animation-duration: 7s;
|
||||||
|
-moz-animation-duration: 7s;
|
||||||
|
animation-duration: 7s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** STROKE
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-stroke {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
2% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
4% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
6% {
|
||||||
|
-webkit-transform: translate(0.5px, 0.4px);
|
||||||
|
-moz-transform: translate(0.5px, 0.4px);
|
||||||
|
-ms-transform: translate(0.5px, 0.4px);
|
||||||
|
transform: translate(0.5px, 0.4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
8% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
10% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
12% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
14% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
16% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
18% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
22% {
|
||||||
|
-webkit-transform: translate(1px, 0.0px);
|
||||||
|
-moz-transform: translate(1px, 0.0px);
|
||||||
|
-ms-transform: translate(1px, 0.0px);
|
||||||
|
transform: translate(1px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
24% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
26% {
|
||||||
|
-webkit-transform: translate(-1px, 0.0px);
|
||||||
|
-moz-transform: translate(-1px, 0.0px);
|
||||||
|
-ms-transform: translate(-1px, 0.0px);
|
||||||
|
transform: translate(-1px, 0.0px);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
28% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
fill: orange;
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
65% {
|
||||||
|
fill: white;
|
||||||
|
-webkit-transform: translate(-1px, 5.0px);
|
||||||
|
-moz-transform: translate(-1px, 5.0px);
|
||||||
|
-ms-transform: translate(-1px, 5.0px);
|
||||||
|
transform: translate(-1px, 5.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
61% {
|
||||||
|
fill: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-stroke {
|
||||||
|
-webkit-animation-name: am-weather-stroke;
|
||||||
|
-moz-animation-name: am-weather-stroke;
|
||||||
|
animation-name: am-weather-stroke;
|
||||||
|
-webkit-animation-duration: 1.11s;
|
||||||
|
-moz-animation-duration: 1.11s;
|
||||||
|
animation-duration: 1.11s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g id="thunder" transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="3.3 1.5 4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="3.3 1.5 4 2.7 5.2 3.3 4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-lightning" transform="matrix(1.2,0,0,1.2,-4,28)">
|
||||||
|
<polygon class="am-weather-stroke" points="11.1 6.9 14.3 -2.9 20.5 -2.9 16.4 4.3 20.3 4.3 11.5 14.6 14.9 6.9"
|
||||||
|
fill="#ffa500" stroke="#fff"
|
||||||
|
style="-moz-animation-duration:1.11s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-stroke;-moz-animation-timing-function:linear;-webkit-animation-duration:1.11s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-stroke;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
307
public/weather-ico/severe-thunderstorm.svg
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<!-- Severe Thunderstorm | Contributed by hsoJ95 on GitHub: https://github.com/hsoj95 -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.17571" y="-.19575" width="1.3379" height="1.4959">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-3 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(10px, 0px);
|
||||||
|
-moz-transform: translate(10px, 0px);
|
||||||
|
-ms-transform: translate(10px, 0px);
|
||||||
|
transform: translate(10px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(-5px, 0px);
|
||||||
|
-moz-transform: translate(-5px, 0px);
|
||||||
|
-ms-transform: translate(-5px, 0px);
|
||||||
|
transform: translate(-5px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-3 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-3;
|
||||||
|
-moz-animation-name: am-weather-cloud-3;
|
||||||
|
animation-name: am-weather-cloud-3;
|
||||||
|
-webkit-animation-duration: 7s;
|
||||||
|
-moz-animation-duration: 7s;
|
||||||
|
animation-duration: 7s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-cloud-1 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-1 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-1;
|
||||||
|
-moz-animation-name: am-weather-cloud-1;
|
||||||
|
animation-name: am-weather-cloud-1;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** STROKE
|
||||||
|
*/
|
||||||
|
|
||||||
|
@keyframes am-weather-stroke {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
2% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
4% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
6% {
|
||||||
|
-webkit-transform: translate(0.5px, 0.4px);
|
||||||
|
-moz-transform: translate(0.5px, 0.4px);
|
||||||
|
-ms-transform: translate(0.5px, 0.4px);
|
||||||
|
transform: translate(0.5px, 0.4px);
|
||||||
|
}
|
||||||
|
|
||||||
|
8% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
10% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
12% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
14% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
16% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
18% {
|
||||||
|
-webkit-transform: translate(0.3px, 0.0px);
|
||||||
|
-moz-transform: translate(0.3px, 0.0px);
|
||||||
|
-ms-transform: translate(0.3px, 0.0px);
|
||||||
|
transform: translate(0.3px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
20% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
22% {
|
||||||
|
-webkit-transform: translate(1px, 0.0px);
|
||||||
|
-moz-transform: translate(1px, 0.0px);
|
||||||
|
-ms-transform: translate(1px, 0.0px);
|
||||||
|
transform: translate(1px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
24% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
26% {
|
||||||
|
-webkit-transform: translate(-1px, 0.0px);
|
||||||
|
-moz-transform: translate(-1px, 0.0px);
|
||||||
|
-ms-transform: translate(-1px, 0.0px);
|
||||||
|
transform: translate(-1px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
28% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
fill: orange;
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
65% {
|
||||||
|
fill: white;
|
||||||
|
-webkit-transform: translate(-1px, 5.0px);
|
||||||
|
-moz-transform: translate(-1px, 5.0px);
|
||||||
|
-ms-transform: translate(-1px, 5.0px);
|
||||||
|
transform: translate(-1px, 5.0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
61% {
|
||||||
|
fill: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0.0px, 0.0px);
|
||||||
|
-moz-transform: translate(0.0px, 0.0px);
|
||||||
|
-ms-transform: translate(0.0px, 0.0px);
|
||||||
|
transform: translate(0.0px, 0.0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-stroke {
|
||||||
|
-webkit-animation-name: am-weather-stroke;
|
||||||
|
-moz-animation-name: am-weather-stroke;
|
||||||
|
animation-name: am-weather-stroke;
|
||||||
|
-webkit-animation-duration: 1.11s;
|
||||||
|
-moz-animation-duration: 1.11s;
|
||||||
|
animation-duration: 1.11s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes error {
|
||||||
|
0% {
|
||||||
|
fill: #cc0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
fill: #ff0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
fill: #cc0000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#Shape {
|
||||||
|
-webkit-animation-name: error;
|
||||||
|
-moz-animation-name: error;
|
||||||
|
animation-name: error;
|
||||||
|
-webkit-animation-duration: 1s;
|
||||||
|
-moz-animation-duration: 1s;
|
||||||
|
animation-duration: 1s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g class="am-weather-cloud-1"
|
||||||
|
style="-moz-animation-duration:7s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-1;-moz-animation-timing-function:linear;-webkit-animation-duration:7s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-1;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="matrix(.6 0 0 .6 -10 -6)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#666" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#333" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1.2,0,0,1.2,-4,28)">
|
||||||
|
<polygon class="am-weather-stroke"
|
||||||
|
points="11.1 6.9 14.3 -2.9 20.5 -2.9 16.4 4.3 20.3 4.3 11.5 14.6 14.9 6.9" fill="#ffa500" stroke="#fff"
|
||||||
|
style="-moz-animation-duration:1.11s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-stroke;-moz-animation-timing-function:linear;-webkit-animation-duration:1.11s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-stroke;-webkit-animation-timing-function:linear" />
|
||||||
|
</g>
|
||||||
|
<g class="warning" transform="translate(20,30)">
|
||||||
|
<path
|
||||||
|
d="m7.7791 2.906-5.9912 10.117c-0.56283 0.95042-0.24862 2.1772 0.7018 2.74 0.30853 0.18271 0.66051 0.27911 1.0191 0.27911h11.982c1.1046 0 2-0.89543 2-2 0-0.35857-0.0964-0.71056-0.27911-1.0191l-5.9912-10.117c-0.56283-0.95042-1.7896-1.2646-2.74-0.7018-0.28918 0.17125-0.53055 0.41262-0.7018 0.7018z"
|
||||||
|
fill="#c00" />
|
||||||
|
<path d="m9.5 10.5v-5" stroke="#fff" stroke-linecap="round" stroke-width="1.5" />
|
||||||
|
<circle cx="9.5" cy="13" r="1" fill="#fff" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 13 KiB |
241
public/weather-ico/snowy-1-day.svg
Normal file
|
|
@ -0,0 +1,241 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.23099" width="1.403" height="1.5634">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun" transform="translate(0,16)"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(12,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.6 KiB |
269
public/weather-ico/snowy-1-night.svg
Normal file
|
|
@ -0,0 +1,269 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.23099" width="1.403" height="1.5634">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(12,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
273
public/weather-ico/snowy-2-day.svg
Normal file
|
|
@ -0,0 +1,273 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.23099" width="1.403" height="1.5634">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-2 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-delay: 1.2s;
|
||||||
|
-moz-animation-delay: 1.2s;
|
||||||
|
-ms-animation-delay: 1.2s;
|
||||||
|
animation-delay: 1.2s;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round" stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(7,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-2"
|
||||||
|
style="-moz-animation-delay:1.2s;-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-delay:1.2s;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-delay:1.2s;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(16,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
301
public/weather-ico/snowy-2-night.svg
Normal file
|
|
@ -0,0 +1,301 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.20655" y="-.23099" width="1.403" height="1.5634">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-2 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-delay: 1.2s;
|
||||||
|
-moz-animation-delay: 1.2s;
|
||||||
|
-ms-animation-delay: 1.2s;
|
||||||
|
animation-delay: 1.2s;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-3"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(7,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-2"
|
||||||
|
style="-moz-animation-delay:1.2s;-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-delay:1.2s;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-delay:1.2s;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(16,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 13 KiB |
334
public/weather-ico/snowy-3-day.svg
Normal file
|
|
@ -0,0 +1,334 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.24684" y="-.26897" width="1.4937" height="1.6759">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SUN
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-sun {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
-moz-transform: rotate(360deg);
|
||||||
|
-ms-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun {
|
||||||
|
-webkit-animation-name: am-weather-sun;
|
||||||
|
-moz-animation-name: am-weather-sun;
|
||||||
|
-ms-animation-name: am-weather-sun;
|
||||||
|
animation-name: am-weather-sun;
|
||||||
|
-webkit-animation-duration: 9s;
|
||||||
|
-moz-animation-duration: 9s;
|
||||||
|
-ms-animation-duration: 9s;
|
||||||
|
animation-duration: 9s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-sun-shiny {
|
||||||
|
0% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
stroke-dasharray: 0.1px 10px;
|
||||||
|
stroke-dashoffset: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
stroke-dasharray: 3px 10px;
|
||||||
|
stroke-dashoffset: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-sun-shiny line {
|
||||||
|
-webkit-animation-name: am-weather-sun-shiny;
|
||||||
|
-moz-animation-name: am-weather-sun-shiny;
|
||||||
|
-ms-animation-name: am-weather-sun-shiny;
|
||||||
|
animation-name: am-weather-sun-shiny;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-snow-reverse {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(1.2px) translateY(2px);
|
||||||
|
transform: translateX(1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
transform: translateX(-1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(1.6px) translateY(6px);
|
||||||
|
transform: translateX(1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-2 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-delay: 1.2s;
|
||||||
|
-moz-animation-delay: 1.2s;
|
||||||
|
-ms-animation-delay: 1.2s;
|
||||||
|
animation-delay: 1.2s;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-3 {
|
||||||
|
-webkit-animation-name: am-weather-snow-reverse;
|
||||||
|
-moz-animation-name: am-weather-snow-reverse;
|
||||||
|
-ms-animation-name: am-weather-snow-reverse;
|
||||||
|
animation-name: am-weather-snow-reverse;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="translate(0,16)">
|
||||||
|
<g class="am-weather-sun"
|
||||||
|
style="-moz-animation-duration:9s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-sun;-moz-animation-timing-function:linear;-ms-animation-duration:9s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-sun;-ms-animation-timing-function:linear;-webkit-animation-duration:9s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-sun;-webkit-animation-timing-function:linear">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="scale(-1)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-90)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g transform="rotate(-45)">
|
||||||
|
<line transform="translate(0,9)" y2="3" fill="none" stroke="#ffa500" stroke-linecap="round"
|
||||||
|
stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<circle r="5" fill="#ffa500" stroke="#ffa500" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-2"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(3,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-2"
|
||||||
|
style="-moz-animation-delay:1.2s;-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-delay:1.2s;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-delay:1.2s;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(11,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-3"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow-reverse;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow-reverse;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow-reverse;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(20,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 15 KiB |
361
public/weather-ico/snowy-3-night.svg
Normal file
|
|
@ -0,0 +1,361 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- (c) ammap.com | SVG weather icons -->
|
||||||
|
<svg width="56" height="48" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<filter id="blur" x="-.24684" y="-.26897" width="1.4937" height="1.6759">
|
||||||
|
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
|
||||||
|
<feOffset dx="0" dy="4" result="offsetblur" />
|
||||||
|
<feComponentTransfer>
|
||||||
|
<feFuncA slope="0.05" type="linear" />
|
||||||
|
</feComponentTransfer>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode />
|
||||||
|
<feMergeNode in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
/*
|
||||||
|
** CLOUDS
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-cloud-2 {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: translate(2px, 0px);
|
||||||
|
-moz-transform: translate(2px, 0px);
|
||||||
|
-ms-transform: translate(2px, 0px);
|
||||||
|
transform: translate(2px, 0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translate(0px, 0px);
|
||||||
|
-moz-transform: translate(0px, 0px);
|
||||||
|
-ms-transform: translate(0px, 0px);
|
||||||
|
transform: translate(0px, 0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-cloud-2 {
|
||||||
|
-webkit-animation-name: am-weather-cloud-2;
|
||||||
|
-moz-animation-name: am-weather-cloud-2;
|
||||||
|
animation-name: am-weather-cloud-2;
|
||||||
|
-webkit-animation-duration: 3s;
|
||||||
|
-moz-animation-duration: 3s;
|
||||||
|
animation-duration: 3s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** MOON
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-moon {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
-moz-transform: rotate(15deg);
|
||||||
|
-ms-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
-ms-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon {
|
||||||
|
-webkit-animation-name: am-weather-moon;
|
||||||
|
-moz-animation-name: am-weather-moon;
|
||||||
|
-ms-animation-name: am-weather-moon;
|
||||||
|
animation-name: am-weather-moon;
|
||||||
|
-webkit-animation-duration: 6s;
|
||||||
|
-moz-animation-duration: 6s;
|
||||||
|
-ms-animation-duration: 6s;
|
||||||
|
animation-duration: 6s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
-webkit-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-moz-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
-ms-transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
transform-origin: 12.5px 15.15px 0;
|
||||||
|
/* TODO FF CENTER ISSUE */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-1 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-1 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-1;
|
||||||
|
-moz-animation-name: am-weather-moon-star-1;
|
||||||
|
-ms-animation-name: am-weather-moon-star-1;
|
||||||
|
animation-name: am-weather-moon-star-1;
|
||||||
|
-webkit-animation-delay: 3s;
|
||||||
|
-moz-animation-delay: 3s;
|
||||||
|
-ms-animation-delay: 3s;
|
||||||
|
animation-delay: 3s;
|
||||||
|
-webkit-animation-duration: 5s;
|
||||||
|
-moz-animation-duration: 5s;
|
||||||
|
-ms-animation-duration: 5s;
|
||||||
|
animation-duration: 5s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-moon-star-2 {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-moon-star-2 {
|
||||||
|
-webkit-animation-name: am-weather-moon-star-2;
|
||||||
|
-moz-animation-name: am-weather-moon-star-2;
|
||||||
|
-ms-animation-name: am-weather-moon-star-2;
|
||||||
|
animation-name: am-weather-moon-star-2;
|
||||||
|
-webkit-animation-delay: 5s;
|
||||||
|
-moz-animation-delay: 5s;
|
||||||
|
-ms-animation-delay: 5s;
|
||||||
|
animation-delay: 5s;
|
||||||
|
-webkit-animation-duration: 4s;
|
||||||
|
-moz-animation-duration: 4s;
|
||||||
|
-ms-animation-duration: 4s;
|
||||||
|
animation-duration: 4s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
-moz-animation-iteration-count: 1;
|
||||||
|
-ms-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** SNOW
|
||||||
|
*/
|
||||||
|
@keyframes am-weather-snow {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(-1.2px) translateY(2px);
|
||||||
|
transform: translateX(-1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(1.4px) translateY(4px);
|
||||||
|
transform: translateX(1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(-1.6px) translateY(6px);
|
||||||
|
transform: translateX(-1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes am-weather-snow-reverse {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: translateX(0) translateY(0);
|
||||||
|
-moz-transform: translateX(0) translateY(0);
|
||||||
|
-ms-transform: translateX(0) translateY(0);
|
||||||
|
transform: translateX(0) translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
33.33% {
|
||||||
|
-webkit-transform: translateX(1.2px) translateY(2px);
|
||||||
|
-moz-transform: translateX(1.2px) translateY(2px);
|
||||||
|
-ms-transform: translateX(1.2px) translateY(2px);
|
||||||
|
transform: translateX(1.2px) translateY(2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
66.66% {
|
||||||
|
-webkit-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
-moz-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
-ms-transform: translateX(-1.4px) translateY(4px);
|
||||||
|
transform: translateX(-1.4px) translateY(4px);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
-webkit-transform: translateX(1.6px) translateY(6px);
|
||||||
|
-moz-transform: translateX(1.6px) translateY(6px);
|
||||||
|
-ms-transform: translateX(1.6px) translateY(6px);
|
||||||
|
transform: translateX(1.6px) translateY(6px);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-1 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-2 {
|
||||||
|
-webkit-animation-name: am-weather-snow;
|
||||||
|
-moz-animation-name: am-weather-snow;
|
||||||
|
-ms-animation-name: am-weather-snow;
|
||||||
|
animation-name: am-weather-snow;
|
||||||
|
-webkit-animation-delay: 1.2s;
|
||||||
|
-moz-animation-delay: 1.2s;
|
||||||
|
-ms-animation-delay: 1.2s;
|
||||||
|
animation-delay: 1.2s;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.am-weather-snow-3 {
|
||||||
|
-webkit-animation-name: am-weather-snow-reverse;
|
||||||
|
-moz-animation-name: am-weather-snow-reverse;
|
||||||
|
-ms-animation-name: am-weather-snow-reverse;
|
||||||
|
animation-name: am-weather-snow-reverse;
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
-moz-animation-duration: 2s;
|
||||||
|
-ms-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
-webkit-animation-timing-function: linear;
|
||||||
|
-moz-animation-timing-function: linear;
|
||||||
|
-ms-animation-timing-function: linear;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
-moz-animation-iteration-count: infinite;
|
||||||
|
-ms-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(16,-2)" filter="url(#blur)">
|
||||||
|
<g transform="matrix(.8 0 0 .8 16 4)">
|
||||||
|
<g class="am-weather-moon-star-1"
|
||||||
|
style="-moz-animation-delay:3s;-moz-animation-duration:5s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-1;-moz-animation-timing-function:linear;-ms-animation-delay:3s;-ms-animation-duration:5s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-1;-ms-animation-timing-function:linear;-webkit-animation-delay:3s;-webkit-animation-duration:5s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-1;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3" fill="#ffa500"
|
||||||
|
stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon-star-2"
|
||||||
|
style="-moz-animation-delay:5s;-moz-animation-duration:4s;-moz-animation-iteration-count:1;-moz-animation-name:am-weather-moon-star-2;-moz-animation-timing-function:linear;-ms-animation-delay:5s;-ms-animation-duration:4s;-ms-animation-iteration-count:1;-ms-animation-name:am-weather-moon-star-2;-ms-animation-timing-function:linear;-webkit-animation-delay:5s;-webkit-animation-duration:4s;-webkit-animation-iteration-count:1;-webkit-animation-name:am-weather-moon-star-2;-webkit-animation-timing-function:linear">
|
||||||
|
<polygon transform="translate(20,10)" points="4 4 3.3 5.2 2.7 4 1.5 3.3 2.7 2.7 3.3 1.5 4 2.7 5.2 3.3"
|
||||||
|
fill="#ffa500" stroke-miterlimit="10" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-moon"
|
||||||
|
style="-moz-animation-duration:6s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-moon;-moz-animation-timing-function:linear;-moz-transform-origin:12.5px 15.15px 0;-ms-animation-duration:6s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-moon;-ms-animation-timing-function:linear;-ms-transform-origin:12.5px 15.15px 0;-webkit-animation-duration:6s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-moon;-webkit-animation-timing-function:linear;-webkit-transform-origin:12.5px 15.15px 0">
|
||||||
|
<path
|
||||||
|
d="m14.5 13.2c0-3.7 2-6.9 5-8.7-1.5-0.9-3.2-1.3-5-1.3-5.5 0-10 4.5-10 10s4.5 10 10 10c1.8 0 3.5-0.5 5-1.3-3-1.7-5-5-5-8.7z"
|
||||||
|
fill="#ffa500" stroke="#ffa500" stroke-linejoin="round" stroke-width="2" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-cloud-2"
|
||||||
|
style="-moz-animation-duration:3s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-cloud-2;-moz-animation-timing-function:linear;-webkit-animation-duration:3s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-cloud-2;-webkit-animation-timing-function:linear">
|
||||||
|
<path transform="translate(-20,-11)"
|
||||||
|
d="m47.7 35.4c0-4.6-3.7-8.2-8.2-8.2-1 0-1.9 0.2-2.8 0.5-0.3-3.4-3.1-6.2-6.6-6.2-3.7 0-6.7 3-6.7 6.7 0 0.8 0.2 1.6 0.4 2.3-0.3-0.1-0.7-0.1-1-0.1-3.7 0-6.7 3-6.7 6.7 0 3.6 2.9 6.6 6.5 6.7h17.2c4.4-0.5 7.9-4 7.9-8.4z"
|
||||||
|
fill="#57a0ee" stroke="#fff" stroke-linejoin="round" stroke-width="1.2" />
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-1"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(3,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-2"
|
||||||
|
style="-moz-animation-delay:1.2s;-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow;-moz-animation-timing-function:linear;-ms-animation-delay:1.2s;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow;-ms-animation-timing-function:linear;-webkit-animation-delay:1.2s;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(11,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g class="am-weather-snow-3"
|
||||||
|
style="-moz-animation-duration:2s;-moz-animation-iteration-count:infinite;-moz-animation-name:am-weather-snow-reverse;-moz-animation-timing-function:linear;-ms-animation-duration:2s;-ms-animation-iteration-count:infinite;-ms-animation-name:am-weather-snow-reverse;-ms-animation-timing-function:linear;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:am-weather-snow-reverse;-webkit-animation-timing-function:linear">
|
||||||
|
<g transform="translate(20,28)" fill="none" stroke="#57a0ee" stroke-linecap="round">
|
||||||
|
<line transform="translate(0,9)" y1="-2.5" y2="2.5" stroke-width="1.2" />
|
||||||
|
<line transform="rotate(45,-10.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(90,-4.5,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
<line transform="rotate(135,-1.864,4.5)" y1="-2.5" y2="2.5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 17 KiB |
|
|
@ -27,6 +27,9 @@ API_URL = "" # Ollama API URL - http://host.docker.internal:11434
|
||||||
[MODELS.DEEPSEEK]
|
[MODELS.DEEPSEEK]
|
||||||
API_KEY = ""
|
API_KEY = ""
|
||||||
|
|
||||||
|
[MODELS.AIMLAPI]
|
||||||
|
API_KEY = "" # Required to use AI/ML API chat and embedding models
|
||||||
|
|
||||||
[MODELS.LM_STUDIO]
|
[MODELS.LM_STUDIO]
|
||||||
API_URL = "" # LM Studio API URL - http://host.docker.internal:1234
|
API_URL = "" # LM Studio API URL - http://host.docker.internal:1234
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import {
|
||||||
getOllamaApiEndpoint,
|
getOllamaApiEndpoint,
|
||||||
getOpenaiApiKey,
|
getOpenaiApiKey,
|
||||||
getDeepseekApiKey,
|
getDeepseekApiKey,
|
||||||
|
getAimlApiKey,
|
||||||
getLMStudioApiEndpoint,
|
getLMStudioApiEndpoint,
|
||||||
getHiddenModels,
|
getHiddenModels,
|
||||||
updateConfig,
|
updateConfig,
|
||||||
|
|
@ -64,6 +65,7 @@ export const GET = async (req: Request) => {
|
||||||
config['geminiApiKey'] = protectApiKey(getGeminiApiKey());
|
config['geminiApiKey'] = protectApiKey(getGeminiApiKey());
|
||||||
config['deepseekApiKey'] = protectApiKey(getDeepseekApiKey());
|
config['deepseekApiKey'] = protectApiKey(getDeepseekApiKey());
|
||||||
config['customOpenaiApiKey'] = protectApiKey(getCustomOpenaiApiKey());
|
config['customOpenaiApiKey'] = protectApiKey(getCustomOpenaiApiKey());
|
||||||
|
config['aimlApiKey'] = protectApiKey(getAimlApiKey());
|
||||||
|
|
||||||
// Non-sensitive values remain unchanged
|
// Non-sensitive values remain unchanged
|
||||||
config['ollamaApiUrl'] = getOllamaApiEndpoint();
|
config['ollamaApiUrl'] = getOllamaApiEndpoint();
|
||||||
|
|
@ -132,6 +134,12 @@ export const POST = async (req: Request) => {
|
||||||
getDeepseekApiKey(),
|
getDeepseekApiKey(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
AIMLAPI: {
|
||||||
|
API_KEY: getUpdatedProtectedValue(
|
||||||
|
config.aimlApiKey,
|
||||||
|
getAimlApiKey(),
|
||||||
|
),
|
||||||
|
},
|
||||||
LM_STUDIO: {
|
LM_STUDIO: {
|
||||||
API_URL: config.lmStudioApiUrl,
|
API_URL: config.lmStudioApiUrl,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -16,28 +16,43 @@ const topics = ['AI', 'tech']; /* TODO: Add UI to customize this */
|
||||||
|
|
||||||
export const GET = async (req: Request) => {
|
export const GET = async (req: Request) => {
|
||||||
try {
|
try {
|
||||||
const data = (
|
const params = new URL(req.url).searchParams;
|
||||||
await Promise.all([
|
const mode: 'normal' | 'preview' =
|
||||||
...new Array(articleWebsites.length * topics.length)
|
(params.get('mode') as 'normal' | 'preview') || 'normal';
|
||||||
.fill(0)
|
|
||||||
.map(async (_, i) => {
|
let data = [];
|
||||||
return (
|
|
||||||
await searchSearxng(
|
if (mode === 'normal') {
|
||||||
`site:${articleWebsites[i % articleWebsites.length]} ${
|
data = (
|
||||||
topics[i % topics.length]
|
await Promise.all([
|
||||||
}`,
|
...new Array(articleWebsites.length * topics.length)
|
||||||
{
|
.fill(0)
|
||||||
engines: ['bing news'],
|
.map(async (_, i) => {
|
||||||
pageno: 1,
|
return (
|
||||||
},
|
await searchSearxng(
|
||||||
)
|
`site:${articleWebsites[i % articleWebsites.length]} ${
|
||||||
).results;
|
topics[i % topics.length]
|
||||||
}),
|
}`,
|
||||||
])
|
{
|
||||||
)
|
engines: ['bing news'],
|
||||||
.map((result) => result)
|
pageno: 1,
|
||||||
.flat()
|
},
|
||||||
.sort(() => Math.random() - 0.5);
|
)
|
||||||
|
).results;
|
||||||
|
}),
|
||||||
|
])
|
||||||
|
)
|
||||||
|
.map((result) => result)
|
||||||
|
.flat()
|
||||||
|
.sort(() => Math.random() - 0.5);
|
||||||
|
} else {
|
||||||
|
data = (
|
||||||
|
await searchSearxng(
|
||||||
|
`site:${articleWebsites[Math.floor(Math.random() * articleWebsites.length)]} ${topics[Math.floor(Math.random() * topics.length)]}`,
|
||||||
|
{ engines: ['bing news'], pageno: 1 },
|
||||||
|
)
|
||||||
|
).results;
|
||||||
|
}
|
||||||
|
|
||||||
return Response.json(
|
return Response.json(
|
||||||
{
|
{
|
||||||
|
|
|
||||||
164
src/app/api/weather/route.ts
Normal file
|
|
@ -0,0 +1,164 @@
|
||||||
|
export const POST = async (req: Request) => {
|
||||||
|
try {
|
||||||
|
const body: { lat: number; lng: number } = await req.json();
|
||||||
|
|
||||||
|
if (!body.lat || !body.lng) {
|
||||||
|
return Response.json(
|
||||||
|
{
|
||||||
|
message: 'Invalid request.',
|
||||||
|
},
|
||||||
|
{ status: 400 },
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await fetch(
|
||||||
|
`https://api.open-meteo.com/v1/forecast?latitude=${body.lat}&longitude=${body.lng}¤t=weather_code,temperature_2m,is_day,relative_humidity_2m,wind_speed_10m&timezone=auto`,
|
||||||
|
);
|
||||||
|
|
||||||
|
const data = await res.json();
|
||||||
|
|
||||||
|
if (data.error) {
|
||||||
|
console.error(`Error fetching weather data: ${data.reason}`);
|
||||||
|
return Response.json(
|
||||||
|
{
|
||||||
|
message: 'An error has occurred.',
|
||||||
|
},
|
||||||
|
{ status: 500 },
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const weather: {
|
||||||
|
temperature: number;
|
||||||
|
condition: string;
|
||||||
|
humidity: number;
|
||||||
|
windSpeed: number;
|
||||||
|
icon: string;
|
||||||
|
} = {
|
||||||
|
temperature: data.current.temperature_2m,
|
||||||
|
condition: '',
|
||||||
|
humidity: data.current.relative_humidity_2m,
|
||||||
|
windSpeed: data.current.wind_speed_10m,
|
||||||
|
icon: '',
|
||||||
|
};
|
||||||
|
|
||||||
|
const code = data.current.weather_code;
|
||||||
|
const isDay = data.current.is_day === 1;
|
||||||
|
const dayOrNight = isDay ? 'day' : 'night';
|
||||||
|
|
||||||
|
switch (code) {
|
||||||
|
case 0:
|
||||||
|
weather.icon = `clear-${dayOrNight}`;
|
||||||
|
weather.condition = 'Clear';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
weather.condition = 'Mainly Clear';
|
||||||
|
case 2:
|
||||||
|
weather.condition = 'Partly Cloudy';
|
||||||
|
case 3:
|
||||||
|
weather.icon = `cloudy-1-${dayOrNight}`;
|
||||||
|
weather.condition = 'Cloudy';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 45:
|
||||||
|
weather.condition = 'Fog';
|
||||||
|
case 48:
|
||||||
|
weather.icon = `fog-${dayOrNight}`;
|
||||||
|
weather.condition = 'Fog';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 51:
|
||||||
|
weather.condition = 'Light Drizzle';
|
||||||
|
case 53:
|
||||||
|
weather.condition = 'Moderate Drizzle';
|
||||||
|
case 55:
|
||||||
|
weather.icon = `rainy-1-${dayOrNight}`;
|
||||||
|
weather.condition = 'Dense Drizzle';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 56:
|
||||||
|
weather.condition = 'Light Freezing Drizzle';
|
||||||
|
case 57:
|
||||||
|
weather.icon = `frost-${dayOrNight}`;
|
||||||
|
weather.condition = 'Dense Freezing Drizzle';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 61:
|
||||||
|
weather.condition = 'Slight Rain';
|
||||||
|
case 63:
|
||||||
|
weather.condition = 'Moderate Rain';
|
||||||
|
case 65:
|
||||||
|
weather.condition = 'Heavy Rain';
|
||||||
|
weather.icon = `rainy-2-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 66:
|
||||||
|
weather.condition = 'Light Freezing Rain';
|
||||||
|
case 67:
|
||||||
|
weather.condition = 'Heavy Freezing Rain';
|
||||||
|
weather.icon = 'rain-and-sleet-mix';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 71:
|
||||||
|
weather.condition = 'Slight Snow Fall';
|
||||||
|
case 73:
|
||||||
|
weather.condition = 'Moderate Snow Fall';
|
||||||
|
case 75:
|
||||||
|
weather.condition = 'Heavy Snow Fall';
|
||||||
|
weather.icon = `snowy-2-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 77:
|
||||||
|
weather.condition = 'Snow';
|
||||||
|
weather.icon = `snowy-1-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 80:
|
||||||
|
weather.condition = 'Slight Rain Showers';
|
||||||
|
case 81:
|
||||||
|
weather.condition = 'Moderate Rain Showers';
|
||||||
|
case 82:
|
||||||
|
weather.condition = 'Heavy Rain Showers';
|
||||||
|
weather.icon = `rainy-3-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 85:
|
||||||
|
weather.condition = 'Slight Snow Showers';
|
||||||
|
case 86:
|
||||||
|
weather.condition = 'Moderate Snow Showers';
|
||||||
|
case 87:
|
||||||
|
weather.condition = 'Heavy Snow Showers';
|
||||||
|
weather.icon = `snowy-3-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 95:
|
||||||
|
weather.condition = 'Thunderstorm';
|
||||||
|
weather.icon = `scattered-thunderstorms-${dayOrNight}`;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 96:
|
||||||
|
weather.condition = 'Thunderstorm with Slight Hail';
|
||||||
|
case 99:
|
||||||
|
weather.condition = 'Thunderstorm with Heavy Hail';
|
||||||
|
weather.icon = 'severe-thunderstorm';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
weather.icon = `clear-${dayOrNight}`;
|
||||||
|
weather.condition = 'Clear';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Response.json(weather);
|
||||||
|
} catch (err) {
|
||||||
|
console.error('An error occurred while getting home widgets', err);
|
||||||
|
return Response.json(
|
||||||
|
{
|
||||||
|
message: 'An error has occurred.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
status: 500,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -25,3 +25,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||||
|
select,
|
||||||
|
textarea,
|
||||||
|
input {
|
||||||
|
font-size: 16px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
54
src/app/manifest.ts
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
import type { MetadataRoute } from 'next';
|
||||||
|
|
||||||
|
export default function manifest(): MetadataRoute.Manifest {
|
||||||
|
return {
|
||||||
|
name: 'Perplexica - Chat with the internet',
|
||||||
|
short_name: 'Perplexica',
|
||||||
|
description:
|
||||||
|
'Perplexica is an AI powered chatbot that is connected to the internet.',
|
||||||
|
start_url: '/',
|
||||||
|
display: 'standalone',
|
||||||
|
background_color: '#0a0a0a',
|
||||||
|
theme_color: '#0a0a0a',
|
||||||
|
screenshots: [
|
||||||
|
{
|
||||||
|
src: '/screenshots/p1.png',
|
||||||
|
form_factor: 'wide',
|
||||||
|
sizes: '2560x1600',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '/screenshots/p2.png',
|
||||||
|
form_factor: 'wide',
|
||||||
|
sizes: '2560x1600',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '/screenshots/p1_small.png',
|
||||||
|
form_factor: 'narrow',
|
||||||
|
sizes: '828x1792',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '/screenshots/p2_small.png',
|
||||||
|
form_factor: 'narrow',
|
||||||
|
sizes: '828x1792',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
src: '/icon-50.png',
|
||||||
|
sizes: '50x50',
|
||||||
|
type: 'image/png' as const,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '/icon-100.png',
|
||||||
|
sizes: '100x100',
|
||||||
|
type: 'image/png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: '/icon.png',
|
||||||
|
sizes: '440x440',
|
||||||
|
type: 'image/png',
|
||||||
|
purpose: 'any',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -38,6 +38,7 @@ interface SettingsType {
|
||||||
ollamaApiUrl: string;
|
ollamaApiUrl: string;
|
||||||
lmStudioApiUrl: string;
|
lmStudioApiUrl: string;
|
||||||
deepseekApiKey: string;
|
deepseekApiKey: string;
|
||||||
|
aimlApiKey: string;
|
||||||
customOpenaiApiKey: string;
|
customOpenaiApiKey: string;
|
||||||
customOpenaiApiUrl: string;
|
customOpenaiApiUrl: string;
|
||||||
customOpenaiModelName: string;
|
customOpenaiModelName: string;
|
||||||
|
|
@ -228,7 +229,7 @@ export default function SettingsPage() {
|
||||||
const [selectedEmbeddingModel, setSelectedEmbeddingModel] = useState<
|
const [selectedEmbeddingModel, setSelectedEmbeddingModel] = useState<
|
||||||
string | null
|
string | null
|
||||||
>(null);
|
>(null);
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
const [automaticSuggestions, setAutomaticSuggestions] = useState(true);
|
const [automaticSuggestions, setAutomaticSuggestions] = useState(true);
|
||||||
const [savingStates, setSavingStates] = useState<Record<string, boolean>>({});
|
const [savingStates, setSavingStates] = useState<Record<string, boolean>>({});
|
||||||
const [contextWindowSize, setContextWindowSize] = useState(2048);
|
const [contextWindowSize, setContextWindowSize] = useState(2048);
|
||||||
|
|
@ -267,7 +268,6 @@ export default function SettingsPage() {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const fetchConfig = async () => {
|
const fetchConfig = async () => {
|
||||||
setIsLoading(true);
|
|
||||||
const res = await fetch(`/api/config`, {
|
const res = await fetch(`/api/config`, {
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
|
@ -1730,6 +1730,44 @@ export default function SettingsPage() {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="flex flex-col space-y-1">
|
||||||
|
<p className="text-black/70 dark:text-white/70 text-sm">
|
||||||
|
AI/ML API Key
|
||||||
|
</p>
|
||||||
|
<InputComponent
|
||||||
|
type="text"
|
||||||
|
placeholder="AI/ML API Key"
|
||||||
|
value={config.aimlApiKey}
|
||||||
|
isSaving={savingStates['aimlApiKey']}
|
||||||
|
onChange={(e) => {
|
||||||
|
setConfig((prev) => ({
|
||||||
|
...prev!,
|
||||||
|
aimlApiKey: e.target.value,
|
||||||
|
}));
|
||||||
|
}}
|
||||||
|
onSave={(value) => saveConfig('aimlApiKey', value)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="flex flex-col space-y-1">
|
||||||
|
<p className="text-black/70 dark:text-white/70 text-sm">
|
||||||
|
AI/ML API Key
|
||||||
|
</p>
|
||||||
|
<InputComponent
|
||||||
|
type="text"
|
||||||
|
placeholder="AI/ML API Key"
|
||||||
|
value={config.aimlApiKey}
|
||||||
|
isSaving={savingStates['aimlApiKey']}
|
||||||
|
onChange={(e) => {
|
||||||
|
setConfig((prev) => ({
|
||||||
|
...prev!,
|
||||||
|
aimlApiKey: e.target.value,
|
||||||
|
}));
|
||||||
|
}}
|
||||||
|
onSave={(value) => saveConfig('aimlApiKey', value)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="flex flex-col space-y-1">
|
<div className="flex flex-col space-y-1">
|
||||||
<p className="text-black/70 dark:text-white/70 text-sm">
|
<p className="text-black/70 dark:text-white/70 text-sm">
|
||||||
LM Studio API URL
|
LM Studio API URL
|
||||||
|
|
|
||||||
|
|
@ -93,14 +93,29 @@ const checkConfig = async (
|
||||||
) {
|
) {
|
||||||
if (!chatModel || !chatModelProvider) {
|
if (!chatModel || !chatModelProvider) {
|
||||||
const chatModelProviders = providers.chatModelProviders;
|
const chatModelProviders = providers.chatModelProviders;
|
||||||
|
const chatModelProvidersKeys = Object.keys(chatModelProviders);
|
||||||
|
|
||||||
chatModelProvider =
|
if (!chatModelProviders || chatModelProvidersKeys.length === 0) {
|
||||||
chatModelProvider || Object.keys(chatModelProviders)[0];
|
return toast.error('No chat models available');
|
||||||
|
} else {
|
||||||
|
chatModelProvider =
|
||||||
|
chatModelProvidersKeys.find(
|
||||||
|
(provider) =>
|
||||||
|
Object.keys(chatModelProviders[provider]).length > 0,
|
||||||
|
) || chatModelProvidersKeys[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
chatModelProvider === 'custom_openai' &&
|
||||||
|
Object.keys(chatModelProviders[chatModelProvider]).length === 0
|
||||||
|
) {
|
||||||
|
toast.error(
|
||||||
|
"Looks like you haven't configured any chat model providers. Please configure them from the settings page or the config file.",
|
||||||
|
);
|
||||||
|
return setHasError(true);
|
||||||
|
}
|
||||||
|
|
||||||
chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
|
chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
|
||||||
|
|
||||||
if (!chatModelProviders || Object.keys(chatModelProviders).length === 0)
|
|
||||||
return toast.error('No chat models available');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!embeddingModel || !embeddingModelProvider) {
|
if (!embeddingModel || !embeddingModelProvider) {
|
||||||
|
|
@ -128,7 +143,8 @@ const checkConfig = async (
|
||||||
|
|
||||||
if (
|
if (
|
||||||
Object.keys(chatModelProviders).length > 0 &&
|
Object.keys(chatModelProviders).length > 0 &&
|
||||||
!chatModelProviders[chatModelProvider]
|
(!chatModelProviders[chatModelProvider] ||
|
||||||
|
Object.keys(chatModelProviders[chatModelProvider]).length === 0)
|
||||||
) {
|
) {
|
||||||
const chatModelProvidersKeys = Object.keys(chatModelProviders);
|
const chatModelProvidersKeys = Object.keys(chatModelProviders);
|
||||||
chatModelProvider =
|
chatModelProvider =
|
||||||
|
|
@ -143,6 +159,16 @@ const checkConfig = async (
|
||||||
chatModelProvider &&
|
chatModelProvider &&
|
||||||
!chatModelProviders[chatModelProvider][chatModel]
|
!chatModelProviders[chatModelProvider][chatModel]
|
||||||
) {
|
) {
|
||||||
|
if (
|
||||||
|
chatModelProvider === 'custom_openai' &&
|
||||||
|
Object.keys(chatModelProviders[chatModelProvider]).length === 0
|
||||||
|
) {
|
||||||
|
toast.error(
|
||||||
|
"Looks like you haven't configured any chat model providers. Please configure them from the settings page or the config file.",
|
||||||
|
);
|
||||||
|
return setHasError(true);
|
||||||
|
}
|
||||||
|
|
||||||
chatModel = Object.keys(
|
chatModel = Object.keys(
|
||||||
chatModelProviders[
|
chatModelProviders[
|
||||||
Object.keys(chatModelProviders[chatModelProvider]).length > 0
|
Object.keys(chatModelProviders[chatModelProvider]).length > 0
|
||||||
|
|
@ -150,6 +176,7 @@ const checkConfig = async (
|
||||||
: Object.keys(chatModelProviders)[0]
|
: Object.keys(chatModelProviders)[0]
|
||||||
],
|
],
|
||||||
)[0];
|
)[0];
|
||||||
|
|
||||||
localStorage.setItem('chatModel', chatModel);
|
localStorage.setItem('chatModel', chatModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ import { useState } from 'react';
|
||||||
import { File } from './ChatWindow';
|
import { File } from './ChatWindow';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import MessageInput from './MessageInput';
|
import MessageInput from './MessageInput';
|
||||||
|
import WeatherWidget from './WeatherWidget';
|
||||||
|
import NewsArticleWidget from './NewsArticleWidget';
|
||||||
|
|
||||||
const EmptyChat = ({
|
const EmptyChat = ({
|
||||||
sendMessage,
|
sendMessage,
|
||||||
|
|
@ -29,8 +31,6 @@ const EmptyChat = ({
|
||||||
files: File[];
|
files: File[];
|
||||||
setFiles: (files: File[]) => void;
|
setFiles: (files: File[]) => void;
|
||||||
}) => {
|
}) => {
|
||||||
const [isSettingsOpen, setIsSettingsOpen] = useState(false);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<div className="absolute w-full flex flex-row items-center justify-end mr-5 mt-5">
|
<div className="absolute w-full flex flex-row items-center justify-end mr-5 mt-5">
|
||||||
|
|
@ -38,25 +38,35 @@ const EmptyChat = ({
|
||||||
<Settings className="cursor-pointer lg:hidden" />
|
<Settings className="cursor-pointer lg:hidden" />
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col items-center justify-center min-h-screen max-w-screen-sm mx-auto p-2 space-y-8">
|
<div className="flex flex-col items-center justify-center min-h-screen max-w-screen-sm mx-auto p-2 space-y-4">
|
||||||
<h2 className="text-black/70 dark:text-white/70 text-3xl font-medium -mt-8">
|
<div className="flex flex-col items-center justify-center w-full space-y-8">
|
||||||
Research begins here.
|
<h2 className="text-black/70 dark:text-white/70 text-3xl font-medium -mt-8">
|
||||||
</h2>
|
Research begins here.
|
||||||
<MessageInput
|
</h2>
|
||||||
firstMessage={true}
|
<MessageInput
|
||||||
loading={false}
|
firstMessage={true}
|
||||||
sendMessage={sendMessage}
|
loading={false}
|
||||||
focusMode={focusMode}
|
sendMessage={sendMessage}
|
||||||
setFocusMode={setFocusMode}
|
focusMode={focusMode}
|
||||||
optimizationMode={optimizationMode}
|
setFocusMode={setFocusMode}
|
||||||
setOptimizationMode={setOptimizationMode}
|
optimizationMode={optimizationMode}
|
||||||
fileIds={fileIds}
|
setOptimizationMode={setOptimizationMode}
|
||||||
setFileIds={setFileIds}
|
fileIds={fileIds}
|
||||||
files={files}
|
setFileIds={setFileIds}
|
||||||
systemPromptIds={systemPromptIds}
|
files={files}
|
||||||
setSystemPromptIds={setSystemPromptIds}
|
systemPromptIds={systemPromptIds}
|
||||||
setFiles={setFiles}
|
setSystemPromptIds={setSystemPromptIds}
|
||||||
/>
|
setFiles={setFiles}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-col w-full gap-4 mt-2 sm:flex-row sm:justify-center">
|
||||||
|
<div className="flex-1 w-full">
|
||||||
|
<WeatherWidget />
|
||||||
|
</div>
|
||||||
|
<div className="flex-1 w-full">
|
||||||
|
<NewsArticleWidget />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,122 @@
|
||||||
import { Clock, Edit, Share, Trash } from 'lucide-react';
|
import { Clock, Edit, Share, Trash, FileText, FileDown } from 'lucide-react';
|
||||||
import { Message } from './ChatWindow';
|
import { Message } from './ChatWindow';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState, Fragment } from 'react';
|
||||||
import { formatTimeDifference } from '@/lib/utils';
|
import { formatTimeDifference } from '@/lib/utils';
|
||||||
import DeleteChat from './DeleteChat';
|
import DeleteChat from './DeleteChat';
|
||||||
|
import {
|
||||||
|
Popover,
|
||||||
|
PopoverButton,
|
||||||
|
PopoverPanel,
|
||||||
|
Transition,
|
||||||
|
} from '@headlessui/react';
|
||||||
|
import jsPDF from 'jspdf';
|
||||||
|
|
||||||
|
const downloadFile = (filename: string, content: string, type: string) => {
|
||||||
|
const blob = new Blob([content], { type });
|
||||||
|
const url = URL.createObjectURL(blob);
|
||||||
|
const a = document.createElement('a');
|
||||||
|
a.href = url;
|
||||||
|
a.download = filename;
|
||||||
|
document.body.appendChild(a);
|
||||||
|
a.click();
|
||||||
|
setTimeout(() => {
|
||||||
|
document.body.removeChild(a);
|
||||||
|
URL.revokeObjectURL(url);
|
||||||
|
}, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
const exportAsMarkdown = (messages: Message[], title: string) => {
|
||||||
|
const date = new Date(messages[0]?.createdAt || Date.now()).toLocaleString();
|
||||||
|
let md = `# 💬 Chat Export: ${title}\n\n`;
|
||||||
|
md += `*Exported on: ${date}*\n\n---\n`;
|
||||||
|
messages.forEach((msg, idx) => {
|
||||||
|
md += `\n---\n`;
|
||||||
|
md += `**${msg.role === 'user' ? '🧑 User' : '🤖 Assistant'}**
|
||||||
|
`;
|
||||||
|
md += `*${new Date(msg.createdAt).toLocaleString()}*\n\n`;
|
||||||
|
md += `> ${msg.content.replace(/\n/g, '\n> ')}\n`;
|
||||||
|
if (msg.sources && msg.sources.length > 0) {
|
||||||
|
md += `\n**Citations:**\n`;
|
||||||
|
msg.sources.forEach((src: any, i: number) => {
|
||||||
|
const url = src.metadata?.url || '';
|
||||||
|
md += `- [${i + 1}] [${url}](${url})\n`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
md += '\n---\n';
|
||||||
|
downloadFile(`${title || 'chat'}.md`, md, 'text/markdown');
|
||||||
|
};
|
||||||
|
|
||||||
|
const exportAsPDF = (messages: Message[], title: string) => {
|
||||||
|
const doc = new jsPDF();
|
||||||
|
const date = new Date(messages[0]?.createdAt || Date.now()).toLocaleString();
|
||||||
|
let y = 15;
|
||||||
|
const pageHeight = doc.internal.pageSize.height;
|
||||||
|
doc.setFontSize(18);
|
||||||
|
doc.text(`Chat Export: ${title}`, 10, y);
|
||||||
|
y += 8;
|
||||||
|
doc.setFontSize(11);
|
||||||
|
doc.setTextColor(100);
|
||||||
|
doc.text(`Exported on: ${date}`, 10, y);
|
||||||
|
y += 8;
|
||||||
|
doc.setDrawColor(200);
|
||||||
|
doc.line(10, y, 200, y);
|
||||||
|
y += 6;
|
||||||
|
doc.setTextColor(30);
|
||||||
|
messages.forEach((msg, idx) => {
|
||||||
|
if (y > pageHeight - 30) {
|
||||||
|
doc.addPage();
|
||||||
|
y = 15;
|
||||||
|
}
|
||||||
|
doc.setFont('helvetica', 'bold');
|
||||||
|
doc.text(`${msg.role === 'user' ? 'User' : 'Assistant'}`, 10, y);
|
||||||
|
doc.setFont('helvetica', 'normal');
|
||||||
|
doc.setFontSize(10);
|
||||||
|
doc.setTextColor(120);
|
||||||
|
doc.text(`${new Date(msg.createdAt).toLocaleString()}`, 40, y);
|
||||||
|
y += 6;
|
||||||
|
doc.setTextColor(30);
|
||||||
|
doc.setFontSize(12);
|
||||||
|
const lines = doc.splitTextToSize(msg.content, 180);
|
||||||
|
for (let i = 0; i < lines.length; i++) {
|
||||||
|
if (y > pageHeight - 20) {
|
||||||
|
doc.addPage();
|
||||||
|
y = 15;
|
||||||
|
}
|
||||||
|
doc.text(lines[i], 12, y);
|
||||||
|
y += 6;
|
||||||
|
}
|
||||||
|
if (msg.sources && msg.sources.length > 0) {
|
||||||
|
doc.setFontSize(11);
|
||||||
|
doc.setTextColor(80);
|
||||||
|
if (y > pageHeight - 20) {
|
||||||
|
doc.addPage();
|
||||||
|
y = 15;
|
||||||
|
}
|
||||||
|
doc.text('Citations:', 12, y);
|
||||||
|
y += 5;
|
||||||
|
msg.sources.forEach((src: any, i: number) => {
|
||||||
|
const url = src.metadata?.url || '';
|
||||||
|
if (y > pageHeight - 15) {
|
||||||
|
doc.addPage();
|
||||||
|
y = 15;
|
||||||
|
}
|
||||||
|
doc.text(`- [${i + 1}] ${url}`, 15, y);
|
||||||
|
y += 5;
|
||||||
|
});
|
||||||
|
doc.setTextColor(30);
|
||||||
|
}
|
||||||
|
y += 6;
|
||||||
|
doc.setDrawColor(230);
|
||||||
|
if (y > pageHeight - 10) {
|
||||||
|
doc.addPage();
|
||||||
|
y = 15;
|
||||||
|
}
|
||||||
|
doc.line(10, y, 200, y);
|
||||||
|
y += 4;
|
||||||
|
});
|
||||||
|
doc.save(`${title || 'chat'}.pdf`);
|
||||||
|
};
|
||||||
|
|
||||||
const Navbar = ({
|
const Navbar = ({
|
||||||
chatId,
|
chatId,
|
||||||
|
|
@ -59,10 +173,39 @@ const Navbar = ({
|
||||||
<p className="hidden lg:flex">{title}</p>
|
<p className="hidden lg:flex">{title}</p>
|
||||||
|
|
||||||
<div className="flex flex-row items-center space-x-4">
|
<div className="flex flex-row items-center space-x-4">
|
||||||
<Share
|
<Popover className="relative">
|
||||||
size={17}
|
<PopoverButton className="active:scale-95 transition duration-100 cursor-pointer p-2 rounded-full hover:bg-light-secondary dark:hover:bg-dark-secondary">
|
||||||
className="active:scale-95 transition duration-100 cursor-pointer"
|
<Share size={17} />
|
||||||
/>
|
</PopoverButton>
|
||||||
|
<Transition
|
||||||
|
as={Fragment}
|
||||||
|
enter="transition ease-out duration-100"
|
||||||
|
enterFrom="opacity-0 translate-y-1"
|
||||||
|
enterTo="opacity-100 translate-y-0"
|
||||||
|
leave="transition ease-in duration-75"
|
||||||
|
leaveFrom="opacity-100 translate-y-0"
|
||||||
|
leaveTo="opacity-0 translate-y-1"
|
||||||
|
>
|
||||||
|
<PopoverPanel className="absolute right-0 mt-2 w-64 rounded-xl shadow-xl bg-light-primary dark:bg-dark-primary border border-light-200 dark:border-dark-200 z-50">
|
||||||
|
<div className="flex flex-col py-3 px-3 gap-2">
|
||||||
|
<button
|
||||||
|
className="flex items-center gap-2 px-4 py-2 text-left hover:bg-light-secondary dark:hover:bg-dark-secondary transition-colors text-black dark:text-white rounded-lg font-medium"
|
||||||
|
onClick={() => exportAsMarkdown(messages, title || '')}
|
||||||
|
>
|
||||||
|
<FileText size={17} className="text-[#24A0ED]" />
|
||||||
|
Export as Markdown
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
className="flex items-center gap-2 px-4 py-2 text-left hover:bg-light-secondary dark:hover:bg-dark-secondary transition-colors text-black dark:text-white rounded-lg font-medium"
|
||||||
|
onClick={() => exportAsPDF(messages, title || '')}
|
||||||
|
>
|
||||||
|
<FileDown size={17} className="text-[#24A0ED]" />
|
||||||
|
Export as PDF
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</PopoverPanel>
|
||||||
|
</Transition>
|
||||||
|
</Popover>
|
||||||
<DeleteChat redirect chatId={chatId} chats={[]} setChats={() => {}} />
|
<DeleteChat redirect chatId={chatId} chats={[]} setChats={() => {}} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
71
src/components/NewsArticleWidget.tsx
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
interface Article {
|
||||||
|
title: string;
|
||||||
|
content: string;
|
||||||
|
url: string;
|
||||||
|
thumbnail: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const NewsArticleWidget = () => {
|
||||||
|
const [article, setArticle] = useState<Article | null>(null);
|
||||||
|
const [loading, setLoading] = useState(true);
|
||||||
|
const [error, setError] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
fetch('/api/discover?mode=preview')
|
||||||
|
.then((res) => res.json())
|
||||||
|
.then((data) => {
|
||||||
|
const articles = (data.blogs || []).filter((a: Article) => a.thumbnail);
|
||||||
|
setArticle(articles[Math.floor(Math.random() * articles.length)]);
|
||||||
|
setLoading(false);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
setError(true);
|
||||||
|
setLoading(false);
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="bg-light-secondary dark:bg-dark-secondary rounded-xl border border-light-200 dark:border-dark-200 shadow-sm flex flex-row items-center w-full h-24 min-h-[96px] max-h-[96px] px-3 py-2 gap-3 overflow-hidden">
|
||||||
|
{loading ? (
|
||||||
|
<>
|
||||||
|
<div className="animate-pulse flex flex-row items-center w-full h-full">
|
||||||
|
<div className="rounded-lg w-16 min-w-16 max-w-16 h-16 min-h-16 max-h-16 bg-light-200 dark:bg-dark-200 mr-3" />
|
||||||
|
<div className="flex flex-col justify-center flex-1 h-full w-0 gap-2">
|
||||||
|
<div className="h-4 w-3/4 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
<div className="h-3 w-1/2 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
) : error ? (
|
||||||
|
<div className="w-full text-xs text-red-400">Could not load news.</div>
|
||||||
|
) : article ? (
|
||||||
|
<a
|
||||||
|
href={`/?q=Summary: ${article.url}`}
|
||||||
|
className="flex flex-row items-center w-full h-full group"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
className="object-cover rounded-lg w-16 min-w-16 max-w-16 h-16 min-h-16 max-h-16 border border-light-200 dark:border-dark-200 bg-light-200 dark:bg-dark-200 group-hover:opacity-90 transition"
|
||||||
|
src={
|
||||||
|
new URL(article.thumbnail).origin +
|
||||||
|
new URL(article.thumbnail).pathname +
|
||||||
|
`?id=${new URL(article.thumbnail).searchParams.get('id')}`
|
||||||
|
}
|
||||||
|
alt={article.title}
|
||||||
|
/>
|
||||||
|
<div className="flex flex-col justify-center flex-1 h-full pl-3 w-0">
|
||||||
|
<div className="font-bold text-xs text-black dark:text-white leading-tight truncate overflow-hidden whitespace-nowrap">
|
||||||
|
{article.title}
|
||||||
|
</div>
|
||||||
|
<p className="text-black/70 dark:text-white/70 text-xs leading-snug truncate overflow-hidden whitespace-nowrap">
|
||||||
|
{article.content}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default NewsArticleWidget;
|
||||||
155
src/components/WeatherWidget.tsx
Normal file
|
|
@ -0,0 +1,155 @@
|
||||||
|
import { Cloud, Sun, CloudRain, CloudSnow, Wind } from 'lucide-react';
|
||||||
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
const WeatherWidget = () => {
|
||||||
|
const [data, setData] = useState({
|
||||||
|
temperature: 0,
|
||||||
|
condition: '',
|
||||||
|
location: '',
|
||||||
|
humidity: 0,
|
||||||
|
windSpeed: 0,
|
||||||
|
icon: '',
|
||||||
|
});
|
||||||
|
const [loading, setLoading] = useState(true);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const getApproxLocation = async () => {
|
||||||
|
const res = await fetch('https://ipwhois.app/json/');
|
||||||
|
const data = await res.json();
|
||||||
|
|
||||||
|
return {
|
||||||
|
latitude: data.latitude,
|
||||||
|
longitude: data.longitude,
|
||||||
|
city: data.city,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
const getLocation = async (
|
||||||
|
callback: (location: {
|
||||||
|
latitude: number;
|
||||||
|
longitude: number;
|
||||||
|
city: string;
|
||||||
|
}) => void,
|
||||||
|
) => {
|
||||||
|
if (navigator.geolocation) {
|
||||||
|
const result = await navigator.permissions.query({
|
||||||
|
name: 'geolocation',
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.state === 'granted') {
|
||||||
|
navigator.geolocation.getCurrentPosition(async (position) => {
|
||||||
|
const res = await fetch(
|
||||||
|
`https://api-bdc.io/data/reverse-geocode-client?latitude=${position.coords.latitude}&longitude=${position.coords.longitude}&localityLanguage=en`,
|
||||||
|
{
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
const data = await res.json();
|
||||||
|
|
||||||
|
callback({
|
||||||
|
latitude: position.coords.latitude,
|
||||||
|
longitude: position.coords.longitude,
|
||||||
|
city: data.locality,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else if (result.state === 'prompt') {
|
||||||
|
callback(await getApproxLocation());
|
||||||
|
navigator.geolocation.getCurrentPosition((position) => {});
|
||||||
|
} else if (result.state === 'denied') {
|
||||||
|
callback(await getApproxLocation());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
callback(await getApproxLocation());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
getLocation(async (location) => {
|
||||||
|
const res = await fetch(`/api/weather`, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
lat: location.latitude,
|
||||||
|
lng: location.longitude,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
const data = await res.json();
|
||||||
|
|
||||||
|
if (res.status !== 200) {
|
||||||
|
console.error('Error fetching weather data');
|
||||||
|
setLoading(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setData({
|
||||||
|
temperature: data.temperature,
|
||||||
|
condition: data.condition,
|
||||||
|
location: location.city,
|
||||||
|
humidity: data.humidity,
|
||||||
|
windSpeed: data.windSpeed,
|
||||||
|
icon: data.icon,
|
||||||
|
});
|
||||||
|
setLoading(false);
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="bg-light-secondary dark:bg-dark-secondary rounded-xl border border-light-200 dark:border-dark-200 shadow-sm flex flex-row items-center w-full h-24 min-h-[96px] max-h-[96px] px-3 py-2 gap-3">
|
||||||
|
{loading ? (
|
||||||
|
<>
|
||||||
|
<div className="flex flex-col items-center justify-center w-16 min-w-16 max-w-16 h-full animate-pulse">
|
||||||
|
<div className="h-10 w-10 rounded-full bg-light-200 dark:bg-dark-200 mb-2" />
|
||||||
|
<div className="h-4 w-10 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-col justify-between flex-1 h-full py-1 animate-pulse">
|
||||||
|
<div className="flex flex-row items-center justify-between">
|
||||||
|
<div className="h-3 w-20 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
<div className="h-3 w-12 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
</div>
|
||||||
|
<div className="h-3 w-16 rounded bg-light-200 dark:bg-dark-200 mt-1" />
|
||||||
|
<div className="flex flex-row justify-between w-full mt-auto pt-1 border-t border-light-200 dark:border-dark-200">
|
||||||
|
<div className="h-3 w-16 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
<div className="h-3 w-8 rounded bg-light-200 dark:bg-dark-200" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
<div className="flex flex-col items-center justify-center w-16 min-w-16 max-w-16 h-full">
|
||||||
|
<img
|
||||||
|
src={`/weather-ico/${data.icon}.svg`}
|
||||||
|
alt={data.condition}
|
||||||
|
className="h-10 w-auto"
|
||||||
|
/>
|
||||||
|
<span className="text-base font-semibold text-black dark:text-white">
|
||||||
|
{data.temperature}°C
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-col justify-between flex-1 h-full py-1">
|
||||||
|
<div className="flex flex-row items-center justify-between">
|
||||||
|
<span className="text-xs font-medium text-black dark:text-white">
|
||||||
|
{data.location}
|
||||||
|
</span>
|
||||||
|
<span className="flex items-center text-xs text-black/60 dark:text-white/60">
|
||||||
|
<Wind className="w-3 h-3 mr-1" />
|
||||||
|
{data.windSpeed} km/h
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<span className="text-xs text-black/60 dark:text-white/60 mt-1">
|
||||||
|
{data.condition}
|
||||||
|
</span>
|
||||||
|
<div className="flex flex-row justify-between w-full mt-auto pt-1 border-t border-light-200 dark:border-dark-200 text-xs text-black/60 dark:text-white/60">
|
||||||
|
<span>Humidity: {data.humidity}%</span>
|
||||||
|
<span>Now</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default WeatherWidget;
|
||||||
|
|
@ -37,6 +37,9 @@ interface Config {
|
||||||
DEEPSEEK: {
|
DEEPSEEK: {
|
||||||
API_KEY: string;
|
API_KEY: string;
|
||||||
};
|
};
|
||||||
|
AIMLAPI: {
|
||||||
|
API_KEY: string;
|
||||||
|
};
|
||||||
LM_STUDIO: {
|
LM_STUDIO: {
|
||||||
API_URL: string;
|
API_URL: string;
|
||||||
};
|
};
|
||||||
|
|
@ -123,6 +126,8 @@ export const getOllamaApiEndpoint = () => loadConfig().MODELS.OLLAMA.API_URL;
|
||||||
|
|
||||||
export const getDeepseekApiKey = () => loadConfig().MODELS.DEEPSEEK.API_KEY;
|
export const getDeepseekApiKey = () => loadConfig().MODELS.DEEPSEEK.API_KEY;
|
||||||
|
|
||||||
|
export const getAimlApiKey = () => loadConfig().MODELS.AIMLAPI.API_KEY;
|
||||||
|
|
||||||
export const getCustomOpenaiApiKey = () =>
|
export const getCustomOpenaiApiKey = () =>
|
||||||
loadConfig().MODELS.CUSTOM_OPENAI.API_KEY;
|
loadConfig().MODELS.CUSTOM_OPENAI.API_KEY;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ import Database from 'better-sqlite3';
|
||||||
import * as schema from './schema';
|
import * as schema from './schema';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
const sqlite = new Database(path.join(process.cwd(), 'data/db.sqlite'));
|
const DATA_DIR = process.env.DATA_DIR || process.cwd();
|
||||||
|
const sqlite = new Database(path.join(DATA_DIR, './data/db.sqlite'));
|
||||||
const db = drizzle(sqlite, {
|
const db = drizzle(sqlite, {
|
||||||
schema: schema,
|
schema: schema,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
5
src/lib/db/migrate.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
import db from './';
|
||||||
|
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
|
migrate(db, { migrationsFolder: path.join(process.cwd(), 'drizzle') });
|
||||||
94
src/lib/providers/aimlapi.ts
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai';
|
||||||
|
import { getAimlApiKey } from '../config';
|
||||||
|
import { ChatModel, EmbeddingModel } from '.';
|
||||||
|
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
||||||
|
import { Embeddings } from '@langchain/core/embeddings';
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export const PROVIDER_INFO = {
|
||||||
|
key: 'aimlapi',
|
||||||
|
displayName: 'AI/ML API',
|
||||||
|
};
|
||||||
|
|
||||||
|
interface AimlApiModel {
|
||||||
|
id: string;
|
||||||
|
name?: string;
|
||||||
|
type?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const API_URL = 'https://api.aimlapi.com';
|
||||||
|
|
||||||
|
export const loadAimlApiChatModels = async () => {
|
||||||
|
const apiKey = getAimlApiKey();
|
||||||
|
|
||||||
|
if (!apiKey) return {};
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await axios.get(`${API_URL}/models`, {
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
Authorization: `Bearer ${apiKey}`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const chatModels: Record<string, ChatModel> = {};
|
||||||
|
|
||||||
|
response.data.data.forEach((model: AimlApiModel) => {
|
||||||
|
if (model.type === 'chat-completion') {
|
||||||
|
chatModels[model.id] = {
|
||||||
|
displayName: model.name || model.id,
|
||||||
|
model: new ChatOpenAI({
|
||||||
|
openAIApiKey: apiKey,
|
||||||
|
modelName: model.id,
|
||||||
|
temperature: 0.7,
|
||||||
|
configuration: {
|
||||||
|
baseURL: API_URL,
|
||||||
|
},
|
||||||
|
}) as unknown as BaseChatModel,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return chatModels;
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Error loading AI/ML API models: ${err}`);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const loadAimlApiEmbeddingModels = async () => {
|
||||||
|
const apiKey = getAimlApiKey();
|
||||||
|
|
||||||
|
if (!apiKey) return {};
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await axios.get(`${API_URL}/models`, {
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
Authorization: `Bearer ${apiKey}`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const embeddingModels: Record<string, EmbeddingModel> = {};
|
||||||
|
|
||||||
|
response.data.data.forEach((model: AimlApiModel) => {
|
||||||
|
if (model.type === 'embedding') {
|
||||||
|
embeddingModels[model.id] = {
|
||||||
|
displayName: model.name || model.id,
|
||||||
|
model: new OpenAIEmbeddings({
|
||||||
|
openAIApiKey: apiKey,
|
||||||
|
modelName: model.id,
|
||||||
|
configuration: {
|
||||||
|
baseURL: API_URL,
|
||||||
|
},
|
||||||
|
}) as unknown as Embeddings,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return embeddingModels;
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Error loading AI/ML API embeddings models: ${err}`);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -13,9 +13,17 @@ import { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
||||||
import { Embeddings } from '@langchain/core/embeddings';
|
import { Embeddings } from '@langchain/core/embeddings';
|
||||||
|
|
||||||
const geminiChatModels: Record<string, string>[] = [
|
const geminiChatModels: Record<string, string>[] = [
|
||||||
|
{
|
||||||
|
displayName: 'Gemini 2.5 Flash Preview 05-20',
|
||||||
|
key: 'gemini-2.5-flash-preview-05-20',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Gemini 2.5 Pro Preview',
|
||||||
|
key: 'gemini-2.5-pro-preview-05-06',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Gemini 2.5 Pro Experimental',
|
displayName: 'Gemini 2.5 Pro Experimental',
|
||||||
key: 'gemini-2.5-pro-exp-03-25',
|
key: 'gemini-2.5-pro-preview-05-06',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Gemini 2.0 Flash',
|
displayName: 'Gemini 2.0 Flash',
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,11 @@ import {
|
||||||
loadDeepseekChatModels,
|
loadDeepseekChatModels,
|
||||||
PROVIDER_INFO as DeepseekInfo,
|
PROVIDER_INFO as DeepseekInfo,
|
||||||
} from './deepseek';
|
} from './deepseek';
|
||||||
|
import {
|
||||||
|
loadAimlApiChatModels,
|
||||||
|
loadAimlApiEmbeddingModels,
|
||||||
|
PROVIDER_INFO as AimlApiInfo,
|
||||||
|
} from './aimlapi';
|
||||||
import {
|
import {
|
||||||
loadLMStudioChatModels,
|
loadLMStudioChatModels,
|
||||||
loadLMStudioEmbeddingsModels,
|
loadLMStudioEmbeddingsModels,
|
||||||
|
|
@ -50,6 +55,7 @@ export const PROVIDER_METADATA = {
|
||||||
gemini: GeminiInfo,
|
gemini: GeminiInfo,
|
||||||
transformers: TransformersInfo,
|
transformers: TransformersInfo,
|
||||||
deepseek: DeepseekInfo,
|
deepseek: DeepseekInfo,
|
||||||
|
aimlapi: AimlApiInfo,
|
||||||
lmstudio: LMStudioInfo,
|
lmstudio: LMStudioInfo,
|
||||||
custom_openai: {
|
custom_openai: {
|
||||||
key: 'custom_openai',
|
key: 'custom_openai',
|
||||||
|
|
@ -77,6 +83,7 @@ export const chatModelProviders: Record<
|
||||||
anthropic: loadAnthropicChatModels,
|
anthropic: loadAnthropicChatModels,
|
||||||
gemini: loadGeminiChatModels,
|
gemini: loadGeminiChatModels,
|
||||||
deepseek: loadDeepseekChatModels,
|
deepseek: loadDeepseekChatModels,
|
||||||
|
aimlapi: loadAimlApiChatModels,
|
||||||
lmstudio: loadLMStudioChatModels,
|
lmstudio: loadLMStudioChatModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -88,6 +95,7 @@ export const embeddingModelProviders: Record<
|
||||||
ollama: loadOllamaEmbeddingModels,
|
ollama: loadOllamaEmbeddingModels,
|
||||||
gemini: loadGeminiEmbeddingModels,
|
gemini: loadGeminiEmbeddingModels,
|
||||||
transformers: loadTransformersEmbeddingsModels,
|
transformers: loadTransformersEmbeddingsModels,
|
||||||
|
aimlapi: loadAimlApiEmbeddingModels,
|
||||||
lmstudio: loadLMStudioEmbeddingsModels,
|
lmstudio: loadLMStudioEmbeddingsModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
511
yarn.lock
|
|
@ -23,7 +23,7 @@
|
||||||
"@csstools/css-tokenizer" "^3.0.3"
|
"@csstools/css-tokenizer" "^3.0.3"
|
||||||
lru-cache "^10.4.3"
|
lru-cache "^10.4.3"
|
||||||
|
|
||||||
"@babel/runtime@^7.20.13", "@babel/runtime@^7.3.1":
|
"@babel/runtime@^7.12.5", "@babel/runtime@^7.20.13", "@babel/runtime@^7.26.7", "@babel/runtime@^7.3.1":
|
||||||
version "7.27.6"
|
version "7.27.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
|
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
|
||||||
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
|
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
|
||||||
|
|
@ -666,11 +666,11 @@
|
||||||
fast-xml-parser "^4.4.1"
|
fast-xml-parser "^4.4.1"
|
||||||
|
|
||||||
"@langchain/community@^0.3.45":
|
"@langchain/community@^0.3.45":
|
||||||
version "0.3.48"
|
version "0.3.49"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.3.48.tgz#3487ada66da38ed47e2e1fa08d7299264a9be8bf"
|
resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.3.49.tgz#9e67791c686cfbd378439afb7044cec571dca0f4"
|
||||||
integrity sha512-0KceBKSx34lL5cnbKybWIMQAFTgkZJMOzcZ1YdcagIwgoDa5a4MsJdtTABxaY0gu+87Uo3KqMj+GXx2wQqnZWA==
|
integrity sha512-1AAo9mvr1FmqYHUpXhYI8P4NBPC4t9TfUAuvefEImrtb3gZ60fPelVu17ljWlKJcHC1hPSHYpPJWm0Yx7yRvrw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@langchain/openai" ">=0.2.0 <0.6.0"
|
"@langchain/openai" ">=0.2.0 <0.7.0"
|
||||||
"@langchain/weaviate" "^0.2.0"
|
"@langchain/weaviate" "^0.2.0"
|
||||||
binary-extensions "^2.2.0"
|
binary-extensions "^2.2.0"
|
||||||
expr-eval "^2.0.2"
|
expr-eval "^2.0.2"
|
||||||
|
|
@ -682,16 +682,16 @@
|
||||||
zod "^3.25.32"
|
zod "^3.25.32"
|
||||||
|
|
||||||
"@langchain/core@^0.3.57":
|
"@langchain/core@^0.3.57":
|
||||||
version "0.3.62"
|
version "0.3.64"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.3.62.tgz#ddb4646c98800b6efacf89508c0dbc6991943ea4"
|
resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.3.64.tgz#235b51f2e66d6110b152cbfdb6f416c7b8c386a7"
|
||||||
integrity sha512-GqRTcoUPnozGRMUcA6QkP7LHL/OvanGdB51Jgb0w7IIPDI3wFugxMHZ4gphnGDtxsD1tQY5ykyEpYNxFK8kl1w==
|
integrity sha512-KOHTnmycOPfuffLAm3wwv1rThQ47iG5a3HuWMt2qYhwwImFi6HLeYqKgmxVS5qcJjc6t0IPwR7jOvv9IKxfrAw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@cfworker/json-schema" "^4.0.2"
|
"@cfworker/json-schema" "^4.0.2"
|
||||||
ansi-styles "^5.0.0"
|
ansi-styles "^5.0.0"
|
||||||
camelcase "6"
|
camelcase "6"
|
||||||
decamelize "1.2.0"
|
decamelize "1.2.0"
|
||||||
js-tiktoken "^1.0.12"
|
js-tiktoken "^1.0.12"
|
||||||
langsmith "^0.3.33"
|
langsmith "^0.3.46"
|
||||||
mustache "^4.2.0"
|
mustache "^4.2.0"
|
||||||
p-queue "^6.6.2"
|
p-queue "^6.6.2"
|
||||||
p-retry "4"
|
p-retry "4"
|
||||||
|
|
@ -700,9 +700,9 @@
|
||||||
zod-to-json-schema "^3.22.3"
|
zod-to-json-schema "^3.22.3"
|
||||||
|
|
||||||
"@langchain/google-genai@^0.2.10":
|
"@langchain/google-genai@^0.2.10":
|
||||||
version "0.2.14"
|
version "0.2.15"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/google-genai/-/google-genai-0.2.14.tgz#81be6f1575e6ea6b638013c872ca75ea528b2c4f"
|
resolved "https://registry.yarnpkg.com/@langchain/google-genai/-/google-genai-0.2.15.tgz#bf8c7f14ee5a0c16aaafc71f902ad8619e8089f2"
|
||||||
integrity sha512-gKe/T2LNh8wSSMJOaFmYd8cwQnDSXKtVtC6a7CFoq5nWuh0bKzhItM/7bue1aMN8mlKfB2G1HCwxhaZoSpS/DA==
|
integrity sha512-fAD3xjzd5TxWQCKlttNeEc+b5tUX43hBqKH3rk3g+wbl1ToLqe3ocWawKRmGotEuI5jhDVmoHjDxoNMifFDgmg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@google/generative-ai" "^0.24.0"
|
"@google/generative-ai" "^0.24.0"
|
||||||
uuid "^11.1.0"
|
uuid "^11.1.0"
|
||||||
|
|
@ -722,10 +722,10 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
uuid "^10.0.0"
|
uuid "^10.0.0"
|
||||||
|
|
||||||
"@langchain/langgraph-sdk@~0.0.92":
|
"@langchain/langgraph-sdk@~0.0.96":
|
||||||
version "0.0.92"
|
version "0.0.97"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.92.tgz#d058d33ae70c91cab9e42d3535330030676ad683"
|
resolved "https://registry.yarnpkg.com/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.97.tgz#72a8b6d1067821d542da454b349fbd44ab856733"
|
||||||
integrity sha512-YL3uPo4At0q96Jk1v7uPctpf/NuKYlbHuQzuS03lQDvvzkLNBmw6ZRKr8SFmgZwmiHz2CNMfBP21kmb9aq/9Ug==
|
integrity sha512-MrkCFKA/Ei/haJ1bN/lQyAjEJ1ezV9Djv2BYH2L3oqxOf3COT1LoRn3P6TD0M+j1RD5VjkowUwQ3T8Uidzq9mA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/json-schema" "^7.0.15"
|
"@types/json-schema" "^7.0.15"
|
||||||
p-queue "^6.6.2"
|
p-queue "^6.6.2"
|
||||||
|
|
@ -733,12 +733,12 @@
|
||||||
uuid "^9.0.0"
|
uuid "^9.0.0"
|
||||||
|
|
||||||
"@langchain/langgraph@^0.3.1":
|
"@langchain/langgraph@^0.3.1":
|
||||||
version "0.3.8"
|
version "0.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/langgraph/-/langgraph-0.3.8.tgz#976ceb909953b895d896fd9e1aa498ac5f737fd9"
|
resolved "https://registry.yarnpkg.com/@langchain/langgraph/-/langgraph-0.3.9.tgz#245c96dab73b83d157a9925a13c33f547a678df4"
|
||||||
integrity sha512-JOtYNMa7BixzXrAtV76x1lS2+Blt4WLcbFUWwtiEqTMzwNg00fSvUQ6FaPeootL66iYamg67AVq12PerqMrelw==
|
integrity sha512-eV0Qfpj45pn3A43v3JJygE1pGI8QAd+esb4iifIFWPlkjwFdVbZjqNz556Ojf2IjMLCSBpSEfZqQsRlju8fM0A==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@langchain/langgraph-checkpoint" "~0.0.18"
|
"@langchain/langgraph-checkpoint" "~0.0.18"
|
||||||
"@langchain/langgraph-sdk" "~0.0.92"
|
"@langchain/langgraph-sdk" "~0.0.96"
|
||||||
uuid "^10.0.0"
|
uuid "^10.0.0"
|
||||||
zod "^3.25.32"
|
zod "^3.25.32"
|
||||||
|
|
||||||
|
|
@ -750,7 +750,16 @@
|
||||||
ollama "^0.5.12"
|
ollama "^0.5.12"
|
||||||
uuid "^10.0.0"
|
uuid "^10.0.0"
|
||||||
|
|
||||||
"@langchain/openai@>=0.1.0 <0.6.0", "@langchain/openai@>=0.2.0 <0.6.0", "@langchain/openai@^0.5.12":
|
"@langchain/openai@>=0.1.0 <0.7.0", "@langchain/openai@>=0.2.0 <0.7.0":
|
||||||
|
version "0.6.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.6.1.tgz#c69ccde738b0738ff38b10f3fbc59f10bdb9147f"
|
||||||
|
integrity sha512-jm8MzMEjAKPReYma4Lewb9vGnocKbhoClqPuRTxtKPDgqQ5yJWSisNy4iZO/a1d6ag/7MnxwKMjVsJdy1cBsxw==
|
||||||
|
dependencies:
|
||||||
|
js-tiktoken "^1.0.12"
|
||||||
|
openai "^5.3.0"
|
||||||
|
zod "^3.25.32"
|
||||||
|
|
||||||
|
"@langchain/openai@^0.5.12":
|
||||||
version "0.5.18"
|
version "0.5.18"
|
||||||
resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.5.18.tgz#59ebbf48044d711ce9503d3b9854a3533cb54683"
|
resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.5.18.tgz#59ebbf48044d711ce9503d3b9854a3533cb54683"
|
||||||
integrity sha512-CX1kOTbT5xVFNdtLjnM0GIYNf+P7oMSu+dGCFxxWRa3dZwWiuyuBXCm+dToUGxDLnsHuV1bKBtIzrY1mLq/A1Q==
|
integrity sha512-CX1kOTbT5xVFNdtLjnM0GIYNf+P7oMSu+dGCFxxWRa3dZwWiuyuBXCm+dToUGxDLnsHuV1bKBtIzrY1mLq/A1Q==
|
||||||
|
|
@ -788,10 +797,10 @@
|
||||||
"@emnapi/runtime" "^1.4.3"
|
"@emnapi/runtime" "^1.4.3"
|
||||||
"@tybys/wasm-util" "^0.10.0"
|
"@tybys/wasm-util" "^0.10.0"
|
||||||
|
|
||||||
"@next/env@15.3.5":
|
"@next/env@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.3.5.tgz#1dd661b96c4730e999bb9f48a9b212dae6e290d5"
|
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.4.1.tgz#17d2067266636cfa65c0803738e6208f729070ee"
|
||||||
integrity sha512-7g06v8BUVtN2njAX/r8gheoVffhiKFVt4nx74Tt6G4Hqw9HCLYQVx/GkH2qHvPtAHZaUNZ0VXAa0pQP6v1wk7g==
|
integrity sha512-DXQwFGAE2VH+f2TJsKepRXpODPU+scf5fDbKOME8MMyeyswe4XwgRdiiIYmBfkXU+2ssliLYznajTrOQdnLR5A==
|
||||||
|
|
||||||
"@next/eslint-plugin-next@14.1.4":
|
"@next/eslint-plugin-next@14.1.4":
|
||||||
version "14.1.4"
|
version "14.1.4"
|
||||||
|
|
@ -800,45 +809,45 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
glob "10.3.10"
|
glob "10.3.10"
|
||||||
|
|
||||||
"@next/swc-darwin-arm64@15.3.5":
|
"@next/swc-darwin-arm64@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.5.tgz#75606cb72e1659a23f15195dba760dc01b186c5d"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.1.tgz#490444a0905fcd63b15ec9da6f32683d3b81914a"
|
||||||
integrity sha512-lM/8tilIsqBq+2nq9kbTW19vfwFve0NR7MxfkuSUbRSgXlMQoJYg+31+++XwKVSXk4uT23G2eF/7BRIKdn8t8w==
|
integrity sha512-L+81yMsiHq82VRXS2RVq6OgDwjvA4kDksGU8hfiDHEXP+ncKIUhUsadAVB+MRIp2FErs/5hpXR0u2eluWPAhig==
|
||||||
|
|
||||||
"@next/swc-darwin-x64@15.3.5":
|
"@next/swc-darwin-x64@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.5.tgz#78ffad7ef26685e5b8150891b467a4ecef94e179"
|
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.4.1.tgz#8eac522eca30f20dedc93c8dccfb7efd91226d16"
|
||||||
integrity sha512-WhwegPQJ5IfoUNZUVsI9TRAlKpjGVK0tpJTL6KeiC4cux9774NYE9Wu/iCfIkL/5J8rPAkqZpG7n+EfiAfidXA==
|
integrity sha512-jfz1RXu6SzL14lFl05/MNkcN35lTLMJWPbqt7Xaj35+ZWAX342aePIJrN6xBdGeKl6jPXJm0Yqo3Xvh3Gpo3Uw==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-gnu@15.3.5":
|
"@next/swc-linux-arm64-gnu@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.5.tgz#d9a405ceec729d62033dbdc48f8c331c544f09fd"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.4.1.tgz#7e62ddf0e09d4d5198562242e0def3a43b9ee333"
|
||||||
integrity sha512-LVD6uMOZ7XePg3KWYdGuzuvVboxujGjbcuP2jsPAN3MnLdLoZUXKRc6ixxfs03RH7qBdEHCZjyLP/jBdCJVRJQ==
|
integrity sha512-k0tOFn3dsnkaGfs6iQz8Ms6f1CyQe4GacXF979sL8PNQxjYS1swx9VsOyUQYaPoGV8nAZ7OX8cYaeiXGq9ahPQ==
|
||||||
|
|
||||||
"@next/swc-linux-arm64-musl@15.3.5":
|
"@next/swc-linux-arm64-musl@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.5.tgz#65f19ad3ecd2881381ec2a149afba261ba180dde"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.4.1.tgz#6ea7cf91e898e3bae079e4ccc56fc8ef69130489"
|
||||||
integrity sha512-k8aVScYZ++BnS2P69ClK7v4nOu702jcF9AIHKu6llhHEtBSmM2zkPGl9yoqbSU/657IIIb0QHpdxEr0iW9z53A==
|
integrity sha512-4ogGQ/3qDzbbK3IwV88ltihHFbQVq6Qr+uEapzXHXBH1KsVBZOB50sn6BWHPcFjwSoMX2Tj9eH/fZvQnSIgc3g==
|
||||||
|
|
||||||
"@next/swc-linux-x64-gnu@15.3.5":
|
"@next/swc-linux-x64-gnu@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.5.tgz#cd7f7e002212360b99f7e791a2d2fedb352f2374"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.4.1.tgz#a879a19ccbb5a12f218a543adf0d9312f5ce70f9"
|
||||||
integrity sha512-2xYU0DI9DGN/bAHzVwADid22ba5d/xrbrQlr2U+/Q5WkFUzeL0TDR963BdrtLS/4bMmKZGptLeg6282H/S2i8A==
|
integrity sha512-Jj0Rfw3wIgp+eahMz/tOGwlcYYEFjlBPKU7NqoOkTX0LY45i5W0WcDpgiDWSLrN8KFQq/LW7fZq46gxGCiOYlQ==
|
||||||
|
|
||||||
"@next/swc-linux-x64-musl@15.3.5":
|
"@next/swc-linux-x64-musl@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.5.tgz#302c9e4ace935c963d45fce9584754a19295c452"
|
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.4.1.tgz#025a2798d0beb242d878afedfc4968f0f1a02cf1"
|
||||||
integrity sha512-TRYIqAGf1KCbuAB0gjhdn5Ytd8fV+wJSM2Nh2is/xEqR8PZHxfQuaiNhoF50XfY90sNpaRMaGhF6E+qjV1b9Tg==
|
integrity sha512-9WlEZfnw1vFqkWsTMzZDgNL7AUI1aiBHi0S2m8jvycPyCq/fbZjtE/nDkhJRYbSjXbtRHYLDBlmP95kpjEmJbw==
|
||||||
|
|
||||||
"@next/swc-win32-arm64-msvc@15.3.5":
|
"@next/swc-win32-arm64-msvc@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.5.tgz#5bbe1434afa2360634d45fc7860a038d11e4e296"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.4.1.tgz#27928627e2c2d04075846c1e5a47d23760ce444e"
|
||||||
integrity sha512-h04/7iMEUSMY6fDGCvdanKqlO1qYvzNxntZlCzfE8i5P0uqzVQWQquU1TIhlz0VqGQGXLrFDuTJVONpqGqjGKQ==
|
integrity sha512-WodRbZ9g6CQLRZsG3gtrA9w7Qfa9BwDzhFVdlI6sV0OCPq9JrOrJSp9/ioLsezbV8w9RCJ8v55uzJuJ5RgWLZg==
|
||||||
|
|
||||||
"@next/swc-win32-x64-msvc@15.3.5":
|
"@next/swc-win32-x64-msvc@15.4.1":
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.5.tgz#9629b2eac3159c70f3449cecc2a29bfd4bcb2d5a"
|
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.1.tgz#7eb5ac6ffd8c945863f14a5d32ded6859d4ebe17"
|
||||||
integrity sha512-5fhH6fccXxnX2KhllnGhkYMndhOiLOLEiVGYjP2nizqeGWkN10sA9taATlXwake2E2XMvYZjjz0Uj7T0y+z1yw==
|
integrity sha512-y+wTBxelk2xiNofmDOVU7O5WxTHcvOoL3srOM0kxTzKDjQ57kPU0tpnPJ/BWrRnsOwXEv0+3QSbGR7hY4n9LkQ==
|
||||||
|
|
||||||
"@nodelib/fs.scandir@2.1.5":
|
"@nodelib/fs.scandir@2.1.5":
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
|
|
@ -1007,11 +1016,6 @@
|
||||||
domhandler "^5.0.3"
|
domhandler "^5.0.3"
|
||||||
selderee "^0.11.0"
|
selderee "^0.11.0"
|
||||||
|
|
||||||
"@swc/counter@0.1.3":
|
|
||||||
version "0.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9"
|
|
||||||
integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
|
|
||||||
|
|
||||||
"@swc/helpers@0.5.15":
|
"@swc/helpers@0.5.15":
|
||||||
version "0.5.15"
|
version "0.5.15"
|
||||||
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7"
|
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7"
|
||||||
|
|
@ -1093,6 +1097,13 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||||
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
||||||
|
|
||||||
|
"@types/jspdf@^2.0.0":
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/jspdf/-/jspdf-2.0.0.tgz#c64d63e9248a62849902085c1cd4753b33f8ee0c"
|
||||||
|
integrity sha512-oonYDXI4GegGaG7FFVtriJ+Yqlh4YR3L3NVDiwCEBVG7sbya19SoGx4MW4kg1MCMRPgkbbFTck8YKJL8PrkDfA==
|
||||||
|
dependencies:
|
||||||
|
jspdf "*"
|
||||||
|
|
||||||
"@types/long@^4.0.1":
|
"@types/long@^4.0.1":
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a"
|
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a"
|
||||||
|
|
@ -1107,23 +1118,23 @@
|
||||||
form-data "^4.0.0"
|
form-data "^4.0.0"
|
||||||
|
|
||||||
"@types/node@*", "@types/node@>=13.7.0":
|
"@types/node@*", "@types/node@>=13.7.0":
|
||||||
version "24.0.13"
|
version "24.0.14"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.13.tgz#93ed8c05c7b188a59760be0ce2ee3fa7ad0f83f6"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.14.tgz#6e3d4fb6d858c48c69707394e1a0e08ce1ecc1bc"
|
||||||
integrity sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==
|
integrity sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types "~7.8.0"
|
undici-types "~7.8.0"
|
||||||
|
|
||||||
"@types/node@^18.11.18":
|
"@types/node@^18.11.18":
|
||||||
version "18.19.118"
|
version "18.19.119"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.118.tgz#e8ad99b8fb0c350773dfd9c5acda1a4bfb84a688"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.119.tgz#e7c2098b8c0243af0005503a6d5da92e0d989c84"
|
||||||
integrity sha512-hIPK0hSrrcaoAu/gJMzN3QClXE4QdCdFvaenJ0JsjIbExP1JFFVH+RHcBt25c9n8bx5dkIfqKE+uw6BmBns7ug==
|
integrity sha512-d0F6m9itIPaKnrvEMlzE48UjwZaAnFW7Jwibacw9MNdqadjKNpUm9tfJYDwmShJmgqcoqYUX3EMKO1+RWiuuNg==
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types "~5.26.4"
|
undici-types "~5.26.4"
|
||||||
|
|
||||||
"@types/node@^20":
|
"@types/node@^20":
|
||||||
version "20.19.7"
|
version "20.19.8"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.7.tgz#1d3656e25ec91731c1cce21889e4754ebc988b4e"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.8.tgz#d4a81f631d9dc5015c6e608a102c83e19d03c9db"
|
||||||
integrity sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==
|
integrity sha512-HzbgCY53T6bfu4tT7Aq3TvViJyHjLjPNaAS3HOuMc9pw97KHsUtXNX4L+wu59g1WnjsZSko35MbEqnO58rihhw==
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types "~6.21.0"
|
undici-types "~6.21.0"
|
||||||
|
|
||||||
|
|
@ -1134,6 +1145,11 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/raf@^3.4.0":
|
||||||
|
version "3.4.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/raf/-/raf-3.4.3.tgz#85f1d1d17569b28b8db45e16e996407a56b0ab04"
|
||||||
|
integrity sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==
|
||||||
|
|
||||||
"@types/react-dom@^19":
|
"@types/react-dom@^19":
|
||||||
version "19.1.6"
|
version "19.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.6.tgz#4af629da0e9f9c0f506fc4d1caa610399c595d64"
|
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.6.tgz#4af629da0e9f9c0f506fc4d1caa610399c595d64"
|
||||||
|
|
@ -1168,6 +1184,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
|
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
|
||||||
integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
|
integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
|
||||||
|
|
||||||
|
"@types/trusted-types@^2.0.7":
|
||||||
|
version "2.0.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
|
||||||
|
integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
|
||||||
|
|
||||||
"@types/unist@^2":
|
"@types/unist@^2":
|
||||||
version "2.0.11"
|
version "2.0.11"
|
||||||
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4"
|
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4"
|
||||||
|
|
@ -1337,6 +1358,11 @@
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
onnxruntime-node "1.14.0"
|
onnxruntime-node "1.14.0"
|
||||||
|
|
||||||
|
"@xmldom/xmldom@^0.8.6":
|
||||||
|
version "0.8.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
|
||||||
|
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
|
||||||
|
|
||||||
abort-controller-x@^0.4.0, abort-controller-x@^0.4.3:
|
abort-controller-x@^0.4.0, abort-controller-x@^0.4.3:
|
||||||
version "0.4.3"
|
version "0.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/abort-controller-x/-/abort-controller-x-0.4.3.tgz#ff269788386fabd58a7b6eeaafcb6cf55c2958e0"
|
resolved "https://registry.yarnpkg.com/abort-controller-x/-/abort-controller-x-0.4.3.tgz#ff269788386fabd58a7b6eeaafcb6cf55c2958e0"
|
||||||
|
|
@ -1431,6 +1457,13 @@ argparse@^2.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
||||||
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
||||||
|
|
||||||
|
argparse@~1.0.3:
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||||
|
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||||
|
dependencies:
|
||||||
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
aria-query@^5.3.2:
|
aria-query@^5.3.2:
|
||||||
version "5.3.2"
|
version "5.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59"
|
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59"
|
||||||
|
|
@ -1552,6 +1585,11 @@ asynckit@^0.4.0:
|
||||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||||
|
|
||||||
|
atob@^2.1.2:
|
||||||
|
version "2.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||||
|
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||||
|
|
||||||
autoprefixer@^10.0.1:
|
autoprefixer@^10.0.1:
|
||||||
version "10.4.21"
|
version "10.4.21"
|
||||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d"
|
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d"
|
||||||
|
|
@ -1633,6 +1671,11 @@ bare-stream@^2.6.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
streamx "^2.21.0"
|
streamx "^2.21.0"
|
||||||
|
|
||||||
|
base64-arraybuffer@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
|
||||||
|
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
|
||||||
|
|
||||||
base64-js@^1.3.1, base64-js@^1.5.1:
|
base64-js@^1.3.1, base64-js@^1.5.1:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||||
|
|
@ -1667,6 +1710,11 @@ bl@^4.0.3:
|
||||||
inherits "^2.0.4"
|
inherits "^2.0.4"
|
||||||
readable-stream "^3.4.0"
|
readable-stream "^3.4.0"
|
||||||
|
|
||||||
|
bluebird@~3.4.0:
|
||||||
|
version "3.4.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
|
||||||
|
integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==
|
||||||
|
|
||||||
boolbase@^1.0.0:
|
boolbase@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
||||||
|
|
@ -1704,6 +1752,11 @@ browserslist@^4.24.4:
|
||||||
node-releases "^2.0.19"
|
node-releases "^2.0.19"
|
||||||
update-browserslist-db "^1.1.3"
|
update-browserslist-db "^1.1.3"
|
||||||
|
|
||||||
|
btoa@^1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
|
||||||
|
integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
|
||||||
|
|
||||||
buffer-from@^1.0.0:
|
buffer-from@^1.0.0:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||||
|
|
@ -1717,13 +1770,6 @@ buffer@^5.5.0:
|
||||||
base64-js "^1.3.1"
|
base64-js "^1.3.1"
|
||||||
ieee754 "^1.1.13"
|
ieee754 "^1.1.13"
|
||||||
|
|
||||||
busboy@1.6.0:
|
|
||||||
version "1.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
|
|
||||||
integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
|
|
||||||
dependencies:
|
|
||||||
streamsearch "^1.1.0"
|
|
||||||
|
|
||||||
call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
|
call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
|
resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
|
||||||
|
|
@ -1770,6 +1816,20 @@ caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.300017
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85"
|
||||||
integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==
|
integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==
|
||||||
|
|
||||||
|
canvg@^3.0.11:
|
||||||
|
version "3.0.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/canvg/-/canvg-3.0.11.tgz#4b4290a6c7fa36871fac2b14e432eff33b33cf2b"
|
||||||
|
integrity sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.12.5"
|
||||||
|
"@types/raf" "^3.4.0"
|
||||||
|
core-js "^3.8.3"
|
||||||
|
raf "^3.4.1"
|
||||||
|
regenerator-runtime "^0.13.7"
|
||||||
|
rgbcolor "^1.0.1"
|
||||||
|
stackblur-canvas "^2.0.0"
|
||||||
|
svg-pathdata "^6.0.3"
|
||||||
|
|
||||||
chalk@^4.0.0, chalk@^4.1.2:
|
chalk@^4.0.0, chalk@^4.1.2:
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||||
|
|
@ -1972,6 +2032,16 @@ console-table-printer@^2.12.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
simple-wcswidth "^1.0.1"
|
simple-wcswidth "^1.0.1"
|
||||||
|
|
||||||
|
core-js@^3.6.0, core-js@^3.8.3:
|
||||||
|
version "3.44.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.44.0.tgz#db4fd4fa07933c1d6898c8b112a1119a9336e959"
|
||||||
|
integrity sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==
|
||||||
|
|
||||||
|
core-util-is@~1.0.0:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
||||||
|
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||||
|
|
||||||
cross-fetch@^3.1.5:
|
cross-fetch@^3.1.5:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3"
|
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3"
|
||||||
|
|
@ -1988,6 +2058,13 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.6:
|
||||||
shebang-command "^2.0.0"
|
shebang-command "^2.0.0"
|
||||||
which "^2.0.1"
|
which "^2.0.1"
|
||||||
|
|
||||||
|
css-line-break@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
|
||||||
|
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
|
||||||
|
dependencies:
|
||||||
|
utrie "^1.0.2"
|
||||||
|
|
||||||
css-select@^5.1.0:
|
css-select@^5.1.0:
|
||||||
version "5.2.2"
|
version "5.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e"
|
resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e"
|
||||||
|
|
@ -2141,6 +2218,11 @@ didyoumean@^1.2.2:
|
||||||
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
|
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
|
||||||
integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
|
integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
|
||||||
|
|
||||||
|
dingbat-to-unicode@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz#5091dd673241453e6b5865e26e5a4452cdef5c83"
|
||||||
|
integrity sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==
|
||||||
|
|
||||||
dir-glob@^3.0.1:
|
dir-glob@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
|
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
|
||||||
|
|
@ -2188,6 +2270,13 @@ domhandler@^5.0.2, domhandler@^5.0.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
domelementtype "^2.3.0"
|
domelementtype "^2.3.0"
|
||||||
|
|
||||||
|
dompurify@^3.2.4:
|
||||||
|
version "3.2.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.2.6.tgz#ca040a6ad2b88e2a92dc45f38c79f84a714a1cad"
|
||||||
|
integrity sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==
|
||||||
|
optionalDependencies:
|
||||||
|
"@types/trusted-types" "^2.0.7"
|
||||||
|
|
||||||
domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2:
|
domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2:
|
||||||
version "3.2.2"
|
version "3.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
|
resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
|
||||||
|
|
@ -2213,6 +2302,13 @@ drizzle-orm@^0.40.1:
|
||||||
resolved "https://registry.yarnpkg.com/drizzle-orm/-/drizzle-orm-0.40.1.tgz#15f1d970d4fb034db2b13e4a33fcbbccda9bf1cb"
|
resolved "https://registry.yarnpkg.com/drizzle-orm/-/drizzle-orm-0.40.1.tgz#15f1d970d4fb034db2b13e4a33fcbbccda9bf1cb"
|
||||||
integrity sha512-aPNhtiJiPfm3qxz1czrnIDkfvkSdKGXYeZkpG55NPTVI186LmK2fBLMi4dsHpPHlJrZeQ92D322YFPHADBALew==
|
integrity sha512-aPNhtiJiPfm3qxz1czrnIDkfvkSdKGXYeZkpG55NPTVI186LmK2fBLMi4dsHpPHlJrZeQ92D322YFPHADBALew==
|
||||||
|
|
||||||
|
duck@^0.1.12:
|
||||||
|
version "0.1.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/duck/-/duck-0.1.12.tgz#de7adf758421230b6d7aee799ce42670586b9efa"
|
||||||
|
integrity sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==
|
||||||
|
dependencies:
|
||||||
|
underscore "^1.13.1"
|
||||||
|
|
||||||
dunder-proto@^1.0.0, dunder-proto@^1.0.1:
|
dunder-proto@^1.0.0, dunder-proto@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
|
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
|
||||||
|
|
@ -2228,9 +2324,9 @@ eastasianwidth@^0.2.0:
|
||||||
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
|
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
|
||||||
|
|
||||||
electron-to-chromium@^1.5.173:
|
electron-to-chromium@^1.5.173:
|
||||||
version "1.5.182"
|
version "1.5.186"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.182.tgz#4ab73104f893938acb3ab9c28d7bec170c116b3e"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.186.tgz#b25af3a986f7a32f74ba2813461dcd3d9dc226bb"
|
||||||
integrity sha512-Lv65Btwv9W4J9pyODI6EWpdnhfvrve/us5h1WspW8B2Fb0366REPtY3hX7ounk1CkV/TBjWCEvCBBbYbmV0qCA==
|
integrity sha512-lur7L4BFklgepaJxj4DqPk7vKbTEl0pajNlg2QjE5shefmlmBLm2HvQ7PMf1R/GvlevT/581cop33/quQcfX3A==
|
||||||
|
|
||||||
emoji-regex@^8.0.0:
|
emoji-regex@^8.0.0:
|
||||||
version "8.0.0"
|
version "8.0.0"
|
||||||
|
|
@ -2767,6 +2863,11 @@ fecha@^4.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
|
resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
|
||||||
integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
|
integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
|
||||||
|
|
||||||
|
fflate@^0.8.1:
|
||||||
|
version "0.8.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea"
|
||||||
|
integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==
|
||||||
|
|
||||||
file-entry-cache@^6.0.1:
|
file-entry-cache@^6.0.1:
|
||||||
version "6.0.1"
|
version "6.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
|
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
|
||||||
|
|
@ -3185,6 +3286,14 @@ html-to-text@^9.0.5:
|
||||||
htmlparser2 "^8.0.2"
|
htmlparser2 "^8.0.2"
|
||||||
selderee "^0.11.0"
|
selderee "^0.11.0"
|
||||||
|
|
||||||
|
html2canvas@^1.0.0-rc.5:
|
||||||
|
version "1.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
|
||||||
|
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
|
||||||
|
dependencies:
|
||||||
|
css-line-break "^2.1.0"
|
||||||
|
text-segmentation "^1.0.3"
|
||||||
|
|
||||||
htmlparser2@^10.0.0:
|
htmlparser2@^10.0.0:
|
||||||
version "10.0.0"
|
version "10.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d"
|
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d"
|
||||||
|
|
@ -3245,6 +3354,11 @@ ignore@^5.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
|
||||||
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
|
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
|
||||||
|
|
||||||
|
immediate@~3.0.5:
|
||||||
|
version "3.0.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
|
||||||
|
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
|
||||||
|
|
||||||
import-fresh@^3.2.1:
|
import-fresh@^3.2.1:
|
||||||
version "3.3.1"
|
version "3.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
|
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
|
||||||
|
|
@ -3266,7 +3380,7 @@ inflight@^1.0.4:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4:
|
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
|
|
@ -3534,6 +3648,11 @@ isarray@^2.0.5:
|
||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
|
||||||
integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
|
integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
|
||||||
|
|
||||||
|
isarray@~1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||||
|
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||||
|
|
||||||
isexe@^2.0.0:
|
isexe@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||||
|
|
@ -3651,6 +3770,21 @@ jsonpointer@^5.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559"
|
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559"
|
||||||
integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
|
integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
|
||||||
|
|
||||||
|
jspdf@*, jspdf@^3.0.1:
|
||||||
|
version "3.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/jspdf/-/jspdf-3.0.1.tgz#d81e1964f354f60412516eb2449ea2cccd4d2a3b"
|
||||||
|
integrity sha512-qaGIxqxetdoNnFQQXxTKUD9/Z7AloLaw94fFsOiJMxbfYdBbrBuhWmbzI8TVjrw7s3jBY1PFHofBKMV/wZPapg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.26.7"
|
||||||
|
atob "^2.1.2"
|
||||||
|
btoa "^1.2.1"
|
||||||
|
fflate "^0.8.1"
|
||||||
|
optionalDependencies:
|
||||||
|
canvg "^3.0.11"
|
||||||
|
core-js "^3.6.0"
|
||||||
|
dompurify "^3.2.4"
|
||||||
|
html2canvas "^1.0.0-rc.5"
|
||||||
|
|
||||||
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5:
|
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5:
|
||||||
version "3.3.5"
|
version "3.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
|
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
|
||||||
|
|
@ -3661,6 +3795,16 @@ jsonpointer@^5.0.1:
|
||||||
object.assign "^4.1.4"
|
object.assign "^4.1.4"
|
||||||
object.values "^1.1.6"
|
object.values "^1.1.6"
|
||||||
|
|
||||||
|
jszip@^3.7.1:
|
||||||
|
version "3.10.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2"
|
||||||
|
integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==
|
||||||
|
dependencies:
|
||||||
|
lie "~3.3.0"
|
||||||
|
pako "~1.0.2"
|
||||||
|
readable-stream "~2.3.6"
|
||||||
|
setimmediate "^1.0.5"
|
||||||
|
|
||||||
keyv@^4.5.3:
|
keyv@^4.5.3:
|
||||||
version "4.5.4"
|
version "4.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
|
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
|
||||||
|
|
@ -3674,11 +3818,11 @@ kuler@^2.0.0:
|
||||||
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
|
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
|
||||||
|
|
||||||
"langchain@>=0.2.3 <0.3.0 || >=0.3.4 <0.4.0", langchain@^0.3.26:
|
"langchain@>=0.2.3 <0.3.0 || >=0.3.4 <0.4.0", langchain@^0.3.26:
|
||||||
version "0.3.29"
|
version "0.3.30"
|
||||||
resolved "https://registry.yarnpkg.com/langchain/-/langchain-0.3.29.tgz#74a50cdce9dc921362933f34a0e4bf53b0b1ceeb"
|
resolved "https://registry.yarnpkg.com/langchain/-/langchain-0.3.30.tgz#9fc0467007009dc5e799d1f8fb9dd1137654e387"
|
||||||
integrity sha512-L389pKlApVJPqu4hp58qY6NZAobI+MFPoBjSfjT1z3mcxtB68wLFGhaH4DVsTVg21NYO+0wTEoz24BWrxu9YGw==
|
integrity sha512-UyVsfwHDpHbrnWrjWuhJHqi8Non+Zcsf2kdpDTqyJF8NXrHBOpjdHT5LvPuW9fnE7miDTWf5mLcrWAGZgcrznQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@langchain/openai" ">=0.1.0 <0.6.0"
|
"@langchain/openai" ">=0.1.0 <0.7.0"
|
||||||
"@langchain/textsplitters" ">=0.0.0 <0.2.0"
|
"@langchain/textsplitters" ">=0.0.0 <0.2.0"
|
||||||
js-tiktoken "^1.0.12"
|
js-tiktoken "^1.0.12"
|
||||||
js-yaml "^4.1.0"
|
js-yaml "^4.1.0"
|
||||||
|
|
@ -3690,10 +3834,10 @@ kuler@^2.0.0:
|
||||||
yaml "^2.2.1"
|
yaml "^2.2.1"
|
||||||
zod "^3.25.32"
|
zod "^3.25.32"
|
||||||
|
|
||||||
langsmith@^0.3.33:
|
langsmith@^0.3.33, langsmith@^0.3.46:
|
||||||
version "0.3.43"
|
version "0.3.46"
|
||||||
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.43.tgz#191a5f10b5c85ee50465ce7e1093b56b73bc8c7b"
|
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.46.tgz#6d369f2c91aa771f49a5f7c4e4e67c12763cf737"
|
||||||
integrity sha512-+PZ45NlHiA65WOh1Vv31N9XjTt9gyovoPw7hiQDx4rCXDg2MHB/bTWT9tlbEIpZ047J1OLwzVe+HybsenYhLYw==
|
integrity sha512-Hhi4/cMjhWIGpu0DW5eQrXBbeeKQWPYYQyJCYzhFjod+xinMry4i8QR0gxrrgjGOgfMuU6nyK79YqjGTEPVbDA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/uuid" "^10.0.0"
|
"@types/uuid" "^10.0.0"
|
||||||
chalk "^4.1.2"
|
chalk "^4.1.2"
|
||||||
|
|
@ -3728,6 +3872,13 @@ levn@^0.4.1:
|
||||||
prelude-ls "^1.2.1"
|
prelude-ls "^1.2.1"
|
||||||
type-check "~0.4.0"
|
type-check "~0.4.0"
|
||||||
|
|
||||||
|
lie@~3.3.0:
|
||||||
|
version "3.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
|
||||||
|
integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
|
||||||
|
dependencies:
|
||||||
|
immediate "~3.0.5"
|
||||||
|
|
||||||
lilconfig@^3.0.0, lilconfig@^3.1.3:
|
lilconfig@^3.0.0, lilconfig@^3.1.3:
|
||||||
version "3.1.3"
|
version "3.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
|
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
|
||||||
|
|
@ -3794,6 +3945,15 @@ loose-envify@^1.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
js-tokens "^3.0.0 || ^4.0.0"
|
js-tokens "^3.0.0 || ^4.0.0"
|
||||||
|
|
||||||
|
lop@^0.4.2:
|
||||||
|
version "0.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lop/-/lop-0.4.2.tgz#c9c2f958a39b9da1c2f36ca9ad66891a9fe84640"
|
||||||
|
integrity sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==
|
||||||
|
dependencies:
|
||||||
|
duck "^0.1.12"
|
||||||
|
option "~0.2.1"
|
||||||
|
underscore "^1.13.1"
|
||||||
|
|
||||||
lowlight@^1.17.0:
|
lowlight@^1.17.0:
|
||||||
version "1.20.0"
|
version "1.20.0"
|
||||||
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
|
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
|
||||||
|
|
@ -3812,6 +3972,22 @@ lucide-react@^0.525.0:
|
||||||
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.525.0.tgz#5f7bcecd65e4f9b2b5b6b5d295e3376df032d5e3"
|
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.525.0.tgz#5f7bcecd65e4f9b2b5b6b5d295e3376df032d5e3"
|
||||||
integrity sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==
|
integrity sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==
|
||||||
|
|
||||||
|
mammoth@^1.9.1:
|
||||||
|
version "1.9.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/mammoth/-/mammoth-1.9.1.tgz#b544c26747a412b5b00a11aa80477c6796860eaf"
|
||||||
|
integrity sha512-4S2v1eP4Yo4so0zGNicJKcP93su3wDPcUk+xvkjSG75nlNjSkDJu8BhWQ+e54BROM0HfA6nPzJn12S6bq2Ko6w==
|
||||||
|
dependencies:
|
||||||
|
"@xmldom/xmldom" "^0.8.6"
|
||||||
|
argparse "~1.0.3"
|
||||||
|
base64-js "^1.5.1"
|
||||||
|
bluebird "~3.4.0"
|
||||||
|
dingbat-to-unicode "^1.0.1"
|
||||||
|
jszip "^3.7.1"
|
||||||
|
lop "^0.4.2"
|
||||||
|
path-is-absolute "^1.0.0"
|
||||||
|
underscore "^1.13.1"
|
||||||
|
xmlbuilder "^10.0.0"
|
||||||
|
|
||||||
markdown-to-jsx@^7.7.2:
|
markdown-to-jsx@^7.7.2:
|
||||||
version "7.7.10"
|
version "7.7.10"
|
||||||
resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.7.10.tgz#74cbc4689f7e635c3195148b60f47dca47284943"
|
resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.7.10.tgz#74cbc4689f7e635c3195148b60f47dca47284943"
|
||||||
|
|
@ -3933,27 +4109,25 @@ next-themes@^0.4.6:
|
||||||
integrity sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==
|
integrity sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==
|
||||||
|
|
||||||
next@^15.2.2:
|
next@^15.2.2:
|
||||||
version "15.3.5"
|
version "15.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/next/-/next-15.3.5.tgz#9e892c1ed87954229d53194452b9d39429af8bf5"
|
resolved "https://registry.yarnpkg.com/next/-/next-15.4.1.tgz#05c96856177b5077d98de1714a3e414b7b0959f3"
|
||||||
integrity sha512-RkazLBMMDJSJ4XZQ81kolSpwiCt907l0xcgcpF4xC2Vml6QVcPNXW0NQRwQ80FFtSn7UM52XN0anaw8TEJXaiw==
|
integrity sha512-eNKB1q8C7o9zXF8+jgJs2CzSLIU3T6bQtX6DcTnCq1sIR1CJ0GlSyRs1BubQi3/JgCnr9Vr+rS5mOMI38FFyQw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@next/env" "15.3.5"
|
"@next/env" "15.4.1"
|
||||||
"@swc/counter" "0.1.3"
|
|
||||||
"@swc/helpers" "0.5.15"
|
"@swc/helpers" "0.5.15"
|
||||||
busboy "1.6.0"
|
|
||||||
caniuse-lite "^1.0.30001579"
|
caniuse-lite "^1.0.30001579"
|
||||||
postcss "8.4.31"
|
postcss "8.4.31"
|
||||||
styled-jsx "5.1.6"
|
styled-jsx "5.1.6"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
"@next/swc-darwin-arm64" "15.3.5"
|
"@next/swc-darwin-arm64" "15.4.1"
|
||||||
"@next/swc-darwin-x64" "15.3.5"
|
"@next/swc-darwin-x64" "15.4.1"
|
||||||
"@next/swc-linux-arm64-gnu" "15.3.5"
|
"@next/swc-linux-arm64-gnu" "15.4.1"
|
||||||
"@next/swc-linux-arm64-musl" "15.3.5"
|
"@next/swc-linux-arm64-musl" "15.4.1"
|
||||||
"@next/swc-linux-x64-gnu" "15.3.5"
|
"@next/swc-linux-x64-gnu" "15.4.1"
|
||||||
"@next/swc-linux-x64-musl" "15.3.5"
|
"@next/swc-linux-x64-musl" "15.4.1"
|
||||||
"@next/swc-win32-arm64-msvc" "15.3.5"
|
"@next/swc-win32-arm64-msvc" "15.4.1"
|
||||||
"@next/swc-win32-x64-msvc" "15.3.5"
|
"@next/swc-win32-x64-msvc" "15.4.1"
|
||||||
sharp "^0.34.1"
|
sharp "^0.34.3"
|
||||||
|
|
||||||
nice-grpc-client-middleware-retry@^3.1.10:
|
nice-grpc-client-middleware-retry@^3.1.10:
|
||||||
version "3.1.11"
|
version "3.1.11"
|
||||||
|
|
@ -4159,15 +4333,20 @@ onnxruntime-web@1.14.0:
|
||||||
platform "^1.3.6"
|
platform "^1.3.6"
|
||||||
|
|
||||||
openai@^5.3.0:
|
openai@^5.3.0:
|
||||||
version "5.9.0"
|
version "5.10.1"
|
||||||
resolved "https://registry.yarnpkg.com/openai/-/openai-5.9.0.tgz#fe6109d3dca5be6dd742f7ac54d810a0086d1d37"
|
resolved "https://registry.yarnpkg.com/openai/-/openai-5.10.1.tgz#4535a9603f4d03b2392bb2ca41a618a80fdcfacd"
|
||||||
integrity sha512-cmLC0pfqLLhBGxE4aZPyRPjydgYCncppV2ClQkKmW79hNjCvmzkfhz8rN5/YVDmjVQlFV+UsF1JIuNjNgeagyQ==
|
integrity sha512-fq6xVfv1/gpLbsj8fArEt3b6B9jBxdhAK+VJ+bDvbUvNd+KTLlA3bnDeYZaBsGH9LUhJ1M1yXfp9sEyBLMx6eA==
|
||||||
|
|
||||||
openapi-types@^12.1.3:
|
openapi-types@^12.1.3:
|
||||||
version "12.1.3"
|
version "12.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3"
|
resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3"
|
||||||
integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==
|
integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==
|
||||||
|
|
||||||
|
option@~0.2.1:
|
||||||
|
version "0.2.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/option/-/option-0.2.4.tgz#fd475cdf98dcabb3cb397a3ba5284feb45edbfe4"
|
||||||
|
integrity sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==
|
||||||
|
|
||||||
optionator@^0.9.3:
|
optionator@^0.9.3:
|
||||||
version "0.9.4"
|
version "0.9.4"
|
||||||
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
|
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
|
||||||
|
|
@ -4236,6 +4415,11 @@ package-json-from-dist@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
|
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
|
||||||
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
|
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
|
||||||
|
|
||||||
|
pako@~1.0.2:
|
||||||
|
version "1.0.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
|
||||||
|
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
|
||||||
|
|
||||||
parent-module@^1.0.0:
|
parent-module@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
|
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
|
||||||
|
|
@ -4331,6 +4515,11 @@ peberminta@^0.9.0:
|
||||||
resolved "https://registry.yarnpkg.com/peberminta/-/peberminta-0.9.0.tgz#8ec9bc0eb84b7d368126e71ce9033501dca2a352"
|
resolved "https://registry.yarnpkg.com/peberminta/-/peberminta-0.9.0.tgz#8ec9bc0eb84b7d368126e71ce9033501dca2a352"
|
||||||
integrity sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==
|
integrity sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==
|
||||||
|
|
||||||
|
performance-now@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||||
|
integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
|
||||||
|
|
||||||
picocolors@^1.0.0, picocolors@^1.1.1:
|
picocolors@^1.0.0, picocolors@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
||||||
|
|
@ -4342,9 +4531,9 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
|
||||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||||
|
|
||||||
picomatch@^4.0.2:
|
picomatch@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042"
|
||||||
integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
|
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
|
||||||
|
|
||||||
pify@^2.3.0:
|
pify@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
|
|
@ -4488,6 +4677,11 @@ prismjs@~1.27.0:
|
||||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
|
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
|
||||||
integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
|
integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
|
||||||
|
|
||||||
|
process-nextick-args@~2.0.0:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||||
|
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||||
|
|
||||||
prop-types@^15.8.1:
|
prop-types@^15.8.1:
|
||||||
version "15.8.1"
|
version "15.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
||||||
|
|
@ -4564,6 +4758,13 @@ queue-microtask@^1.2.2:
|
||||||
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
||||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||||
|
|
||||||
|
raf@^3.4.1:
|
||||||
|
version "3.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
|
||||||
|
integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
|
||||||
|
dependencies:
|
||||||
|
performance-now "^2.1.0"
|
||||||
|
|
||||||
rc@^1.2.7:
|
rc@^1.2.7:
|
||||||
version "1.2.8"
|
version "1.2.8"
|
||||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||||
|
|
@ -4633,6 +4834,19 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.2:
|
||||||
string_decoder "^1.1.1"
|
string_decoder "^1.1.1"
|
||||||
util-deprecate "^1.0.1"
|
util-deprecate "^1.0.1"
|
||||||
|
|
||||||
|
readable-stream@~2.3.6:
|
||||||
|
version "2.3.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
|
||||||
|
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
|
||||||
|
dependencies:
|
||||||
|
core-util-is "~1.0.0"
|
||||||
|
inherits "~2.0.3"
|
||||||
|
isarray "~1.0.0"
|
||||||
|
process-nextick-args "~2.0.0"
|
||||||
|
safe-buffer "~5.1.1"
|
||||||
|
string_decoder "~1.1.1"
|
||||||
|
util-deprecate "~1.0.1"
|
||||||
|
|
||||||
readdirp@~3.6.0:
|
readdirp@~3.6.0:
|
||||||
version "3.6.0"
|
version "3.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
|
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
|
||||||
|
|
@ -4663,6 +4877,11 @@ refractor@^3.6.0:
|
||||||
parse-entities "^2.0.0"
|
parse-entities "^2.0.0"
|
||||||
prismjs "~1.27.0"
|
prismjs "~1.27.0"
|
||||||
|
|
||||||
|
regenerator-runtime@^0.13.7:
|
||||||
|
version "0.13.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
|
||||||
|
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
|
||||||
|
|
||||||
regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4:
|
regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4:
|
||||||
version "1.5.4"
|
version "1.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
|
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
|
||||||
|
|
@ -4718,6 +4937,11 @@ reusify@^1.0.4:
|
||||||
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
|
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
|
||||||
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
|
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
|
||||||
|
|
||||||
|
rgbcolor@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/rgbcolor/-/rgbcolor-1.0.1.tgz#d6505ecdb304a6595da26fa4b43307306775945d"
|
||||||
|
integrity sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==
|
||||||
|
|
||||||
rimraf@^3.0.2:
|
rimraf@^3.0.2:
|
||||||
version "3.0.2"
|
version "3.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
|
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
|
||||||
|
|
@ -4753,6 +4977,11 @@ safe-buffer@^5.0.1, safe-buffer@~5.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||||
|
|
||||||
|
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||||
|
version "5.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||||
|
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||||
|
|
||||||
safe-push-apply@^1.0.0:
|
safe-push-apply@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5"
|
resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5"
|
||||||
|
|
@ -4840,6 +5069,11 @@ set-proto@^1.0.0:
|
||||||
es-errors "^1.3.0"
|
es-errors "^1.3.0"
|
||||||
es-object-atoms "^1.0.0"
|
es-object-atoms "^1.0.0"
|
||||||
|
|
||||||
|
setimmediate@^1.0.5:
|
||||||
|
version "1.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
|
||||||
|
integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
|
||||||
|
|
||||||
sharp@^0.32.0:
|
sharp@^0.32.0:
|
||||||
version "0.32.6"
|
version "0.32.6"
|
||||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a"
|
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a"
|
||||||
|
|
@ -4854,7 +5088,7 @@ sharp@^0.32.0:
|
||||||
tar-fs "^3.0.4"
|
tar-fs "^3.0.4"
|
||||||
tunnel-agent "^0.6.0"
|
tunnel-agent "^0.6.0"
|
||||||
|
|
||||||
sharp@^0.34.1:
|
sharp@^0.34.3:
|
||||||
version "0.34.3"
|
version "0.34.3"
|
||||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.34.3.tgz#10a03bcd15fb72f16355461af0b9245ccb8a5da3"
|
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.34.3.tgz#10a03bcd15fb72f16355461af0b9245ccb8a5da3"
|
||||||
integrity sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==
|
integrity sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==
|
||||||
|
|
@ -5007,6 +5241,11 @@ space-separated-tokens@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
|
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
|
||||||
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
|
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
|
||||||
|
|
||||||
|
sprintf-js@~1.0.2:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
||||||
|
|
||||||
stable-hash@^0.0.5:
|
stable-hash@^0.0.5:
|
||||||
version "0.0.5"
|
version "0.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.5.tgz#94e8837aaeac5b4d0f631d2972adef2924b40269"
|
resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.5.tgz#94e8837aaeac5b4d0f631d2972adef2924b40269"
|
||||||
|
|
@ -5017,6 +5256,11 @@ stack-trace@0.0.x:
|
||||||
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
|
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
|
||||||
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
|
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
|
||||||
|
|
||||||
|
stackblur-canvas@^2.0.0:
|
||||||
|
version "2.7.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz#af931277d0b5096df55e1f91c530043e066989b6"
|
||||||
|
integrity sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==
|
||||||
|
|
||||||
stop-iteration-iterator@^1.1.0:
|
stop-iteration-iterator@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad"
|
resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad"
|
||||||
|
|
@ -5025,11 +5269,6 @@ stop-iteration-iterator@^1.1.0:
|
||||||
es-errors "^1.3.0"
|
es-errors "^1.3.0"
|
||||||
internal-slot "^1.1.0"
|
internal-slot "^1.1.0"
|
||||||
|
|
||||||
streamsearch@^1.1.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
|
|
||||||
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
|
|
||||||
|
|
||||||
streamx@^2.15.0, streamx@^2.21.0:
|
streamx@^2.15.0, streamx@^2.21.0:
|
||||||
version "2.22.1"
|
version "2.22.1"
|
||||||
resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.1.tgz#c97cbb0ce18da4f4db5a971dc9ab68ff5dc7f5a5"
|
resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.1.tgz#c97cbb0ce18da4f4db5a971dc9ab68ff5dc7f5a5"
|
||||||
|
|
@ -5142,6 +5381,13 @@ string_decoder@^1.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "~5.2.0"
|
safe-buffer "~5.2.0"
|
||||||
|
|
||||||
|
string_decoder@~1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
||||||
|
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||||
|
dependencies:
|
||||||
|
safe-buffer "~5.1.0"
|
||||||
|
|
||||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
||||||
version "6.0.1"
|
version "6.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||||
|
|
@ -5215,6 +5461,11 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||||
|
|
||||||
|
svg-pathdata@^6.0.3:
|
||||||
|
version "6.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz#80b0e0283b652ccbafb69ad4f8f73e8d3fbf2cac"
|
||||||
|
integrity sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==
|
||||||
|
|
||||||
symbol-tree@^3.2.4:
|
symbol-tree@^3.2.4:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||||
|
|
@ -5311,6 +5562,13 @@ text-hex@1.0.x:
|
||||||
resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
|
resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
|
||||||
integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
|
integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
|
||||||
|
|
||||||
|
text-segmentation@^1.0.3:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
|
||||||
|
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
|
||||||
|
dependencies:
|
||||||
|
utrie "^1.0.2"
|
||||||
|
|
||||||
text-table@^0.2.0:
|
text-table@^0.2.0:
|
||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
||||||
|
|
@ -5490,6 +5748,11 @@ unbox-primitive@^1.1.0:
|
||||||
has-symbols "^1.1.0"
|
has-symbols "^1.1.0"
|
||||||
which-boxed-primitive "^1.1.1"
|
which-boxed-primitive "^1.1.1"
|
||||||
|
|
||||||
|
underscore@^1.13.1:
|
||||||
|
version "1.13.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.7.tgz#970e33963af9a7dda228f17ebe8399e5fbe63a10"
|
||||||
|
integrity sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==
|
||||||
|
|
||||||
undici-types@~5.26.4:
|
undici-types@~5.26.4:
|
||||||
version "5.26.5"
|
version "5.26.5"
|
||||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
|
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
|
||||||
|
|
@ -5574,11 +5837,18 @@ use-sync-external-store@^1.5.0:
|
||||||
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0"
|
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0"
|
||||||
integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==
|
integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==
|
||||||
|
|
||||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2:
|
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||||
|
|
||||||
|
utrie@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
|
||||||
|
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
|
||||||
|
dependencies:
|
||||||
|
base64-arraybuffer "^1.0.2"
|
||||||
|
|
||||||
uuid@^10.0.0:
|
uuid@^10.0.0:
|
||||||
version "10.0.0"
|
version "10.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
|
||||||
|
|
@ -5813,6 +6083,11 @@ xml-name-validator@^5.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
|
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
|
||||||
integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
|
integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
|
||||||
|
|
||||||
|
xmlbuilder@^10.0.0:
|
||||||
|
version "10.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz#8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0"
|
||||||
|
integrity sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==
|
||||||
|
|
||||||
xmlchars@^2.2.0:
|
xmlchars@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||||
|
|
|
||||||