Merge pull request #1 from KaizIqbal/dev

Dev Branch
This commit is contained in:
Kaiz 2020-07-29 17:09:26 +05:30 committed by GitHub
commit 5f5005682d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
75 changed files with 6453 additions and 0 deletions

85
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,85 @@
on:
push:
paths-ignore:
- README.md
- LICENSE
branches: [master, dev]
pull_request:
paths-ignore:
- README.md
- LICENSE
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install build dependencies (apt)
run: |
sudo apt install libx11-dev libxcursor-dev libpng-dev
continue-on-error: false
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- uses: actions/setup-node@v1
with:
node-version: "12.x"
- run: yarn install
- run: yarn render
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Cache pip dependencies
uses: actions/cache@v2
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Install pip dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
continue-on-error: false
- name: Generating `macOS Big Sur` Cursor Theme
run: python build.py
- name: Uploading `bitmaps` artifact
uses: actions/upload-artifact@v2
with:
name: bitmaps
path: bitmaps/*
- name: Uploading `macOS Big Sur` X11 artifact
uses: actions/upload-artifact@v2
with:
name: macOS Big Sur
path: packages/macOSBigSur.tar
- name: Uploading `macOS Big Sur` Windows artifact
uses: actions/upload-artifact@v2
with:
name: macOS Big Sur Windows
path: packages/macOSBigSur_Windows.zip

126
.gitignore vendored
View file

@ -1,3 +1,9 @@
########## Custom
bitmaps
packages
########## Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
@ -127,3 +133,123 @@ dmypy.json
# Pyre type checker
.pyre/
######### Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

18
build.py Normal file
View file

@ -0,0 +1,18 @@
import json
from clickgen import build_cursor_theme
from config import name, sizes, delay, bitmaps_dir, temp_folder
from helper import init_build, pack_it
def build() -> None:
init_build()
with open('./hotspots.json', 'r') as hotspot_file:
hotspots = json.loads(hotspot_file.read())
build_cursor_theme(name, image_dir=bitmaps_dir,
cursor_sizes=sizes, out_path=temp_folder, hotspots=hotspots, archive=False, delay=delay)
pack_it()
if __name__ == "__main__":
build()

13
config.py Normal file
View file

@ -0,0 +1,13 @@
import tempfile
# Build Config
delay = 30
name = "MacOS Big Sur"
sizes = [24, 28, 32, 40, 48, 56, 65, 72, 80, 88, 96]
bitmaps_dir = "./bitmaps"
temp_folder = tempfile.mkdtemp()
# Cleanup Configs
x11_out = "macOSBigSur"
win_out = "macOSBigSur_Windows"

39
helper.py Normal file
View file

@ -0,0 +1,39 @@
import shutil
from config import name, temp_folder, win_out, x11_out
from os import path, listdir
package_dir = "./packages"
x11_out_dir = path.join(package_dir, x11_out)
win_out_dir = path.join(package_dir, win_out)
def init_build() -> None:
"""
Remove previously built packages.
"""
if path.exists(package_dir):
shutil.rmtree(package_dir)
def pack_it() -> None:
"""
Create Crisp 📦 Packages for Windows & X11 Cursor Theme.
"""
# Rename directory
shutil.move(path.join(temp_folder, name, "x11"), x11_out_dir)
shutil.move(path.join(temp_folder, name, "win"), win_out_dir)
# Packaging
# - .tar archive for X11
# - .zip archive for Windows
shutil.make_archive(x11_out_dir, "tar", x11_out_dir)
shutil.make_archive(win_out_dir, "zip", win_out_dir)
# Clenaup
shutil.rmtree(temp_folder)
for f in listdir(package_dir):
f_path = path.join(package_dir, f)
if path.isdir(f_path):
shutil.rmtree(f_path)

61
hotspots.json Normal file
View file

@ -0,0 +1,61 @@
{
"all_scroll": { "xhot": 50, "yhot": 30 },
"bd_double_arrow": { "xhot": 50, "yhot": 30 },
"bottom_left_corner": { "xhot": 50, "yhot": 30 },
"bottom_right_corner": { "xhot": 50, "yhot": 30 },
"bottom_side": { "xhot": 50, "yhot": 30 },
"bottom_tee": { "xhot": 50, "yhot": 30 },
"center_ptr": { "xhot": 50, "yhot": 30 },
"circle": { "xhot": 50, "yhot": 30 },
"context_menu": { "xhot": 50, "yhot": 30 },
"copy": { "xhot": 50, "yhot": 30 },
"cross": { "xhot": 50, "yhot": 30 },
"crossed_circle": { "xhot": 50, "yhot": 30 },
"crosshair": { "xhot": 50, "yhot": 30 },
"dnd_ask": { "xhot": 50, "yhot": 30 },
"dnd_copy": { "xhot": 50, "yhot": 30 },
"dnd_link": { "xhot": 50, "yhot": 30 },
"dnd_move": { "xhot": 50, "yhot": 30 },
"dnd_no_drop": { "xhot": 50, "yhot": 30 },
"dnd_none": { "xhot": 50, "yhot": 30 },
"dotbox": { "xhot": 50, "yhot": 30 },
"fd_double_arrow": { "xhot": 50, "yhot": 30 },
"grabbing": { "xhot": 50, "yhot": 30 },
"hand1": { "xhot": 50, "yhot": 30 },
"hand2": { "xhot": 50, "yhot": 30 },
"left_ptr": { "xhot": 50, "yhot": 30 },
"left_ptr_watch": { "xhot": 50, "yhot": 30 },
"left_side": { "xhot": 50, "yhot": 30 },
"left_tee": { "xhot": 50, "yhot": 30 },
"link": { "xhot": 50, "yhot": 30 },
"ll_angle": { "xhot": 50, "yhot": 30 },
"lr_angle": { "xhot": 50, "yhot": 30 },
"move": { "xhot": 50, "yhot": 30 },
"pencil": { "xhot": 50, "yhot": 30 },
"plus": { "xhot": 50, "yhot": 30 },
"pointer_move": { "xhot": 50, "yhot": 30 },
"question_arrow": { "xhot": 50, "yhot": 30 },
"right_ptr": { "xhot": 50, "yhot": 30 },
"right_side": { "xhot": 50, "yhot": 30 },
"right_tee": { "xhot": 50, "yhot": 30 },
"sb_down_arrow": { "xhot": 50, "yhot": 30 },
"sb_h_double_arrow": { "xhot": 50, "yhot": 30 },
"sb_left_arrow": { "xhot": 50, "yhot": 30 },
"sb_right_arrow": { "xhot": 50, "yhot": 30 },
"sb_up_arrow": { "xhot": 50, "yhot": 30 },
"sb_v_double_arrow": { "xhot": 50, "yhot": 30 },
"tcross": { "xhot": 50, "yhot": 30 },
"top_left_corner": { "xhot": 50, "yhot": 30 },
"top_right_corner": { "xhot": 50, "yhot": 30 },
"top_side": { "xhot": 50, "yhot": 30 },
"top_tee": { "xhot": 50, "yhot": 30 },
"ul_angle": { "xhot": 50, "yhot": 30 },
"ur_angle": { "xhot": 50, "yhot": 30 },
"vertical_text": { "xhot": 50, "yhot": 30 },
"wait": { "xhot": 50, "yhot": 30 },
"wayland_cursor": { "xhot": 50, "yhot": 30 },
"x_cursor": { "xhot": 50, "yhot": 30 },
"xterm": { "xhot": 50, "yhot": 30 },
"zoom_in": { "xhot": 50, "yhot": 30 },
"zoom_out": { "xhot": 50, "yhot": 30 }
}

13
nodemon.json Normal file
View file

@ -0,0 +1,13 @@
{
"restartable": "rs",
"ignore": [".git", "node_modules/**/node_modules"],
"verbose": true,
"execMap": {
"ts": "node --require ts-node/register"
},
"watch": ["src/"],
"env": {
"NODE_ENV": "development"
},
"ext": "js,json,ts"
}

26
package.json Normal file
View file

@ -0,0 +1,26 @@
{
"name": "render",
"version": "1.0.0",
"description": "Rendering cursor to .png",
"main": "index.js",
"scripts": {
"render": "npx ts-node src/index.ts",
"dev": "nodemon src/index.ts",
"dev:debug": "nodemon --inspect src/index.ts",
"setup": "sudo pip3 install virtualenv && virtualenv env && . env/bin/activate && pip3 install -r requirements.txt && yarn install"
},
"repository": "git@github.com:KaizIqbal/apple_cursor.git",
"author": "Kaiz Khatri",
"license": "GPL-3.0",
"private": true,
"devDependencies": {
"nodemon": "^2.0.4",
"ts-node": "^8.10.2",
"tslint": "^6.1.2",
"typescript": "^3.9.7"
},
"dependencies": {
"@types/puppeteer": "^3.0.1",
"puppeteer": "^5.2.1"
}
}

2
requirements.txt Normal file
View file

@ -0,0 +1,2 @@
clickgen==1.1.5
Pillow==7.2.0

17
src/config.ts Normal file
View file

@ -0,0 +1,17 @@
import path from "path";
import fs from "fs";
import { staticCursors, animatedCursors } from "./cursors.json";
// Source Directory
const svgsDir = path.resolve(__dirname, "svg");
// Resolve Paths for svg
const staticSvgs = staticCursors.map((svg: string) =>
path.resolve(svgsDir, svg)
);
// Out Directory
const bitmapsDir = path.resolve(process.cwd(), "bitmaps");
if (!fs.existsSync(bitmapsDir)) fs.mkdirSync(bitmapsDir);
export { staticSvgs, animatedCursors, svgsDir, bitmapsDir };

