Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/icons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <markdotto@gmail.com>2019-07-26 03:27:35 +0300
committerMark Otto <markdotto@gmail.com>2019-07-26 03:27:35 +0300
commitb83c9a4df213479165d7334961d9deb49fc62b4c (patch)
treea5c88f953f2541e39ce63afa3cddefc1a52a60ee
First commit (basic asset reading setup with jekyll)
-rw-r--r--.gitignore2
-rw-r--r--.ruby-version1
-rw-r--r--CNAME1
-rw-r--r--README.md33
-rw-r--r--_config.yml4
-rw-r--r--_layouts/default.html18
-rw-r--r--assets/icons/arrow-clockwise.svg6
-rw-r--r--assets/icons/arrow-counter-clockwise.svg6
-rw-r--r--assets/icons/arrow-down.svg6
-rw-r--r--assets/icons/arrow-left-right.svg8
-rw-r--r--assets/icons/arrow-left.svg6
-rw-r--r--assets/icons/arrow-repeat.svg8
-rw-r--r--assets/icons/arrow-right.svg6
-rw-r--r--assets/icons/arrow-up-down.svg8
-rw-r--r--assets/icons/arrow-up.svg6
-rw-r--r--assets/icons/bold.svg3
-rw-r--r--assets/icons/bookmark-fill.svg3
-rw-r--r--assets/icons/bookmark.svg3
-rw-r--r--assets/icons/bootstrap-fill.svg3
-rw-r--r--assets/icons/bootstrap.svg3
-rw-r--r--assets/icons/calendar.svg15
-rw-r--r--assets/icons/check.svg3
-rw-r--r--assets/icons/chevron-compact-left.svg3
-rw-r--r--assets/icons/chevron-compact-right.svg3
-rw-r--r--assets/icons/chevron-down.svg3
-rw-r--r--assets/icons/chevron-left.svg3
-rw-r--r--assets/icons/chevron-right.svg3
-rw-r--r--assets/icons/chevron-up.svg3
-rw-r--r--assets/icons/circle-slash.svg6
-rw-r--r--assets/icons/circle.svg3
-rw-r--r--assets/icons/clock-fill.svg3
-rw-r--r--assets/icons/clock.svg10
-rw-r--r--assets/icons/code.svg3
-rw-r--r--assets/icons/credit-card.svg7
-rw-r--r--assets/icons/dash.svg3
-rw-r--r--assets/icons/diff.svg6
-rw-r--r--assets/icons/display.svg6
-rw-r--r--assets/icons/dot.svg3
-rw-r--r--assets/icons/ellipsis.svg3
-rw-r--r--assets/icons/envelope.svg6
-rw-r--r--assets/icons/fullscreen.svg3
-rw-r--r--assets/icons/gear-fill.svg3
-rw-r--r--assets/icons/gear.svg6
-rw-r--r--assets/icons/heart-filled.svg3
-rw-r--r--assets/icons/heart-outline.svg3
-rw-r--r--assets/icons/house-fill.svg6
-rw-r--r--assets/icons/house.svg6
-rw-r--r--assets/icons/image.svg7
-rw-r--r--assets/icons/italic.svg3
-rw-r--r--assets/icons/justify-left.svg3
-rw-r--r--assets/icons/justify-right.svg3
-rw-r--r--assets/icons/justify.svg3
-rw-r--r--assets/icons/list-numbered.svg6
-rw-r--r--assets/icons/list-unordered.svg3
-rw-r--r--assets/icons/list.svg3
-rw-r--r--assets/icons/lock-fill.svg6
-rw-r--r--assets/icons/lock.svg3
-rw-r--r--assets/icons/move.svg3
-rw-r--r--assets/icons/pause-fill.svg3
-rw-r--r--assets/icons/pause.svg3
-rw-r--r--assets/icons/people.svg3
-rw-r--r--assets/icons/person.svg3
-rw-r--r--assets/icons/play-fill.svg3
-rw-r--r--assets/icons/play.svg3
-rw-r--r--assets/icons/plus.svg3
-rw-r--r--assets/icons/reboot.svg3
-rw-r--r--assets/icons/resize.svg3
-rw-r--r--assets/icons/search.svg6
-rw-r--r--assets/icons/skip-backward-fill.svg7
-rw-r--r--assets/icons/skip-backward.svg6
-rw-r--r--assets/icons/skip-end-fill.svg6
-rw-r--r--assets/icons/skip-end.svg6
-rw-r--r--assets/icons/skip-forward-fill.svg7
-rw-r--r--assets/icons/skip-forward.svg6
-rw-r--r--assets/icons/skip-start-fill.svg6
-rw-r--r--assets/icons/skip-start.svg6
-rw-r--r--assets/icons/star-filled.svg3
-rw-r--r--assets/icons/star-outline.svg3
-rw-r--r--assets/icons/stop-fill.svg3
-rw-r--r--assets/icons/stop.svg3
-rw-r--r--assets/icons/tag.svg3
-rw-r--r--assets/icons/terminal-fill.svg6
-rw-r--r--assets/icons/terminal.svg3
-rw-r--r--assets/icons/text-center.svg3
-rw-r--r--assets/icons/text-indent.svg6
-rw-r--r--assets/icons/text-left.svg3
-rw-r--r--assets/icons/text-right.svg3
-rw-r--r--assets/icons/tv.svg6
-rw-r--r--assets/icons/type.svg3
-rw-r--r--assets/icons/underline.svg3
-rw-r--r--assets/icons/unlock-fill.svg6
-rw-r--r--assets/icons/unlock.svg3
-rw-r--r--assets/icons/warning.svg3
-rw-r--r--assets/icons/wifi.svg1
-rw-r--r--assets/icons/x.svg3
-rw-r--r--index.html35
-rw-r--r--package.json23
97 files changed, 510 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..3a62a37c3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+_site
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 000000000..0bee604df
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+2.3.3
diff --git a/CNAME b/CNAME
new file mode 100644
index 000000000..b6dafc082
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+ghicons.github.com \ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..7d57c524e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,33 @@
+<p align="center">
+ <img src="https://cloud.githubusercontent.com/assets/98681/24211275/c4ebd04e-0ee8-11e7-8606-061d656a42df.png" width="60" height="60">
+
+ <h3 align="center">GitHub marketing icons</h3>
+ <p align="center">
+ Icons for use in our web, email, and other digital marketing collateral. Choose from GitHub's brand blue color, or a monochrome white on dark.
+ <br>
+ <br>
+ <a href="https://github.github.com/icons/">Browse icons</a>
+ </p>
+</p>
+
+---
+
+## Development
+This site is built on Jekyll and hosted on GitHub pages.
+
+```bash
+git clone https://github.github.com/icons/
+jekyll serve
+```
+
+Open in your browser at <http://localhost:4000/icons/>.
+
+## Todos
+While not feature complete, we're at a solid v1 right now. Here's what could come next.
+
+- File names and usage guidelines
+- Custom colors (limited to blue and white right now)
+- SVG vs PNG support
+
+## Maintainers
+[@mdo](https://github.com/mdo) and [@ceciliorz](https://github.com/ceciliorz)
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 000000000..662405406
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,4 @@
+title: Bootstrap Icons
+baseurl: ""
+
+markdown: kramdown
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 000000000..64e3f60c4
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <meta name="robots" content="noindex">
+ <title>{{ site.title }}</title>
+ <link rel="icon" type="image/x-icon" href="{{ "/assets/favicon.ico" | relative_url }}">
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
+ <style>
+ .name {
+ font-size: .8125rem;
+ }
+ </style>
+ </head>
+ <body>
+ {{ content }}
+ </body>
+</html>
diff --git a/assets/icons/arrow-clockwise.svg b/assets/icons/arrow-clockwise.svg
new file mode 100644
index 000000000..d5da5795f
--- /dev/null
+++ b/assets/icons/arrow-clockwise.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-clockwise" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round">
+ <path d="M12.137 4.392A6 6 0 1 0 16 10"/>
+ <path stroke-linejoin="round" d="M11 2.25l2 2-2 2"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-counter-clockwise.svg b/assets/icons/arrow-counter-clockwise.svg
new file mode 100644
index 000000000..01bb0a2ba
--- /dev/null
+++ b/assets/icons/arrow-counter-clockwise.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-counter-clockwise" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round">
+ <path d="M7.863 4.392A6 6 0 1 1 4 10"/>
+ <path stroke-linejoin="round" d="M9 2.25l-2 2 2 2"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-down.svg b/assets/icons/arrow-down.svg
new file mode 100644
index 000000000..703bb29ee
--- /dev/null
+++ b/assets/icons/arrow-down.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-down" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M10.5 14.5v-9"/>
+ <path stroke-linejoin="round" d="M6.5 10.5l4 4-4-4zm4 4l4-4-4 4z"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-left-right.svg b/assets/icons/arrow-left-right.svg
new file mode 100644
index 000000000..b90842d26
--- /dev/null
+++ b/assets/icons/arrow-left-right.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-left-right" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M5 14h9"/>
+ <path stroke-linejoin="round" d="M12 11l3 3-3 3"/>
+ <path d="M15 6H6"/>
+ <path stroke-linejoin="round" d="M8 3L5 6l3 3"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-left.svg b/assets/icons/arrow-left.svg
new file mode 100644
index 000000000..879944081
--- /dev/null
+++ b/assets/icons/arrow-left.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-left" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M15 10H6"/>
+ <path stroke-linejoin="round" d="M9 14l-4-4 4 4zm-4-4l4-4-4 4z"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-repeat.svg b/assets/icons/arrow-repeat.svg
new file mode 100644
index 000000000..dd9df8a35
--- /dev/null
+++ b/assets/icons/arrow-repeat.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-repeat" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round">
+ <path d="M4 10a6 6 0 0 0 11.189 3.014"/>
+ <path stroke-linejoin="round" d="M2 11l2-2 2 2h0"/>
+ <path d="M16 10A6 6 0 0 0 4.811 6.986"/>
+ <path stroke-linejoin="round" d="M18 9l-2 2-2-2h0"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-right.svg b/assets/icons/arrow-right.svg
new file mode 100644
index 000000000..adbddb822
--- /dev/null
+++ b/assets/icons/arrow-right.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-right" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M15 10H6"/>
+ <path stroke-linejoin="round" d="M11 14l4-4-4 4zm4-4l-4-4 4 4z"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-up-down.svg b/assets/icons/arrow-up-down.svg
new file mode 100644
index 000000000..4e22eccf0
--- /dev/null
+++ b/assets/icons/arrow-up-down.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-up-down" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M14 5v9"/>
+ <path stroke-linejoin="round" d="M11 12l3 3 3-3"/>
+ <path d="M6 15V6"/>
+ <path stroke-linejoin="round" d="M3 8l3-3 3 3"/>
+ </g>
+</svg>
diff --git a/assets/icons/arrow-up.svg b/assets/icons/arrow-up.svg
new file mode 100644
index 000000000..a1f84eaf6
--- /dev/null
+++ b/assets/icons/arrow-up.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-arrow-up" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-width="1">
+ <path d="M10 15V6"/>
+ <path stroke-linejoin="round" d="M6 9l4-4-4 4zm4-4l4 4-4-4z"/>
+ </g>
+</svg>
diff --git a/assets/icons/bold.svg b/assets/icons/bold.svg
new file mode 100644
index 000000000..258ebbc21
--- /dev/null
+++ b/assets/icons/bold.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-bold" viewBox="0 0 20 20">
+ <path d="M10.662 14H6.865V5.545h3.697c1.641 0 2.62.803 2.62 2.11 0 .896-.662 1.675-1.53 1.804v.105c1.12.088 1.934.926 1.934 2.016 0 1.488-1.12 2.42-2.924 2.42zM8.635 6.857v2.204h1.33c.955 0 1.476-.399 1.476-1.102 0-.691-.486-1.102-1.33-1.102H8.635zm0 5.825h1.576c1.02 0 1.57-.434 1.57-1.243 0-.79-.568-1.212-1.611-1.212H8.635v2.455z"/>
+</svg>
diff --git a/assets/icons/bookmark-fill.svg b/assets/icons/bookmark-fill.svg
new file mode 100644
index 000000000..01c7467ce
--- /dev/null
+++ b/assets/icons/bookmark-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-bookmark-fill" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M7 3h6a2 2 0 0 1 2 2v12l-5-3-5 3V5a2 2 0 0 1 2-2z"/>
+</svg>
diff --git a/assets/icons/bookmark.svg b/assets/icons/bookmark.svg
new file mode 100644
index 000000000..1e3168681
--- /dev/null
+++ b/assets/icons/bookmark.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-bookmark" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" d="M5.5 16.117l4.5-2.7 4.5 2.7V5A1.5 1.5 0 0 0 13 3.5H7A1.5 1.5 0 0 0 5.5 5v11.117z"/>
+</svg>
diff --git a/assets/icons/bootstrap-fill.svg b/assets/icons/bootstrap-fill.svg
new file mode 100644
index 000000000..556ccbb48
--- /dev/null
+++ b/assets/icons/bootstrap-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-bootstrap-fill" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M6.002 2h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4zm4.535 12c1.804 0 2.888-.908 2.888-2.396 0-1.102-.761-1.916-1.904-2.034v-.1c.832-.14 1.482-.93 1.482-1.816 0-1.3-.955-2.11-2.542-2.11H7.062V14h3.475zM8.375 6.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H8.375V6.658zm0 6.229v-2.725h1.822c1.236 0 1.887.463 1.887 1.348 0 .896-.627 1.377-1.811 1.377H8.375z"/>
+</svg>
diff --git a/assets/icons/bootstrap.svg b/assets/icons/bootstrap.svg
new file mode 100644
index 000000000..44ce97c6d
--- /dev/null
+++ b/assets/icons/bootstrap.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-bootstrap" viewBox="0 0 20 20">
+ <path d="M6.002 2h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4zm0 1.5a2.5 2.5 0 0 0-2.5 2.5v8a2.5 2.5 0 0 0 2.5 2.5h8a2.5 2.5 0 0 0 2.5-2.5V6a2.5 2.5 0 0 0-2.5-2.5h-8zM10.537 14H7.062V5.545h3.399c1.587 0 2.542.809 2.542 2.11 0 .884-.65 1.675-1.482 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396zM8.375 6.658v2.467h1.558c1.16 0 1.764-.428 1.764-1.23 0-.78-.569-1.237-1.541-1.237H8.375zm0 6.229h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H8.375v2.725z"/>
+</svg>
diff --git a/assets/icons/calendar.svg b/assets/icons/calendar.svg
new file mode 100644
index 000000000..57964c3c3
--- /dev/null
+++ b/assets/icons/calendar.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-calendar" viewBox="0 0 20 20">
+ <g fill-rule="evenodd" transform="translate(2 2)">
+ <path fill-rule="nonzero" d="M2 0h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm0 3c-.552 0-1 .384-1 .857v10.286c0 .473.448.857 1 .857h12c.552 0 1-.384 1-.857V3.857C15 3.384 14.552 3 14 3H2z"/>
+ <circle cx="6.5" cy="6" r="1"/>
+ <circle cx="9.5" cy="6" r="1"/>
+ <circle cx="12.5" cy="6" r="1"/>
+ <circle cx="3.5" cy="9" r="1"/>
+ <circle cx="6.5" cy="9" r="1"/>
+ <circle cx="9.5" cy="9" r="1"/>
+ <circle cx="12.5" cy="9" r="1"/>
+ <circle cx="3.5" cy="12" r="1"/>
+ <circle cx="6.5" cy="12" r="1"/>
+ <circle cx="9.5" cy="12" r="1"/>
+ </g>
+</svg>
diff --git a/assets/icons/check.svg b/assets/icons/check.svg
new file mode 100644
index 000000000..d31ef6d92
--- /dev/null
+++ b/assets/icons/check.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-check" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M5 9.5L8.5 13l7-7"/>
+</svg>
diff --git a/assets/icons/chevron-compact-left.svg b/assets/icons/chevron-compact-left.svg
new file mode 100644
index 000000000..d876976e5
--- /dev/null
+++ b/assets/icons/chevron-compact-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-condensed-left" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M11 4l-3 6 3 6"/>
+</svg>
diff --git a/assets/icons/chevron-compact-right.svg b/assets/icons/chevron-compact-right.svg
new file mode 100644
index 000000000..3a36d0eb1
--- /dev/null
+++ b/assets/icons/chevron-compact-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-condensed-right" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M9 16l3-6-3-6"/>
+</svg>
diff --git a/assets/icons/chevron-down.svg b/assets/icons/chevron-down.svg
new file mode 100644
index 000000000..bf0ef6ec4
--- /dev/null
+++ b/assets/icons/chevron-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-down" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M4 7l6 6 6-6"/>
+</svg>
diff --git a/assets/icons/chevron-left.svg b/assets/icons/chevron-left.svg
new file mode 100644
index 000000000..00ac592de
--- /dev/null
+++ b/assets/icons/chevron-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-left" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M13 4l-6 6 6 6"/>
+</svg>
diff --git a/assets/icons/chevron-right.svg b/assets/icons/chevron-right.svg
new file mode 100644
index 000000000..af8336f47
--- /dev/null
+++ b/assets/icons/chevron-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-right" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M7 16l6-6-6-6"/>
+</svg>
diff --git a/assets/icons/chevron-up.svg b/assets/icons/chevron-up.svg
new file mode 100644
index 000000000..d11baf165
--- /dev/null
+++ b/assets/icons/chevron-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-chevron-up" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M4 13l6-6 6 6"/>
+</svg>
diff --git a/assets/icons/circle-slash.svg b/assets/icons/circle-slash.svg
new file mode 100644
index 000000000..eb5b5191a
--- /dev/null
+++ b/assets/icons/circle-slash.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-circle-slash" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(2 2)">
+ <circle cx="8" cy="8" r="7.5"/>
+ <path d="M2.961 2.961l10.112 10.112"/>
+ </g>
+</svg>
diff --git a/assets/icons/circle.svg b/assets/icons/circle.svg
new file mode 100644
index 000000000..d28e168b9
--- /dev/null
+++ b/assets/icons/circle.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-circle" viewBox="0 0 20 20">
+ <path d="M10 16a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm0-1.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/>
+</svg>
diff --git a/assets/icons/clock-fill.svg b/assets/icons/clock-fill.svg
new file mode 100644
index 000000000..683d6ad0f
--- /dev/null
+++ b/assets/icons/clock-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-clock-fill" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M10 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm-.5-8.5h-4a.5.5 0 0 0 0 1H10a.5.5 0 0 0 .5-.5V4.5a.5.5 0 0 0-1 0v5z"/>
+</svg>
diff --git a/assets/icons/clock.svg b/assets/icons/clock.svg
new file mode 100644
index 000000000..1a84777fa
--- /dev/null
+++ b/assets/icons/clock.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-clock">
+ <g fill="none" fill-rule="evenodd">
+ <g stroke="currentColor">
+ <g transform="translate(2 2)">
+ <circle cx="8" cy="8" r="7.5"/>
+ <path stroke-linecap="round" stroke-linejoin="round" d="M3.5 8H8V2.5"/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/assets/icons/code.svg b/assets/icons/code.svg
new file mode 100644
index 000000000..a8bfd2414
--- /dev/null
+++ b/assets/icons/code.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-code" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M7 14l-4-4 4 4zm-4-4l4-4-4 4zm10 4l4-4-4 4zm4-4l-4-4 4 4z"/>
+</svg>
diff --git a/assets/icons/credit-card.svg b/assets/icons/credit-card.svg
new file mode 100644
index 000000000..062a5923a
--- /dev/null
+++ b/assets/icons/credit-card.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-credit-card" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" transform="translate(2 4)">
+ <rect width="15" height="11" x=".5" y=".5" stroke="currentColor" rx="2"/>
+ <rect width="3" height="3" x="2" y="7" fill="currentColor" rx="1"/>
+ <path fill="currentColor" d="M1 3h14v2H1z"/>
+ </g>
+</svg>
diff --git a/assets/icons/dash.svg b/assets/icons/dash.svg
new file mode 100644
index 000000000..774ce1b92
--- /dev/null
+++ b/assets/icons/dash.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-dash" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M6 10h8"/>
+</svg>
diff --git a/assets/icons/diff.svg b/assets/icons/diff.svg
new file mode 100644
index 000000000..b8a4461f1
--- /dev/null
+++ b/assets/icons/diff.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-diff" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(2 4)">
+ <rect width="15" height="11" x=".5" y=".5" rx="2"/>
+ <path stroke-linecap="round" d="M8 .5V11M5.5 6h-3M12 4.5v3M13.5 6h-3"/>
+ </g>
+</svg>
diff --git a/assets/icons/display.svg b/assets/icons/display.svg
new file mode 100644
index 000000000..91d8b797f
--- /dev/null
+++ b/assets/icons/display.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-display" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" transform="translate(2.002 4)">
+ <path fill="currentColor" fill-rule="nonzero" d="M5.748 11.5c.167-.333.25-.833.25-1.5h4c0 .667.084 1.167.25 1.5h.75a.5.5 0 1 1 0 1h-6a.5.5 0 1 1 0-1h.75z"/>
+ <rect width="15" height="9" x=".5" y=".5" stroke="currentColor" rx="2"/>
+ </g>
+</svg>
diff --git a/assets/icons/dot.svg b/assets/icons/dot.svg
new file mode 100644
index 000000000..f8f8ca16e
--- /dev/null
+++ b/assets/icons/dot.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-dot" viewBox="0 0 20 20">
+ <circle cx="88" cy="26" r="1.5" fill-rule="evenodd" transform="translate(-78 -16)"/>
+</svg>
diff --git a/assets/icons/ellipsis.svg b/assets/icons/ellipsis.svg
new file mode 100644
index 000000000..b59b5ec58
--- /dev/null
+++ b/assets/icons/ellipsis.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-ellipsis" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M5 11.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/>
+</svg>
diff --git a/assets/icons/envelope.svg b/assets/icons/envelope.svg
new file mode 100644
index 000000000..8f7840d67
--- /dev/null
+++ b/assets/icons/envelope.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-envelope" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(2 4)">
+ <rect width="15" height="11" x=".5" y=".5" rx="2"/>
+ <path stroke-linecap="round" d="M.5 2.5L8 7l7.5-4.5"/>
+ </g>
+</svg>
diff --git a/assets/icons/fullscreen.svg b/assets/icons/fullscreen.svg
new file mode 100644
index 000000000..a397818df
--- /dev/null
+++ b/assets/icons/fullscreen.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-fullscreen" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M3 13v4h4m-3-1l3.536-3.536M16 4l-3.536 3.536M13 3h4v4M7 3H3v4m1-3l3.536 3.536M17 13v4h-4m3-1l-3.536-3.536"/>
+</svg>
diff --git a/assets/icons/gear-fill.svg b/assets/icons/gear-fill.svg
new file mode 100644
index 000000000..21c9b69ff
--- /dev/null
+++ b/assets/icons/gear-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-gear-fill" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" stroke="currentColor" stroke-linejoin="round" d="M14.34 12.486l1.317 1.757-1.414 1.414-1.757-1.318a4.97 4.97 0 0 1-1.175.487L11 17H9l-.31-2.174a4.97 4.97 0 0 1-1.176-.487l-1.757 1.318-1.414-1.414 1.318-1.757a4.97 4.97 0 0 1-.487-1.175L3 11V9l2.174-.31a4.97 4.97 0 0 1 .487-1.176L4.343 5.757l1.414-1.414 1.757 1.318a4.97 4.97 0 0 1 1.175-.487L9 3h2l.31 2.174c.416.112.81.277 1.176.487l1.757-1.318 1.414 1.414-1.318 1.757c.21.365.375.76.487 1.175L17 9v2l-2.174.31a4.97 4.97 0 0 1-.487 1.176h0zM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
+</svg>
diff --git a/assets/icons/gear.svg b/assets/icons/gear.svg
new file mode 100644
index 000000000..1d1fbc688
--- /dev/null
+++ b/assets/icons/gear.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-gear" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(3 3)">
+ <path stroke-linejoin="round" d="M11.34 9.486l1.317 1.757-1.414 1.414-1.757-1.318a4.97 4.97 0 0 1-1.175.487L8 14H6l-.31-2.174a4.97 4.97 0 0 1-1.176-.487l-1.757 1.318-1.414-1.414 1.318-1.757a4.97 4.97 0 0 1-.487-1.175L0 8V6l2.174-.31a4.97 4.97 0 0 1 .487-1.176L1.343 2.757l1.414-1.414 1.757 1.318a4.97 4.97 0 0 1 1.175-.487L6 0h2l.31 2.174c.416.112.81.277 1.176.487l1.757-1.318 1.414 1.414-1.318 1.757c.21.365.375.76.487 1.175L14 6v2l-2.174.31a4.97 4.97 0 0 1-.487 1.176h0z"/>
+ <circle cx="7" cy="7" r="2"/>
+ </g>
+</svg>
diff --git a/assets/icons/heart-filled.svg b/assets/icons/heart-filled.svg
new file mode 100644
index 000000000..c239969e2
--- /dev/null
+++ b/assets/icons/heart-filled.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-heart-filled" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M10 4.314C14.438-.248 25.534 7.736 10 18-5.534 7.736 5.562-.248 10 4.314z"/>
+</svg>
diff --git a/assets/icons/heart-outline.svg b/assets/icons/heart-outline.svg
new file mode 100644
index 000000000..dbbf35b7b
--- /dev/null
+++ b/assets/icons/heart-outline.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-heart-outline" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" d="M10 17.399c6.46-4.347 8.57-8.594 7.045-11.574-1.27-2.481-4.764-3.138-6.687-1.162L10 5.03l-.358-.368c-1.923-1.976-5.416-1.32-6.687 1.162C1.43 8.805 3.54 13.052 10 17.399z"/>
+</svg>
diff --git a/assets/icons/house-fill.svg b/assets/icons/house-fill.svg
new file mode 100644
index 000000000..543cadc6d
--- /dev/null
+++ b/assets/icons/house-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-house-fill" viewBox="0 0 20 20">
+ <g fill-rule="evenodd">
+ <path fill-rule="nonzero" d="M8.5 12.995V16.5a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .146-.354l6-6a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 .146.354v7a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V13c0-.25-.25-.5-.5-.5H9c-.25 0-.5.25-.5.495z"/>
+ <path d="M15 4.5V8l-2-2V4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z"/>
+ </g>
+</svg>
diff --git a/assets/icons/house.svg b/assets/icons/house.svg
new file mode 100644
index 000000000..bf87aa13b
--- /dev/null
+++ b/assets/icons/house.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-house" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linejoin="round" d="M4 16.5v-7l6-6 6 6v7h-4.5V12h-3v4.5z"/>
+ <path fill="currentColor" d="M15 4.5V8l-2-2V4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z"/>
+ </g>
+</svg>
diff --git a/assets/icons/image.svg b/assets/icons/image.svg
new file mode 100644
index 000000000..464eaf6ec
--- /dev/null
+++ b/assets/icons/image.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-image" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" transform="translate(2.002 3)">
+ <rect width="15" height="13" x=".5" y=".5" stroke="currentColor" rx="2"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M10.646 6.646a.5.5 0 0 1 .578-.093L15 8.5V13H1v-2l2.646-2.354a.5.5 0 0 1 .631-.062l2.66 1.773 3.71-3.71z"/>
+ <circle cx="4.5" cy="4.5" r="1.5" fill="currentColor"/>
+ </g>
+</svg>
diff --git a/assets/icons/italic.svg b/assets/icons/italic.svg
new file mode 100644
index 000000000..0ad0d532a
--- /dev/null
+++ b/assets/icons/italic.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-italic" viewBox="0 0 20 20">
+ <path d="M9.85 12.863c-.106.51-.047.61.86.692l-.093.445H7.383l.094-.445c.943-.082 1.048-.182 1.154-.692l1.318-6.187c.106-.51.047-.61-.861-.692l.094-.445h3.234l-.094.445c-.943.082-1.049.182-1.154.692L9.85 12.863z"/>
+</svg>
diff --git a/assets/icons/justify-left.svg b/assets/icons/justify-left.svg
new file mode 100644
index 000000000..2fb7fe6fd
--- /dev/null
+++ b/assets/icons/justify-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-justify-left" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M4.5 14.5h7m-7-3h11m-11-3h11m-11-3h11"/>
+</svg>
diff --git a/assets/icons/justify-right.svg b/assets/icons/justify-right.svg
new file mode 100644
index 000000000..9f48a3266
--- /dev/null
+++ b/assets/icons/justify-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-justify-right" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M8.5 14.5h7m-11-3h11m-11-3h11m-11-3h11"/>
+</svg>
diff --git a/assets/icons/justify.svg b/assets/icons/justify.svg
new file mode 100644
index 000000000..e93c2bec0
--- /dev/null
+++ b/assets/icons/justify.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-justify" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M4.5 14.5h11m-11-3h11m-11-3h11m-11-3h11"/>
+</svg>
diff --git a/assets/icons/list-numbered.svg b/assets/icons/list-numbered.svg
new file mode 100644
index 000000000..8061beff1
--- /dev/null
+++ b/assets/icons/list-numbered.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-list-numbered" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linecap="round" d="M6.5 13.5h10m-10-4h10m-10-4h10"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M3.213 13.865v-.474H3.5c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 0 1-.492.594v.033a.615.615 0 0 1 .569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.307.422.308.254 0 .424-.144.422-.35-.002-.194-.155-.347-.414-.347h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V11H2.643v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 0 0-.342.338v.041zM4.064 7h-.635V4.924h-.031l-.598.42v-.567l.629-.443h.635z"/>
+ </g>
+</svg>
diff --git a/assets/icons/list-unordered.svg b/assets/icons/list-unordered.svg
new file mode 100644
index 000000000..5ed706b34
--- /dev/null
+++ b/assets/icons/list-unordered.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-list-unordered" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M7.5 13.5h9m-9-4h9m-9-4h9m-13 8h1m-1-4h1m-1-4h1"/>
+</svg>
diff --git a/assets/icons/list.svg b/assets/icons/list.svg
new file mode 100644
index 000000000..baddf95ef
--- /dev/null
+++ b/assets/icons/list.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-list" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M5.5 13.5h9m-9-4h9m-9-4h9"/>
+</svg>
diff --git a/assets/icons/lock-fill.svg b/assets/icons/lock-fill.svg
new file mode 100644
index 000000000..81f551b01
--- /dev/null
+++ b/assets/icons/lock-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-lock-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" transform="translate(4 3)">
+ <rect width="12" height="9" y="6" fill="currentColor" rx="2"/>
+ <path stroke="currentColor" d="M9 6V3a3 3 0 1 0-6 0v3h0"/>
+ </g>
+</svg>
diff --git a/assets/icons/lock.svg b/assets/icons/lock.svg
new file mode 100644
index 000000000..527187760
--- /dev/null
+++ b/assets/icons/lock.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-lock" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" d="M6 9.5c-1.057 0-1.5.443-1.5 1.5v5c0 1.057.443 1.5 1.5 1.5h8c1.057 0 1.5-.443 1.5-1.5v-5c0-1.057-.443-1.5-1.5-1.5H6zm7-.5V6a3 3 0 1 0-6 0v3"/>
+</svg>
diff --git a/assets/icons/move.svg b/assets/icons/move.svg
new file mode 100644
index 000000000..7862deaae
--- /dev/null
+++ b/assets/icons/move.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M7.5 15l2.5 2.5 2.5-2.5M10 4v-.5 13M7.5 5L10 2.5 12.5 5m-7 2.5L3 10l2.5 2.5M16 10h.5-13m11-2.5L17 10l-2.5 2.5"/>
+</svg>
diff --git a/assets/icons/pause-fill.svg b/assets/icons/pause-fill.svg
new file mode 100644
index 000000000..cf3c29e99
--- /dev/null
+++ b/assets/icons/pause-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-pause-fill" viewBox="0 0 20 20">
+ <path d="M7.5 5.5A1.5 1.5 0 0 1 9 7v6a1.5 1.5 0 0 1-3 0V7a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 14 7v6a1.5 1.5 0 0 1-3 0V7a1.5 1.5 0 0 1 1.5-1.5z"/>
+</svg>
diff --git a/assets/icons/pause.svg b/assets/icons/pause.svg
new file mode 100644
index 000000000..11873e5de
--- /dev/null
+++ b/assets/icons/pause.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-pause" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M8 6v8m4-8v8"/>
+</svg>
diff --git a/assets/icons/people.svg b/assets/icons/people.svg
new file mode 100644
index 000000000..91583fd55
--- /dev/null
+++ b/assets/icons/people.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-people" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M9 16c-.667 0-1-.333-1-1 0-1 1-4 5-4s5 3 5 4c0 .667-.333 1-1 1H9zm4-6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm-4.064 1.28C7.679 12.25 7 13.645 7 15c0 .38.076.716.216 1H3c-.667 0-1-.333-1-1 0-1 1-4 5-4 .745 0 1.386.104 1.936.28zM6.5 10a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z"/>
+</svg>
diff --git a/assets/icons/person.svg b/assets/icons/person.svg
new file mode 100644
index 000000000..0f510c6dd
--- /dev/null
+++ b/assets/icons/person.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-person" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M5 16c-.667 0-1-.333-1-1 0-1 1-4 6-4s6 3 6 4c0 .667-.333 1-1 1H5zm5-6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>
+</svg>
diff --git a/assets/icons/play-fill.svg b/assets/icons/play-fill.svg
new file mode 100644
index 000000000..0d212d769
--- /dev/null
+++ b/assets/icons/play-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-play-fill" viewBox="0 0 20 20">
+ <path d="M14.596 10.697l-6.363 3.691c-.54.314-1.233-.065-1.233-.696V6.308c0-.63.693-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"/>
+</svg>
diff --git a/assets/icons/play.svg b/assets/icons/play.svg
new file mode 100644
index 000000000..41fd6273e
--- /dev/null
+++ b/assets/icons/play.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-play" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" d="M14.346 9.736a.303.303 0 0 1 0 .528l-6.364 3.692c-.212.123-.482-.025-.482-.264V6.308c0-.239.27-.387.482-.264l6.364 3.692z"/>
+</svg>
diff --git a/assets/icons/plus.svg b/assets/icons/plus.svg
new file mode 100644
index 000000000..94ecaf430
--- /dev/null
+++ b/assets/icons/plus.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-plus" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M10 10H6h4V6v4zm0 0h4-4v4-4z"/>
+</svg>
diff --git a/assets/icons/reboot.svg b/assets/icons/reboot.svg
new file mode 100644
index 000000000..5ad6dd527
--- /dev/null
+++ b/assets/icons/reboot.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-reboot" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M3.447 5.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56a6.84 6.84 0 1 0 5.675-3.018.58.58 0 1 1 0-1.159 8 8 0 1 1-6.556 3.412zm4.942 1.865V9.92h1.6c.882 0 1.386-.484 1.386-1.325 0-.82-.535-1.32-1.416-1.32h-1.57zm0 3.566v2.828H7.248V6.32h2.848c1.513 0 2.456.876 2.456 2.247 0 .993-.53 1.798-1.427 2.099l1.646 3.006h-1.315L9.96 10.843H8.39z"/>
+</svg>
diff --git a/assets/icons/resize.svg b/assets/icons/resize.svg
new file mode 100644
index 000000000..3240554c0
--- /dev/null
+++ b/assets/icons/resize.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-resize" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M4 12v4h4m-3-1l3.536-3.536M15 5l-3.536 3.536M12 4h4v4"/>
+</svg>
diff --git a/assets/icons/search.svg b/assets/icons/search.svg
new file mode 100644
index 000000000..92b994c07
--- /dev/null
+++ b/assets/icons/search.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-search" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(2 2)">
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M11.15 11.15L15 15"/>
+ <circle cx="6.5" cy="6.5" r="6"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-backward-fill.svg b/assets/icons/skip-backward-fill.svg
new file mode 100644
index 000000000..d180be080
--- /dev/null
+++ b/assets/icons/skip-backward-fill.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-backward-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linecap="round" d="M2.5 6v8"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M2.904 10.697l6.363 3.691c.54.314 1.233-.065 1.233-.696V6.308c0-.63-.693-1.01-1.233-.696L2.904 9.304a.802.802 0 0 0 0 1.393z"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M10.404 10.697l6.363 3.691c.54.314 1.233-.065 1.233-.696V6.308c0-.63-.693-1.01-1.233-.696l-6.363 3.692a.802.802 0 0 0 0 1.393z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-backward.svg b/assets/icons/skip-backward.svg
new file mode 100644
index 000000000..c9ada1078
--- /dev/null
+++ b/assets/icons/skip-backward.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-backward" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor">
+ <path stroke-linecap="round" d="M2.5 6v8"/>
+ <path d="M3.154 9.736a.303.303 0 0 0 0 .528l6.364 3.692c.212.123.482-.025.482-.264V6.308c0-.239-.27-.387-.482-.264L3.154 9.736zm7.5 0a.303.303 0 0 0 0 .528l6.364 3.692c.212.123.482-.025.482-.264V6.308c0-.239-.27-.387-.482-.264l-6.364 3.692z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-end-fill.svg b/assets/icons/skip-end-fill.svg
new file mode 100644
index 000000000..9467f0aaf
--- /dev/null
+++ b/assets/icons/skip-end-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-end-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linecap="round" d="M14 6v8"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M13.596 10.697l-6.363 3.691c-.54.314-1.233-.065-1.233-.696V6.308c0-.63.693-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-end.svg b/assets/icons/skip-end.svg
new file mode 100644
index 000000000..2991ceabf
--- /dev/null
+++ b/assets/icons/skip-end.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-end" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor">
+ <path stroke-linecap="round" d="M14 6v8"/>
+ <path d="M13.346 9.736a.303.303 0 0 1 0 .528l-6.364 3.692c-.212.123-.482-.025-.482-.264V6.308c0-.239.27-.387.482-.264l6.364 3.692z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-forward-fill.svg b/assets/icons/skip-forward-fill.svg
new file mode 100644
index 000000000..ac5ed5e5a
--- /dev/null
+++ b/assets/icons/skip-forward-fill.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-forward-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linecap="round" d="M17.5 6v8"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M9.596 10.697l-6.363 3.691c-.54.314-1.233-.065-1.233-.696V6.308c0-.63.693-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M17.096 10.697l-6.363 3.691c-.54.314-1.233-.065-1.233-.696V6.308c0-.63.693-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-forward.svg b/assets/icons/skip-forward.svg
new file mode 100644
index 000000000..9591fd3c4
--- /dev/null
+++ b/assets/icons/skip-forward.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-forward" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor">
+ <path stroke-linecap="round" d="M17.5 6v8"/>
+ <path d="M16.846 9.736a.303.303 0 0 1 0 .528l-6.364 3.692c-.212.123-.482-.025-.482-.264V6.308c0-.239.27-.387.482-.264l6.364 3.692zm-7.5 0a.303.303 0 0 1 0 .528l-6.364 3.692c-.212.123-.482-.025-.482-.264V6.308c0-.239.27-.387.482-.264l6.364 3.692z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-start-fill.svg b/assets/icons/skip-start-fill.svg
new file mode 100644
index 000000000..b8c6d024d
--- /dev/null
+++ b/assets/icons/skip-start-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-start-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path stroke="currentColor" stroke-linecap="round" d="M6.5 6v8"/>
+ <path fill="currentColor" fill-rule="nonzero" d="M6.903 10.697l6.364 3.691c.54.314 1.232-.065 1.232-.696V6.308c0-.63-.692-1.01-1.232-.696L6.903 9.304a.802.802 0 0 0 0 1.393z"/>
+ </g>
+</svg>
diff --git a/assets/icons/skip-start.svg b/assets/icons/skip-start.svg
new file mode 100644
index 000000000..37b6aba1f
--- /dev/null
+++ b/assets/icons/skip-start.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-skip-start" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor">
+ <path stroke-linecap="round" d="M6.5 6v8"/>
+ <path d="M7.154 9.736a.303.303 0 0 0 0 .528l6.364 3.692c.212.123.482-.025.482-.264V6.308c0-.239-.27-.387-.482-.264L7.154 9.736z"/>
+ </g>
+</svg>
diff --git a/assets/icons/star-filled.svg b/assets/icons/star-filled.svg
new file mode 100644
index 000000000..babe7a8d7
--- /dev/null
+++ b/assets/icons/star-filled.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-star-filled" viewBox="0 0 20 20">
+ <path d="M5.612 17.443c-.386.198-.824-.149-.746-.592l.83-4.73-3.522-3.356c-.33-.314-.16-.888.282-.95l4.898-.696 2.184-4.327c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L10 15.187l-4.389 2.256z"/>
+</svg>
diff --git a/assets/icons/star-outline.svg b/assets/icons/star-outline.svg
new file mode 100644
index 000000000..0c701b224
--- /dev/null
+++ b/assets/icons/star-outline.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-star-outline" viewBox="0 0 20 20">
+ <path d="M5.612 17.443c-.386.198-.824-.149-.746-.592l.83-4.73-3.522-3.356c-.33-.314-.16-.888.282-.95l4.898-.696 2.184-4.327c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L10 15.187l-4.389 2.256zm.473-1.466l3.686-1.894a.503.503 0 0 1 .461 0l3.686 1.894-.694-3.957a.565.565 0 0 1 .163-.505l2.906-2.77-4.052-.576a.525.525 0 0 1-.393-.288l-1.846-3.658-1.847 3.658a.525.525 0 0 1-.393.288l-4.052.575 2.906 2.77a.565.565 0 0 1 .163.506l-.694 3.957z"/>
+</svg>
diff --git a/assets/icons/stop-fill.svg b/assets/icons/stop-fill.svg
new file mode 100644
index 000000000..f88de4b2c
--- /dev/null
+++ b/assets/icons/stop-fill.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-stop-fill" viewBox="0 0 20 20">
+ <path d="M7 5.5h6A1.5 1.5 0 0 1 14.5 7v6a1.5 1.5 0 0 1-1.5 1.5H7A1.5 1.5 0 0 1 5.5 13V7A1.5 1.5 0 0 1 7 5.5z"/>
+</svg>
diff --git a/assets/icons/stop.svg b/assets/icons/stop.svg
new file mode 100644
index 000000000..78430d6cb
--- /dev/null
+++ b/assets/icons/stop.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-stop" viewBox="0 0 20 20">
+ <rect width="8" height="8" x="45" y="103" fill="none" stroke="currentColor" stroke-linejoin="round" rx="1" transform="translate(-39 -97)"/>
+</svg>
diff --git a/assets/icons/tag.svg b/assets/icons/tag.svg
new file mode 100644
index 000000000..0e7f6a3e5
--- /dev/null
+++ b/assets/icons/tag.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-tag" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linejoin="round" d="M3 3h6l8 8-6 6-8-8V3zm3.5 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
+</svg>
diff --git a/assets/icons/terminal-fill.svg b/assets/icons/terminal-fill.svg
new file mode 100644
index 000000000..8d8d1cb26
--- /dev/null
+++ b/assets/icons/terminal-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-terminal-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" transform="translate(2 3)">
+ <rect width="15" height="13" x=".5" y=".5" rx="2"/>
+ <path stroke-linecap="round" d="M9.5 8h-3m-3-4.5l2 2-2 2"/>
+ </g>
+</svg>
diff --git a/assets/icons/terminal.svg b/assets/icons/terminal.svg
new file mode 100644
index 000000000..48711b007
--- /dev/null
+++ b/assets/icons/terminal.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-terminal" viewBox="0 0 20 20">
+ <path fill-rule="evenodd" d="M4 3h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm7.5 7.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-4.707-2l-1.647 1.646a.5.5 0 1 0 .708.708L8.207 8.5 5.854 6.146a.5.5 0 1 0-.708.708L6.793 8.5z"/>
+</svg>
diff --git a/assets/icons/text-center.svg b/assets/icons/text-center.svg
new file mode 100644
index 000000000..9ad0a7a1d
--- /dev/null
+++ b/assets/icons/text-center.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-text-center" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M6.5 14.5h7m-9-3h11m-9-3h7m-9-3h11"/>
+</svg>
diff --git a/assets/icons/text-indent.svg b/assets/icons/text-indent.svg
new file mode 100644
index 000000000..66832a7a2
--- /dev/null
+++ b/assets/icons/text-indent.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round">
+ <path d="M4.5 14.5h11m-6-3h6m-6-3h6m-11-3h11"/>
+ <path stroke-linejoin="round" d="M5 8l2 2-2 2"/>
+ </g>
+</svg>
diff --git a/assets/icons/text-left.svg b/assets/icons/text-left.svg
new file mode 100644
index 000000000..4aad99bbd
--- /dev/null
+++ b/assets/icons/text-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-text-left" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M4.5 14.5h7m-7-3h11m-11-3h7m-7-3h11"/>
+</svg>
diff --git a/assets/icons/text-right.svg b/assets/icons/text-right.svg
new file mode 100644
index 000000000..cfbd63b8f
--- /dev/null
+++ b/assets/icons/text-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-text-right" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" d="M8.5 14.5h7m-11-3h11m-7-3h7m-11-3h11"/>
+</svg>
diff --git a/assets/icons/tv.svg b/assets/icons/tv.svg
new file mode 100644
index 000000000..7fbcedfac
--- /dev/null
+++ b/assets/icons/tv.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-tv" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd">
+ <path fill="currentColor" fill-rule="nonzero" d="M7.75 15.5c.167-.333.25-.833.25-1.5h4c0 .667.083 1.167.25 1.5H13a.5.5 0 1 1 0 1H7a.5.5 0 1 1 0-1h.75z"/>
+ <path stroke="currentColor" d="M4 4.5c-1.057 0-1.5.443-1.5 1.5v6c0 1.057.443 1.5 1.5 1.5h12c1.057 0 1.5-.443 1.5-1.5V6c0-1.057-.443-1.5-1.5-1.5H4z"/>
+ </g>
+</svg>
diff --git a/assets/icons/type.svg b/assets/icons/type.svg
new file mode 100644
index 000000000..c3208aad0
--- /dev/null
+++ b/assets/icons/type.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-type" viewBox="0 0 20 20">
+ <path d="M7.407 14l-.515-1.523H4.743L4.223 14h-.898L5.36 8.363h.942L8.337 14h-.93zm-1.62-4.64l-.821 2.413h1.703L5.853 9.36h-.067zM15.143 14l-.774-2.285h-3.223L10.368 14H9.021l3.052-8.455h1.412L16.538 14h-1.394zm-2.432-6.96l-1.23 3.62h2.554l-1.224-3.62h-.1z"/>
+</svg>
diff --git a/assets/icons/underline.svg b/assets/icons/underline.svg
new file mode 100644
index 000000000..7585c076d
--- /dev/null
+++ b/assets/icons/underline.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-underline" viewBox="0 0 20 20">
+ <path d="M7 15.5h7v-1H7zm1.1-10v5.211c0 1.332.873 2.297 2.4 2.297s2.4-.965 2.4-2.297V5.5H14v5.284c0 1.882-1.313 3.238-3.5 3.238-2.187 0-3.5-1.356-3.5-3.238V5.5h1.1z"/>
+</svg>
diff --git a/assets/icons/unlock-fill.svg b/assets/icons/unlock-fill.svg
new file mode 100644
index 000000000..59e0dd4ea
--- /dev/null
+++ b/assets/icons/unlock-fill.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-unlock-fill" viewBox="0 0 20 20">
+ <g fill="none" fill-rule="evenodd" transform="translate(2 3)">
+ <rect width="12" height="9" y="6" fill="currentColor" rx="2"/>
+ <path stroke="currentColor" d="M15 6V3a3 3 0 0 0-6 0v3h0"/>
+ </g>
+</svg>
diff --git a/assets/icons/unlock.svg b/assets/icons/unlock.svg
new file mode 100644
index 000000000..736de73c6
--- /dev/null
+++ b/assets/icons/unlock.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-unlock" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" d="M4 9.5c-1.057 0-1.5.443-1.5 1.5v5c0 1.057.443 1.5 1.5 1.5h8c1.057 0 1.5-.443 1.5-1.5v-5c0-1.057-.443-1.5-1.5-1.5H4zM17 9V6a3 3 0 0 0-6 0v3h0"/>
+</svg>
diff --git a/assets/icons/warning.svg b/assets/icons/warning.svg
new file mode 100644
index 000000000..1d486d04a
--- /dev/null
+++ b/assets/icons/warning.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-warning" viewBox="0 0 20 20">
+ <path fill="currentColor" d="M9.022 3.566a1.13 1.13 0 0 1 1.96 0l6.856 11.667c.457.778-.091 1.767-.98 1.767H3.145c-.889 0-1.437-.99-.98-1.767L9.022 3.566zm.98 9.434a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM10 6a.92.92 0 0 0-.917.997l.375 4.505a.543.543 0 0 0 1.084 0l.375-4.505A.92.92 0 0 0 10 6z"/>
+</svg>
diff --git a/assets/icons/wifi.svg b/assets/icons/wifi.svg
new file mode 100644
index 000000000..5de021d12
--- /dev/null
+++ b/assets/icons/wifi.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-wifi" viewBox="0 0 20 20"><g fill="none" fill-rule="evenodd"><g fill="#000"><path d="M7.879 13.879A2.99 2.99 0 0 1 10 13a2.99 2.99 0 0 1 2.121.879L10 16l-2.121-2.121zM6.464 12.464L5.05 11.05A6.978 6.978 0 0 1 10 9c1.933 0 3.683.784 4.95 2.05l-1.414 1.414A4.984 4.984 0 0 0 10 11c-1.38 0-2.63.56-3.536 1.464z"/><path d="M3.636 9.636L2.222 8.222A10.966 10.966 0 0 1 10 5c3.038 0 5.788 1.231 7.778 3.222l-1.414 1.414A8.972 8.972 0 0 0 10 7a8.972 8.972 0 0 0-6.364 2.636z"/></g></g></svg>
diff --git a/assets/icons/x.svg b/assets/icons/x.svg
new file mode 100644
index 000000000..9db405d62
--- /dev/null
+++ b/assets/icons/x.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="bi bi-x" viewBox="0 0 20 20">
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M10 10l-4 4 4-4 4 4-4-4zm0 0l4-4-4 4-4-4 4 4z"/>
+</svg>
diff --git a/index.html b/index.html
new file mode 100644
index 000000000..19dd306bf
--- /dev/null
+++ b/index.html
@@ -0,0 +1,35 @@
+---
+layout: default
+---
+
+<div class="container">
+ <div id="icons" class="p-4">
+ <div class="d-flex mb-4">
+ <input class="form-control search mr-2" placeholder="Search">
+ <button class="btn btn-primary sort text-nowrap" data-sort="icon-name">
+ Sort by name
+ </button>
+ </div>
+
+ <ul class="row list-unstyled list">
+ {% for image in site.static_files %}
+ {% if image.path contains 'assets/icons' %}
+ <li class="col-4 col-sm-3 col-lg-2 mb-4">
+ <div class="p-3 mb-2 border text-center rounded">
+ <img src="{{ site.baseurl }}{{ image.path }}" class="" width="32" height="32" alt="{{ image.basename | capitalize }}">
+ </div>
+ <div class="name text-muted text-center pt-1">{{ image.basename | capitalize }}</div>
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ </div>
+</div>
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
+<script>
+ var options = {
+ valueNames: [ 'name' ]
+ };
+ var iconsList = new List('icons', options);
+</script>
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..ecbff938d
--- /dev/null
+++ b/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "@bootstrap/icons",
+ "version": "1.0.0",
+ "description": "Official icon library for Bootstrap",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/twbs/icons.git"
+ },
+ "keywords": [
+ "bootstrap",
+ "icons"
+ ],
+ "author": "mdo",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/twbs/icons/issues"
+ },
+ "homepage": "https://github.com/twbs/icons#readme"
+}