69
src/cursors.json Normal file
View file

@ -0,0 +1,69 @@
{
"staticCursors": [
"all_scroll.svg",
"bd_double_arrow.svg",
"bottom_left_corner.svg",
"bottom_right_corner.svg",
"bottom_side.svg",
"bottom_tee.svg",
"center_ptr.svg",
"circle.svg",
"context_menu.svg",
"copy.svg",
"cross.svg",
"crossed_circle.svg",
"crosshair.svg",
"dnd_ask.svg",
"dnd_copy.svg",
"dnd_link.svg",
"dnd_move.svg",
"dnd_no_drop.svg",
"dnd_none.svg",
"dotbox.svg",
"fd_double_arrow.svg",
"grabbing.svg",
"hand1.svg",
"hand2.svg",
"left_ptr.svg",
"left_side.svg",
"left_tee.svg",
"link.svg",
"ll_angle.svg",
"lr_angle.svg",
"move.svg",
"pencil.svg",
"plus.svg",
"pointer_move.svg",
"question_arrow.svg",
"right_ptr.svg",
"right_side.svg",
"right_tee.svg",
"sb_down_arrow.svg",
"sb_h_double_arrow.svg",
"sb_left_arrow.svg",
"sb_right_arrow.svg",
"sb_up_arrow.svg",
"sb_v_double_arrow.svg",
"tcross.svg",
"top_left_corner.svg",
"top_right_corner.svg",
"top_side.svg",
"top_tee.svg",
"ul_angle.svg",
"ur_angle.svg",
"vertical_text.svg",
"wayland_cursor.svg",
"x_cursor.svg",
"xterm.svg",
"zoom_in.svg",
"zoom_out.svg"
],
"animatedCursors": {
"left_ptr_watch.svg": {
"frames": 18
},
"wait.svg": {
"frames": 18
}
}
}

View file

@ -0,0 +1,19 @@
export const template = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eggy Render Template</title>
</head>
<body>
<div id="container">
<svginjection>
</div>
</body>
</html>
`;
export const generateRenderTemplate = (svg: string) =>
template.replace("<svginjection>", svg);

101
src/index.ts Normal file
View file

@ -0,0 +1,101 @@
import fs from "fs";
import path from "path";
import puppeteer from "puppeteer";
import { generateRenderTemplate } from "./helpers/htmlTemplate";
import { staticSvgs, bitmapsDir, svgsDir, animatedCursors } from "./config";
// --------------------------- Helpers
const frameNumber = (number: number, length: number) => {
var str = "" + number;
while (str.length < length) {
str = "0" + str;
}
return str;
};
// --------------------------- Main
(async () => {
const browser = await puppeteer.launch({
ignoreDefaultArgs: [" --single-process ", "--no-sandbox"],
executablePath:
process.env.NODE_ENV == "development"
? "/usr/bin/google-chrome-stable"
: "",
headless: true,
});
try {
console.log("📸 Rendering Static Cursors...");
// Rendering satic .svg files
for (let svg of staticSvgs) {
const buffer = fs.readFileSync(path.resolve(svgsDir, svg), "utf8");
if (!buffer) throw new Error(`${svg} File Read error`);
const data = buffer.toString();
// Generating HTML Template
const template = generateRenderTemplate(data);
// config
const bitmap = `${path.basename(svg, ".svg")}.png`;
const out = path.resolve(bitmapsDir, bitmap);
// Render
const page = await browser.newPage();
await page.setContent(template);
await page.waitForSelector("#container");
const svgElement = await page.$("#container svg");
if (!svgElement) throw new Error("svg element not found");
await svgElement.screenshot({ omitBackground: true, path: out });
// console.log(`Static Cursor rendered at ${out}`);
await page.close();
}
console.log("🎥 Rendering Animated Cursors...");
// Rendering animated .svg files
for (let [svg, { frames }] of Object.entries(animatedCursors)) {
const buffer = fs.readFileSync(path.resolve(svgsDir, svg), "utf8");
if (!buffer) throw new Error(`${svg} File Read error`);
const data = buffer.toString();
// Generating HTML Template
const template = generateRenderTemplate(data);
const page = await browser.newPage();
await page.setContent(template);
await page.waitForSelector("#container");
const svgElement = await page.$("#container svg");
if (!svgElement) throw new Error("svg element not found");
// Render Frames
for (let index = 1; index <= frames; index++) {
// config
const frame = frameNumber(index, frames.toString().length);
const bitmap =
frames == 1
? `${path.basename(svg, ".svg")}.png`
: `${path.basename(svg, ".svg")}-${frame}.png`;
const out = path.resolve(bitmapsDir, bitmap);
// Render
await svgElement.screenshot({ omitBackground: true, path: out });
// console.log(`${svg} frame ${frame}/${frames} rendered at ${out}`);
}
await page.close();
}
} catch (error) {
console.error(error);
} finally {
console.log(`\nBitmaps stored at ${bitmapsDir}\n\n🎉 Render Done.`);
process.exit(0);
}
})();

57
src/svg/README.md Normal file
View file

@ -0,0 +1,57 @@
X_cursor
all-scroll
bd_double_arrow
bottom_left_corner
bottom_right_corner
bottom_side
bottom_tee
context
copy
cross
crossed_circle
crosshair
dnd-ask
dnd-copy
dnd-link
dnd-move
dnd-none
dnd_no_drop
dotbox
fd_double_arrow
grabbing
hand
hand1
hand2
left_ptr
left_side
left_tee
link
ll_angle
lr_angle
move
pencil
plus
pointe
question_arrow
right_ptr
right_side
right_tee
sb_down_arrow
sb_h_double_arrow
sb_left_arrow
sb_right_arrow
sb_up_arrow
sb_v_double_arrow
tcross
top_left_corner
top_right_corner
top_side
top_tee
ul_angle
ur_angle
vertical-text
watch
xterm
wayland-cursor
zoom-in
zoom-out

8
src/svg/all_scroll.svg Normal file
View file

@ -0,0 +1,8 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M108.571 80H114.286V85.7143H108.571V80ZM114.286 114.286H108.571V108.571H114.286V114.286ZM85.7142 85.7143H79.9999V80H85.7142V85.7143ZM85.7142 114.286H79.9999V108.571H85.7142V114.286ZM97.1427 51.5029L51.5142 97.1486L81.3542 126.983L97.1427 142.771L142.766 97.1429L97.1427 51.5029Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M134.665 97.1263L120.054 81.0749V91.5263H97.1451H74.2822V81.0749L59.5908 97.1263L74.288 113.172L74.2822 102.841H97.1451H120.054L120.048 113.172L134.665 97.1263Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.785 97.1429H102.859V74.28L113.185 74.2857L97.1446 59.5943L81.0931 74.28H91.4303V97.1429H91.476V120.011L81.0303 120.006L97.0703 134.731L113.099 120.011H102.785V97.1429Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 999 B

1
src/svg/bd_double_arrow.svg Symbolic link
View file

@ -0,0 +1 @@
bottom_right_corner.svg

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M112.818 97.6395L89.5497 120.885L105.715 137.045L57.2983 136.971L57.224 88.5709L73.4583 104.811L96.744 81.5652L104.824 73.4794L88.5726 57.2394H137.064V105.719L120.893 89.5652L112.818 97.6395Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M106.758 95.6194L81.4605 120.899L91.9062 131.345L63.0148 131.254L62.9348 102.374L73.4605 112.894L98.7634 87.6251L112.901 73.4823L102.363 62.9509H131.352V91.928L120.895 81.4823L106.758 95.6194Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 706 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.4674 97.6395L104.736 120.885L88.5702 137.045L136.987 136.971L137.062 88.5709L120.827 104.811L97.5417 81.5652L89.4617 73.4794L105.713 57.2394H57.2217V105.719L73.3874 89.5652L81.4674 97.6395Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M87.528 95.6194L112.825 120.899L102.379 131.345L131.271 131.254L131.351 102.374L120.825 112.894L95.5223 87.6251L81.3851 73.4823L91.9223 62.9509H62.9337V91.928L73.3909 81.4823L87.528 95.6194Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 706 B

1
src/svg/bottom_side.svg Symbolic link
View file

@ -0,0 +1 @@
top_side.svg

7
src/svg/bottom_tee.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M65.8703 96.9223H85.7446V102.968H51.4303V125.717H142.859V102.968H108.539V96.9223H128.35L97.076 62.8538L65.8703 96.9223Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M137.143 108.683H102.857V91.3171H115.657L97.08 72.3457L78.6629 91.3171H91.5429V108.683H57.2571V119.889H137.143V108.683Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 561 B

9
src/svg/center_ptr.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 -6.10352e-05H0V200H200V-6.10352e-05Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M65 131.995L96.2997 46L135.831 131.044L99.4197 117.791L96.9704 117.653L65 131.995Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M112.463 153.371L90.1054 154.568L86.637 85.8728L109.465 84.7376L112.463 153.371Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M106.633 147.109L95.2184 147.662L92.9841 102.007L104.384 101.444L106.633 147.109Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M96.965 60.8798L75.0991 120.956L96.643 111.369L99.2129 111.459L124.815 120.777L96.965 60.8798Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 814 B

2941
src/svg/circle.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 63 KiB

11
src/svg/context_menu.svg Normal file
View file

@ -0,0 +1,11 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M97.1428 139.827V142.855H148.571V85.7126H97.1428V88.1526V139.827Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M103.34 137.693L82.7401 146.464L55.9858 83.0983L77.0487 74.224L103.34 137.693Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4285 133.839V42.3251L117.663 108.719H78.9142L76.5656 109.428L51.4285 133.839Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M137.143 108.571H108.571V102.857H137.143V108.571ZM137.143 120H108.571V114.286H137.143V120ZM137.143 131.429H108.571V125.714H137.143V131.429ZM102.857 137.143H142.857V91.4286H102.857V137.143Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M95.7199 133.803L85.1828 138.226L67.4685 96.0886L77.9885 91.66L95.7199 133.803Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M57.1428 56.08V120.011L74.1085 103.634L76.5543 102.84H103.8L57.1428 56.08Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

1215
src/svg/copy.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 25 KiB

7
src/svg/cross.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M142.857 91.4286H108.514V57.1429H91.4857V91.4286H57.1428V108.571H91.4857V142.857H108.514V108.571H142.857V91.4286Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M137.087 97.2017H102.801V62.8588H97.2012V97.2017H62.9155V102.802H97.2012V137.145H102.801V102.802H137.087V97.2017Z" fill="#231F1F"/>
</svg>

After

Width:  |  Height:  |  Size: 551 B

1
src/svg/crossed_circle.svg Symbolic link
View file

@ -0,0 +1 @@
dnd_no_drop.svg

11
src/svg/crosshair.svg Normal file
View file

@ -0,0 +1,11 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path opacity="0.15" fill-rule="evenodd" clip-rule="evenodd" d="M131.429 100C131.429 117.354 117.354 131.429 100 131.429C82.6401 131.429 68.5715 117.354 68.5715 100C68.5715 82.64 82.6401 68.5714 100 68.5714C117.354 68.5714 131.429 82.64 131.429 100Z" fill="#231F1F"/>
<path opacity="0.3" fill-rule="evenodd" clip-rule="evenodd" d="M131.429 100C131.429 117.354 117.354 131.429 100 131.429C82.6401 131.429 68.5715 117.354 68.5715 100C68.5715 82.64 82.6401 68.5714 100 68.5714C117.354 68.5714 131.429 82.64 131.429 100Z" stroke="#231F1F"/>
<path opacity="0.85" fill-rule="evenodd" clip-rule="evenodd" d="M34.2856 102.857H97.1542V97.1429H34.2856V102.857Z" fill="#231F1F"/>
<path opacity="0.85" fill-rule="evenodd" clip-rule="evenodd" d="M102.857 102.857H165.714V97.1429H102.857V102.857Z" fill="#231F1F"/>
<path opacity="0.85" fill-rule="evenodd" clip-rule="evenodd" d="M97.1428 97.1428H102.857V34.2857H97.1428V97.1428Z" fill="#231F1F"/>
<path opacity="0.85" fill-rule="evenodd" clip-rule="evenodd" d="M97.1428 165.714H102.857V102.857H97.1428V165.714Z" fill="#231F1F"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
src/svg/dnd_ask.svg Symbolic link
View file

@ -0,0 +1 @@
question_arrow.svg

1
src/svg/dnd_copy.svg Symbolic link
View file

@ -0,0 +1 @@
copy.svg

1
src/svg/dnd_link.svg Symbolic link
View file

@ -0,0 +1 @@
link.svg

1
src/svg/dnd_move.svg Symbolic link
View file

@ -0,0 +1 @@
move.svg

20
src/svg/dnd_no_drop.svg Normal file
View file

@ -0,0 +1,20 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.7144 99.5537V8.03943L111.949 74.4337H71.7144L70.8515 75.1423L45.7144 99.5537Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4287 21.7943V85.7257L68.3944 69.3486L69.3087 68.5543H98.0859L51.4287 21.7943Z" fill="black"/>
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 174.286C82.3772 174.286 65.7144 157.623 65.7144 137.143C65.7144 130.171 67.6401 123.48 71.3144 117.594L122.406 168.686C116.52 172.36 109.829 174.286 102.857 174.286ZM83.4687 105.503C89.3144 101.891 95.9544 100 102.857 100C123.337 100 140 116.663 140 137.143C140 144.046 138.109 150.686 134.497 156.531L83.4687 105.503ZM102.857 82.8571C72.9258 82.8571 48.5715 107.211 48.5715 137.143C48.5715 167.074 72.9258 191.429 102.857 191.429C132.789 191.429 157.143 167.074 157.143 137.143C157.143 107.211 132.789 82.8571 102.857 82.8571Z" fill="white"/>
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="51" y="85" width="104" height="104">
<path d="M51.4285 137.143C51.4285 165.543 74.457 188.571 102.857 188.571C131.257 188.571 154.286 165.543 154.286 137.143C154.286 108.737 131.257 85.7143 102.857 85.7143C74.457 85.7143 51.4285 108.737 51.4285 137.143ZM79.0056 105.086C85.6742 100.12 93.9085 97.1429 102.857 97.1429C124.948 97.1429 142.857 115.051 142.857 137.143C142.857 146.097 139.886 154.331 134.914 160.994L79.0056 105.086ZM62.857 137.143C62.857 128.126 65.8799 119.834 70.9085 113.149L126.851 169.091C120.16 174.126 111.868 177.143 102.857 177.143C80.7656 177.143 62.857 159.234 62.857 137.143Z" fill="white"/>
</mask>
<g mask="url(#mask0)">
<path d="M51.4285 137.143C51.4285 165.543 74.457 188.571 102.857 188.571C131.257 188.571 154.286 165.543 154.286 137.143C154.286 108.737 131.257 85.7143 102.857 85.7143C74.457 85.7143 51.4285 108.737 51.4285 137.143ZM79.0056 105.086C85.6742 100.12 93.9085 97.1429 102.857 97.1429C124.948 97.1429 142.857 115.051 142.857 137.143C142.857 146.097 139.886 154.331 134.914 160.994L79.0056 105.086ZM62.857 137.143C62.857 128.126 65.8799 119.834 70.9085 113.149L126.851 169.091C120.16 174.126 111.868 177.143 102.857 177.143C80.7656 177.143 62.857 159.234 62.857 137.143Z" fill="url(#paint0_linear)"/>
</g>
<defs>
<linearGradient id="paint0_linear" x1="102.857" y1="85.7143" x2="102.857" y2="188.571" gradientUnits="userSpaceOnUse">
<stop stop-color="#F0F0F0"/>
<stop offset="1" stop-color="#D5D5D5"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

1
src/svg/dnd_none.svg Symbolic link
View file

@ -0,0 +1 @@
move.svg

7
src/svg/dotbox.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path d="M57 137H135V59H57V137ZM61.5882 63.5882H93.9926V72.6213H98.5809V63.5882H130.412V95.8493H121.809V100.438H130.412V132.412H98.5809V123.665H93.9926V132.412H61.5882V100.438H70.7647V95.8493H61.5882V63.5882Z" fill="black" stroke="white" stroke-width="10"/>
<path d="M57 137H135V59H57V137ZM61.5882 63.5882H93.9926V72.6213H98.5809V63.5882H130.412V95.8493H121.809V100.438H130.412V132.412H98.5809V123.665H93.9926V132.412H61.5882V100.438H70.7647V95.8493H61.5882V63.5882Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 674 B

1
src/svg/fd_double_arrow.svg Symbolic link
View file

@ -0,0 +1 @@
bottom_left_corner.svg

1
src/svg/grabbing.svg Symbolic link
View file

@ -0,0 +1 @@
move.svg

10
src/svg/hand1.svg Normal file
View file

@ -0,0 +1,10 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M77.461 100.424C76.901 98.2812 76.341 95.584 75.141 91.5555C74.1867 88.3726 73.1867 86.6469 72.4553 84.5097C71.5696 81.9097 70.7239 80.3897 69.621 77.7612C68.8267 75.8812 67.541 71.7726 67.0096 69.5326C66.3296 66.624 67.1982 64.2526 68.4039 62.6412C69.8496 60.704 73.901 59.8412 76.1582 60.6355C78.2782 61.3783 80.4096 63.5612 81.3925 65.1383C83.0382 67.7669 83.4325 68.7497 85.4896 73.9497C87.7353 79.6183 88.7125 84.9097 88.981 86.6983L89.4667 89.2812C89.461 89.0526 89.221 82.8697 89.2153 82.6412C89.0153 76.7612 88.8725 72.224 88.9982 65.8469C89.0096 65.1269 89.3639 62.4926 89.4782 61.7612C89.9239 58.904 91.221 57.1897 93.3239 56.1669C95.6782 55.0183 98.6153 54.9383 101.33 56.0697C103.747 57.0583 104.907 59.2126 105.255 61.9097C105.335 62.5326 105.792 67.5497 105.787 68.2355C105.712 74.0926 105.821 77.6126 105.872 80.6583C105.895 81.9783 105.89 89.944 105.97 89.0526C106.318 85.304 106.507 70.8297 107.935 66.5269C108.758 64.0526 110.25 62.264 112.472 61.2183C114.935 60.0583 118.832 60.8183 120.495 62.6069C122.124 64.3497 123.044 66.5612 123.25 69.1955C123.432 71.5097 123.141 74.3212 123.135 76.3097C123.135 81.264 123.015 83.8755 122.924 88.4297C122.918 88.6469 122.838 90.1326 123.055 89.4697C123.592 87.8697 124.13 86.3726 124.575 85.2126C124.855 84.4983 125.952 81.704 126.627 80.304C127.278 78.9669 127.832 78.1955 128.998 76.3726C130.141 74.584 131.37 73.8126 132.815 73.1669C135.901 71.824 139.152 73.8069 140.25 76.544C140.741 77.7726 140.301 80.6183 140.09 82.8583C139.741 86.5555 138.638 90.3212 138.078 92.2755C137.347 94.8297 136.512 99.3326 136.135 101.424C135.724 103.675 134.798 109.321 134.084 111.824C133.592 113.544 131.964 117.413 130.358 119.733C130.358 119.733 124.221 126.875 123.547 130.087C122.878 133.304 123.101 133.327 122.97 135.601C122.832 137.881 123.661 140.875 123.661 140.875C123.661 140.875 119.078 141.47 116.61 141.07C114.375 140.715 111.61 136.264 110.895 134.91C109.912 133.035 107.815 133.395 106.998 134.778C105.712 136.967 102.947 140.893 100.992 141.138C97.1753 141.618 89.2553 141.31 83.0553 141.253C83.0553 141.253 84.1125 135.475 81.7582 133.493C80.0153 132.007 77.0153 129.013 75.221 127.435L70.4667 122.173C68.8439 120.115 66.8725 115.927 63.3639 110.83C61.3753 107.95 57.4953 104.63 56.0267 101.807C54.7524 99.3783 54.1353 96.3555 54.941 94.2355C56.2267 90.8412 58.7982 89.1097 62.7239 89.4812C65.6896 89.7669 67.5696 90.6583 69.7982 92.5497C71.0839 93.6355 73.0724 95.6012 74.0839 96.824C75.0153 97.9383 75.2439 98.4012 76.2382 99.7326C77.5524 101.487 77.9639 102.355 77.461 100.424Z" stroke="black" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M77.4613 100.424C76.9013 98.2812 76.3413 95.584 75.1413 91.5555C74.187 88.3726 73.187 86.6469 72.4556 84.5097C71.5698 81.9097 70.7241 80.3897 69.6213 77.7612C68.827 75.8812 67.5413 71.7726 67.0098 69.5326C66.3298 66.624 67.1984 64.2526 68.4041 62.6412C69.8498 60.704 73.9013 59.8412 76.1584 60.6355C78.2784 61.3783 80.4098 63.5612 81.3927 65.1383C83.0384 67.7669 83.4327 68.7497 85.4898 73.9497C87.7356 79.6183 88.7127 84.9097 88.9813 86.6983L89.467 89.2812C89.4613 89.0526 89.2213 82.8697 89.2156 82.6412C89.0156 76.7612 88.8727 72.224 88.9984 65.8469C89.0098 65.1269 89.3641 62.4926 89.4784 61.7612C89.9241 58.904 91.2213 57.1897 93.3241 56.1669C95.6784 55.0183 98.6156 54.9383 101.33 56.0697C103.747 57.0583 104.907 59.2126 105.256 61.9097C105.336 62.5326 105.793 67.5497 105.787 68.2355C105.713 74.0926 105.821 77.6126 105.873 80.6583C105.896 81.9783 105.89 89.944 105.97 89.0526C106.318 85.304 106.507 70.8297 107.936 66.5269C108.758 64.0526 110.25 62.264 112.473 61.2183C114.936 60.0583 118.833 60.8183 120.496 62.6069C122.124 64.3497 123.044 66.5612 123.25 69.1955C123.433 71.5097 123.141 74.3212 123.136 76.3097C123.136 81.264 123.016 83.8755 122.924 88.4297C122.918 88.6469 122.838 90.1326 123.056 89.4697C123.593 87.8697 124.13 86.3726 124.576 85.2126C124.856 84.4983 125.953 81.704 126.627 80.304C127.278 78.9669 127.833 78.1955 128.998 76.3726C130.141 74.584 131.37 73.8126 132.816 73.1669C135.901 71.824 139.153 73.8069 140.25 76.544C140.741 77.7726 140.301 80.6183 140.09 82.8583C139.741 86.5555 138.638 90.3212 138.078 92.2755C137.347 94.8297 136.513 99.3326 136.136 101.424C135.724 103.675 134.798 109.321 134.084 111.824C133.593 113.544 131.964 117.413 130.358 119.733C130.358 119.733 124.221 126.875 123.547 130.087C122.878 133.304 123.101 133.327 122.97 135.601C122.833 137.881 123.661 140.875 123.661 140.875C123.661 140.875 119.078 141.47 116.61 141.07C114.376 140.715 111.61 136.264 110.896 134.91C109.913 133.035 107.816 133.395 106.998 134.778C105.713 136.967 102.947 140.893 100.993 141.138C97.1756 141.618 89.2556 141.31 83.0556 141.253C83.0556 141.253 84.1127 135.475 81.7584 133.493C80.0156 132.007 77.0156 129.013 75.2213 127.435L70.467 122.173C68.8441 120.115 66.8727 115.927 63.3641 110.83C61.3756 107.95 57.4956 104.63 56.027 101.807C54.7527 99.3783 54.1356 96.3555 54.9413 94.2355C56.227 90.8412 58.7984 89.1097 62.7241 89.4812C65.6898 89.7669 67.5698 90.6583 69.7984 92.5497C71.0841 93.6355 73.0727 95.6012 74.0841 96.824C75.0156 97.9383 75.2441 98.4012 76.2384 99.7326C77.5527 101.487 77.9641 102.355 77.4613 100.424Z" fill="white"/>
<path d="M117.522 124.197V104.431" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M106.005 124.263L105.913 104.418" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M94.5984 104.598L94.7184 124.175" stroke="black" stroke-width="4" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

7
src/svg/hand2.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.18 122.171C74.5572 120.119 72.5857 115.925 69.0772 110.834C67.0886 107.954 62.1572 102.531 60.6886 99.7766C59.4143 97.3423 59.5514 96.2508 59.8543 94.2337C60.3914 90.6451 64.0714 87.8508 67.9972 88.228C70.9629 88.508 73.4772 90.468 75.74 92.3194C77.1057 93.4337 78.7857 95.5994 79.7972 96.8223C80.7286 97.9423 80.9572 98.4051 81.9514 99.7308C83.2657 101.485 83.6772 102.354 83.1743 100.422C82.7686 97.588 82.1057 92.748 81.1457 88.468C80.4143 85.2223 80.2372 84.7137 79.54 82.2223C78.8029 79.5708 78.4257 77.7137 77.7343 74.9023C77.2543 72.9137 76.3914 68.8508 76.1572 66.5651C75.8314 63.4394 75.66 58.3423 77.6657 55.9994C79.2372 54.1651 82.8429 53.6108 85.0772 54.7423C88.0029 56.2223 89.6657 60.4737 90.4257 62.1708C91.7914 65.2223 92.6372 68.748 93.3743 73.3766C94.3114 79.268 96.0372 87.4451 96.0943 89.1651C96.2314 87.0566 95.7057 82.6166 96.0714 80.5937C96.4029 78.7594 97.9457 76.628 99.8772 76.0508C101.511 75.5651 103.426 75.388 105.111 75.7366C106.9 76.1023 108.786 77.3823 109.489 78.588C111.557 82.1537 111.597 89.4394 111.683 89.0508C112.174 86.9023 112.089 82.028 113.306 79.9994C114.106 78.6623 116.146 77.4566 117.231 77.2623C118.911 76.9651 120.974 76.8737 122.74 77.2166C124.163 77.4966 126.089 79.188 126.609 79.9994C127.854 81.9651 128.563 87.5251 128.774 89.4737C128.86 90.2794 129.197 87.2337 130.449 85.268C132.769 81.6166 140.98 80.908 141.294 88.9194C141.437 92.6566 141.409 92.4851 141.409 94.9994C141.409 97.9537 141.34 99.7308 141.18 101.868C141.003 104.154 140.511 109.319 139.797 111.822C139.306 113.542 137.677 117.411 136.071 119.731C136.071 119.731 129.934 126.874 129.266 130.091C128.591 133.302 128.814 133.325 128.683 135.605C128.551 137.879 129.374 140.874 129.374 140.874C129.374 140.874 124.791 141.468 122.323 141.074C120.089 140.714 117.323 136.268 116.609 134.908C115.626 133.034 113.529 133.394 112.711 134.777C111.426 136.965 108.66 140.891 106.706 141.137C102.889 141.617 94.9686 141.314 88.7686 141.251C88.7686 141.251 89.8257 135.474 87.4714 133.491C85.7286 132.011 82.7286 129.011 80.9343 127.434L76.18 122.171Z" stroke="black" stroke-width="9" stroke-linecap="round" stroke-linejoin="round"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.18 122.171C74.5572 120.119 72.5857 115.925 69.0772 110.834C67.0886 107.954 62.1572 102.531 60.6886 99.7766C59.4143 97.3423 59.5514 96.2509 59.8543 94.2337C60.3914 90.6452 64.0714 87.8509 67.9972 88.228C70.9629 88.508 73.4772 90.468 75.74 92.3194C77.1057 93.4337 78.7857 95.5994 79.7972 96.8223C80.7286 97.9423 80.9572 98.4052 81.9514 99.7309C83.2657 101.485 83.6772 102.354 83.1743 100.422C82.7686 97.588 82.1057 92.748 81.1457 88.468C80.4143 85.2223 80.2372 84.7137 79.54 82.2223C78.8029 79.5709 78.4257 77.7137 77.7343 74.9023C77.2543 72.9137 76.3914 68.8509 76.1572 66.5652C75.8314 63.4394 75.66 58.3423 77.6657 55.9994C79.2372 54.1652 82.8429 53.6109 85.0772 54.7423C88.0029 56.2223 89.6657 60.4737 90.4257 62.1709C91.7914 65.2223 92.6372 68.748 93.3743 73.3766C94.3114 79.268 96.0372 87.4452 96.0943 89.1652C96.2314 87.0566 95.7057 82.6166 96.0714 80.5937C96.4029 78.7594 97.9457 76.628 99.8772 76.0509C101.511 75.5652 103.426 75.388 105.111 75.7366C106.9 76.1023 108.786 77.3823 109.489 78.588C111.557 82.1537 111.597 89.4394 111.683 89.0509C112.174 86.9023 112.089 82.028 113.306 79.9994C114.106 78.6623 116.146 77.4566 117.231 77.2623C118.911 76.9652 120.974 76.8737 122.74 77.2166C124.163 77.4966 126.089 79.188 126.609 79.9994C127.854 81.9652 128.563 87.5252 128.774 89.4737C128.86 90.2794 129.197 87.2337 130.449 85.268C132.769 81.6166 140.98 80.908 141.294 88.9194C141.437 92.6566 141.409 92.4852 141.409 94.9995C141.409 97.9537 141.34 99.7309 141.18 101.868C141.003 104.154 140.511 109.319 139.797 111.822C139.306 113.542 137.677 117.411 136.071 119.731C136.071 119.731 129.934 126.874 129.266 130.091C128.591 133.302 128.814 133.325 128.683 135.605C128.551 137.879 129.374 140.874 129.374 140.874C129.374 140.874 124.791 141.468 122.323 141.074C120.089 140.714 117.323 136.268 116.609 134.908C115.626 133.034 113.529 133.394 112.711 134.777C111.426 136.965 108.66 140.891 106.706 141.137C102.889 141.617 94.9686 141.314 88.7686 141.251C88.7686 141.251 89.8257 135.474 87.4714 133.491C85.7286 132.011 82.7286 129.011 80.9343 127.434L76.18 122.171Z" fill="white"/>
<path d="M123.237 124.197V104.431" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M111.719 124.263L111.627 104.418" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M100.313 104.598L100.433 124.175" stroke="black" stroke-width="4" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

9
src/svg/left_ptr.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M68.5715 139.554V48.0394L134.806 114.434H96.0572L93.7087 115.142L68.5715 139.554Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M120.483 143.407L99.8829 152.178L73.1287 88.8125L94.1915 79.9383L120.483 143.407Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M112.863 139.517L102.326 143.94L84.6113 101.803L95.1313 97.3743L112.863 139.517Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M74.2856 61.7943V125.726L91.2514 109.349L93.6971 108.554H120.943L74.2856 61.7943Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 778 B

1
src/svg/left_ptr_watch.svg Symbolic link
View file

@ -0,0 +1 @@
wait.svg

7
src/svg/left_side.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4286 102.804V102.833L85.6972 137.095L85.7029 114.244H97.1257H108.669V137.101L142.84 102.81L108.669 68.5297L108.674 91.4954L97.1257 91.5068H85.6972L85.7029 68.524L51.4286 102.804ZM59.4914 102.821L79.9886 82.3183L79.9829 97.1011H99.9829H114.389V82.3297L134.76 102.821L114.394 123.307L114.389 108.535H99.9829L79.9886 108.53L79.9829 123.307L59.4914 102.821Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M99.9835 108.533H114.389V123.31L134.761 102.818L114.389 82.3326V97.2183H99.9835H79.9835V82.3211L59.4921 102.818L79.9835 123.31V108.527L99.9835 108.533Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 831 B

7
src/svg/left_tee.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M74.2886 51.4286V142.857H97.0314V108.537H103.083V128.349L137.146 97.0743L103.083 65.8686V85.7429H97.0314V51.4286H74.2886Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M91.4286 137.031V102.746H108.686V115.66L127.657 97.0771L108.686 78.66V91.54H91.4286V57.2543H80.1143V137.031H91.4286Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 560 B

7
src/svg/link.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M125.714 57.5892L67.1428 58.0349L87.1085 75.8635C85.4571 77.6463 84.0971 79.1263 83.84 79.4635C82.9485 80.6235 79.3771 85.892 78.3028 88.1263C77.2343 90.3549 75.0914 96.0692 74.4628 99.732C73.8914 103.098 73.9257 109.195 74.0171 111.783C74.1028 114.201 74.9314 118.972 75.7143 121.161C76.9657 124.641 77.68 126.521 79.2857 129.018C81.0914 131.829 82.6743 133.401 85.1771 135.806C87.4114 137.949 97.68 142.858 97.68 142.858C96.0685 140.806 93.0343 134.909 92.32 132.858C91.9428 131.772 90.9543 126.509 90.7143 124.109C90.4457 121.429 90.2685 117.681 90.3543 115.001C90.4343 112.663 90.9371 110.378 91.52 108.303C92.1428 106.069 93.9657 103.121 95.4457 101.069C96.6057 99.4634 98.0057 97.8006 100 95.892C101.451 94.4977 103.149 93.0177 104.88 91.7377L125.537 110.178L125.714 57.5892Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M119.799 98.5154L119.776 63.1783L84.5702 63.2011L94.8445 73.4983C94.0559 74.3326 92.9817 75.4697 92.3474 76.264C90.7645 78.2469 89.8159 79.3326 88.8616 80.4469C88.1874 81.2354 87.3645 82.2583 86.7074 83.1554C85.7988 84.3954 85.1074 85.6126 84.6445 86.4411C84.0102 87.5611 83.3531 89.0697 82.5474 90.7269C81.4274 93.0354 81.0502 94.9897 80.7245 96.3383C80.5016 97.2526 79.9816 99.6011 79.7759 101.784C79.6159 103.441 79.7302 105.35 79.7302 106.121C79.7302 107.47 79.5931 109.093 79.8845 111.721C80.1531 114.127 81.5759 119.441 82.6388 121.561C83.5302 123.35 85.2788 126.875 85.2788 126.875C85.2788 126.875 84.3074 118.201 84.6159 113.818C84.7988 111.315 85.9588 107.058 87.4331 103.944C87.6902 103.413 87.7359 102.744 88.4959 101.533C89.0845 100.607 89.8674 99.3268 90.5245 98.2868C91.7474 96.3611 94.2616 93.2869 94.8616 92.4869C95.8274 91.2011 98.6331 88.6469 100.222 87.2469C101.033 86.5326 103.039 84.8526 104.753 83.4297L119.799 98.5154Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

7
src/svg/ll_angle.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M84.7349 93.3874L68.5749 77.2217L68.5692 125.707L117.055 125.713L100.901 109.553L129.181 81.2617L113.032 65.1132L84.7349 93.3874Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M121.099 81.2611L92.8195 109.547L103.265 119.998L74.288 119.993V91.0154L84.7395 101.467L113.031 73.1926L121.099 81.2611Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 572 B

7
src/svg/lr_angle.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M65.1115 81.2583L93.3915 109.555L77.2315 125.715H125.717V77.224L109.551 93.3897L81.2715 65.0983L65.1115 81.2583Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.2726 73.1805L109.553 101.466L119.998 91.0148V119.998H91.0269L101.473 109.546L73.1926 81.2605L81.2726 73.1805Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 548 B

10
src/svg/move.svg Normal file
View file

@ -0,0 +1,10 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M77.5611 68.7777C80.304 67.7606 85.7154 68.3834 87.144 71.4806C88.3611 74.1206 89.4068 78.572 89.464 77.6234C89.6011 75.5149 89.3268 70.9549 90.2468 68.572C90.9154 66.8349 92.2297 65.2006 94.1668 64.6234C95.7954 64.132 97.7097 63.9606 99.4011 64.3092C101.19 64.6749 103.07 65.9492 103.773 67.1606C105.841 70.7206 105.875 78.012 105.973 77.6234C106.338 76.0692 106.373 70.6006 107.59 68.572C108.395 67.2292 110.43 66.0292 111.515 65.8349C113.195 65.5377 115.264 65.4463 117.024 65.7892C118.447 66.0692 120.373 67.7549 120.893 68.572C122.144 70.5377 122.847 76.092 123.058 78.0463C123.15 78.852 123.481 75.8006 124.733 73.8406C127.053 70.1892 135.27 69.4806 135.578 77.492C135.727 81.2292 135.693 81.0577 135.693 83.572C135.693 86.5206 135.624 88.3034 135.464 90.4406C135.293 92.7206 134.801 97.892 134.087 100.395C133.595 102.115 131.967 105.983 130.355 108.303C130.355 108.303 124.218 115.446 123.55 118.658C122.881 121.875 123.104 121.898 122.967 124.172C122.835 126.452 123.658 129.446 123.658 129.446C123.658 129.446 119.081 130.041 116.607 129.641C114.373 129.286 111.607 124.841 110.893 123.481C109.91 121.606 107.813 121.966 106.995 123.349C105.715 125.538 102.944 129.463 100.995 129.709C97.1726 130.189 89.2526 129.881 83.0526 129.823C83.0526 129.823 84.1097 124.046 81.7554 122.063C80.0126 120.578 77.0126 117.583 75.2183 116.006L70.464 110.743C68.8468 108.686 64.7383 105.435 63.3611 99.4006C62.144 94.052 62.264 91.4292 63.5726 89.2863C64.8983 87.1092 67.4011 85.9206 68.4526 85.7149C69.6411 85.4749 72.4068 85.492 73.4526 86.0692C74.7268 86.772 75.2411 86.9777 76.2411 88.3034C77.5554 90.0577 78.024 90.9092 77.4583 88.9949C77.024 87.4977 75.6183 85.5949 74.9783 83.452C74.3554 81.3892 72.6868 78.0634 72.8068 74.732C72.8526 73.4692 73.3954 70.3263 77.5611 68.7777Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M77.5611 68.7777C80.304 67.7606 85.7154 68.3834 87.144 71.4806C88.3611 74.1206 89.4068 78.572 89.464 77.6234C89.6011 75.5149 89.3268 70.9549 90.2468 68.572C90.9154 66.8349 92.2297 65.2006 94.1668 64.6234C95.7954 64.132 97.7097 63.9606 99.4011 64.3092C101.19 64.6749 103.07 65.9492 103.773 67.1606C105.841 70.7206 105.875 78.012 105.973 77.6234C106.338 76.0692 106.373 70.6006 107.59 68.572C108.395 67.2292 110.43 66.0292 111.515 65.8349C113.195 65.5377 115.264 65.4463 117.024 65.7892C118.447 66.0692 120.373 67.7549 120.893 68.572C122.144 70.5377 122.847 76.092 123.058 78.0463C123.15 78.852 123.481 75.8006 124.733 73.8406C127.053 70.1892 135.27 69.4806 135.578 77.492C135.727 81.2292 135.693 81.0577 135.693 83.572C135.693 86.5206 135.624 88.3034 135.464 90.4406C135.293 92.7206 134.801 97.892 134.087 100.395C133.595 102.115 131.967 105.983 130.355 108.303C130.355 108.303 124.218 115.446 123.55 118.658C122.881 121.875 123.104 121.898 122.967 124.172C122.835 126.452 123.658 129.446 123.658 129.446C123.658 129.446 119.081 130.041 116.607 129.641C114.373 129.286 111.607 124.841 110.893 123.481C109.91 121.606 107.813 121.966 106.995 123.349C105.715 125.538 102.944 129.463 100.995 129.709C97.1726 130.189 89.2526 129.881 83.0526 129.823C83.0526 129.823 84.1097 124.046 81.7554 122.063C80.0126 120.578 77.0126 117.583 75.2183 116.006L70.464 110.743C68.8468 108.686 64.7383 105.435 63.3611 99.4006C62.144 94.052 62.264 91.4292 63.5726 89.2863C64.8983 87.1092 67.4011 85.9206 68.4526 85.7149C69.6411 85.4749 72.4068 85.492 73.4526 86.0692C74.7268 86.772 75.2411 86.9777 76.2411 88.3034C77.5554 90.0577 78.024 90.9092 77.4583 88.9949C77.024 87.4977 75.6183 85.5949 74.9783 83.452C74.3554 81.3892 72.6868 78.0634 72.8068 74.732C72.8526 73.4692 73.3954 70.3263 77.5611 68.7777Z" stroke="black" stroke-width="4" stroke-linejoin="round"/>
<path d="M117.522 112.768V93.0023" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M106.005 112.835L105.913 92.9892" stroke="black" stroke-width="4" stroke-linecap="round"/>
<path d="M94.5984 93.1697L94.7184 112.747" stroke="black" stroke-width="4" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

7
src/svg/pencil.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path d="M121.151 59L117.709 62.4988L115.989 64.2482L71.9875 108.867L71.5597 109.533L71.531 109.572C71.0847 110.284 70.0425 112.069 68.4505 115.305C66.8459 118.566 64.8665 123.014 63.2499 128.111L59 141.536L72.4247 137.286C77.5268 135.669 81.9715 133.689 85.2314 132.086C88.4655 130.495 90.2364 129.462 90.9645 129.005L91.0024 128.976L91.6679 128.548L141.535 79.3845L121.151 59Z" fill="white"/>
<path d="M121.179 65.9121L119.459 67.6615L75.7999 111.938L75.6572 112.157C75.3564 112.637 74.3421 114.347 72.8144 117.453C71.2868 120.558 69.4065 124.801 67.8896 129.584L66.4729 134.062L70.951 132.646C75.738 131.128 79.9778 129.248 83.0826 127.721C86.1875 126.193 87.8873 125.186 88.3783 124.878L88.5969 124.735L134.623 79.3558L121.179 65.9121ZM80.5441 114.058L86.4769 119.991L85.6116 120.847C85.6457 120.823 83.769 121.953 80.9339 123.347C79.8912 123.86 78.3273 124.431 76.8742 124.992L75.5431 123.661C76.1045 122.208 76.6749 120.644 77.1879 119.601C78.583 116.766 79.7071 114.9 79.6884 114.924L80.5441 114.058Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

9
src/svg/plus.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M108.526 137.143H85.783V57.1429H108.526V137.143Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M57.1428 85.7429H137.057V108.486H57.1428V85.7429Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.68 131.429H91.4285V62.9371H102.68V131.429Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M62.9485 91.6057H131.331V102.857H62.9485V91.6057Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 648 B

1
src/svg/pointer_move.svg Symbolic link
View file

@ -0,0 +1 @@
move.svg

View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white" />
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.8022 68.2337C85.265 65.4452 91.6879 63.2337 97.1508 63.1995C105.802 63.148 110.356 65.8052 114.442 69.7766C118.374 73.5995 120.179 77.5023 119.888 83.4909C119.654 88.3652 118.362 91.1937 116.436 93.8395C115.305 95.4452 113.139 97.5023 109.934 99.9995L106.888 102.457C105.002 104.285 104.179 105.102 103.459 107.142C102.922 108.662 102.796 110.034 102.768 112.411H91.4708C91.4536 106.605 91.3622 104.554 91.985 102.051C92.5965 99.6166 94.8536 97.8566 98.0593 95.3595L101.305 92.8109C102.379 92.0109 104.128 90.4452 104.779 89.4909C105.968 87.8566 106.688 85.5937 106.785 83.6337C106.876 81.788 106.322 79.6395 104.819 77.7652C103.036 75.5366 100.802 74.1195 96.4479 74.3137C93.0136 74.468 90.385 76.2166 88.7793 77.868C86.8936 79.8109 86.0708 83.0337 85.9336 85.5823H74.6365C74.9908 77.1023 76.6593 72.3709 81.8022 68.2337Z" stroke="white" stroke-width="2" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M90.0115 119.217H104.149V132.903H90.0115V119.217Z" stroke="white" stroke-width="1.5" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M82.9462 68.1194C86.9291 65.5537 90.6148 63.5823 96.8091 63.5823C106.049 63.5823 108.14 64.9651 112.878 68.748C117.163 72.1708 119.775 76.6108 119.775 82.9194C119.775 86.788 117.695 90.9651 115.763 93.6109C114.638 95.2166 113.14 96.8108 109.935 99.3137L106.438 101.999C104.723 103.337 103.02 105.359 102.455 107.142C102.1 108.274 102.123 110.702 102.1 113.079H91.4719C91.6491 108.051 91.6662 103.908 92.4376 101.988C93.2091 100.068 95.1976 97.8566 98.4034 95.3594L101.529 92.8108C102.598 92.0108 104.243 90.788 104.895 89.8337C106.083 88.1994 107.118 85.828 107.118 83.8623C107.118 81.5994 107.243 79.9994 105.923 78.1366C104.38 75.9766 102.975 73.5994 96.3348 73.4851C91.1634 73.3937 88.9576 76.0394 87.5233 78.3251C86.0833 80.6223 85.5919 83.228 85.5919 85.6966H74.2891C74.6491 77.2166 77.3805 71.6623 82.9462 68.1194Z" fill="black" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M91.5029 120.091H102.812V131.429H91.5029V120.091Z" fill="black" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

9
src/svg/right_ptr.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M0 0H200V200H0V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M133.234 139.514V48L67.0001 114.394H105.749L108.097 115.103L133.234 139.514Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.323 143.367L101.923 152.139L128.677 88.7731L107.614 79.8988L81.323 143.367Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M88.9432 139.478L99.4803 143.901L117.195 101.763L106.675 97.3348L88.9432 139.478Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M127.52 61.7549V125.686L110.555 109.309L108.109 108.515H80.8631L127.52 61.7549Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 768 B

1
src/svg/right_side.svg Symbolic link
View file

@ -0,0 +1 @@
left_side.svg

7
src/svg/right_tee.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.971 51.4286V85.7486H97.1429V63.6572L62.8571 97.2114L97.1429 130.869V108.543H102.971V142.857H125.714V51.4286H102.971Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M108.571 57.1428V91.4285H91.3143V78.6285L72.3429 97.2057L91.3143 115.623V102.743H108.571V137.029H119.886V57.1428H108.571Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 565 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M85.72 62.86L85.7143 102.854H62.8572L97.1372 137.146L131.429 102.854H108.571V62.86H85.72Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 68.5714V108.571H117.634L97.1429 129.063L76.6515 108.571H91.4286L91.4343 68.5714H102.857Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 509 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M85.7142 51.4286V85.7486H79.8799V65.9429L45.7142 97.2114L79.8799 128.417V108.543H85.7142V142.857H85.8285H108.463V108.537H114.509V128.349L148.571 97.0743L114.509 65.8686V85.7429H108.463V51.4286H85.7142Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M139.085 97.0788L120.113 78.6617V91.5417H102.856V57.4845H102.747V57.3702H91.656V91.656H74.1703V78.6274L55.1989 97.2045L74.1703 115.627V102.747H91.656V137.033H91.7703H102.747H102.856V102.747H120.113V115.656L139.085 97.0788Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 746 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M62.8572 97.1428L97.1372 131.434L97.1429 108.571H137.143V85.7371L97.1429 85.7257V62.8571L62.8572 97.1428Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M131.429 102.857H91.4286V117.64L70.9371 97.1429L91.4286 76.6572V91.4343L131.429 91.4514V102.857Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 524 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 131.429L137.143 97.1428L102.857 62.8571V85.7143H62.8572V108.571H102.857V131.429Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M68.5714 91.4286H108.571V76.6514L129.063 97.1429L108.571 117.634V102.857H68.5714V91.4286Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 501 B

7
src/svg/sb_up_arrow.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M131.429 91.4286L97.1429 57.1429L62.8572 91.4286H85.7143V131.429H108.571V91.4286H131.429Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M91.4285 125.714V85.7143H76.6514L97.1428 65.2228L117.634 85.7143H102.857V125.714H91.4285Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 501 B

View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M97.076 45.7142L65.8703 79.7828H85.7446V85.7142H51.4303V85.8228V108.349V108.463H85.7446V114.509H65.9389L97.2074 148.571L128.419 114.509H108.545V108.463H142.859V85.7142H108.539V79.7828H128.35L97.076 45.7142Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M136.919 91.5401H102.742V74.1743H115.657L97.0794 55.2086L78.6623 74.1743H91.5423V91.5401H57.3709H57.2566V102.746H57.3709H91.6566V120.111H78.628L97.2052 139.083L115.622 120.111H102.748V102.746H136.919H137.034V91.5401H136.919Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 753 B

1
src/svg/tcross.svg Symbolic link
View file

@ -0,0 +1 @@
cross.svg

1
src/svg/top_left_corner.svg Symbolic link
View file

@ -0,0 +1 @@
bottom_right_corner.svg

View file

@ -0,0 +1 @@
bottom_left_corner.svg

7
src/svg/top_side.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M97.1428 51.4286L62.8571 85.6H85.7143V97.1429V108.571H62.8571L97.1428 142.857L131.429 108.571H108.571V97.1429V85.6H131.429L97.1428 51.4286ZM97.1428 59.5086L117.634 79.8914H102.857V94.2914V114.286H117.634L97.1428 134.777L76.6514 114.286H91.4285V94.2914V79.8914H76.6514L97.1428 59.5086Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 94.2857V79.8857H117.634L97.1429 59.5086L76.6514 79.8857H91.4286V94.2857V114.286H76.6514L97.1429 134.777L117.634 114.286H102.857V94.2857Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 752 B

7
src/svg/top_tee.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4286 74.2886V97.0314H85.7486V103.083H65.9429L97.2114 137.146L128.417 103.083H108.543V97.0314H142.857V74.2886H51.4286Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M57.1429 91.3143H91.4286V108.686H78.6286L97.2057 127.657L115.623 108.686H102.743V91.3143H137.029V80.1143H57.1429V91.3143Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 565 B

7
src/svg/ul_angle.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M68.5714 68.5714V117.057L84.7371 100.891L113.029 129.171L129.183 113.017L100.897 84.7371L117.063 68.5714H68.5714Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M113.025 121.094L84.7332 92.8137L74.2875 103.259V74.2823H103.265L92.8132 84.7337L121.105 113.014L113.025 121.094Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 549 B

7
src/svg/ur_angle.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M125.714 117.065V68.5731H77.2286L93.3943 84.7388L65.1086 113.025L81.2686 129.185L109.554 100.899L125.714 117.065Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M73.1891 113.025L101.475 84.7331L91.0292 74.2874H120.006V103.265L109.555 92.8131L81.2692 121.105L73.1891 113.025Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 549 B

View file

@ -0,0 +1,3 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M139.653 119.409H145.367C145.839 111.646 142.329 104.175 136.053 99.5808C142.329 94.9866 145.839 87.516 145.367 79.7522H139.653C140.604 87.2254 136.231 94.3548 129.139 96.8951L99.9959 96.8951V91.1808H94.2816V96.8951L70.5102 96.8951C63.4323 94.3371 59.0675 87.2206 59.9959 79.7522H54.2816C53.8634 87.5057 57.3613 94.9523 63.5959 99.5808C57.3613 104.209 53.8634 111.656 54.2816 119.409H59.9959C59.2355 112.061 63.5689 105.137 70.5102 102.609L94.3959 102.609V108.324H100.11V102.609L129.139 102.609C136.094 105.12 140.435 112.056 139.653 119.409Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 675 B

12
src/svg/wait.svg Normal file
View file

@ -0,0 +1,12 @@
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="200px" height="200px" viewBox="-36 -39 200 200" xml:space="preserve" smiling="fake">
<script type="text/ecmascript" xlink:href="//faviconer.net/jscripts/smil.user.js" />
<g transform="scale(1.2)">
<path d="M.6 57.54c5.73-6.23 17.33-15.5 33.66-12.35C55.4 48.5 64 63.95 64 63.95S42.42 65 30.28 83.63a38.63 38.63 0 0 0-3.4 32.15 64.47 64.47 0 0 1-5.52-4.44A63.64 63.64 0 0 1 .6 57.54z" fill="#ffcb02" />
<path d="M65.32 29.05c7.65 19.98-1.44 35.18-1.44 35.18S52.2 46.05 30.03 44.85A38.6 38.6 0 0 0 .56 57.93 63.8 63.8 0 0 1 37.56 6c8.2 1.8 22.26 7.16 27.76 23.05z" fill="#ff9e02" />
<path d="M94.92 47.7c-13.48 16.63-31.2 16.36-31.2 16.36s9.92-19.2-.13-39a38.6 38.6 0 0 0-26.18-19 63.78 63.78 0 0 1 63.52 6.03c2.56 8 4.98 22.85-6.05 35.6z" fill="#ff4b42" />
<path d="M93.52 82.53C72.38 79.17 63.75 63.7 63.75 63.7s21.6-1.02 33.7-19.63a38.6 38.6 0 0 0 3.43-32.04 64.33 64.33 0 0 1 5.74 4.6 63.63 63.63 0 0 1 20.82 53.26c-5.62 6.2-17.34 15.8-33.94 12.6z" fill="#c063d6" />
<path d="M62.5 99c-7.65-19.98 1.44-35.17 1.44-35.17S75.56 81.6 97.74 82.8a39.1 39.1 0 0 0 29.73-13.03 63.8 63.8 0 0 1-37.16 52.3c-8.2-1.8-22.25-7.15-27.8-23.06z" fill="#17a4f6" />
<path d="M26.64 115.63C24 107.6 21.6 93.06 32.5 80.5c13.48-16.62 31.58-16.55 31.58-16.55s-9.6 19.06.44 38.86a38.82 38.82 0 0 0 26.05 19.17 63.78 63.78 0 0 1-63.93-6.3z" fill="#4fca24" />
<animateTransform attributeName="transform" type="rotate" from="0 64 64" to="360 64 64" dur="1s" repeatCount="indefinite" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,4 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M144 100.451C144 123.904 124.977 142.901 101.492 142.901C78.0076 142.901 58.9846 123.904 58.9846 100.451C58.9846 76.9975 78.0076 58 101.492 58C124.977 58 144 77.032 144 100.451Z" fill="black"/>
<path d="M123.991 58.4628H124.719L124.244 59.0287H123.959V58.4628H123.991ZM69.2054 59.8209V60.4622L67.432 63.0276H67.147L66.862 61.0281C67.9387 60.2359 68.6988 59.8209 69.2054 59.8209ZM133.333 60.7263C134.853 60.7263 135.708 61.8958 135.898 64.197L134.599 75.062H135.074L136.088 74.2698H136.373V74.4961C134.979 75.5147 133.618 78.3064 132.319 82.8712C131.812 86.7947 130.989 90.4163 129.817 93.7362C128.772 97.1692 128.266 100.338 128.266 103.243L126.302 108.977C126.302 109.468 127.031 109.958 128.519 110.411C128.234 111.543 127.854 112.109 127.316 112.109V112.448H127.791V112.674C127.791 113.278 127.031 113.542 125.479 113.542L125.764 113.882V115.013H125.289C125.606 116.145 126.271 116.711 127.316 116.711V117.277H125.289V117.616C125.954 117.616 126.302 118.107 126.302 119.05L123.452 120.182L123.737 120.521V120.748C123.737 121.125 123.389 121.314 122.724 121.314V121.653C123.579 121.653 124.022 121.842 124.022 122.219C122.819 122.709 121.204 125.086 119.209 129.387C117.182 133.197 115.409 135.121 113.92 135.121H113.382C112.242 134.253 111.323 131.424 110.595 126.595C107.713 119.239 106.257 114.9 106.257 113.618C106.257 110.298 105.338 106.751 103.47 102.979C102.963 101.319 102.647 99.2064 102.457 96.6788L101.253 96.3392C98.1814 101.885 96.598 106.186 96.4397 109.317C95.5846 111.128 94.9196 113.353 94.4129 115.919C96.2497 116.522 97.1997 117.088 97.1997 117.616V117.956C95.743 117.73 94.7296 117.352 94.1596 116.749C93.5262 118.182 92.7029 122.219 91.6578 128.821C90.8345 131.877 89.8211 133.423 88.6177 133.423C85.1976 132.065 82.3159 129.877 80.0358 126.821C79.6875 126.821 79.0858 125.275 78.2624 122.219C77.7557 122.219 77.439 120.672 77.249 117.616C75.539 113.278 74.3673 108.298 73.7339 102.715V94.3398H73.4489L72.2455 94.6793V94.3398C72.2455 93.9625 72.6572 93.7739 73.4489 93.7739L73.1639 88.945V85.1725L71.2005 73.1003V67.9319C72.0555 64.7252 73.5439 63.103 75.6656 63.103H89.8844V63.6689C88.7444 63.7066 87.9844 64.0084 87.5727 64.5366C86.7177 63.933 85.8943 63.6689 85.071 63.6689H82.2842L80.7325 63.8952L80.4475 63.6689H80.2575L78.2307 63.8952L77.2174 63.6689L76.489 63.8952L75.6656 63.6689C78.9591 67.9696 80.8908 71.5913 81.4925 74.5338H83.8043V75.0997H82.0309V75.7411C82.6959 78.231 83.2026 79.4382 83.5192 79.4382H84.0576L85.261 79.0986L85.546 79.4382L85.831 79.0986L86.116 79.4382V79.6645C85.2293 80.3059 84.5959 81.2113 84.2793 82.3053H84.0893V82.8712H84.5643C85.1976 91.8499 86.3693 98.6405 88.0794 103.243L89.0928 104.035H89.6311C90.2961 104.035 91.7212 100.904 93.9062 94.6039C95.2996 91.7744 96.313 89.2468 96.9464 87.0965L96.6613 86.2288C98.0547 84.1161 99.5114 83.0976 101 83.0976H101.475C102.425 83.0976 103.09 83.7012 103.502 84.8707C104.768 86.6438 105.782 89.2845 106.542 92.8307L110.342 101.206C110.848 101.809 111.07 102.451 111.07 103.205C112.464 106.374 113.73 108.487 114.87 109.505H115.694C116.644 109.505 117.91 105.582 119.494 97.7351C119.779 97.7351 120.507 95.6224 121.71 91.4349V91.0954L117.435 90.5295L116.422 90.869H115.124V90.2277L117.689 90.0013H122.692C124.624 83.0598 126.397 77.7028 128.044 73.8925C128.582 66.0456 129.342 62.1221 130.261 62.1221L133.333 60.7263ZM118.924 61.594C118.639 62.3485 118.069 62.7258 117.15 62.7258V62.1599L118.924 61.594ZM93.3996 63.0653H100.24V63.6312L98.6881 63.8575L97.1997 63.6312L95.9013 64.197L95.4263 63.6312H93.3996V63.0653ZM57.8367 64.1593H58.5651L59.0401 64.7252V65.0647L57.5517 66.7624V68.196H57.0134V67.3283L57.2984 67.1019V66.7624L56 65.3288C56.3167 64.5366 56.9184 64.1593 57.8367 64.1593ZM107.555 67.6301H108.283V67.8564C108.283 68.2337 108.03 68.4223 107.555 68.4223L107.27 68.7618V69.1014L106.542 68.7618V68.196L107.555 67.6301ZM103.755 70.799V71.1385C103.755 71.5535 102.678 72.0062 100.493 72.4967V71.9308L101.982 71.1385L102.267 71.3649H102.457L103.755 70.799ZM59.5785 73.7039V73.9302L59.0401 74.4961L58.8501 74.2698V73.9302L59.0401 73.7039H59.5785ZM96.4397 73.7039V73.9302C95.4896 74.7979 93.9696 75.5524 91.8479 76.2692V75.7033C92.1962 75.7033 92.3862 75.4015 92.3862 74.8357L96.4397 73.7039ZM109.297 76.4956L109.582 76.8351V77.0615L109.107 77.7028H108.822L108.283 77.0615V76.8351L109.297 76.4956ZM118.639 76.8351H118.924V77.0615L118.449 77.7028H118.164V77.3633L118.639 76.8351ZM114.364 80.8717L115.377 81.664C115.187 82.2676 114.712 82.5317 113.889 82.5317L113.35 81.664C113.35 81.3999 113.699 81.1358 114.364 80.8717ZM120.475 84.5688L120.665 84.9084V85.1347L120.475 85.4743H119.937V85.1347L120.475 84.5688ZM110.848 87.4737V87.7001L109.55 88.9073H108.822V88.5678C108.822 88.1151 109.518 87.7378 110.848 87.4737ZM68.9204 98.6782H69.2054V98.9046C68.5404 100.678 67.9387 101.734 67.432 102.111H66.8937V100.904L68.9204 98.6782ZM102.013 112.109H102.298V112.674L100.271 113.882L99.9865 113.542V112.976L102.013 112.109ZM74.2089 115.919H74.6839L75.5073 119.05H74.969L74.2406 116.145L74.2089 115.919ZM101.253 119.616H101.443L102.267 120.484L101.982 120.71H101.697L101.221 119.918L101.253 119.616Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

3
src/svg/x_cursor.svg Normal file
View file

@ -0,0 +1,3 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M81.6598 68C80.2629 68 78.8727 68.5383 77.8024 69.6113L69.6055 77.6678C67.4648 79.8139 67.4648 83.2559 69.6055 85.402L83.7492 99.5814L69.6055 113.6C67.4648 115.746 67.4648 119.188 69.6055 121.334L77.8024 129.39C79.943 131.537 83.3764 131.537 85.5171 129.39L99.5 115.372L113.644 129.39C115.784 131.537 119.218 131.537 121.358 129.39L129.395 121.334C131.535 119.188 131.535 115.746 129.395 113.6L115.412 99.5814L129.395 85.402C131.535 83.2559 131.535 79.8139 129.395 77.6678L121.358 69.6113C119.218 67.4652 115.784 67.4652 113.644 69.6113L99.5 83.6296L85.5171 69.6113C84.4468 68.5383 83.0566 68 81.6598 68Z" fill="black" stroke="white" stroke-width="5" stroke-miterlimit="10"/>
</svg>

After

Width:  |  Height:  |  Size: 792 B

3
src/svg/xterm.svg Normal file
View file

@ -0,0 +1,3 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M119.657 62.8571V57.1428C111.893 56.6716 104.423 60.1808 99.8286 66.4571C95.2344 60.1808 87.7638 56.6716 80 57.1428V62.8571C87.4732 61.9065 94.6026 66.2791 97.1429 73.3714V102.514H91.4286V108.229H97.1429V132C94.5849 139.078 87.4685 143.443 80 142.514V148.229C87.7536 148.647 95.2001 145.149 99.8286 138.914C104.457 145.149 111.904 148.647 119.657 148.229V142.514C112.309 143.275 105.385 138.941 102.857 132V108.114H108.571V102.4H102.857V73.3714C105.368 66.4165 112.304 62.0756 119.657 62.8571Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 626 B

9
src/svg/zoom_in.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M117.143 85.7143C117.143 103.074 103.074 117.143 85.7143 117.143C68.3543 117.143 54.2858 103.074 54.2858 85.7143C54.2858 68.3543 68.3543 54.2858 85.7143 54.2858C103.074 54.2858 117.143 68.3543 117.143 85.7143Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M117.143 85.7143C117.143 103.074 103.074 117.143 85.7143 117.143C68.3543 117.143 54.2858 103.074 54.2858 85.7143C54.2858 68.3543 68.3543 54.2858 85.7143 54.2858C103.074 54.2858 117.143 68.3543 117.143 85.7143Z" stroke="black" stroke-width="5"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 80H91.4286V68.5714H80V80H68.5714V91.3143H80V102.857H91.4286V91.3143H102.857V80Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M134.777 142.857L142.857 134.777L111.719 103.64L103.639 111.72L134.777 142.857Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

9
src/svg/zoom_out.svg Normal file
View file

@ -0,0 +1,9 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.01">
<path opacity="0.01" d="M200 0H0V200H200V0Z" fill="white"/>
</g>
<path fill-rule="evenodd" clip-rule="evenodd" d="M117.143 85.7143C117.143 103.074 103.074 117.143 85.7143 117.143C68.3543 117.143 54.2858 103.074 54.2858 85.7143C54.2858 68.3543 68.3543 54.2858 85.7143 54.2858C103.074 54.2858 117.143 68.3543 117.143 85.7143Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M117.143 85.7143C117.143 103.074 103.074 117.143 85.7143 117.143C68.3543 117.143 54.2858 103.074 54.2858 85.7143C54.2858 68.3543 68.3543 54.2858 85.7143 54.2858C103.074 54.2858 117.143 68.3543 117.143 85.7143Z" stroke="black" stroke-width="5"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.857 91.4285H68.6858V80.1143H102.857V91.4285Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M134.777 142.857L142.857 134.777L111.719 103.64L103.639 111.72L134.777 142.857Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1,020 B

18
tsconfig.json Normal file
View file

@ -0,0 +1,18 @@
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"lib": ["es2015", "dom"],
"outDir": "./dist",
"typeRoots": ["node_modules/@types"],
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"resolveJsonModule": true,
"noFallthroughCasesInSwitch": true,
"esModuleInterop": true
},
"include": ["src/**/*", "node_modules/@types/puppeteer/index.d.ts"],
"exclude": ["node_modules", "**/*.test.ts"]
}

1298
yarn.lock Normal file

File diff suppressed because it is too large Load diff