Updated to latest Tabler

This commit is contained in:
Pinga 2025-03-08 18:33:56 +02:00
parent db55759c33
commit 1e67b6c876
173 changed files with 100569 additions and 23327 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,9 +1,2 @@
/*!
* Tabler v1.0.0-beta24 (https://tabler.io)
* @version 1.0.0-beta24
* @link https://tabler.io
* Copyright 2018-2025 The Tabler Authors
* Copyright 2018-2025 codecalm.net Paweł Kuna
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
*/
.social{position:relative;display:inline-block;height:2.5rem;aspect-ratio:1;background:no-repeat center/cover;vertical-align:bottom}.social-app-apple{background-image:url(../img/social/apple.svg)}.social-app-apple.social-gray{background-image:url(../img/social/apple-gray.svg)}.social-app-discord{background-image:url(../img/social/discord.svg)}.social-app-discord.social-gray{background-image:url(../img/social/discord-gray.svg)}.social-app-dribbble{background-image:url(../img/social/dribbble.svg)}.social-app-dribbble.social-gray{background-image:url(../img/social/dribbble-gray.svg)}.social-app-facebook{background-image:url(../img/social/facebook.svg)}.social-app-facebook.social-gray{background-image:url(../img/social/facebook-gray.svg)}.social-app-figma{background-image:url(../img/social/figma.svg)}.social-app-figma.social-gray{background-image:url(../img/social/figma-gray.svg)}.social-app-github{background-image:url(../img/social/github.svg)}.social-app-github.social-gray{background-image:url(../img/social/github-gray.svg)}.social-app-google{background-image:url(../img/social/google.svg)}.social-app-google.social-gray{background-image:url(../img/social/google-gray.svg)}.social-app-instagram{background-image:url(../img/social/instagram.svg)}.social-app-instagram.social-gray{background-image:url(../img/social/instagram-gray.svg)}.social-app-linkedin{background-image:url(../img/social/linkedin.svg)}.social-app-linkedin.social-gray{background-image:url(../img/social/linkedin-gray.svg)}.social-app-medium{background-image:url(../img/social/medium.svg)}.social-app-medium.social-gray{background-image:url(../img/social/medium-gray.svg)}.social-app-meta{background-image:url(../img/social/meta.svg)}.social-app-meta.social-gray{background-image:url(../img/social/meta-gray.svg)}.social-app-metamask{background-image:url(../img/social/metamask.svg)}.social-app-metamask.social-gray{background-image:url(../img/social/metamask-gray.svg)}.social-app-pinterest{background-image:url(../img/social/pinterest.svg)}.social-app-pinterest.social-gray{background-image:url(../img/social/pinterest-gray.svg)}.social-app-reddit{background-image:url(../img/social/reddit.svg)}.social-app-reddit.social-gray{background-image:url(../img/social/reddit-gray.svg)}.social-app-signal{background-image:url(../img/social/signal.svg)}.social-app-signal.social-gray{background-image:url(../img/social/signal-gray.svg)}.social-app-skype{background-image:url(../img/social/skype.svg)}.social-app-skype.social-gray{background-image:url(../img/social/skype-gray.svg)}.social-app-snapchat{background-image:url(../img/social/snapchat.svg)}.social-app-snapchat.social-gray{background-image:url(../img/social/snapchat-gray.svg)}.social-app-spotify{background-image:url(../img/social/spotify.svg)}.social-app-spotify.social-gray{background-image:url(../img/social/spotify-gray.svg)}.social-app-telegram{background-image:url(../img/social/telegram.svg)}.social-app-telegram.social-gray{background-image:url(../img/social/telegram-gray.svg)}.social-app-tiktok{background-image:url(../img/social/tiktok.svg)}.social-app-tiktok.social-gray{background-image:url(../img/social/tiktok-gray.svg)}.social-app-tumblr{background-image:url(../img/social/tumblr.svg)}.social-app-tumblr.social-gray{background-image:url(../img/social/tumblr-gray.svg)}.social-app-twitch{background-image:url(../img/social/twitch.svg)}.social-app-twitch.social-gray{background-image:url(../img/social/twitch-gray.svg)}.social-app-vk{background-image:url(../img/social/vk.svg)}.social-app-vk.social-gray{background-image:url(../img/social/vk-gray.svg)}.social-app-x{background-image:url(../img/social/x.svg)}.social-app-x.social-gray{background-image:url(../img/social/x-gray.svg)}.social-app-youtube{background-image:url(../img/social/youtube.svg)}.social-app-youtube.social-gray{background-image:url(../img/social/youtube-gray.svg)}.social-xxs{height:1rem}.social-xs{height:1.25rem}.social-sm{height:2rem}.social-md{height:2.5rem}.social-lg{height:3rem}.social-xl{height:5rem}.social-2xl{height:7rem}
.social{position:relative;display:inline-block;height:2.5rem;aspect-ratio:1;background:no-repeat center/cover;vertical-align:bottom}.social-app-apple{background-image:url("../img/social/apple.svg")}.social-app-apple.social-gray{background-image:url("../img/social/apple-gray.svg")}.social-app-discord{background-image:url("../img/social/discord.svg")}.social-app-discord.social-gray{background-image:url("../img/social/discord-gray.svg")}.social-app-dribbble{background-image:url("../img/social/dribbble.svg")}.social-app-dribbble.social-gray{background-image:url("../img/social/dribbble-gray.svg")}.social-app-facebook{background-image:url("../img/social/facebook.svg")}.social-app-facebook.social-gray{background-image:url("../img/social/facebook-gray.svg")}.social-app-figma{background-image:url("../img/social/figma.svg")}.social-app-figma.social-gray{background-image:url("../img/social/figma-gray.svg")}.social-app-github{background-image:url("../img/social/github.svg")}.social-app-github.social-gray{background-image:url("../img/social/github-gray.svg")}.social-app-google{background-image:url("../img/social/google.svg")}.social-app-google.social-gray{background-image:url("../img/social/google-gray.svg")}.social-app-instagram{background-image:url("../img/social/instagram.svg")}.social-app-instagram.social-gray{background-image:url("../img/social/instagram-gray.svg")}.social-app-linkedin{background-image:url("../img/social/linkedin.svg")}.social-app-linkedin.social-gray{background-image:url("../img/social/linkedin-gray.svg")}.social-app-medium{background-image:url("../img/social/medium.svg")}.social-app-medium.social-gray{background-image:url("../img/social/medium-gray.svg")}.social-app-meta{background-image:url("../img/social/meta.svg")}.social-app-meta.social-gray{background-image:url("../img/social/meta-gray.svg")}.social-app-metamask{background-image:url("../img/social/metamask.svg")}.social-app-metamask.social-gray{background-image:url("../img/social/metamask-gray.svg")}.social-app-pinterest{background-image:url("../img/social/pinterest.svg")}.social-app-pinterest.social-gray{background-image:url("../img/social/pinterest-gray.svg")}.social-app-reddit{background-image:url("../img/social/reddit.svg")}.social-app-reddit.social-gray{background-image:url("../img/social/reddit-gray.svg")}.social-app-signal{background-image:url("../img/social/signal.svg")}.social-app-signal.social-gray{background-image:url("../img/social/signal-gray.svg")}.social-app-skype{background-image:url("../img/social/skype.svg")}.social-app-skype.social-gray{background-image:url("../img/social/skype-gray.svg")}.social-app-snapchat{background-image:url("../img/social/snapchat.svg")}.social-app-snapchat.social-gray{background-image:url("../img/social/snapchat-gray.svg")}.social-app-spotify{background-image:url("../img/social/spotify.svg")}.social-app-spotify.social-gray{background-image:url("../img/social/spotify-gray.svg")}.social-app-telegram{background-image:url("../img/social/telegram.svg")}.social-app-telegram.social-gray{background-image:url("../img/social/telegram-gray.svg")}.social-app-tiktok{background-image:url("../img/social/tiktok.svg")}.social-app-tiktok.social-gray{background-image:url("../img/social/tiktok-gray.svg")}.social-app-tumblr{background-image:url("../img/social/tumblr.svg")}.social-app-tumblr.social-gray{background-image:url("../img/social/tumblr-gray.svg")}.social-app-twitch{background-image:url("../img/social/twitch.svg")}.social-app-twitch.social-gray{background-image:url("../img/social/twitch-gray.svg")}.social-app-vk{background-image:url("../img/social/vk.svg")}.social-app-vk.social-gray{background-image:url("../img/social/vk-gray.svg")}.social-app-x{background-image:url("../img/social/x.svg")}.social-app-x.social-gray{background-image:url("../img/social/x-gray.svg")}.social-app-youtube{background-image:url("../img/social/youtube.svg")}.social-app-youtube.social-gray{background-image:url("../img/social/youtube-gray.svg")}.social-xxs{height:1rem}.social-xs{height:1.25rem}.social-sm{height:2rem}.social-md{height:2.5rem}.social-lg{height:3rem}.social-xl{height:5rem}.social-2xl{height:7rem}
/*# sourceMappingURL=tabler-socials.min.css.map */

View file

@ -1,9 +1,2 @@
/*!
* Tabler v1.0.0-beta24 (https://tabler.io)
* @version 1.0.0-beta24
* @link https://tabler.io
* Copyright 2018-2025 The Tabler Authors
* Copyright 2018-2025 codecalm.net Paweł Kuna
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
*/
.social{position:relative;display:inline-block;height:2.5rem;aspect-ratio:1;background:no-repeat center/cover;vertical-align:bottom}.social-app-apple{background-image:url(../img/social/apple.svg)}.social-app-apple.social-gray{background-image:url(../img/social/apple-gray.svg)}.social-app-discord{background-image:url(../img/social/discord.svg)}.social-app-discord.social-gray{background-image:url(../img/social/discord-gray.svg)}.social-app-dribbble{background-image:url(../img/social/dribbble.svg)}.social-app-dribbble.social-gray{background-image:url(../img/social/dribbble-gray.svg)}.social-app-facebook{background-image:url(../img/social/facebook.svg)}.social-app-facebook.social-gray{background-image:url(../img/social/facebook-gray.svg)}.social-app-figma{background-image:url(../img/social/figma.svg)}.social-app-figma.social-gray{background-image:url(../img/social/figma-gray.svg)}.social-app-github{background-image:url(../img/social/github.svg)}.social-app-github.social-gray{background-image:url(../img/social/github-gray.svg)}.social-app-google{background-image:url(../img/social/google.svg)}.social-app-google.social-gray{background-image:url(../img/social/google-gray.svg)}.social-app-instagram{background-image:url(../img/social/instagram.svg)}.social-app-instagram.social-gray{background-image:url(../img/social/instagram-gray.svg)}.social-app-linkedin{background-image:url(../img/social/linkedin.svg)}.social-app-linkedin.social-gray{background-image:url(../img/social/linkedin-gray.svg)}.social-app-medium{background-image:url(../img/social/medium.svg)}.social-app-medium.social-gray{background-image:url(../img/social/medium-gray.svg)}.social-app-meta{background-image:url(../img/social/meta.svg)}.social-app-meta.social-gray{background-image:url(../img/social/meta-gray.svg)}.social-app-metamask{background-image:url(../img/social/metamask.svg)}.social-app-metamask.social-gray{background-image:url(../img/social/metamask-gray.svg)}.social-app-pinterest{background-image:url(../img/social/pinterest.svg)}.social-app-pinterest.social-gray{background-image:url(../img/social/pinterest-gray.svg)}.social-app-reddit{background-image:url(../img/social/reddit.svg)}.social-app-reddit.social-gray{background-image:url(../img/social/reddit-gray.svg)}.social-app-signal{background-image:url(../img/social/signal.svg)}.social-app-signal.social-gray{background-image:url(../img/social/signal-gray.svg)}.social-app-skype{background-image:url(../img/social/skype.svg)}.social-app-skype.social-gray{background-image:url(../img/social/skype-gray.svg)}.social-app-snapchat{background-image:url(../img/social/snapchat.svg)}.social-app-snapchat.social-gray{background-image:url(../img/social/snapchat-gray.svg)}.social-app-spotify{background-image:url(../img/social/spotify.svg)}.social-app-spotify.social-gray{background-image:url(../img/social/spotify-gray.svg)}.social-app-telegram{background-image:url(../img/social/telegram.svg)}.social-app-telegram.social-gray{background-image:url(../img/social/telegram-gray.svg)}.social-app-tiktok{background-image:url(../img/social/tiktok.svg)}.social-app-tiktok.social-gray{background-image:url(../img/social/tiktok-gray.svg)}.social-app-tumblr{background-image:url(../img/social/tumblr.svg)}.social-app-tumblr.social-gray{background-image:url(../img/social/tumblr-gray.svg)}.social-app-twitch{background-image:url(../img/social/twitch.svg)}.social-app-twitch.social-gray{background-image:url(../img/social/twitch-gray.svg)}.social-app-vk{background-image:url(../img/social/vk.svg)}.social-app-vk.social-gray{background-image:url(../img/social/vk-gray.svg)}.social-app-x{background-image:url(../img/social/x.svg)}.social-app-x.social-gray{background-image:url(../img/social/x-gray.svg)}.social-app-youtube{background-image:url(../img/social/youtube.svg)}.social-app-youtube.social-gray{background-image:url(../img/social/youtube-gray.svg)}.social-xxs{height:1rem}.social-xs{height:1.25rem}.social-sm{height:2rem}.social-md{height:2.5rem}.social-lg{height:3rem}.social-xl{height:5rem}.social-2xl{height:7rem}
.social{position:relative;display:inline-block;height:2.5rem;aspect-ratio:1;background:no-repeat center/cover;vertical-align:bottom}.social-app-apple{background-image:url("../img/social/apple.svg")}.social-app-apple.social-gray{background-image:url("../img/social/apple-gray.svg")}.social-app-discord{background-image:url("../img/social/discord.svg")}.social-app-discord.social-gray{background-image:url("../img/social/discord-gray.svg")}.social-app-dribbble{background-image:url("../img/social/dribbble.svg")}.social-app-dribbble.social-gray{background-image:url("../img/social/dribbble-gray.svg")}.social-app-facebook{background-image:url("../img/social/facebook.svg")}.social-app-facebook.social-gray{background-image:url("../img/social/facebook-gray.svg")}.social-app-figma{background-image:url("../img/social/figma.svg")}.social-app-figma.social-gray{background-image:url("../img/social/figma-gray.svg")}.social-app-github{background-image:url("../img/social/github.svg")}.social-app-github.social-gray{background-image:url("../img/social/github-gray.svg")}.social-app-google{background-image:url("../img/social/google.svg")}.social-app-google.social-gray{background-image:url("../img/social/google-gray.svg")}.social-app-instagram{background-image:url("../img/social/instagram.svg")}.social-app-instagram.social-gray{background-image:url("../img/social/instagram-gray.svg")}.social-app-linkedin{background-image:url("../img/social/linkedin.svg")}.social-app-linkedin.social-gray{background-image:url("../img/social/linkedin-gray.svg")}.social-app-medium{background-image:url("../img/social/medium.svg")}.social-app-medium.social-gray{background-image:url("../img/social/medium-gray.svg")}.social-app-meta{background-image:url("../img/social/meta.svg")}.social-app-meta.social-gray{background-image:url("../img/social/meta-gray.svg")}.social-app-metamask{background-image:url("../img/social/metamask.svg")}.social-app-metamask.social-gray{background-image:url("../img/social/metamask-gray.svg")}.social-app-pinterest{background-image:url("../img/social/pinterest.svg")}.social-app-pinterest.social-gray{background-image:url("../img/social/pinterest-gray.svg")}.social-app-reddit{background-image:url("../img/social/reddit.svg")}.social-app-reddit.social-gray{background-image:url("../img/social/reddit-gray.svg")}.social-app-signal{background-image:url("../img/social/signal.svg")}.social-app-signal.social-gray{background-image:url("../img/social/signal-gray.svg")}.social-app-skype{background-image:url("../img/social/skype.svg")}.social-app-skype.social-gray{background-image:url("../img/social/skype-gray.svg")}.social-app-snapchat{background-image:url("../img/social/snapchat.svg")}.social-app-snapchat.social-gray{background-image:url("../img/social/snapchat-gray.svg")}.social-app-spotify{background-image:url("../img/social/spotify.svg")}.social-app-spotify.social-gray{background-image:url("../img/social/spotify-gray.svg")}.social-app-telegram{background-image:url("../img/social/telegram.svg")}.social-app-telegram.social-gray{background-image:url("../img/social/telegram-gray.svg")}.social-app-tiktok{background-image:url("../img/social/tiktok.svg")}.social-app-tiktok.social-gray{background-image:url("../img/social/tiktok-gray.svg")}.social-app-tumblr{background-image:url("../img/social/tumblr.svg")}.social-app-tumblr.social-gray{background-image:url("../img/social/tumblr-gray.svg")}.social-app-twitch{background-image:url("../img/social/twitch.svg")}.social-app-twitch.social-gray{background-image:url("../img/social/twitch-gray.svg")}.social-app-vk{background-image:url("../img/social/vk.svg")}.social-app-vk.social-gray{background-image:url("../img/social/vk-gray.svg")}.social-app-x{background-image:url("../img/social/x.svg")}.social-app-x.social-gray{background-image:url("../img/social/x-gray.svg")}.social-app-youtube{background-image:url("../img/social/youtube.svg")}.social-app-youtube.social-gray{background-image:url("../img/social/youtube-gray.svg")}.social-xxs{height:1rem}.social-xs{height:1.25rem}.social-sm{height:2rem}.social-md{height:2.5rem}.social-lg{height:3rem}.social-xl{height:5rem}.social-2xl{height:7rem}
/*# sourceMappingURL=tabler-socials.rtl.min.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="#60BB46"/>
<path d="M44.1316 36.9333C43.2316 39.0085 41.6696 40.1653 39.4284 40.4203C39.1737 40.4544 38.919 40.4544 38.6643 40.4714C38.6304 40.4714 38.5964 40.4714 38.5625 40.4714C37.8494 40.4714 37.1363 40.3863 36.4572 40.1823C35.5912 39.9441 34.8272 39.5358 34.114 38.9915C33.9273 38.8554 33.7405 38.7193 33.5368 38.6173C33.333 38.4982 33.2142 38.5493 33.0954 38.7363C33.0104 38.8724 32.9256 39.0085 32.8406 39.1276C32.7727 39.2126 32.6879 39.3317 32.603 39.3658C32.4841 39.4168 32.3144 39.4338 32.2294 39.3828C32.1446 39.3317 32.0767 39.1446 32.0767 39.0425C32.2294 37.2394 32.4162 35.4534 32.5859 33.6502C32.62 33.361 32.62 33.361 32.9086 33.378C33.401 33.395 33.401 33.395 33.418 33.8714C33.4859 35.4363 34.0461 36.7971 35.1327 37.9199C36.5081 39.3317 38.7832 39.7229 40.566 38.8724C41.7545 38.3111 42.4336 37.3585 42.5695 36.0317C42.7053 34.7559 42.4676 33.5481 41.6017 32.5445C41.1093 31.9662 40.4641 31.575 39.802 31.2347C39.2417 30.9455 38.6474 30.7244 38.0362 30.4863C36.6949 29.993 35.3874 29.4486 34.2669 28.5301C33.1463 27.6455 32.603 26.4718 32.3823 25.111C32.2464 24.1924 32.1785 23.2738 32.518 22.3893C33.2821 20.331 34.6405 18.9362 36.8985 18.5619C38.3757 18.3238 39.802 18.4939 41.2112 18.9702C41.4149 19.0382 41.6017 19.1233 41.7885 19.2254C42.0432 19.3444 42.145 19.3274 42.3488 19.1403C42.5185 18.9872 42.7053 18.8171 42.9091 18.698C43.1128 18.562 43.2486 18.63 43.2826 18.8681C43.3336 19.1573 43.3166 19.4635 43.3505 19.7527C43.4524 20.8413 43.5542 21.93 43.6731 23.0187C43.7071 23.2909 43.724 23.563 43.741 23.8352C43.758 24.0223 43.6901 24.1244 43.5033 24.1584C43.0789 24.2434 43.1298 24.2945 42.9939 23.8522C42.6035 22.5764 41.9413 21.4537 40.9565 20.5352C40.1924 19.8377 39.2756 19.5486 38.2569 19.5315C37.5438 19.5145 36.8476 19.5826 36.2025 19.9228C35.2177 20.4331 34.6914 21.3006 34.5215 22.3553C34.3348 23.512 34.4876 24.6007 35.3026 25.5022C35.761 26.0125 36.3552 26.3357 36.9496 26.6419C37.9003 27.1352 38.9531 27.4074 39.9547 27.7646C40.6678 28.0198 41.381 28.2919 42.0432 28.6661C43.741 29.6187 44.607 31.1326 44.7597 33.0549C44.8106 34.3817 44.6579 35.6914 44.1316 36.9333Z" fill="white"/>
<path d="M79.4131 27.7817V28.207C79.4131 28.5131 79.3792 28.5472 79.0736 28.5472C78.9037 28.5472 78.751 28.5472 78.5812 28.5472C78.0379 28.5472 77.6303 28.7683 77.4096 29.2786C76.9513 30.3843 76.4758 31.473 76.0344 32.5956C75.0326 35.0621 74.0478 37.5457 73.063 40.0122C72.9952 40.1483 72.8933 40.3184 72.7574 40.3864C72.4858 40.5225 72.2481 40.4544 72.0952 40.1823C71.9595 39.9101 71.8576 39.6039 71.7557 39.3148C70.8728 36.7292 69.9899 34.1265 69.107 31.524C69.0901 31.473 69.0222 31.4219 68.9881 31.3709C68.9372 31.4219 68.8863 31.473 68.8524 31.524C67.6978 34.2456 66.5433 36.9674 65.4056 39.689C65.3547 39.8081 65.3038 39.9442 65.2359 40.0633C65.117 40.3014 64.9302 40.4544 64.6587 40.4374C64.4039 40.4204 64.302 40.1994 64.2342 39.9952C64.0304 39.4679 63.8436 38.9235 63.6398 38.3962C62.5193 35.3514 61.3987 32.3065 60.2781 29.2616C60.0914 28.7853 59.7517 28.5472 59.1745 28.5302C58.9368 28.5302 58.6821 28.5302 58.4444 28.5302C58.2747 28.5302 58.1897 28.4621 58.2067 28.275C58.2236 28.0709 58.2236 27.8838 58.2067 27.6796C58.1897 27.4925 58.2745 27.4245 58.4613 27.4415C59.0725 27.4755 59.6838 27.5265 60.295 27.5095C61.3307 27.5095 62.3835 27.4585 63.4192 27.4415C63.7418 27.4415 63.7927 27.4755 63.7927 27.7817C63.7927 27.9518 63.7927 28.1219 63.7927 28.292C63.7927 28.4451 63.7248 28.4961 63.5889 28.5131C63.5041 28.5131 63.4192 28.5131 63.3173 28.5131C63.0117 28.5131 62.8418 28.7002 62.8759 29.0064C62.8759 29.1085 62.9098 29.2106 62.9438 29.3126C63.7078 31.8982 64.4549 34.4668 65.2189 37.0354C65.2359 37.1035 65.2868 37.1545 65.3208 37.2054C65.3547 37.1545 65.4226 37.1035 65.4397 37.0354C66.4074 34.705 67.3582 32.3916 68.326 30.0611C68.5637 29.4657 68.1053 28.7173 67.477 28.7003C67.2903 28.6832 67.1035 28.6832 66.8998 28.7003C66.747 28.7003 66.6621 28.6322 66.6621 28.4621C66.6621 28.292 66.6621 28.1389 66.6621 27.9688C66.6621 27.6456 66.7301 27.5776 67.0696 27.5946C67.545 27.6116 68.0204 27.6626 68.4959 27.6626C69.5655 27.6456 70.6351 27.6286 71.7048 27.5946C72.0443 27.5946 72.1123 27.6286 72.1123 27.9858C72.1123 28.1389 72.1123 28.292 72.1123 28.4621C72.1123 28.6152 72.0273 28.7003 71.8746 28.7003C71.7048 28.7003 71.5519 28.7173 71.3822 28.7003C70.9916 28.6662 70.7879 29.0405 70.8559 29.3296C70.9577 29.7209 71.0766 30.1122 71.1954 30.5033C71.8066 32.5106 72.4349 34.5008 73.0461 36.508C73.063 36.576 73.097 36.6611 73.131 36.7292C73.148 36.7292 73.1819 36.7292 73.1989 36.7292C73.2329 36.6781 73.2498 36.6101 73.2838 36.559C74.0478 34.4498 74.8288 32.3235 75.5929 30.2141C75.7118 29.891 75.7797 29.5338 75.7967 29.1765C75.8136 28.7513 75.5589 28.5302 75.1344 28.5302C74.5063 28.5302 74.5911 28.5472 74.5911 27.9858C74.5911 27.4245 74.5911 27.4245 75.1344 27.4585C76.4589 27.5606 77.7832 27.5436 79.1075 27.4585C79.3622 27.4585 79.4131 27.5095 79.4131 27.7817Z" fill="white"/>
<path d="M90.7539 38.0908C90.72 38.0908 90.6859 38.1248 90.652 38.1418C90.6011 38.1929 90.5501 38.2609 90.4992 38.312C90.1767 38.6182 89.7691 38.7883 89.3446 38.6692C88.9542 38.5671 88.8183 38.1929 88.7674 37.8357C88.6995 37.3934 88.6486 36.9341 88.6486 36.4749C88.6315 34.2975 88.6486 32.1202 88.6315 29.9428C88.6315 29.5686 88.5975 29.1604 88.4787 28.8031C88.1731 27.9016 87.443 27.4423 86.5431 27.2892C85.1849 27.0511 83.8775 27.2892 82.655 27.9016C81.891 28.2758 81.1948 28.7351 80.6515 29.4155C80.2611 29.9258 79.9555 30.4701 79.9723 31.1335C79.9894 31.8311 80.21 32.0351 80.9062 32.0011C80.9401 32.0011 80.9571 32.0011 80.9912 32.0011C81.6872 31.95 82.0608 31.6099 82.1966 30.9295C82.2814 30.4871 82.2305 30.0619 82.1626 29.6367C82.1287 29.3475 82.2135 29.1093 82.4173 28.9222C82.5362 28.8201 82.672 28.7351 82.8079 28.6671C83.436 28.3949 84.0813 28.2418 84.7604 28.3439C85.6942 28.4799 86.2545 28.8712 86.3904 29.8918C86.5092 30.7083 86.4752 31.5248 86.4922 32.3583C86.4922 32.5115 86.4583 32.5965 86.3224 32.6644C85.6433 33.0217 84.9641 33.413 84.2849 33.7532C83.538 34.1275 82.7738 34.4676 82.0267 34.8759C81.5175 35.148 81.076 35.5223 80.7533 36.0155C80.0743 37.0362 80.0573 38.1418 80.4477 39.2476C80.6685 39.8599 81.1439 40.2512 81.7722 40.3363C82.4682 40.4212 83.1814 40.4042 83.8605 40.1491C84.9132 39.7578 85.915 39.2646 86.679 38.363C86.696 38.397 86.713 38.397 86.713 38.414C86.7299 38.4651 86.7469 38.5331 86.7639 38.5842C86.9337 39.1285 87.1714 39.6387 87.6468 39.996C88.7165 40.7785 90.635 40.3703 91.2124 38.6522C91.2972 38.4821 90.9577 38.0739 90.7539 38.0908ZM86.0507 37.9208C85.5924 38.397 85.0661 38.7203 84.4378 38.8903C83.436 39.1455 82.6041 38.5501 82.5532 37.5295C82.5022 36.6279 82.7738 35.8454 83.487 35.2501C84.0133 34.8079 84.5906 34.4336 85.2188 34.1445C85.6433 33.9573 86.0507 33.7191 86.4922 33.481V33.7021C86.4922 34.7398 86.4752 35.7603 86.4922 36.798C86.5092 37.2574 86.3563 37.6145 86.0507 37.9208Z" fill="white"/>
<path d="M57.6312 36.5236C57.3935 36.4045 57.3085 36.4215 57.1897 36.6427C56.3069 38.1736 54.4391 38.9561 52.7073 38.4969C51.3999 38.1566 50.585 37.2721 50.0247 36.0984C49.4644 34.8906 49.3964 33.5978 49.5153 32.2881C49.5323 32.1179 49.5832 32.0669 49.77 32.0669C50.9584 32.0669 52.147 32.0669 53.3355 32.0669C54.49 32.0669 55.6616 32.0669 56.8161 32.0669C56.969 32.0669 57.1218 32.0499 57.2576 32.0329C57.5803 31.9818 57.6821 31.8457 57.6821 31.5226C57.6651 30.8931 57.4783 30.3148 57.2237 29.7535C56.6973 28.5798 55.8824 27.6952 54.592 27.372C53.3016 27.0488 52.0112 27.1339 50.8057 27.6442C49.3116 28.2566 48.3268 29.4303 47.7495 30.9101C47.0534 32.6963 47.0873 34.5164 47.5968 36.3365C47.9363 37.5613 48.5984 38.6499 49.6682 39.3813C51.0434 40.3339 52.6054 40.5721 54.2184 40.2489C55.9842 39.9087 57.1048 38.7179 57.8689 37.17C58.0386 36.7788 58.0047 36.7278 57.6312 36.5236ZM51.0774 28.6988C51.8414 28.1205 52.6903 27.9163 53.6072 28.2736C54.3034 28.5287 54.6768 29.1071 54.8806 29.7875C54.9655 30.0766 54.9824 30.3828 55.0165 30.6891C55.0504 30.8931 54.9485 31.0292 54.7617 31.0803C54.609 31.1143 54.4561 31.1653 54.3034 31.1653C52.8092 31.1653 51.3151 31.1653 49.8209 31.1653C49.77 31.1653 49.7361 31.1653 49.6512 31.1483C49.9398 30.1957 50.2624 29.3112 51.0774 28.6988Z" fill="white"/>
<path d="M95.0001 29.2089H94.7285C94.6945 28.6646 94.6776 28.1373 94.6436 27.5929C94.6267 27.5929 94.6267 27.5929 94.6097 27.5929C94.4399 28.0692 94.27 28.5455 94.1003 29.0218C94.0664 29.0898 93.9984 29.1919 93.9305 29.2089C93.7778 29.2429 93.7947 29.1069 93.7607 29.0218C93.6079 28.5795 93.4721 28.1373 93.3193 27.695C93.3023 27.661 93.2854 27.644 93.2684 27.5759C93.2343 28.1543 93.2004 28.6816 93.1834 29.2259H92.9287C92.9798 28.5455 93.0137 27.8651 93.0646 27.1847C93.4042 27.1166 93.4042 27.1166 93.506 27.4058C93.6589 27.8481 93.8117 28.3074 93.9644 28.7666C94.1343 28.3074 94.287 27.8481 94.4399 27.4058C94.5418 27.1166 94.5418 27.1166 94.8813 27.1507C94.9153 27.8481 94.9662 28.5285 95.0001 29.2089Z" fill="white"/>
<path d="M92.7591 27.388H92.1479V29.2082H91.8761V27.388H91.2649V27.1499H92.7591C92.7421 27.235 92.7591 27.303 92.7591 27.388Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.5251 31.2159H24.4502C24.2975 31.2159 24.2466 31.1818 24.2635 31.0287C24.2749 30.812 24.271 30.5952 24.2672 30.3836C24.2653 30.2797 24.2635 30.177 24.2635 30.0761C24.2703 29.9266 24.2662 29.7743 24.2621 29.6215C24.256 29.392 24.2499 29.1611 24.2805 28.9365C24.3281 28.9007 24.3758 28.9067 24.4293 28.9135C24.4521 28.9164 24.4759 28.9194 24.5013 28.9194H28.5423C28.6272 28.9194 28.6951 28.9194 28.7798 28.9024C28.7289 28.4942 28.678 28.0859 28.6101 27.6777C28.3724 26.487 27.9649 25.3473 27.3876 24.2756C26.6405 22.9148 25.6897 21.724 24.5013 20.7374C23.0071 19.5127 21.3262 18.6792 19.4246 18.2709C17.9305 17.9477 16.4193 17.9137 14.9252 18.1689C12.1577 18.6622 9.81462 19.955 7.98091 22.0983C5.38317 25.1431 4.48329 28.6813 5.2813 32.6107C5.94346 35.8427 7.70926 38.3603 10.4598 40.1803C11.9539 41.184 13.6179 41.7793 15.4006 42.0175C15.4516 42.0175 15.5195 42.0175 15.5704 42.0345C15.5789 42.0345 15.5831 42.0387 15.5874 42.043C15.5916 42.0473 15.5959 42.0515 15.6044 42.0515H15.7741C15.8421 42.0515 15.927 42.0515 15.9949 42.0685C16.0021 42.0685 16.0062 42.0685 16.0099 42.0698C16.0149 42.0716 16.0191 42.0757 16.0288 42.0855C16.0883 42.0855 16.1477 42.0898 16.2071 42.094C16.2665 42.0983 16.326 42.1025 16.3854 42.1025H17.5229C17.6249 42.1025 17.7437 42.1025 17.8456 42.0855C17.8541 42.0855 17.8583 42.0813 17.8626 42.077C17.8668 42.0728 17.871 42.0685 17.8795 42.0685H17.8965C17.9644 42.0515 18.0323 42.0515 18.1003 42.0515C18.218 42.0338 18.3378 42.0182 18.4582 42.0024C18.685 41.9728 18.9141 41.9428 19.136 41.8984C20.4603 41.6433 21.6998 41.184 22.8712 40.5036C23.6523 40.0443 24.3824 39.5169 25.0446 38.8876C25.7916 38.1901 26.4368 37.4077 26.9972 36.5401C27.6253 35.5535 28.1007 34.4819 28.4233 33.3591C28.5931 32.7298 28.7289 32.1004 28.7968 31.4711L28.7941 31.4286C28.7808 31.2159 28.7808 31.2159 28.5251 31.2159ZM20.4773 35.6556C21.1734 34.8901 21.6318 34.0055 21.9205 33.019C22.0223 32.6447 21.9884 32.6107 21.6487 32.4746C21.6424 32.4746 21.6355 32.474 21.6282 32.4729C21.5996 32.4586 21.5707 32.4448 21.5314 32.4413L21.5299 32.4406C21.4696 32.4204 21.4167 32.4107 21.3704 32.4119C21.2505 32.4081 21.1723 32.4721 21.122 32.6105C20.8673 33.3251 20.4429 33.9034 19.8656 34.3796C19.0847 35.0347 18.0317 35.4416 16.951 35.4285C16.0127 35.4149 15.0565 35.0855 14.2461 34.3288C12.7519 32.951 12.2935 31.1648 12.1916 29.2256C12.1747 29.1066 12.2426 29.0725 12.3444 29.0555C13.2159 28.9184 14.1454 28.7813 15.0838 28.6429C16.3575 28.4551 17.6474 28.2648 18.8304 28.0689C19.4246 27.9839 19.6963 27.9158 20.2905 27.7627C20.7659 27.6437 20.8508 27.4736 20.7489 26.9973C20.613 26.4019 20.3585 25.8746 20.0358 25.3813C19.1678 24.0101 17.9882 23.1978 16.3356 23.1868C16.3013 23.1864 16.2668 23.1864 16.2322 23.1868C15.1116 23.1868 13.6174 23.578 12.7515 24.1224C11.3932 24.9899 10.5443 26.2487 10.1198 27.7966C9.76327 29.1404 9.78025 30.4842 10.0859 31.845C10.3405 32.9678 10.6631 34.0395 11.3593 34.958C12.0384 35.8595 12.8194 36.642 13.9061 37.0503C14.1941 37.1605 14.487 37.2415 14.7833 37.2989C15.453 37.4348 16.1399 37.45 16.8268 37.3906C16.8847 37.3859 16.9423 37.3804 16.9994 37.3743C17.5502 37.3197 18.0677 37.1981 18.5512 37.0038C19.2693 36.7198 19.9124 36.2801 20.4773 35.6556Z" fill="white"/>
<path d="M18.1692 26.76C18.1692 26.9641 18.0674 27.0492 17.9315 27.1342C17.7157 27.2673 17.4674 27.3028 17.2342 27.3361L17.2184 27.3384C15.7073 27.5765 14.2132 27.8147 12.7021 28.0698C12.5493 28.0868 12.4983 28.0698 12.5323 27.8997C12.6342 27.2193 12.753 26.5559 13.0926 25.9435C13.551 25.093 14.2302 24.4976 15.1979 24.3105C16.3865 24.0724 17.3034 24.5487 17.8636 25.7224C17.9994 26.0796 18.1013 26.4198 18.1692 26.76Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,12 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="white"/>
<path d="M44.1316 36.9333C43.2316 39.0085 41.6696 40.1653 39.4284 40.4203C39.1737 40.4544 38.919 40.4544 38.6643 40.4714C38.6304 40.4714 38.5964 40.4714 38.5625 40.4714C37.8494 40.4714 37.1363 40.3863 36.4572 40.1823C35.5912 39.9441 34.8272 39.5358 34.114 38.9915C33.9273 38.8554 33.7405 38.7193 33.5368 38.6173C33.333 38.4982 33.2142 38.5493 33.0954 38.7363C33.0104 38.8724 32.9256 39.0085 32.8406 39.1276C32.7727 39.2126 32.6879 39.3317 32.603 39.3658C32.4841 39.4168 32.3144 39.4338 32.2294 39.3828C32.1446 39.3317 32.0767 39.1446 32.0767 39.0425C32.2294 37.2394 32.4162 35.4534 32.5859 33.6502C32.62 33.361 32.62 33.361 32.9086 33.378C33.401 33.395 33.401 33.395 33.418 33.8714C33.4859 35.4363 34.0461 36.7971 35.1327 37.9199C36.5081 39.3317 38.7832 39.7229 40.566 38.8724C41.7545 38.3111 42.4336 37.3585 42.5695 36.0317C42.7053 34.7559 42.4676 33.5481 41.6017 32.5445C41.1093 31.9662 40.4641 31.575 39.802 31.2347C39.2417 30.9455 38.6474 30.7244 38.0362 30.4863C36.6949 29.993 35.3874 29.4486 34.2669 28.5301C33.1463 27.6455 32.603 26.4718 32.3823 25.111C32.2464 24.1924 32.1785 23.2738 32.518 22.3893C33.2821 20.331 34.6405 18.9362 36.8985 18.5619C38.3757 18.3238 39.802 18.4939 41.2112 18.9702C41.4149 19.0382 41.6017 19.1233 41.7885 19.2254C42.0432 19.3444 42.145 19.3274 42.3488 19.1403C42.5185 18.9872 42.7053 18.8171 42.9091 18.698C43.1128 18.562 43.2486 18.63 43.2826 18.8681C43.3336 19.1573 43.3166 19.4635 43.3505 19.7527C43.4524 20.8413 43.5542 21.93 43.6731 23.0187C43.7071 23.2909 43.724 23.563 43.741 23.8352C43.758 24.0223 43.6901 24.1244 43.5033 24.1584C43.0789 24.2434 43.1298 24.2945 42.9939 23.8522C42.6035 22.5764 41.9413 21.4537 40.9565 20.5352C40.1924 19.8377 39.2756 19.5486 38.2569 19.5315C37.5438 19.5145 36.8476 19.5826 36.2025 19.9228C35.2177 20.4331 34.6914 21.3006 34.5215 22.3553C34.3348 23.512 34.4876 24.6007 35.3026 25.5022C35.761 26.0125 36.3552 26.3357 36.9496 26.6419C37.9003 27.1352 38.9531 27.4074 39.9547 27.7646C40.6678 28.0198 41.381 28.2919 42.0432 28.6661C43.741 29.6187 44.607 31.1326 44.7597 33.0549C44.8106 34.3817 44.6579 35.6914 44.1316 36.9333Z" fill="black"/>
<path d="M79.4131 27.7817V28.207C79.4131 28.5131 79.3792 28.5472 79.0736 28.5472C78.9037 28.5472 78.751 28.5472 78.5812 28.5472C78.0379 28.5472 77.6303 28.7683 77.4096 29.2786C76.9513 30.3843 76.4758 31.473 76.0344 32.5956C75.0326 35.0621 74.0478 37.5457 73.063 40.0122C72.9952 40.1483 72.8933 40.3184 72.7574 40.3864C72.4858 40.5225 72.2481 40.4544 72.0952 40.1823C71.9595 39.9101 71.8576 39.6039 71.7557 39.3148C70.8728 36.7292 69.9899 34.1265 69.107 31.524C69.0901 31.473 69.0222 31.4219 68.9881 31.3709C68.9372 31.4219 68.8863 31.473 68.8524 31.524C67.6978 34.2456 66.5433 36.9674 65.4056 39.689C65.3547 39.8081 65.3038 39.9442 65.2359 40.0633C65.117 40.3014 64.9302 40.4544 64.6587 40.4374C64.4039 40.4204 64.302 40.1994 64.2342 39.9952C64.0304 39.4679 63.8436 38.9235 63.6398 38.3962C62.5193 35.3514 61.3987 32.3065 60.2781 29.2616C60.0914 28.7853 59.7517 28.5472 59.1745 28.5302C58.9368 28.5302 58.6821 28.5302 58.4444 28.5302C58.2747 28.5302 58.1897 28.4621 58.2067 28.275C58.2236 28.0709 58.2236 27.8838 58.2067 27.6796C58.1897 27.4925 58.2745 27.4245 58.4613 27.4415C59.0725 27.4755 59.6838 27.5265 60.295 27.5095C61.3307 27.5095 62.3835 27.4585 63.4192 27.4415C63.7418 27.4415 63.7927 27.4755 63.7927 27.7817C63.7927 27.9518 63.7927 28.1219 63.7927 28.292C63.7927 28.4451 63.7248 28.4961 63.5889 28.5131C63.5041 28.5131 63.4192 28.5131 63.3173 28.5131C63.0117 28.5131 62.8418 28.7002 62.8759 29.0064C62.8759 29.1085 62.9098 29.2106 62.9438 29.3126C63.7078 31.8982 64.4549 34.4668 65.2189 37.0354C65.2359 37.1035 65.2868 37.1545 65.3208 37.2054C65.3547 37.1545 65.4226 37.1035 65.4397 37.0354C66.4074 34.705 67.3582 32.3916 68.326 30.0611C68.5637 29.4657 68.1053 28.7173 67.477 28.7003C67.2903 28.6832 67.1035 28.6832 66.8998 28.7003C66.747 28.7003 66.6621 28.6322 66.6621 28.4621C66.6621 28.292 66.6621 28.1389 66.6621 27.9688C66.6621 27.6456 66.7301 27.5776 67.0696 27.5946C67.545 27.6116 68.0204 27.6626 68.4959 27.6626C69.5655 27.6456 70.6351 27.6286 71.7048 27.5946C72.0443 27.5946 72.1123 27.6286 72.1123 27.9858C72.1123 28.1389 72.1123 28.292 72.1123 28.4621C72.1123 28.6152 72.0273 28.7003 71.8746 28.7003C71.7048 28.7003 71.5519 28.7173 71.3822 28.7003C70.9916 28.6662 70.7879 29.0405 70.8559 29.3296C70.9577 29.7209 71.0766 30.1122 71.1954 30.5033C71.8066 32.5106 72.4349 34.5008 73.0461 36.508C73.063 36.576 73.097 36.6611 73.131 36.7292C73.148 36.7292 73.1819 36.7292 73.1989 36.7292C73.2329 36.6781 73.2498 36.6101 73.2838 36.559C74.0478 34.4498 74.8288 32.3235 75.5929 30.2141C75.7118 29.891 75.7797 29.5338 75.7967 29.1765C75.8136 28.7513 75.5589 28.5302 75.1344 28.5302C74.5063 28.5302 74.5911 28.5472 74.5911 27.9858C74.5911 27.4245 74.5911 27.4245 75.1344 27.4585C76.4589 27.5606 77.7832 27.5436 79.1075 27.4585C79.3622 27.4585 79.4131 27.5095 79.4131 27.7817Z" fill="black"/>
<path d="M90.7539 38.0908C90.72 38.0908 90.6859 38.1248 90.652 38.1418C90.6011 38.1929 90.5501 38.2609 90.4992 38.312C90.1767 38.6182 89.7691 38.7883 89.3446 38.6692C88.9542 38.5671 88.8183 38.1929 88.7674 37.8357C88.6995 37.3934 88.6486 36.9341 88.6486 36.4749C88.6315 34.2975 88.6486 32.1202 88.6315 29.9428C88.6315 29.5686 88.5975 29.1604 88.4787 28.8031C88.1731 27.9016 87.443 27.4423 86.5431 27.2892C85.1849 27.0511 83.8775 27.2892 82.655 27.9016C81.891 28.2758 81.1948 28.7351 80.6515 29.4155C80.2611 29.9258 79.9555 30.4701 79.9723 31.1335C79.9894 31.8311 80.21 32.0351 80.9062 32.0011C80.9401 32.0011 80.9571 32.0011 80.9912 32.0011C81.6872 31.95 82.0608 31.6099 82.1966 30.9295C82.2814 30.4871 82.2305 30.0619 82.1626 29.6367C82.1287 29.3475 82.2135 29.1093 82.4173 28.9222C82.5362 28.8201 82.672 28.7351 82.8079 28.6671C83.436 28.3949 84.0813 28.2418 84.7604 28.3439C85.6942 28.4799 86.2545 28.8712 86.3904 29.8918C86.5092 30.7083 86.4752 31.5248 86.4922 32.3583C86.4922 32.5115 86.4583 32.5965 86.3224 32.6644C85.6433 33.0217 84.9641 33.413 84.2849 33.7532C83.538 34.1275 82.7738 34.4676 82.0267 34.8759C81.5175 35.148 81.076 35.5223 80.7533 36.0155C80.0743 37.0362 80.0573 38.1418 80.4477 39.2476C80.6685 39.8599 81.1439 40.2512 81.7722 40.3363C82.4682 40.4212 83.1814 40.4042 83.8605 40.1491C84.9132 39.7578 85.915 39.2646 86.679 38.363C86.696 38.397 86.713 38.397 86.713 38.414C86.7299 38.4651 86.7469 38.5331 86.7639 38.5842C86.9337 39.1285 87.1714 39.6387 87.6468 39.996C88.7165 40.7785 90.635 40.3703 91.2124 38.6522C91.2972 38.4821 90.9577 38.0739 90.7539 38.0908ZM86.0507 37.9208C85.5924 38.397 85.0661 38.7203 84.4378 38.8903C83.436 39.1455 82.6041 38.5501 82.5532 37.5295C82.5022 36.6279 82.7738 35.8454 83.487 35.2501C84.0133 34.8079 84.5906 34.4336 85.2188 34.1445C85.6433 33.9573 86.0507 33.7191 86.4922 33.481V33.7021C86.4922 34.7398 86.4752 35.7603 86.4922 36.798C86.5092 37.2574 86.3563 37.6145 86.0507 37.9208Z" fill="black"/>
<path d="M57.6312 36.5236C57.3935 36.4045 57.3085 36.4215 57.1897 36.6427C56.3069 38.1736 54.4391 38.9561 52.7073 38.4969C51.3999 38.1566 50.585 37.2721 50.0247 36.0984C49.4644 34.8906 49.3964 33.5978 49.5153 32.2881C49.5323 32.1179 49.5832 32.0669 49.77 32.0669C50.9584 32.0669 52.147 32.0669 53.3355 32.0669C54.49 32.0669 55.6616 32.0669 56.8161 32.0669C56.969 32.0669 57.1218 32.0499 57.2576 32.0329C57.5803 31.9818 57.6821 31.8457 57.6821 31.5226C57.6651 30.8931 57.4783 30.3148 57.2237 29.7535C56.6973 28.5798 55.8824 27.6952 54.592 27.372C53.3016 27.0488 52.0112 27.1339 50.8057 27.6442C49.3116 28.2566 48.3268 29.4303 47.7495 30.9101C47.0534 32.6963 47.0873 34.5164 47.5968 36.3365C47.9363 37.5613 48.5984 38.6499 49.6682 39.3813C51.0434 40.3339 52.6054 40.5721 54.2184 40.2489C55.9842 39.9087 57.1048 38.7179 57.8689 37.17C58.0386 36.7788 58.0047 36.7278 57.6312 36.5236ZM51.0774 28.6988C51.8414 28.1205 52.6903 27.9163 53.6072 28.2736C54.3034 28.5287 54.6768 29.1071 54.8806 29.7875C54.9655 30.0766 54.9824 30.3828 55.0165 30.6891C55.0504 30.8931 54.9485 31.0292 54.7617 31.0803C54.609 31.1143 54.4561 31.1653 54.3034 31.1653C52.8092 31.1653 51.3151 31.1653 49.8209 31.1653C49.77 31.1653 49.7361 31.1653 49.6512 31.1483C49.9398 30.1957 50.2624 29.3112 51.0774 28.6988Z" fill="black"/>
<path d="M95.0001 29.2089H94.7285C94.6945 28.6646 94.6776 28.1373 94.6436 27.5929C94.6267 27.5929 94.6267 27.5929 94.6097 27.5929C94.4399 28.0692 94.27 28.5455 94.1003 29.0218C94.0664 29.0898 93.9984 29.1919 93.9305 29.2089C93.7778 29.2429 93.7947 29.1069 93.7607 29.0218C93.6079 28.5795 93.4721 28.1373 93.3193 27.695C93.3023 27.661 93.2854 27.644 93.2684 27.5759C93.2343 28.1543 93.2004 28.6816 93.1834 29.2259H92.9287C92.9798 28.5455 93.0137 27.8651 93.0646 27.1847C93.4042 27.1166 93.4042 27.1166 93.506 27.4058C93.6589 27.8481 93.8117 28.3074 93.9644 28.7666C94.1343 28.3074 94.287 27.8481 94.4399 27.4058C94.5418 27.1166 94.5418 27.1166 94.8813 27.1507C94.9153 27.8481 94.9662 28.5285 95.0001 29.2089Z" fill="#6D6E71"/>
<path d="M92.7591 27.388H92.1479V29.2082H91.8761V27.388H91.2649V27.1499H92.7591C92.7421 27.235 92.7591 27.303 92.7591 27.388Z" fill="#6D6E71"/>
<path d="M28.5251 31.2159C27.1669 31.2159 25.8086 31.2159 24.4502 31.2159C24.2975 31.2159 24.2466 31.1818 24.2635 31.0287C24.2805 30.7056 24.2635 30.3823 24.2635 30.0761C24.2805 29.7019 24.2296 29.3107 24.2805 28.9365C24.3484 28.8854 24.4163 28.9194 24.5013 28.9194C25.8425 28.9194 27.2008 28.9194 28.5421 28.9194C28.6271 28.9194 28.695 28.9195 28.7798 28.9024C28.7289 28.4942 28.678 28.0859 28.6101 27.6777C28.3724 26.487 27.9649 25.3473 27.3876 24.2756C26.6405 22.9148 25.6897 21.724 24.5013 20.7374C23.0071 19.5127 21.3262 18.6792 19.4246 18.2709C17.9305 17.9477 16.4193 17.9137 14.9252 18.1689C12.1577 18.6622 9.81462 19.955 7.98091 22.0983C5.38317 25.1431 4.48329 28.6813 5.2813 32.6107C5.94346 35.8427 7.70926 38.3603 10.4598 40.1803C11.9539 41.184 13.6179 41.7793 15.4006 42.0175C15.4516 42.0175 15.5195 42.0175 15.5704 42.0345C15.5874 42.0345 15.5874 42.0515 15.6044 42.0515C15.6553 42.0515 15.7062 42.0515 15.7742 42.0515C15.8421 42.0515 15.927 42.0515 15.9949 42.0685C16.0119 42.0685 16.0119 42.0685 16.0288 42.0855C16.1477 42.0855 16.2665 42.1025 16.3854 42.1025C16.7589 42.1025 17.1494 42.1025 17.5229 42.1025C17.6249 42.1025 17.7437 42.1025 17.8456 42.0855C17.8626 42.0855 17.8626 42.0685 17.8795 42.0685C17.8795 42.0685 17.8795 42.0685 17.8965 42.0685C17.9644 42.0515 18.0323 42.0515 18.1003 42.0515C18.4398 42.0005 18.7963 41.9664 19.136 41.8984C20.4603 41.6433 21.6998 41.184 22.8712 40.5036C23.6523 40.0443 24.3824 39.5169 25.0446 38.8876C25.7916 38.1901 26.4368 37.4077 26.9972 36.5401C27.6253 35.5535 28.1007 34.4819 28.4233 33.3591C28.5931 32.7298 28.7289 32.1004 28.7968 31.4711C28.7798 31.2159 28.7968 31.2159 28.5251 31.2159ZM21.9205 33.019C21.6318 34.0055 21.1734 34.8901 20.4773 35.6556C19.4925 36.7443 18.27 37.2716 16.8268 37.3906C15.8421 37.4757 14.8573 37.4077 13.9235 37.0504C12.8368 36.6422 12.0558 35.8597 11.3767 34.9581C10.6805 34.0225 10.3579 32.951 10.1033 31.8452C9.79764 30.4844 9.76368 29.1406 10.1372 27.7968C10.5617 26.2658 11.4106 24.99 12.7689 24.1225C13.6179 23.5782 15.129 23.1869 16.2496 23.1869C17.9474 23.1699 19.1529 23.9864 20.0358 25.3813C20.3585 25.8746 20.613 26.4019 20.7489 26.9973C20.8508 27.4736 20.7659 27.6437 20.2905 27.7627C19.6963 27.9158 19.4246 27.9839 18.8304 28.0689C16.7759 28.4091 14.3989 28.7323 12.3444 29.0555C12.2426 29.0725 12.1747 29.1066 12.1916 29.2256C12.2935 31.1648 12.7519 32.951 14.2461 34.3288C15.9949 35.9618 18.4228 35.6045 19.8829 34.3798C20.4603 33.9036 20.8848 33.3251 21.1395 32.6107C21.2074 32.4235 21.3262 32.3725 21.5299 32.4406C21.5639 32.4576 21.6148 32.4746 21.6487 32.4746C21.9884 32.6107 22.0223 32.6447 21.9205 33.019Z" fill="#60BB46"/>
<path d="M21.6314 32.4745C21.5974 32.4575 21.5635 32.4405 21.5126 32.4405C21.3088 32.3725 21.19 32.4235 21.122 32.6105C20.8673 33.3251 20.4429 33.9034 19.8656 34.3796C18.4055 35.6045 15.9945 35.9616 14.2287 34.3286C12.7345 32.9508 12.2761 31.1476 12.1743 29.2255C12.1743 29.1064 12.2252 29.0724 12.3271 29.0554C14.3815 28.7322 16.7585 28.409 18.8129 28.0688C19.4071 27.9667 19.6789 27.9157 20.2731 27.7626C20.7485 27.6435 20.8334 27.4564 20.7316 26.9971C20.5957 26.4188 20.341 25.8914 20.0184 25.3811C19.1356 23.9863 17.9301 23.1698 16.2322 23.1868C15.1116 23.1868 13.6174 23.578 12.7515 24.1224C11.3932 24.9899 10.5443 26.2487 10.1198 27.7966C9.76327 29.1404 9.78025 30.4842 10.0859 31.845C10.3405 32.9678 10.6631 34.0395 11.3593 34.958C12.0384 35.8595 12.8194 36.642 13.9061 37.0503C14.8399 37.4075 15.8247 37.4585 16.8095 37.3905C18.2526 37.2884 19.4751 36.7441 20.4599 35.6554C21.1561 34.8899 21.6144 34.0055 21.903 33.0188C22.0219 32.6445 21.988 32.6105 21.6314 32.4745ZM12.5138 27.8987C12.6157 27.2183 12.7346 26.5548 13.0741 25.9425C13.5325 25.0919 14.2117 24.4966 15.1795 24.3095C16.368 24.0713 17.2848 24.5476 17.8451 25.7213C17.998 26.0445 18.1169 26.4017 18.1678 26.742C18.1678 26.9461 18.0658 27.0311 17.9301 27.1162C17.7093 27.2523 17.4546 27.2863 17.2169 27.3203C15.7058 27.5585 14.2117 27.7966 12.7006 28.0518C12.5308 28.0858 12.4969 28.0688 12.5138 27.8987Z" fill="white"/>
<path d="M18.1692 26.7601C18.1692 26.9642 18.0673 27.0493 17.9315 27.1343C17.7108 27.2704 17.4561 27.3044 17.2184 27.3384C15.7073 27.5766 14.2132 27.8147 12.7021 28.0699C12.5492 28.0869 12.4983 28.0699 12.5323 27.8998C12.6341 27.2194 12.753 26.556 13.0926 25.9436C13.551 25.0931 14.2301 24.4977 15.1979 24.3106C16.3864 24.0725 17.3033 24.5487 17.8635 25.7225C17.9994 26.0797 18.1012 26.4199 18.1692 26.7601Z" fill="#60BB46"/>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,10 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="#0D1321"/>
<path d="M59.9901 40.84C59.9901 42.37 58.7301 43.54 57.2001 43.54H7.43C5.99 43.54 5 42.37 5 40.84V18.61C5 17.17 5.99 16 7.43 16H57.2001C58.7301 16 59.9901 17.17 59.9901 18.61V40.84Z" fill="#D02027"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M72.6799 30.31C72.6799 33.1 71.1499 35.71 68.1799 35.71C66.8599 35.71 65.8399 35.23 65.1199 34.27V38.95H61.6099V24.73H64.9399V25.99C65.6599 24.97 66.6499 24.46 67.9099 24.46C71.2399 24.46 72.6799 27.34 72.6799 30.31ZM69.1699 29.95C69.1699 28.6 68.6299 27.16 67.0999 27.16C66.1999 27.16 64.9399 27.79 64.9399 29.95C64.9399 31.84 65.4799 33.01 67.0999 33.01C68.6299 33.01 69.1699 31.39 69.1699 29.95Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M83.5701 32.65C83.5701 33.55 83.5701 34.54 83.9301 35.44H80.4201C80.3301 35.08 80.3301 34.72 80.2401 34.36C79.3401 35.35 77.9901 35.71 76.7301 35.71C74.6601 35.71 73.1301 34.72 73.1301 32.47C73.1301 29.05 76.9101 29.32 79.3401 28.78C79.8801 28.69 80.2401 28.51 80.2401 27.79C80.2401 26.98 79.2501 26.71 78.5301 26.71C77.5101 26.71 76.9401 27.16 76.8201 28.06H73.5801C73.5801 26.62 74.2101 25.72 75.2001 25.18C76.1901 24.64 77.3601 24.46 78.6201 24.46C81.1401 24.46 83.5701 25 83.5701 28.06V32.65ZM80.1501 30.4C79.7001 30.67 78.8001 30.67 77.9901 30.94C77.2701 31.12 76.5501 31.48 76.5501 32.29C76.5501 33.19 77.2701 33.46 78.0801 33.46C79.7001 33.46 80.2401 32.56 80.1501 30.4Z" fill="white"/>
<path d="M91.3999 24.73L89.4199 31.66L87.3499 24.73H83.6599L86.4499 32.2C86.6299 32.74 87.3499 34.36 87.3499 34.99C87.3499 35.71 86.7199 36.16 85.9099 36.16H84.7399V38.95H86.3599C88.6999 38.95 89.9599 38.68 90.7699 36.34L94.9999 24.73H91.3999Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.71 33.0999H42.8C42.92 33.8199 43.16 34.3899 43.52 34.8099C43.94 35.2299 44.51 35.4399 45.23 35.4399C45.59 35.4399 45.95 35.3799 46.31 35.2599C46.67 35.0799 46.97 34.8399 47.21 34.5399H51.44C51.26 35.1999 50.96 35.7699 50.54 36.2499C50.12 36.7899 49.61 37.2099 49.01 37.5099C48.47 37.8099 47.87 38.0499 47.21 38.2299C46.55 38.3499 45.89 38.4099 45.23 38.4099C44.27 38.4099 43.37 38.2599 42.53 37.9599C41.69 37.7199 40.97 37.3299 40.37 36.7899C39.89 36.3699 39.5 35.8899 39.2 35.3499V38.1399H34.61V31.7499C34.61 31.3899 34.58 31.0599 34.52 30.7599C34.52 30.4599 34.46 30.2199 34.34 30.0399C34.22 29.7999 34.07 29.6199 33.89 29.4999C33.65 29.3799 33.38 29.3199 33.08 29.3199C32.84 29.3199 32.63 29.3499 32.45 29.4099C32.21 29.5299 32 29.6499 31.82 29.7699C31.64 29.9499 31.49 30.1899 31.37 30.4899C31.25 30.7899 31.19 31.1799 31.19 31.6599V38.1399H26.6V35.3499C26.36 35.7699 26.09 36.1599 25.79 36.5199C25.25 37.0599 24.56 37.5099 23.72 37.8699C22.88 38.2299 21.89 38.4099 20.75 38.4099C19.61 38.4099 18.62 38.2299 17.78 37.8699C16.94 37.5099 16.25 37.0599 15.71 36.5199C15.17 35.9199 14.78 35.2299 14.54 34.4499C14.24 33.6699 14.09 32.8599 14.09 32.0199C14.09 31.1799 14.24 30.3699 14.54 29.5899C14.6 29.3499 14.72 29.0799 14.9 28.7799H13.73V38.1399H9.14V28.7799H7.25V25.9899H9.14C9.08 25.3899 9.11 24.7899 9.23 24.1899C9.35 23.5299 9.62 22.9899 10.04 22.5699C10.58 22.0299 11.15 21.6999 11.75 21.5799C12.41 21.4599 13.19 21.3999 14.09 21.3999C14.45 21.3999 14.81 21.3999 15.17 21.3999C15.47 21.4599 15.8 21.4899 16.16 21.4899V24.6399C15.98 24.6399 15.8 24.6099 15.62 24.5499C15.44 24.5499 15.26 24.5499 15.08 24.5499C14.54 24.5499 14.15 24.6399 13.91 24.8199C13.73 24.9999 13.64 25.3899 13.64 25.9899H16.07V27.2499C16.55 26.8299 17.12 26.4699 17.78 26.1699C18.62 25.8099 19.61 25.6299 20.75 25.6299C21.89 25.6299 22.88 25.8099 23.72 26.1699C24.56 26.5299 25.25 27.0099 25.79 27.6099C26.09 27.9699 26.36 28.3299 26.6 28.6899V25.9899H31.01V27.5199H31.1C31.52 26.9199 32.06 26.4699 32.72 26.1699C33.32 25.8099 34.1 25.6299 35.06 25.6299C35.6 25.6299 36.11 25.7199 36.59 25.8999C37.13 26.0799 37.58 26.3499 37.94 26.7099C38.36 27.0099 38.66 27.4299 38.84 27.9699C39.02 28.2699 39.14 28.5999 39.2 28.9599C39.44 28.4199 39.77 27.9399 40.19 27.5199C40.73 26.9799 41.39 26.5299 42.17 26.1699C42.95 25.8099 43.85 25.6299 44.87 25.6299C46.07 25.6299 47.09 25.8099 47.93 26.1699C48.83 26.4699 49.55 26.9499 50.09 27.6099C50.63 28.2099 51.05 28.9899 51.35 29.9499C51.59 30.8499 51.71 31.8999 51.71 33.0999ZM22.73 32.0199C22.73 31.7199 22.7 31.3899 22.64 31.0299C22.64 30.6699 22.55 30.3399 22.37 30.0399C22.25 29.7399 22.07 29.4999 21.83 29.3199C21.53 29.1399 21.17 29.0499 20.75 29.0499C20.33 29.0499 19.97 29.1399 19.67 29.3199C19.43 29.4999 19.22 29.7399 19.04 30.0399C18.92 30.3399 18.83 30.6699 18.77 31.0299C18.77 31.3899 18.77 31.7199 18.77 32.0199C18.77 32.3799 18.77 32.7099 18.77 33.0099C18.83 33.3699 18.92 33.6999 19.04 33.9999C19.22 34.2999 19.43 34.5399 19.67 34.7199C19.97 34.9599 20.33 35.0799 20.75 35.0799C21.17 35.0799 21.53 34.9599 21.83 34.7199C22.07 34.5399 22.25 34.2999 22.37 33.9999C22.55 33.6999 22.64 33.3699 22.64 33.0099C22.7 32.7099 22.73 32.3799 22.73 32.0199ZM47.3 30.6699C47.3 30.1299 47.12 29.6499 46.76 29.2299C46.34 28.8099 45.83 28.5999 45.23 28.5999C44.57 28.5999 44.03 28.7799 43.61 29.1399C43.25 29.4999 43.01 30.0099 42.89 30.6699H47.3Z" fill="white"/>
<path d="M49.55 21.04C49.49 21.58 49.46 22.12 49.46 22.66C52.34 23.14 54.02 24.82 54.5 27.7C55.04 27.7 55.58 27.67 56.12 27.61C55.94 23.65 52.34 21.04 49.55 21.04Z" fill="white"/>
<path d="M49.7301 24.1899C49.7301 24.7299 49.7001 25.2699 49.6401 25.8099C50.6301 25.9899 51.1701 26.6199 51.3501 27.5199C51.8901 27.4599 52.4301 27.4299 52.9701 27.4299C52.9701 25.8099 51.2601 24.0999 49.7301 24.1899Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

@ -0,0 +1,10 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="white"/>
<path d="M59.9901 40.84C59.9901 42.37 58.7301 43.54 57.2001 43.54H7.43C5.99 43.54 5 42.37 5 40.84V18.61C5 17.17 5.99 16 7.43 16H57.2001C58.7301 16 59.9901 17.17 59.9901 18.61V40.84Z" fill="#D02027"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M72.6799 30.31C72.6799 33.1 71.1499 35.71 68.1799 35.71C66.8599 35.71 65.8399 35.23 65.1199 34.27V38.95H61.6099V24.73H64.9399V25.99C65.6599 24.97 66.6499 24.46 67.9099 24.46C71.2399 24.46 72.6799 27.34 72.6799 30.31ZM69.1699 29.95C69.1699 28.6 68.6299 27.16 67.0999 27.16C66.1999 27.16 64.9399 27.79 64.9399 29.95C64.9399 31.84 65.4799 33.01 67.0999 33.01C68.6299 33.01 69.1699 31.39 69.1699 29.95Z" fill="#090B0F"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M83.5701 32.65C83.5701 33.55 83.5701 34.54 83.9301 35.44H80.4201C80.3301 35.08 80.3301 34.72 80.2401 34.36C79.3401 35.35 77.9901 35.71 76.7301 35.71C74.6601 35.71 73.1301 34.72 73.1301 32.47C73.1301 29.05 76.9101 29.32 79.3401 28.78C79.8801 28.69 80.2401 28.51 80.2401 27.79C80.2401 26.98 79.2501 26.71 78.5301 26.71C77.5101 26.71 76.9401 27.16 76.8201 28.06H73.5801C73.5801 26.62 74.2101 25.72 75.2001 25.18C76.1901 24.64 77.3601 24.46 78.6201 24.46C81.1401 24.46 83.5701 25 83.5701 28.06V32.65ZM80.1501 30.4C79.7001 30.67 78.8001 30.67 77.9901 30.94C77.2701 31.12 76.5501 31.48 76.5501 32.29C76.5501 33.19 77.2701 33.46 78.0801 33.46C79.7001 33.46 80.2401 32.56 80.1501 30.4Z" fill="#090B0F"/>
<path d="M91.3999 24.73L89.4199 31.66L87.3499 24.73H83.6599L86.4499 32.2C86.6299 32.74 87.3499 34.36 87.3499 34.99C87.3499 35.71 86.7199 36.16 85.9099 36.16H84.7399V38.95H86.3599C88.6999 38.95 89.9599 38.68 90.7699 36.34L94.9999 24.73H91.3999Z" fill="#090B0F"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.71 33.0999H42.8C42.92 33.8199 43.16 34.3899 43.52 34.8099C43.94 35.2299 44.51 35.4399 45.23 35.4399C45.59 35.4399 45.95 35.3799 46.31 35.2599C46.67 35.0799 46.97 34.8399 47.21 34.5399H51.44C51.26 35.1999 50.96 35.7699 50.54 36.2499C50.12 36.7899 49.61 37.2099 49.01 37.5099C48.47 37.8099 47.87 38.0499 47.21 38.2299C46.55 38.3499 45.89 38.4099 45.23 38.4099C44.27 38.4099 43.37 38.2599 42.53 37.9599C41.69 37.7199 40.97 37.3299 40.37 36.7899C39.89 36.3699 39.5 35.8899 39.2 35.3499V38.1399H34.61V31.7499C34.61 31.3899 34.58 31.0599 34.52 30.7599C34.52 30.4599 34.46 30.2199 34.34 30.0399C34.22 29.7999 34.07 29.6199 33.89 29.4999C33.65 29.3799 33.38 29.3199 33.08 29.3199C32.84 29.3199 32.63 29.3499 32.45 29.4099C32.21 29.5299 32 29.6499 31.82 29.7699C31.64 29.9499 31.49 30.1899 31.37 30.4899C31.25 30.7899 31.19 31.1799 31.19 31.6599V38.1399H26.6V35.3499C26.36 35.7699 26.09 36.1599 25.79 36.5199C25.25 37.0599 24.56 37.5099 23.72 37.8699C22.88 38.2299 21.89 38.4099 20.75 38.4099C19.61 38.4099 18.62 38.2299 17.78 37.8699C16.94 37.5099 16.25 37.0599 15.71 36.5199C15.17 35.9199 14.78 35.2299 14.54 34.4499C14.24 33.6699 14.09 32.8599 14.09 32.0199C14.09 31.1799 14.24 30.3699 14.54 29.5899C14.6 29.3499 14.72 29.0799 14.9 28.7799H13.73V38.1399H9.14V28.7799H7.25V25.9899H9.14C9.08 25.3899 9.11 24.7899 9.23 24.1899C9.35 23.5299 9.62 22.9899 10.04 22.5699C10.58 22.0299 11.15 21.6999 11.75 21.5799C12.41 21.4599 13.19 21.3999 14.09 21.3999C14.45 21.3999 14.81 21.3999 15.17 21.3999C15.47 21.4599 15.8 21.4899 16.16 21.4899V24.6399C15.98 24.6399 15.8 24.6099 15.62 24.5499C15.44 24.5499 15.26 24.5499 15.08 24.5499C14.54 24.5499 14.15 24.6399 13.91 24.8199C13.73 24.9999 13.64 25.3899 13.64 25.9899H16.07V27.2499C16.55 26.8299 17.12 26.4699 17.78 26.1699C18.62 25.8099 19.61 25.6299 20.75 25.6299C21.89 25.6299 22.88 25.8099 23.72 26.1699C24.56 26.5299 25.25 27.0099 25.79 27.6099C26.09 27.9699 26.36 28.3299 26.6 28.6899V25.9899H31.01V27.5199H31.1C31.52 26.9199 32.06 26.4699 32.72 26.1699C33.32 25.8099 34.1 25.6299 35.06 25.6299C35.6 25.6299 36.11 25.7199 36.59 25.8999C37.13 26.0799 37.58 26.3499 37.94 26.7099C38.36 27.0099 38.66 27.4299 38.84 27.9699C39.02 28.2699 39.14 28.5999 39.2 28.9599C39.44 28.4199 39.77 27.9399 40.19 27.5199C40.73 26.9799 41.39 26.5299 42.17 26.1699C42.95 25.8099 43.85 25.6299 44.87 25.6299C46.07 25.6299 47.09 25.8099 47.93 26.1699C48.83 26.4699 49.55 26.9499 50.09 27.6099C50.63 28.2099 51.05 28.9899 51.35 29.9499C51.59 30.8499 51.71 31.8999 51.71 33.0999ZM22.73 32.0199C22.73 31.7199 22.7 31.3899 22.64 31.0299C22.64 30.6699 22.55 30.3399 22.37 30.0399C22.25 29.7399 22.07 29.4999 21.83 29.3199C21.53 29.1399 21.17 29.0499 20.75 29.0499C20.33 29.0499 19.97 29.1399 19.67 29.3199C19.43 29.4999 19.22 29.7399 19.04 30.0399C18.92 30.3399 18.83 30.6699 18.77 31.0299C18.77 31.3899 18.77 31.7199 18.77 32.0199C18.77 32.3799 18.77 32.7099 18.77 33.0099C18.83 33.3699 18.92 33.6999 19.04 33.9999C19.22 34.2999 19.43 34.5399 19.67 34.7199C19.97 34.9599 20.33 35.0799 20.75 35.0799C21.17 35.0799 21.53 34.9599 21.83 34.7199C22.07 34.5399 22.25 34.2999 22.37 33.9999C22.55 33.6999 22.64 33.3699 22.64 33.0099C22.7 32.7099 22.73 32.3799 22.73 32.0199ZM47.3 30.6699C47.3 30.1299 47.12 29.6499 46.76 29.2299C46.34 28.8099 45.83 28.5999 45.23 28.5999C44.57 28.5999 44.03 28.7799 43.61 29.1399C43.25 29.4999 43.01 30.0099 42.89 30.6699H47.3Z" fill="white"/>
<path d="M49.55 21.04C49.49 21.58 49.46 22.12 49.46 22.66C52.34 23.14 54.02 24.82 54.5 27.7C55.04 27.7 55.58 27.67 56.12 27.61C55.94 23.65 52.34 21.04 49.55 21.04Z" fill="white"/>
<path d="M49.7301 24.1899C49.7301 24.7299 49.7001 25.2699 49.6401 25.8099C50.6301 25.9899 51.1701 26.6199 51.3501 27.5199C51.8901 27.4599 52.4301 27.4299 52.9701 27.4299C52.9701 25.8099 51.2601 24.0999 49.7301 24.1899Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

@ -0,0 +1,11 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="#ED1C24"/>
<path d="M83.2958 16.9499C83.3573 16.812 83.4538 16.6926 83.5757 16.6035C83.6977 16.5144 83.8408 16.4588 83.9909 16.4421C87.5305 15.6336 91.0702 14.8235 94.6098 14.0117C94.7001 13.991 94.7946 13.9979 94.8809 14.0314C95.0091 14.0857 95.0338 14.2385 94.9549 14.3815C94.7429 14.7808 94.5309 15.1801 94.3189 15.5745L90.4145 22.8805C90.3447 23.0531 90.2152 23.1949 90.0496 23.28C89.884 23.3651 89.6933 23.3878 89.5123 23.3439C89.3719 23.3066 89.242 23.2374 89.1327 23.1418C88.2059 22.2544 87.284 21.3621 86.3474 20.455C88.9848 18.4979 91.6207 16.544 94.2548 14.5934C94.2496 14.588 94.2462 14.5811 94.245 14.5737C91.3364 16.2647 88.4261 17.9539 85.5142 19.6416C84.829 18.9761 84.1437 18.3204 83.4733 17.6499C83.3935 17.5434 83.3304 17.4254 83.2859 17.2999C83.2732 17.2663 83.2633 17.2317 83.2563 17.1964C83.2711 17.1224 83.2859 17.0386 83.2958 16.9499Z" fill="white"/>
<path d="M85.8247 23.1565C85.7412 23.2039 85.6466 23.2283 85.5505 23.2273C85.4545 23.2264 85.3604 23.2 85.2778 23.151C85.1952 23.1019 85.127 23.0319 85.0802 22.948C85.0334 22.8641 85.0097 22.7694 85.0113 22.6733C84.9719 21.9092 84.9472 21.1451 84.9127 20.381C84.9078 20.3021 84.9078 20.2232 84.9028 20.1147C85.7163 20.8887 86.51 21.6479 87.3185 22.4219C87.2445 22.4613 87.1903 22.5008 87.1361 22.5254" fill="white"/>
<path d="M54.5746 42.1759V27.6279C54.5444 27.1616 54.6127 26.6941 54.7749 26.2559C54.9371 25.8176 55.1897 25.4184 55.5162 25.0841C56.2315 24.4572 57.1646 24.1367 58.1142 24.1918H62.3785C63.1609 24.1413 63.9392 24.3397 64.6019 24.7587C65.0316 25.0654 65.3792 25.4732 65.614 25.9461C65.8487 26.419 65.9633 26.9424 65.9477 27.4702V33.9825C65.9895 34.895 65.6849 35.7895 65.0949 36.4868C64.7795 36.8786 64.3811 37.1954 63.9284 37.4145C63.4757 37.6336 62.98 37.7495 62.4771 37.7538H56.8275V42.171H54.5746V42.1759ZM56.8472 34.16C56.8536 34.5175 56.9924 34.8601 57.2367 35.1213C57.4613 35.343 57.7556 35.4806 58.0698 35.5107H62.418C62.4716 35.5127 62.5252 35.5043 62.5757 35.4861C62.8482 35.4495 63.1017 35.3262 63.2988 35.1344C63.4959 34.9427 63.6261 34.6926 63.6701 34.4212C63.6896 34.3356 63.6979 34.2477 63.6948 34.16V27.4997C63.6929 27.2303 63.6067 26.9683 63.4483 26.7504C63.2378 26.5763 62.9805 26.4682 62.7088 26.4398H58.4396C57.3649 26.4398 56.8275 26.8983 56.8275 27.8152V33.9036C56.8193 33.9895 56.826 34.0763 56.8472 34.16Z" fill="white"/>
<path d="M67.0275 34.1108V32.4839C66.9759 31.4409 67.2573 30.4085 67.8311 29.5359C68.1338 29.1181 68.5367 28.783 69.0027 28.5616C69.4687 28.3402 69.983 28.2396 70.4981 28.2689H76.0984V27.352C76.0992 27.2332 76.0765 27.1155 76.0317 27.0055C75.9868 26.8955 75.9207 26.7955 75.8371 26.7111C75.7629 26.6254 75.6714 26.5565 75.5686 26.5089C75.4657 26.4613 75.3539 26.4361 75.2406 26.435H67.0226V24.187H75.0582C76.833 24.187 77.9093 25.0234 78.2873 26.6963C78.3157 26.9022 78.3322 27.1096 78.3366 27.3175V34.2932C78.34 34.9051 78.169 35.5053 77.8436 36.0236C77.1189 37.1772 76.1806 37.754 75.0286 37.754H70.508C69.7952 37.7404 69.1063 37.4946 68.5459 37.0539C67.9525 36.6446 67.4943 36.068 67.2296 35.3975C67.0889 34.9834 67.0205 34.5481 67.0275 34.1108ZM69.877 35.2989C70.2815 35.4633 70.718 35.5341 71.1538 35.5059H74.2251C75.4723 35.5059 76.0968 35.0573 76.0984 34.1601V31.9614C76.0984 31.0987 75.5693 30.6155 74.511 30.512H70.8925C69.8178 30.6303 69.2804 31.1134 69.2804 31.9614V34.1601C69.2564 34.3876 69.3003 34.6171 69.4064 34.8197C69.5126 35.0224 69.6763 35.1891 69.877 35.2989Z" fill="white"/>
<path d="M79.4358 42.1758V39.9278H87.2891C88.0335 39.8095 88.4032 39.3264 88.4032 38.4784V37.7538H82.729C82.2936 37.7596 81.8615 37.678 81.4584 37.5136C81.0552 37.3493 80.6892 37.1056 80.382 36.7971C80.0748 36.4885 79.8328 36.1214 79.6702 35.7175C79.5077 35.3136 79.428 34.8811 79.4358 34.4458V24.1868H81.6838V33.8247C81.6838 34.9437 82.2228 35.5041 83.3008 35.5057H86.8405C87.8807 35.5057 88.4016 35.0226 88.4032 34.0564V24.1819L90.6611 24.1868L90.6512 38.3453C90.7097 39.3439 90.3972 40.3288 89.7737 41.111C89.4296 41.472 89.0111 41.7539 88.5471 41.9369C88.0831 42.1199 87.5849 42.1998 87.0869 42.1709H79.4358V42.1758Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 24.2065H12.9617V25.9271H11.6208C11.4131 25.9263 11.2135 26.0078 11.0656 26.1537C10.9178 26.2997 10.8338 26.4983 10.832 26.706V35.2198C10.8338 35.4276 10.9178 35.6261 11.0656 35.7721C11.2135 35.918 11.4131 35.9995 11.6208 35.9987H12.9617V37.7242H5V35.9987H6.53811C6.74531 35.9993 6.94424 35.9175 7.09121 35.7715C7.23818 35.6254 7.32117 35.427 7.32196 35.2198V26.706C7.3204 26.499 7.23716 26.3011 7.09035 26.1552C6.94355 26.0093 6.74507 25.9273 6.53811 25.9271H5V24.2065Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.3125 24.2065H21.3523L23.1468 28.3525L24.9265 32.4986L26.7061 28.3525L28.4907 24.2065H35.22V25.9271H33.7164C33.5076 25.9272 33.3073 26.0095 33.1587 26.1562C33.0102 26.3029 32.9254 26.5022 32.9227 26.7109V35.2839C32.9233 35.3875 32.9444 35.4899 32.9846 35.5854C33.0248 35.6808 33.0835 35.7674 33.1572 35.8402C33.2309 35.913 33.3182 35.9706 33.4142 36.0096C33.5101 36.0486 33.6128 36.0684 33.7164 36.0678H35.22V37.7242H27.1745L27.1646 36.0431H28.2738C28.2738 36.0431 29.2598 36.1959 29.319 35.2543L29.3584 27.3321L24.8969 37.7143V37.7291H23.2898V37.7143L18.8282 27.3321L18.8677 35.2543C18.9268 36.1959 19.9128 36.0431 19.9128 36.0431H21.022L21.0122 37.7242H14.3125V36.0678H15.8112C16.0195 36.0678 16.2194 35.9853 16.3672 35.8385C16.515 35.6916 16.5986 35.4923 16.5999 35.2839V26.7109C16.5986 26.5026 16.515 26.3032 16.3672 26.1563C16.2194 26.0095 16.0195 25.9271 15.8112 25.9271H14.3125V24.2065Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.2566 37.7243H36.5903V36.058H38.0742C38.2826 36.058 38.4824 35.9756 38.6302 35.8288C38.778 35.6819 38.8617 35.4825 38.863 35.2742V26.7012C38.8617 26.4929 38.778 26.2935 38.6302 26.1466C38.4824 25.9998 38.2826 25.9173 38.0742 25.9173H36.5903V24.1919H51.2566V29.4915H49.2896C49.2274 28.6134 49.0467 27.7477 48.7523 26.9181C48.3184 25.9173 46.3514 25.9913 46.3514 25.9913H42.4174L42.3928 29.8662C44.9711 29.9253 45.6612 30.0584 45.4838 27.5984L47.4311 27.5886L47.436 33.9826H45.4788C45.4788 33.9826 45.4788 33.6375 45.4443 32.548C45.4098 31.3698 43.5661 31.636 42.4076 31.6655V35.9447L46.6522 35.9594C48.3184 35.8461 48.7966 35.0178 49.0628 34.2093C49.2367 33.4632 49.3113 32.6974 49.2847 31.9318L51.2468 31.9367V37.7243H51.2566Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -0,0 +1,11 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="white"/>
<path d="M83.2958 16.9499C83.3573 16.812 83.4538 16.6926 83.5757 16.6035C83.6977 16.5144 83.8408 16.4588 83.9909 16.4421C87.5305 15.6336 91.0702 14.8235 94.6098 14.0117C94.7001 13.991 94.7946 13.9979 94.8809 14.0314C95.0091 14.0857 95.0338 14.2385 94.9549 14.3815C94.7429 14.7808 94.5309 15.1801 94.3189 15.5745L90.4145 22.8805C90.3447 23.0531 90.2152 23.1949 90.0496 23.28C89.884 23.3651 89.6933 23.3878 89.5123 23.3439C89.3719 23.3066 89.242 23.2374 89.1327 23.1418C88.2059 22.2544 87.284 21.3621 86.3474 20.455C88.9848 18.4979 91.6207 16.544 94.2548 14.5934C94.2496 14.588 94.2462 14.5811 94.245 14.5737C91.3364 16.2647 88.4261 17.9539 85.5142 19.6416C84.829 18.9761 84.1437 18.3204 83.4733 17.6499C83.3935 17.5434 83.3304 17.4254 83.2859 17.2999C83.2732 17.2663 83.2633 17.2317 83.2563 17.1964C83.2711 17.1224 83.2859 17.0386 83.2958 16.9499Z" fill="#ED1C24"/>
<path d="M85.8247 23.1565C85.7412 23.2039 85.6466 23.2283 85.5505 23.2273C85.4545 23.2264 85.3604 23.2 85.2778 23.151C85.1952 23.1019 85.127 23.0319 85.0802 22.948C85.0334 22.8641 85.0097 22.7694 85.0113 22.6733C84.9719 21.9092 84.9472 21.1451 84.9127 20.381C84.9078 20.3021 84.9078 20.2232 84.9028 20.1147C85.7163 20.8887 86.51 21.6479 87.3185 22.4219C87.2445 22.4613 87.1903 22.5008 87.1361 22.5254" fill="#ED1C24"/>
<path d="M54.5746 42.1759V27.6279C54.5444 27.1616 54.6127 26.6941 54.7749 26.2559C54.9371 25.8176 55.1897 25.4184 55.5162 25.0841C56.2315 24.4572 57.1646 24.1367 58.1142 24.1918H62.3785C63.1609 24.1413 63.9392 24.3397 64.6019 24.7587C65.0316 25.0654 65.3792 25.4732 65.614 25.9461C65.8487 26.419 65.9633 26.9424 65.9477 27.4702V33.9825C65.9895 34.895 65.6849 35.7895 65.0949 36.4868C64.7795 36.8786 64.3811 37.1954 63.9284 37.4145C63.4757 37.6336 62.98 37.7495 62.4771 37.7538H56.8275V42.171H54.5746V42.1759ZM56.8472 34.16C56.8536 34.5175 56.9924 34.8601 57.2367 35.1213C57.4613 35.343 57.7556 35.4806 58.0698 35.5107H62.418C62.4716 35.5127 62.5252 35.5043 62.5757 35.4861C62.8482 35.4495 63.1017 35.3262 63.2988 35.1344C63.4959 34.9427 63.6261 34.6926 63.6701 34.4212C63.6896 34.3356 63.6979 34.2477 63.6948 34.16V27.4997C63.6929 27.2303 63.6067 26.9683 63.4483 26.7504C63.2378 26.5763 62.9805 26.4682 62.7088 26.4398H58.4396C57.3649 26.4398 56.8275 26.8983 56.8275 27.8152V33.9036C56.8193 33.9895 56.826 34.0763 56.8472 34.16Z" fill="#ED1C24"/>
<path d="M67.0275 34.1108V32.4839C66.9759 31.4409 67.2573 30.4085 67.8311 29.5359C68.1338 29.1181 68.5367 28.783 69.0027 28.5616C69.4687 28.3402 69.983 28.2396 70.4981 28.2689H76.0984V27.352C76.0992 27.2332 76.0765 27.1155 76.0317 27.0055C75.9868 26.8955 75.9207 26.7955 75.8371 26.7111C75.7629 26.6254 75.6714 26.5565 75.5686 26.5089C75.4657 26.4613 75.3539 26.4361 75.2406 26.435H67.0226V24.187H75.0582C76.833 24.187 77.9093 25.0234 78.2873 26.6963C78.3157 26.9022 78.3322 27.1096 78.3366 27.3175V34.2932C78.34 34.9051 78.169 35.5053 77.8436 36.0236C77.1189 37.1772 76.1806 37.754 75.0286 37.754H70.508C69.7952 37.7404 69.1063 37.4946 68.5459 37.0539C67.9525 36.6446 67.4943 36.068 67.2296 35.3975C67.0889 34.9834 67.0205 34.5481 67.0275 34.1108ZM69.877 35.2989C70.2815 35.4633 70.718 35.5341 71.1538 35.5059H74.2251C75.4723 35.5059 76.0968 35.0573 76.0984 34.1601V31.9614C76.0984 31.0987 75.5693 30.6155 74.511 30.512H70.8925C69.8178 30.6303 69.2804 31.1134 69.2804 31.9614V34.1601C69.2564 34.3876 69.3003 34.6171 69.4064 34.8197C69.5126 35.0224 69.6763 35.1891 69.877 35.2989Z" fill="#ED1C24"/>
<path d="M79.4358 42.1758V39.9278H87.2891C88.0335 39.8095 88.4032 39.3264 88.4032 38.4784V37.7538H82.729C82.2936 37.7596 81.8615 37.678 81.4584 37.5136C81.0552 37.3493 80.6892 37.1056 80.382 36.7971C80.0748 36.4885 79.8328 36.1214 79.6702 35.7175C79.5077 35.3136 79.428 34.8811 79.4358 34.4458V24.1868H81.6838V33.8247C81.6838 34.9437 82.2228 35.5041 83.3008 35.5057H86.8405C87.8807 35.5057 88.4016 35.0226 88.4032 34.0564V24.1819L90.6611 24.1868L90.6512 38.3453C90.7097 39.3439 90.3972 40.3288 89.7737 41.111C89.4296 41.472 89.0111 41.7539 88.5471 41.9369C88.0831 42.1199 87.5849 42.1998 87.0869 42.1709H79.4358V42.1758Z" fill="#ED1C24"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 24.2065H12.9617V25.9271H11.6208C11.4131 25.9263 11.2135 26.0078 11.0656 26.1537C10.9178 26.2997 10.8338 26.4983 10.832 26.706V35.2198C10.8338 35.4276 10.9178 35.6261 11.0656 35.7721C11.2135 35.918 11.4131 35.9995 11.6208 35.9987H12.9617V37.7242H5V35.9987H6.53811C6.74531 35.9993 6.94424 35.9175 7.09121 35.7715C7.23818 35.6254 7.32117 35.427 7.32196 35.2198V26.706C7.3204 26.499 7.23716 26.3011 7.09035 26.1552C6.94355 26.0093 6.74507 25.9273 6.53811 25.9271H5V24.2065Z" fill="#ED1C24"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.3125 24.2065H21.3523L23.1468 28.3525L24.9265 32.4986L26.7061 28.3525L28.4907 24.2065H35.22V25.9271H33.7164C33.5076 25.9272 33.3073 26.0095 33.1587 26.1562C33.0102 26.3029 32.9254 26.5022 32.9227 26.7109V35.2839C32.9233 35.3875 32.9444 35.4899 32.9846 35.5854C33.0248 35.6808 33.0835 35.7674 33.1572 35.8402C33.2309 35.913 33.3182 35.9706 33.4142 36.0096C33.5101 36.0486 33.6128 36.0684 33.7164 36.0678H35.22V37.7242H27.1745L27.1646 36.0431H28.2738C28.2738 36.0431 29.2598 36.1959 29.319 35.2543L29.3584 27.3321L24.8969 37.7143V37.7291H23.2898V37.7143L18.8282 27.3321L18.8677 35.2543C18.9268 36.1959 19.9128 36.0431 19.9128 36.0431H21.022L21.0122 37.7242H14.3125V36.0678H15.8112C16.0195 36.0678 16.2194 35.9853 16.3672 35.8385C16.515 35.6916 16.5986 35.4923 16.5999 35.2839V26.7109C16.5986 26.5026 16.515 26.3032 16.3672 26.1563C16.2194 26.0095 16.0195 25.9271 15.8112 25.9271H14.3125V24.2065Z" fill="#ED1C24"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.2566 37.7243H36.5903V36.058H38.0742C38.2826 36.058 38.4824 35.9756 38.6302 35.8288C38.778 35.6819 38.8617 35.4825 38.863 35.2742V26.7012C38.8617 26.4929 38.778 26.2935 38.6302 26.1466C38.4824 25.9998 38.2826 25.9173 38.0742 25.9173H36.5903V24.1919H51.2566V29.4915H49.2896C49.2274 28.6134 49.0467 27.7477 48.7523 26.9181C48.3184 25.9173 46.3514 25.9913 46.3514 25.9913H42.4174L42.3928 29.8662C44.9711 29.9253 45.6612 30.0584 45.4838 27.5984L47.4311 27.5886L47.436 33.9826H45.4788C45.4788 33.9826 45.4788 33.6375 45.4443 32.548C45.4098 31.3698 43.5661 31.636 42.4076 31.6655V35.9447L46.6522 35.9594C48.3184 35.8461 48.7966 35.0178 49.0628 34.2093C49.2367 33.4632 49.3113 32.6974 49.2847 31.9318L51.2468 31.9367V37.7243H51.2566Z" fill="#ED1C24"/>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -0,0 +1,14 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="#5D2E8E"/>
<path d="M45.8401 15.6084C45.4751 15.2129 45.0188 15 44.4408 15H12.9248C12.3469 15 11.8601 15.2129 11.5255 15.6084C11.1604 16.0039 11.0083 16.4906 11.0996 17.0686L13.3507 38.6978C13.4724 39.9755 14.5371 41.5573 15.6019 42.2266L26.7359 48.7975C27.253 49.1017 27.9831 49.2842 28.7132 49.2842C29.4737 49.2842 30.1734 49.1017 30.6906 48.7975L41.8246 42.2266C42.9197 41.6182 43.9236 39.9755 44.0757 38.6978L46.3269 17.0686C46.3269 16.5515 46.2052 16.0039 45.8401 15.6084ZM36.7139 39.58C35.8013 40.1884 34.5844 39.945 33.976 39.0628L28.2873 30.6971L24.8498 34.1347V37.9373C24.8498 39.0324 23.9676 39.9146 22.8724 39.9146C21.7773 39.9146 20.8951 39.0324 20.8951 37.9373V21.4492C20.8951 20.3541 21.7773 19.4719 22.8724 19.4719C23.9676 19.4719 24.8498 20.3541 24.8498 21.4492V28.5372L33.3372 20.0498C34.0977 19.2893 35.3754 19.2893 36.1359 20.0498C36.8964 20.8104 36.8964 22.088 36.1359 22.8486L31.1165 27.8376C31.1165 27.868 31.1469 27.868 31.1469 27.8984L37.231 36.8117C37.8395 37.7243 37.5961 38.9411 36.7139 39.58Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M95 22.8487V36.6293C95 38.485 93.4789 40.006 91.6233 40.006H45.6575L45.7792 38.5458H91.6233C92.6576 38.5458 93.5398 37.6636 93.5398 36.6293V22.7878C93.5398 21.7535 92.6576 20.8713 91.6233 20.8713H47.6348L47.7565 19.4111H91.6233C93.4789 19.4111 95 20.9322 95 22.8487Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4678 25.9819C51.4678 25.7689 51.3461 25.6777 51.1636 25.6777H50.5552V24.4304H51.9545C52.6238 24.4304 52.928 24.6129 52.928 25.3126V30.2104H53.5973C53.871 30.2104 54.2057 30.1191 54.3882 29.9062L56.1526 27.4725H57.7953L55.7571 30.2408C55.3921 30.6667 55.1791 30.8188 55.1791 30.8188V30.8492C55.1791 30.8492 55.4529 30.9405 55.6659 31.4272L56.761 33.4654C56.8827 33.6783 57.0348 33.7696 57.4303 33.7696H57.8562V34.9864H56.7914C56.0918 34.9864 55.8788 34.8647 55.5442 34.2867L54.1752 31.7618C53.9927 31.488 53.6885 31.4576 53.4147 31.4576H52.8367V35.0168H51.3765L51.4678 25.9819Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M59.3467 26.0124C59.3467 25.7995 59.225 25.7082 59.0425 25.7082H58.4341V24.4609H59.8334C60.5027 24.4609 60.8069 24.7347 60.8069 25.3736V28.3244C60.8069 28.6894 60.7765 28.9328 60.7765 28.9328H60.8069C61.1111 28.1723 62.0846 27.2596 63.5752 27.2596C65.3396 27.2596 66.1305 28.2331 66.1305 30.18V33.4351C66.1305 33.648 66.2522 33.7393 66.4347 33.7393H67.0432V34.9561H65.6438C64.9745 34.9561 64.6703 34.6823 64.6703 33.9826V30.5147C64.6703 29.4499 64.4574 28.6286 63.271 28.6286C62.115 28.6286 61.2024 29.4195 60.8982 30.4843C60.8069 30.7885 60.7765 31.1535 60.7765 31.4881V35.0169H59.3163L59.3467 26.0124Z" fill="white"/>
<path d="M70.9674 34.013C72.2147 34.013 73.0056 32.7354 73.0056 31.6402V31.3664H72.6406C71.5454 31.3664 69.5985 31.3968 69.5985 32.8266C69.5376 33.4655 70.0244 34.013 70.9674 34.013ZM72.6406 30.3321H72.9448V30.2409C72.9448 28.9328 72.458 28.446 71.2716 28.446C70.9066 28.446 70.0244 28.5373 70.0244 29.024V29.4499H68.6554V28.6894C68.6554 27.4421 70.5415 27.29 71.2412 27.29C73.6749 27.29 74.3137 28.5677 74.3137 30.2409V33.4655C74.3137 33.6784 74.4354 33.8001 74.6179 33.8001H75.2263V35.0169H73.8574C73.1881 35.0169 72.9448 34.7127 72.9448 34.1347C72.9448 33.8609 72.9752 33.7088 72.9752 33.7088H72.9448C72.9448 33.7088 72.3364 35.1994 70.5719 35.1994C69.2943 35.1994 68.0166 34.4085 68.0166 32.9179C68.0774 30.5146 71.3933 30.3321 72.6406 30.3321Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.5042 25.769H75.835V24.5217H77.2343C77.9036 24.5217 78.2078 24.7955 78.2078 25.4952V33.4654C78.2078 33.6784 78.3295 33.7696 78.512 33.7696H79.1204V34.9865H77.721C77.0518 34.9865 76.7476 34.7127 76.7476 34.013V26.0732C76.778 26.0732 76.8084 25.769 76.5042 25.769Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M80.763 28.6286H79.7896V27.4726H80.7934V25.3735H82.1928V27.4726H83.9876V28.6286H82.2232V32.0661C82.2232 33.5567 83.2575 33.8001 83.7747 33.8001C83.9876 33.8001 84.1397 33.8001 84.1397 33.8001V34.9865C84.1397 34.9865 83.9572 35.0169 83.653 35.0169C82.6795 35.0169 80.7934 34.7127 80.7934 32.1878V28.6286H80.763Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M86.4823 24.4912H87.395C87.4862 24.4912 87.5775 24.5825 87.5775 24.6737V25.7993C87.5775 25.8906 87.4862 25.9818 87.395 25.9818H86.4823C86.3911 25.9818 86.2998 25.8906 86.2998 25.7993V24.6737C86.2998 24.5521 86.3606 24.4912 86.4823 24.4912Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M86.2388 29.0239C86.2388 28.8109 86.1171 28.7197 85.9346 28.7197H85.3262V27.4724H86.7255C87.3948 27.4724 87.699 27.7462 87.699 28.4459V33.4653C87.699 33.6782 87.8207 33.7695 88.0032 33.7695H88.6116V34.9863H87.2123C86.543 34.9863 86.2388 34.7126 86.2388 34.0129V29.0239Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.75788 20.6538L5.08432 21.4987L7.63665 32.3952L11.0745 31.6362L8.75788 20.6538Z" fill="white"/>
<path d="M9.99193 20.4629L5 20.9875L6.22106 32.6051L11.213 32.0805L9.99193 20.4629Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,14 @@
<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="60" fill="white"/>
<path d="M45.8401 15.6084C45.4751 15.2129 45.0188 15 44.4408 15H12.9248C12.3469 15 11.8601 15.2129 11.5255 15.6084C11.1604 16.0039 11.0083 16.4906 11.0996 17.0686L13.3507 38.6978C13.4724 39.9755 14.5371 41.5573 15.6019 42.2266L26.7359 48.7975C27.253 49.1017 27.9831 49.2842 28.7132 49.2842C29.4737 49.2842 30.1734 49.1017 30.6906 48.7975L41.8246 42.2266C42.9197 41.6182 43.9236 39.9755 44.0757 38.6978L46.3269 17.0686C46.3269 16.5515 46.2052 16.0039 45.8401 15.6084ZM36.7139 39.58C35.8013 40.1884 34.5844 39.945 33.976 39.0628L28.2873 30.6971L24.8498 34.1347V37.9373C24.8498 39.0324 23.9676 39.9146 22.8724 39.9146C21.7773 39.9146 20.8951 39.0324 20.8951 37.9373V21.4492C20.8951 20.3541 21.7773 19.4719 22.8724 19.4719C23.9676 19.4719 24.8498 20.3541 24.8498 21.4492V28.5372L33.3372 20.0498C34.0977 19.2893 35.3754 19.2893 36.1359 20.0498C36.8964 20.8104 36.8964 22.088 36.1359 22.8486L31.1165 27.8376C31.1165 27.868 31.1469 27.868 31.1469 27.8984L37.231 36.8117C37.8395 37.7243 37.5961 38.9411 36.7139 39.58Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M95 22.8487V36.6293C95 38.485 93.4789 40.006 91.6233 40.006H45.6575L45.7792 38.5458H91.6233C92.6576 38.5458 93.5398 37.6636 93.5398 36.6293V22.7878C93.5398 21.7535 92.6576 20.8713 91.6233 20.8713H47.6348L47.7565 19.4111H91.6233C93.4789 19.4111 95 20.9322 95 22.8487Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M51.4678 25.9819C51.4678 25.7689 51.3461 25.6777 51.1636 25.6777H50.5552V24.4304H51.9545C52.6238 24.4304 52.928 24.6129 52.928 25.3126V30.2104H53.5973C53.871 30.2104 54.2057 30.1191 54.3882 29.9062L56.1526 27.4725H57.7953L55.7571 30.2408C55.3921 30.6667 55.1791 30.8188 55.1791 30.8188V30.8492C55.1791 30.8492 55.4529 30.9405 55.6659 31.4272L56.761 33.4654C56.8827 33.6783 57.0348 33.7696 57.4303 33.7696H57.8562V34.9864H56.7914C56.0918 34.9864 55.8788 34.8647 55.5442 34.2867L54.1752 31.7618C53.9927 31.488 53.6885 31.4576 53.4147 31.4576H52.8367V35.0168H51.3765L51.4678 25.9819Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M59.3467 26.0124C59.3467 25.7995 59.225 25.7082 59.0425 25.7082H58.4341V24.4609H59.8334C60.5027 24.4609 60.8069 24.7347 60.8069 25.3736V28.3244C60.8069 28.6894 60.7765 28.9328 60.7765 28.9328H60.8069C61.1111 28.1723 62.0846 27.2596 63.5752 27.2596C65.3396 27.2596 66.1305 28.2331 66.1305 30.18V33.4351C66.1305 33.648 66.2522 33.7393 66.4347 33.7393H67.0432V34.9561H65.6438C64.9745 34.9561 64.6703 34.6823 64.6703 33.9826V30.5147C64.6703 29.4499 64.4574 28.6286 63.271 28.6286C62.115 28.6286 61.2024 29.4195 60.8982 30.4843C60.8069 30.7885 60.7765 31.1535 60.7765 31.4881V35.0169H59.3163L59.3467 26.0124Z" fill="#5D2E8E"/>
<path d="M70.9674 34.013C72.2147 34.013 73.0056 32.7354 73.0056 31.6402V31.3664H72.6406C71.5454 31.3664 69.5985 31.3968 69.5985 32.8266C69.5376 33.4655 70.0244 34.013 70.9674 34.013ZM72.6406 30.3321H72.9448V30.2409C72.9448 28.9328 72.458 28.446 71.2716 28.446C70.9066 28.446 70.0244 28.5373 70.0244 29.024V29.4499H68.6554V28.6894C68.6554 27.4421 70.5415 27.29 71.2412 27.29C73.6749 27.29 74.3137 28.5677 74.3137 30.2409V33.4655C74.3137 33.6784 74.4354 33.8001 74.6179 33.8001H75.2263V35.0169H73.8574C73.1881 35.0169 72.9448 34.7127 72.9448 34.1347C72.9448 33.8609 72.9752 33.7088 72.9752 33.7088H72.9448C72.9448 33.7088 72.3364 35.1994 70.5719 35.1994C69.2943 35.1994 68.0166 34.4085 68.0166 32.9179C68.0774 30.5146 71.3933 30.3321 72.6406 30.3321Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.5042 25.769H75.835V24.5217H77.2343C77.9036 24.5217 78.2078 24.7955 78.2078 25.4952V33.4654C78.2078 33.6784 78.3295 33.7696 78.512 33.7696H79.1204V34.9865H77.721C77.0518 34.9865 76.7476 34.7127 76.7476 34.013V26.0732C76.778 26.0732 76.8084 25.769 76.5042 25.769Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M80.763 28.6286H79.7896V27.4726H80.7934V25.3735H82.1928V27.4726H83.9876V28.6286H82.2232V32.0661C82.2232 33.5567 83.2575 33.8001 83.7747 33.8001C83.9876 33.8001 84.1397 33.8001 84.1397 33.8001V34.9865C84.1397 34.9865 83.9572 35.0169 83.653 35.0169C82.6795 35.0169 80.7934 34.7127 80.7934 32.1878V28.6286H80.763Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M86.4823 24.4912H87.395C87.4862 24.4912 87.5775 24.5825 87.5775 24.6737V25.7993C87.5775 25.8906 87.4862 25.9818 87.395 25.9818H86.4823C86.3911 25.9818 86.2998 25.8906 86.2998 25.7993V24.6737C86.2998 24.5521 86.3606 24.4912 86.4823 24.4912Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M86.2388 29.0239C86.2388 28.8109 86.1171 28.7197 85.9346 28.7197H85.3262V27.4724H86.7255C87.3948 27.4724 87.699 27.7462 87.699 28.4459V33.4653C87.699 33.6782 87.8207 33.7695 88.0032 33.7695H88.6116V34.9863H87.2123C86.543 34.9863 86.2388 34.7126 86.2388 34.0129V29.0239Z" fill="#5D2E8E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.75788 20.6538L5.08432 21.4987L7.63665 32.3952L11.0745 31.6362L8.75788 20.6538Z" fill="#F9A61C"/>
<path d="M9.99193 20.4629L5 20.9875L6.22106 32.6051L11.213 32.0805L9.99193 20.4629Z" fill="#F9A61C"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,577 @@
.clr-picker {
display: none;
flex-wrap: wrap;
position: absolute;
width: 200px;
z-index: 1000;
border-radius: 10px;
background-color: #fff;
justify-content: flex-end;
direction: ltr;
box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1);
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
}
.clr-picker.clr-open,
.clr-picker[data-inline="true"] {
display: flex;
}
.clr-picker[data-inline="true"] {
position: relative;
}
.clr-gradient {
position: relative;
width: 100%;
height: 100px;
margin-bottom: 15px;
border-radius: 3px 3px 0 0;
background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor);
cursor: pointer;
}
.clr-marker {
position: absolute;
width: 12px;
height: 12px;
margin: -6px 0 0 -6px;
border: 1px solid #fff;
border-radius: 50%;
background-color: currentColor;
cursor: pointer;
}
.clr-picker input[type="range"]::-webkit-slider-runnable-track {
width: 100%;
height: 16px;
}
.clr-picker input[type="range"]::-webkit-slider-thumb {
width: 16px;
height: 16px;
-webkit-appearance: none;
}
.clr-picker input[type="range"]::-moz-range-track {
width: 100%;
height: 16px;
border: 0;
}
.clr-picker input[type="range"]::-moz-range-thumb {
width: 16px;
height: 16px;
border: 0;
}
.clr-hue {
background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%);
}
.clr-hue,
.clr-alpha {
position: relative;
width: calc(100% - 40px);
height: 8px;
margin: 5px 20px;
border-radius: 4px;
}
.clr-alpha span {
display: block;
height: 100%;
width: 100%;
border-radius: inherit;
background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor);
}
.clr-hue input[type="range"],
.clr-alpha input[type="range"] {
position: absolute;
width: calc(100% + 32px);
height: 16px;
left: -16px;
top: -4px;
margin: 0;
background-color: transparent;
opacity: 0;
cursor: pointer;
appearance: none;
-webkit-appearance: none;
}
.clr-hue div,
.clr-alpha div {
position: absolute;
width: 16px;
height: 16px;
left: 0;
top: 50%;
margin-left: -8px;
transform: translateY(-50%);
border: 2px solid #fff;
border-radius: 50%;
background-color: currentColor;
box-shadow: 0 0 1px #888;
pointer-events: none;
}
.clr-alpha div:before {
content: '';
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
border-radius: 50%;
background-color: currentColor;
}
.clr-format {
display: none;
order: 1;
width: calc(100% - 40px);
margin: 0 20px 20px;
}
.clr-segmented {
display: flex;
position: relative;
width: 100%;
margin: 0;
padding: 0;
border: 1px solid #ddd;
border-radius: 15px;
box-sizing: border-box;
color: #999;
font-size: 12px;
}
.clr-segmented input,
.clr-segmented legend {
position: absolute;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
border: 0;
left: 0;
top: 0;
opacity: 0;
pointer-events: none;
}
.clr-segmented label {
flex-grow: 1;
margin: 0;
padding: 4px 0;
font-size: inherit;
font-weight: normal;
line-height: initial;
text-align: center;
cursor: pointer;
}
.clr-segmented label:first-of-type {
border-radius: 10px 0 0 10px;
}
.clr-segmented label:last-of-type {
border-radius: 0 10px 10px 0;
}
.clr-segmented input:checked + label {
color: #fff;
background-color: #666;
}
.clr-swatches {
order: 2;
width: calc(100% - 32px);
margin: 0 16px;
}
.clr-swatches div {
display: flex;
flex-wrap: wrap;
padding-bottom: 12px;
justify-content: center;
}
.clr-swatches button {
position: relative;
width: 20px;
height: 20px;
margin: 0 4px 6px 4px;
padding: 0;
border: 0;
border-radius: 50%;
color: inherit;
text-indent: -1000px;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
}
.clr-swatches button:after {
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border-radius: inherit;
background-color: currentColor;
box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
}
input.clr-color {
order: 1;
width: calc(100% - 80px);
height: 32px;
margin: 15px 20px 20px auto;
padding: 0 10px;
border: 1px solid #ddd;
border-radius: 16px;
color: #444;
background-color: #fff;
font-family: sans-serif;
font-size: 14px;
text-align: center;
box-shadow: none;
}
input.clr-color:focus {
outline: none;
border: 1px solid #1e90ff;
}
.clr-close,
.clr-clear {
display: none;
order: 2;
height: 24px;
margin: 0 20px 20px;
padding: 0 20px;
border: 0;
border-radius: 12px;
color: #fff;
background-color: #666;
font-family: inherit;
font-size: 12px;
font-weight: 400;
cursor: pointer;
}
.clr-close {
display: block;
margin: 0 20px 20px auto;
}
.clr-preview {
position: relative;
width: 32px;
height: 32px;
margin: 15px 0 20px 20px;
border-radius: 50%;
overflow: hidden;
}
.clr-preview:before,
.clr-preview:after {
content: '';
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
border: 1px solid #fff;
border-radius: 50%;
}
.clr-preview:after {
border: 0;
background-color: currentColor;
box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
}
.clr-preview button {
position: absolute;
width: 100%;
height: 100%;
z-index: 1;
margin: 0;
padding: 0;
border: 0;
border-radius: 50%;
outline-offset: -2px;
background-color: transparent;
text-indent: -9999px;
cursor: pointer;
overflow: hidden;
}
.clr-marker,
.clr-hue div,
.clr-alpha div,
.clr-color {
box-sizing: border-box;
}
.clr-field {
display: inline-block;
position: relative;
color: transparent;
}
.clr-field input {
margin: 0;
direction: ltr;
}
.clr-field.clr-rtl input {
text-align: right;
}
.clr-field button {
position: absolute;
width: 30px;
height: 100%;
right: 0;
top: 50%;
transform: translateY(-50%);
margin: 0;
padding: 0;
border: 0;
color: inherit;
text-indent: -1000px;
white-space: nowrap;
overflow: hidden;
pointer-events: none;
}
.clr-field.clr-rtl button {
right: auto;
left: 0;
}
.clr-field button:after {
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border-radius: inherit;
background-color: currentColor;
box-shadow: inset 0 0 1px rgba(0,0,0,.5);
}
.clr-alpha,
.clr-alpha div,
.clr-swatches button,
.clr-preview:before,
.clr-field button {
background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa);
background-position: 0 0, 4px 4px;
background-size: 8px 8px;
}
.clr-marker:focus {
outline: none;
}
.clr-keyboard-nav .clr-marker:focus,
.clr-keyboard-nav .clr-hue input:focus + div,
.clr-keyboard-nav .clr-alpha input:focus + div,
.clr-keyboard-nav .clr-segmented input:focus + label {
outline: none;
box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff;
}
.clr-picker[data-alpha="false"] .clr-alpha {
display: none;
}
.clr-picker[data-minimal="true"] {
padding-top: 16px;
}
.clr-picker[data-minimal="true"] .clr-gradient,
.clr-picker[data-minimal="true"] .clr-hue,
.clr-picker[data-minimal="true"] .clr-alpha,
.clr-picker[data-minimal="true"] .clr-color,
.clr-picker[data-minimal="true"] .clr-preview {
display: none;
}
/** Dark theme **/
.clr-dark {
background-color: #444;
}
.clr-dark .clr-segmented {
border-color: #777;
}
.clr-dark .clr-swatches button:after {
box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);
}
.clr-dark input.clr-color {
color: #fff;
border-color: #777;
background-color: #555;
}
.clr-dark input.clr-color:focus {
border-color: #1e90ff;
}
.clr-dark .clr-preview:after {
box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
}
.clr-dark .clr-alpha,
.clr-dark .clr-alpha div,
.clr-dark .clr-swatches button,
.clr-dark .clr-preview:before {
background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888);
}
/** Polaroid theme **/
.clr-picker.clr-polaroid {
border-radius: 6px;
box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2);
}
.clr-picker.clr-polaroid:before {
content: '';
display: block;
position: absolute;
width: 16px;
height: 10px;
left: 20px;
top: -10px;
border: solid transparent;
border-width: 0 8px 10px 8px;
border-bottom-color: currentColor;
box-sizing: border-box;
color: #fff;
filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1));
pointer-events: none;
}
.clr-picker.clr-polaroid.clr-dark:before {
color: #444;
}
.clr-picker.clr-polaroid.clr-left:before {
left: auto;
right: 20px;
}
.clr-picker.clr-polaroid.clr-top:before {
top: auto;
bottom: -10px;
transform: rotateZ(180deg);
}
.clr-polaroid .clr-gradient {
width: calc(100% - 20px);
height: 120px;
margin: 10px;
border-radius: 3px;
}
.clr-polaroid .clr-hue,
.clr-polaroid .clr-alpha {
width: calc(100% - 30px);
height: 10px;
margin: 6px 15px;
border-radius: 5px;
}
.clr-polaroid .clr-hue div,
.clr-polaroid .clr-alpha div {
box-shadow: 0 0 5px rgba(0,0,0,.2);
}
.clr-polaroid .clr-format {
width: calc(100% - 20px);
margin: 0 10px 15px;
}
.clr-polaroid .clr-swatches {
width: calc(100% - 12px);
margin: 0 6px;
}
.clr-polaroid .clr-swatches div {
padding-bottom: 10px;
}
.clr-polaroid .clr-swatches button {
width: 22px;
height: 22px;
}
.clr-polaroid input.clr-color {
width: calc(100% - 60px);
margin: 10px 10px 15px auto;
}
.clr-polaroid .clr-clear {
margin: 0 10px 15px 10px;
}
.clr-polaroid .clr-close {
margin: 0 10px 15px auto;
}
.clr-polaroid .clr-preview {
margin: 10px 0 15px 10px;
}
/** Large theme **/
.clr-picker.clr-large {
width: 275px;
}
.clr-large .clr-gradient {
height: 150px;
}
.clr-large .clr-swatches button {
width: 22px;
height: 22px;
}
/** Pill (horizontal) theme **/
.clr-picker.clr-pill {
width: 380px;
padding-left: 180px;
box-sizing: border-box;
}
.clr-pill .clr-gradient {
position: absolute;
width: 180px;
height: 100%;
left: 0;
top: 0;
margin-bottom: 0;
border-radius: 3px 0 0 3px;
}
.clr-pill .clr-hue {
margin-top: 20px;
}

View file

@ -0,0 +1,475 @@
/**
* Converts an input field to a color picker input.
*/
declare function Coloris(opts: Coloris.ColorisOptions): void;
declare global {
interface GlobalEventHandlersEventMap {
"coloris:pick": CustomEvent<Coloris.PickEventData>;
}
}
declare namespace Coloris {
/**
* All color themes supported by the color picker. More themes might be added
* in the future.
*/
type Theme =
| "default"
| "large"
| "polaroid"
| "pill";
/**
* All theme modes.
*/
type ThemeMode =
| "light"
| "dark"
| "auto";
/**
* Color format used by the color picker. The format affects which value is
* shown in the input field.
* - `hex` outputs `#RRGGBB` or `#RRGGBBAA`.
* - `rgb` outputs `rgb(R, G, B)` or `rgba(R, G, B, A)`.
* - `hsl` outputs `hsl(H, S, L)` or `hsla(H, S, L, A)`.
* - `auto` guesses the format from the active input field. Defaults to `hex` if
* it fails.
* - `mixed` outputs `#RRGGBB` when alpha is 1; otherwise `rgba(R, G, B, A)`.
*/
type ColorFormat =
| "hex"
| "rgb"
| "hsl"
| "auto"
| "mixed";
/**
* A function that is called whenever a new color is picked.
*
* @param color The newly selected color, as a CSS color string.
* @since 0.18.0
*/
type OnChangeCallback = (color: string) => void;
interface Accessibility {
/**
* @default "Open color picker"
*/
open: string;
/**
* @default "Close color picker"
*/
close: string;
/**
* @default "Clear the selected color"
*/
clear: string;
/**
* @default "Saturation: {s}. Brightness: {v}."
*/
marker: string;
/**
* @default "Hue slider"
*/
hueSlider: string;
/**
* @default "Opacity slider"
*/
alphaSlider: string;
/**
* @default "Color swatch"
*/
input: string;
/**
* @default "Color format"
*/
format: string;
/**
* @default "Color swatch"
*/
swatch: string;
/**
* @default "Saturation and brightness selector. Use up, down, left and right arrow keys to select."
*/
instruction: string;
}
/**
* Configuration for the optional clear button on the color picker.
* @deprecated Use the `clearLabel` setting to specify the label.
*/
interface ClearButtonOptions {
/**
* Whether the clear button is displayed when the color picker is opened.
*/
show: boolean;
/**
* The label text shown on the clear button.
*/
label: string;
}
/**
* Configuration for the optional close button on the color picker.
* @deprecated Use the `closeLabel` setting to specify the label.
*/
interface CloseButtonOptions {
/**
* Whether the close button is displayed when the color picker is opened.
*/
show: boolean;
/**
* The label text shown on the close button.
*/
label: string;
}
interface PickEventData {
/**
* The newly selected color which was picked.
*/
color: string;
}
/**
* Settings that can be configured for each color picker instance separately.
* @since 0.15.0
*/
interface ColorisVirtualInstanceOptions {
/**
* CSS selector for the parent.
*
* The default behavior is to append the color picker's dialog to the end of the document's
* body. but it is possible to append it to a custom parent instead. This is especially useful
* if the color fields are in a scrollable container and you want color picker' dialog to stay
* anchored to them. You will need to set the position of the container to relative or absolute.
* Note: This should be a scrollable container with enough space to display the picker.
*
* @default null
*/
parent?: null | string| HTMLElement| HTMLElement[];
/**
* The color theme to use for the color picker. More themes might be added
* in the future. Available themes: default, large, polaroid.
*
* @default "default"
*/
theme?: Theme;
/**
* Set the theme to light or dark mode:
* - light: light mode.
* - dark: dark mode.
* - auto: automatically enables dark mode when the user prefers a dark color scheme.
*
* @default "light"
*/
themeMode?: ThemeMode,
/**
* The margin in pixels between the input fields and the color picker's
* dialog.
*
* @default 2
*/
margin?: number;
/**
* Sets the preferred color string format. The format affects which value is
* shown in the input field. See {@link ColorFormat} for more details.
*
* @default "hex"
*/
format?: ColorFormat;
/**
* Set to true to enable format toggle buttons in the color picker dialog.
*
* This will also force the format to auto.
*
* @default true
*/
formatToggle?: boolean;
/**
* Focus the color value input when the color picker dialog is opened.
*
* @default true
*/
focusInput?: boolean;
/**
* Select and focus the color value input when the color picker dialog is opened.
*
* @default false
*/
selectInput?: boolean;
/**
* Set to true to hide all the color picker widgets (spectrum, hue, ...) except the swatches.
*
* @default false
*/
swatchesOnly?: boolean;
/**
* Enable or disable alpha support.
*
* When disabled, it will strip the alpha value from the existing color
* value in all formats.
*
* @default true
*/
alpha?: boolean;
/**
* Set to true to always include the alpha value in the color value even if the opacity is 100%.
*
* @default false
*/
forceAlpha?: boolean,
/**
* Whether to show an optional clear button. Use `clearLabel` to set the label.
*
* Note that this should be a boolean, a `ClearButtonOptions` object is still
* supported for backwards compatibility, but it is deprecated.
*
* @default false
*/
clearButton?: boolean | ClearButtonOptions;
/**
* Set the label of the clear button.
* @default Clear
* @since 0.17.0
*/
clearLabel?: string,
/**
* Whether to show an optional close button. Use `closeLabel` to set the label.
*
* Note that this should be a boolean, a `CloseButtonOptions` object is still
* supported for backwards compatibility, but it is deprecated.
*
* @default false
*/
closeButton?: boolean | CloseButtonOptions;
/**
* Set the label of the close button.
*
* @default Close
* @since 0.17.0
*/
closeLabel?: string;
/**
* An array of the desired color swatches to display. If omitted or the
* array is empty, the color swatches will be disabled.
*
* @default []
*/
swatches?: string[];
/**
* A function that is called whenever a new color is picked.
* @since 0.18.0
*/
onChange?: OnChangeCallback;
}
interface ColorisOptions extends ColorisVirtualInstanceOptions {
/**
* Accessibility messages for various aria attribute etc.
*/
a11y?: Accessibility;
/**
* In inline mode, this is the default color that is set when the picker is initialized.
*/
defaultColor?: string;
/**
* A custom CSS selector to bind the color picker to. This must point to
* one or more {@link HTMLInputElement}s or a DOM element or a list of DOM elements.
*/
el: string | HTMLElement | HTMLElement[];
/**
* Set to `true` to use the color picker as an inline widget. In this mode the color picker is
* always visible and positioned statically within its container, which is by default the body
* of the document. Use the "parent" option to set a custom container.
*
* Note: In this mode, the best way to get the picked color is by listening to the `coloris:pick`
* event and reading the value from the event detail (see the example below). The other way is
* to read the value of the input field with the ID `clr-color-value`.
*
* @example
* ```js
* document.addEventListener("coloris:pick", event => {
* console.log("New color", event.detail.color);
* });
* ```
*/
inline?: boolean;
/**
* Set to true to activate basic right-to-left support.
*
* @default false
*/
rtl?: boolean;
/**
* The bound input fields are wrapped in a div that adds a thumbnail
* showing the current color and a button to open the color picker (for
* accessibility only).
*
* If you wish to keep your fields unaltered, set this to `false`, in which
* case you will lose the color thumbnail and the accessible button (not
* recommended).
*
* @default true
*/
wrap?: boolean;
}
/**
* The color picker dialog can be closed by clicking anywhere on the
* page or by pressing the ESC on the keyboard. The later will also
* revert the color to its original value.
*
* If you would like to close the dialog programmatically, you can do so
* by calling this method.
*
* @param {boolean} revert When `true`, resets the color to its original
* value. Defaults to `false`.
*/
function close(revert?: boolean): void;
/**
* Update the color picker's position and the color gradient's offset.
*/
function updatePosition(): void;
/**
* Converts an input field to a color picker input.
*/
function coloris(opts: ColorisOptions): void;
/**
* Adds a virtual instance with separate options.
*
* Although there is only one physical instance of the color picker in the document, it is possible
* to simulate multiple instances, each with its own appearance and behavior, by updating the
* configuration at runtime, when the color picker is opened.
*
* Here is an example of how to do it by manually setting configuration options in response to click events:
*
* ```js
* // Regular color fields use the default light theme
* document.querySelectorAll('.color-fields').forEach(input => {
* input.addEventListener('click', e => {
* Coloris({
* theme: 'default',
* themeMode: 'light',
* });
* });
* });
*
* // But the special color fields use the polaroid dark theme
* document.querySelectorAll('.special-color-fields').forEach(input => {
* input.addEventListener('click', e => {
* Coloris({
* theme: 'polaroid',
* themeMode: 'dark',
* });
* });
* });
* ```
*
* This works well and is quite versatile, but it can get a little hard to keep track of each
* change every "instance" makes and revert them to the default values.
*
* So as of version 0.15.0, there is a new way to automatically manage virtual instances. This works
* by assigning configuration overrides to a CSS selector representing one or more color fields.
*
* @example
* ```js
* // Color fields that have the class "instance1" have a format toggle,
* // no alpha slider, a dark theme and custom swatches
* Coloris.setInstance('.instance1', {
* theme: 'polaroid',
* themeMode: 'dark',
* alpha: false,
* formatToggle: true,
* swatches: [
* '#264653',
* '#2a9d8f',
* '#e9c46a'
* ]
* });
*
* // Fields matching the class "instance2" show color swatches only
* Coloris.setInstance('.instance2', {
* swatchesOnly: true,
* swatches: [
* '#264653',
* '#2a9d8f',
* '#e9c46a'
* ]
* });
* ```
* @param selector CSS selector for the input fields to which the options should apply.
* @param opts Options to apply to all color picker input fields matching the given selector.
* @since 0.15.0
*/
function setInstance(selector: string, opts: Partial<ColorisVirtualInstanceOptions>): void;
/**
* Removes a virtual instance that was added by {@link setInstance}. Note that
* to remove an instance, the selector must be exactly equal to what was passed
* to `setInstance`, it cannot merely be a different selector that happens to
* match the same elements.
* @param selector CSS selector to remove from the set of virtual instances.
*/
function removeInstance(selector: string): void;
/**
* Initializes the Coloris color picker and binds the color picker to all
* input fields with the `data-coloris` attribute.
*
* When the script file is loaded directly in a browser, this method is
* called automatically. When called in a module environment (e.g.
* browserify, rollup, or webpack), you need to call this method once before
* any other calls to any {@link Coloris} methods. This method checks for
* when the document is ready, so you do not have to call this method inside
* some document ready block.
*/
function init(): void;
}
export as namespace Coloris;
/**
* The main entry point or namespace for Coloris. This object is callable and
* can be used to initialize Coloris. It also contains several utility
* methods.
*/
export = Coloris;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
{
"type": "module"
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
{
"type": "commonjs"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -149,12 +149,75 @@ rect.legend-mouseover-inactive,
}
.apexcharts-tooltip-marker {
width: 12px;
height: 12px;
display: inline-block;
position: relative;
top: 0;
margin-right: 10px;
border-radius: 50%
width: 16px;
height: 16px;
font-size: 16px;
line-height: 16px;
margin-right: 4px;
text-align: center;
vertical-align: middle;
color: inherit;
}
.apexcharts-tooltip-marker::before {
content: "";
display: inline-block;
width: 100%;
text-align: center;
color: currentcolor;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
font-size: 26px;
font-family: Arial, Helvetica, sans-serif;
line-height: 14px;
font-weight: 900;
}
.apexcharts-tooltip-marker[shape="circle"]::before {
content: "\25CF";
}
.apexcharts-tooltip-marker[shape="square"]::before,
.apexcharts-tooltip-marker[shape="rect"]::before {
content: "\25A0";
transform: translate(-1px, -2px);
}
.apexcharts-tooltip-marker[shape="line"]::before {
content: "\2500";
}
.apexcharts-tooltip-marker[shape="diamond"]::before {
content: "\25C6";
font-size: 28px;
}
.apexcharts-tooltip-marker[shape="triangle"]::before {
content: "\25B2";
font-size: 22px;
}
.apexcharts-tooltip-marker[shape="cross"]::before {
content: "\2715";
font-size: 18px;
}
.apexcharts-tooltip-marker[shape="plus"]::before {
content: "\2715";
transform: rotate(45deg) translate(-1px, -1px);
font-size: 18px;
}
.apexcharts-tooltip-marker[shape="star"]::before {
content: "\2605";
font-size: 18px;
}
.apexcharts-tooltip-marker[shape="sparkle"]::before {
content: "\2726";
font-size: 20px;
}
.apexcharts-tooltip-series-group {
@ -634,6 +697,10 @@ rect.legend-mouseover-inactive,
transition: .15s ease all
}
.apexcharts-radar-series .apexcharts-yaxis {
pointer-events: none;
}
.resize-triggers {
animation: 1ms resizeanim;
visibility: hidden;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -18,6 +18,7 @@ export interface CountUpOptions {
scrollSpyDelay?: number;
scrollSpyOnce?: boolean;
onCompleteCallback?: () => any;
onStartCallback?: () => any;
plugin?: CountUpPlugin;
}
export declare interface CountUpPlugin {

View file

@ -15,7 +15,7 @@ var CountUp = /** @class */ (function () {
var _this = this;
this.endVal = endVal;
this.options = options;
this.version = '2.6.2';
this.version = '2.8.0';
this.defaults = {
startVal: 0,
decimalPlaces: 0,
@ -206,6 +206,9 @@ var CountUp = /** @class */ (function () {
if (this.error) {
return;
}
if (this.options.onStartCallback) {
this.options.onStartCallback();
}
if (callback) {
this.options.onCompleteCallback = callback;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
.dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:inline-block;width:120px;margin:.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;width:0;background:green}.dropzone .dz-preview .dz-error-message{color:red;display:none}.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}/*# sourceMappingURL=basic.css.map */

View file

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../src/basic.scss"],"names":[],"mappings":"AAEA,sBACE,sBAEF,UAEE,kBAEA,sBACE,kBACA,qBACA,YACA,YAEA,mCACE,cACA,YACA,sBACA,8CACE,cACA,YACA,QACA,iBAIJ,wCACE,UACA,aAGA,+FACE,cAIF,kDACE,cAIJ,4EACE,kBACA,aACA,UACA,SACA,WACA,YACA,SACA","file":"basic.css"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0px)}100%{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0px)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:1px solid rgba(0,0,0,.8);border-radius:5px;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:3em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:rgba(255,255,255,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05, 1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px;background:rgba(0,0,0,.8);border-radius:50%}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px;fill:#fff}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:20px;top:50%;margin-top:-10px;left:15%;right:15%;border:3px solid rgba(0,0,0,.8);background:rgba(0,0,0,.8);border-radius:10px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#fff;display:block;position:relative;height:100%;width:0;transition:width 300ms ease-in-out;border-radius:17px}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#b10606;padding:.5em 1em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #b10606}/*# sourceMappingURL=dropzone.css.map */

View file

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../src/dropzone.scss"],"names":[],"mappings":"AAGA,2BACE,GACE,UACA,2BAGF,QACE,UACA,0BAGF,KACE,UACA,6BAKJ,oBACE,GACE,UACA,2BAEF,IACE,UACA,2BAMJ,iBACE,sBACA,yBACA,wBAKF,sBACE,sBAEF,UAmBE,iBACA,gCACA,kBACA,kBAhBA,uBACE,eAEA,yBACE,eAGA,wEACE,eAWJ,iCACE,aAIJ,wBACE,mBACA,oCACE,WAGJ,sBACE,kBACA,aAEA,iCACE,gBACA,cACA,YACA,UACA,aACA,eACA,gBAMJ,sBACE,kBACA,qBAEA,mBAEA,YACA,iBAEA,4BAEE,aACA,wCACE,UAMF,gDACE,cArEgB,KAsEhB,gBACA,kDAGF,kDACE,UAIJ,uCACE,gBACA,mDACE,8BAIJ,iCACE,eACA,kBACA,cACA,eACA,YACA,uCACE,0BAIJ,wCACE,UAEF,kCAGE,WAEA,kBACA,MACA,OAEA,UAEA,eACA,eACA,eACA,gBACA,kBACA,qBAIA,iBAEA,2CACE,kBACA,eAGF,+CAEE,mBAGE,0DACE,sCACA,sCAGJ,2DAIE,gBACA,uBAJA,gEACE,6BASJ,oGACE,sCACA,eACA,kBASF,0CACE,4BACA,iBAIN,gCACE,cAvKkB,KAwKlB,gBACA,MA3KS,MA4KT,OA5KS,MA6KT,kBACA,cACA,WAEA,oCACE,cAMF,kDACE,6DAIF,8CACE,UACA,sDASJ,4EAKE,oBAEA,UACA,YAEA,kBACA,cACA,QACA,SACA,kBACA,iBAEA,WApBiB,eAqBjB,kBAEA,oFACE,cACA,MAnBY,KAoBZ,OArBa,KAsBb,KA5BY,KAiChB,iDACE,UACA,0BAEF,+CACE,UACA,+BAIA,uDACE,iCAGJ,mCAIE,UACA,aAEA,oBACA,kBACA,YACA,QACA,iBACA,SACA,UAEA,gCACA,WA9DiB,eAgEjB,mBAEA,gBAEA,8CACE,WAtEY,KAwEZ,cACA,kBACA,YACA,QACA,mCAEA,mBAMF,iDACE,cAEF,uDACE,UACA,oBAIJ,wCAIE,oBACA,aACA,kBACA,cACA,aACA,UACA,4BACA,kBACA,eACA,UACA,WACA,MAdQ,MAeR,WAdQ,QAeR,iBACA,WAGA,8CACE,WACA,kBACA,SACA,UACA,QACA,SACA,kCACA,mCACA","file":"dropzone.css"}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,121 @@
svg {
-ms-touch-action: none;
touch-action: none;
}
image, text, .jvm-zoomin, .jvm-zoomout {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.jvm-container {
-ms-touch-action: none;
touch-action: none;
position: relative;
overflow: hidden;
height: 100%;
width: 100%;
}
.jvm-tooltip {
border-radius: 3px;
background-color: #5c5cff;
font-family: sans-serif, Verdana;
font-size: smaller;
box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.2);
padding: 3px 5px;
white-space: nowrap;
position: absolute;
display: none;
color: #FFF;
}
.jvm-tooltip.active {
display: block;
}
.jvm-zoom-btn {
border-radius: 3px;
background-color: #292929;
padding: 3px;
box-sizing: border-box;
position: absolute;
line-height: 10px;
cursor: pointer;
color: #FFF;
height: 15px;
width: 15px;
left: 10px;
}
.jvm-zoom-btn.jvm-zoomout {
top: 30px;
}
.jvm-zoom-btn.jvm-zoomin {
top: 10px;
}
.jvm-series-container {
right: 15px;
position: absolute;
}
.jvm-series-container.jvm-series-h {
bottom: 15px;
}
.jvm-series-container.jvm-series-v {
top: 15px;
}
.jvm-series-container .jvm-legend {
background-color: #FFF;
border: 1px solid #e5e7eb;
margin-left: 0.75rem;
border-radius: 0.25rem;
border-color: #e5e7eb;
padding: 0.6rem;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
float: left;
}
.jvm-series-container .jvm-legend .jvm-legend-title {
line-height: 1;
border-bottom: 1px solid #e5e7eb;
padding-bottom: 0.5rem;
margin-bottom: 0.575rem;
text-align: left;
}
.jvm-series-container .jvm-legend .jvm-legend-inner {
overflow: hidden;
}
.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick {
overflow: hidden;
min-width: 40px;
}
.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child) {
margin-top: 0.575rem;
}
.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample {
border-radius: 4px;
margin-right: 0.65rem;
height: 16px;
width: 16px;
float: left;
}
.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text {
font-size: 12px;
text-align: center;
float: left;
}
.jvm-line[animation=true] {
-webkit-animation: jvm-line-animation 10s linear forwards infinite;
animation: jvm-line-animation 10s linear forwards infinite;
}
@-webkit-keyframes jvm-line-animation {
from {
stroke-dashoffset: 250;
}
}
@keyframes jvm-line-animation {
from {
stroke-dashoffset: 250;
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
svg{-ms-touch-action:none;touch-action:none}image,text,.jvm-zoomin,.jvm-zoomout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{-ms-touch-action:none;touch-action:none;position:relative;overflow:hidden;height:100%;width:100%}.jvm-tooltip{border-radius:3px;background-color:#5c5cff;font-family:sans-serif,Verdana;font-size:smaller;box-shadow:1px 2px 12px rgba(0,0,0,.2);padding:3px 5px;white-space:nowrap;position:absolute;display:none;color:#fff}.jvm-tooltip.active{display:block}.jvm-zoom-btn{border-radius:3px;background-color:#292929;padding:3px;box-sizing:border-box;position:absolute;line-height:10px;cursor:pointer;color:#fff;height:15px;width:15px;left:10px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{right:15px;position:absolute}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;margin-left:.75rem;border-radius:.25rem;border-color:#e5e7eb;padding:.6rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:left}.jvm-series-container .jvm-legend .jvm-legend-title{line-height:1;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.575rem;text-align:left}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{overflow:hidden;min-width:40px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;margin-right:.65rem;height:16px;width:16px;float:left}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{font-size:12px;text-align:center;float:left}.jvm-line[animation=true]{-webkit-animation:jvm-line-animation 10s linear forwards infinite;animation:jvm-line-animation 10s linear forwards infinite}@-webkit-keyframes jvm-line-animation{from{stroke-dashoffset:250}}@keyframes jvm-line-animation{from{stroke-dashoffset:250}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -91,7 +91,8 @@ interface RangePips extends BasePips {
mode: PipsMode.Range;
}
declare type Pips = PositionsPips | ValuesPips | CountPips | StepsPips | RangePips;
declare type StartValues = string | number | (string | number)[];
declare type ValueArgument = number | string | null;
declare type StartValues = ValueArgument | ValueArgument[];
declare type HandleAttributes = {
[key: string]: string;
};
@ -107,10 +108,10 @@ interface UpdatableOptions {
format?: Formatter;
tooltips?: boolean | PartialFormatter | (boolean | PartialFormatter)[];
animate?: boolean;
connect?: "lower" | "upper" | boolean | boolean[];
}
export interface Options extends UpdatableOptions {
range: Range;
connect?: "lower" | "upper" | boolean | boolean[];
orientation?: "vertical" | "horizontal";
direction?: "ltr" | "rtl";
behaviour?: string;
@ -131,8 +132,8 @@ export interface API {
on: (eventName: string, callback: EventCallback) => void;
off: (eventName: string) => void;
get: (unencoded?: boolean) => GetResult;
set: (input: number | string | (number | string)[], fireSetEvent?: boolean, exactInput?: boolean) => void;
setHandle: (handleNumber: number, value: number | string, fireSetEvent?: boolean, exactInput?: boolean) => void;
set: (input: ValueArgument | ValueArgument[], fireSetEvent?: boolean, exactInput?: boolean) => void;
setHandle: (handleNumber: number, value: ValueArgument, fireSetEvent?: boolean, exactInput?: boolean) => void;
reset: (fireSetEvent?: boolean) => void;
disable: (handleNumber?: number) => void;
enable: (handleNumber?: number) => void;
@ -141,12 +142,9 @@ export interface API {
target: HTMLElement;
removePips: () => void;
removeTooltips: () => void;
getTooltips: () => {
[handleNumber: number]: HTMLElement | false;
};
getOrigins: () => {
[handleNumber: number]: HTMLElement;
};
getPositions: () => number[];
getTooltips: () => (HTMLElement | false)[] | null;
getOrigins: () => HTMLElement[];
pips: (grid: Pips) => HTMLElement;
}
interface TargetElement extends HTMLElement {

View file

@ -713,6 +713,7 @@
var snap = entry.indexOf("snap") >= 0;
var hover = entry.indexOf("hover") >= 0;
var unconstrained = entry.indexOf("unconstrained") >= 0;
var invertConnects = entry.indexOf("invert-connects") >= 0;
var dragAll = entry.indexOf("drag-all") >= 0;
var smoothSteps = entry.indexOf("smooth-steps") >= 0;
if (fixed) {
@ -722,6 +723,9 @@
// Use margin to enforce fixed state
testMargin(parsed, parsed.start[1] - parsed.start[0]);
}
if (invertConnects && parsed.handles !== 2) {
throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");
}
if (unconstrained && (parsed.margin || parsed.limit)) {
throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");
}
@ -734,6 +738,7 @@
snap: snap,
hover: hover,
unconstrained: unconstrained,
invertConnects: invertConnects,
};
}
function testTooltips(parsed, entry) {
@ -904,6 +909,7 @@
// Slider DOM Nodes
var scope_Target = target;
var scope_Base;
var scope_ConnectBase;
var scope_Handles;
var scope_Connects;
var scope_Pips;
@ -915,6 +921,7 @@
var scope_HandleNumbers = [];
var scope_ActiveHandlesCount = 0;
var scope_Events = {};
var scope_ConnectsInverted = false;
// Document Nodes
var scope_Document = target.ownerDocument;
var scope_DocumentElement = options.documentElement || scope_Document.documentElement;
@ -971,17 +978,17 @@
}
// Add handles to the slider base.
function addElements(connectOptions, base) {
var connectBase = addNodeTo(base, options.cssClasses.connects);
scope_ConnectBase = addNodeTo(base, options.cssClasses.connects);
scope_Handles = [];
scope_Connects = [];
scope_Connects.push(addConnect(connectBase, connectOptions[0]));
scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[0]));
// [::::O====O====O====]
// connectOptions = [0, 1, 1, 1]
for (var i = 0; i < options.handles; i++) {
// Keep a list of all added handles.
scope_Handles.push(addOrigin(base, i));
scope_HandleNumbers[i] = i;
scope_Connects.push(addConnect(connectBase, connectOptions[i + 1]));
scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[i + 1]));
}
}
// Initialize a single slider.
@ -1930,8 +1937,26 @@
var translation = transformDirection(to, 0) - scope_DirOffset;
var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")";
scope_Handles[handleNumber].style[options.transformRule] = translateRule;
// sanity check for at least 2 handles (e.g. during setup)
if (options.events.invertConnects && scope_Locations.length > 1) {
// check if handles passed each other, but don't match the ConnectsInverted state
var handlesAreInOrder = scope_Locations.every(function (position, index, locations) {
return index === 0 || position >= locations[index - 1];
});
if (scope_ConnectsInverted !== !handlesAreInOrder) {
// invert connects when handles pass each other
invertConnects();
// invertConnects already updates all connect elements
return;
}
}
updateConnect(handleNumber);
updateConnect(handleNumber + 1);
if (scope_ConnectsInverted) {
// When connects are inverted, we also have to update adjacent connects
updateConnect(handleNumber - 1);
updateConnect(handleNumber + 2);
}
}
// Handles before the slider middle are stacked later = higher,
// Handles after the middle later is lower
@ -1961,13 +1986,20 @@
if (!scope_Connects[index]) {
return;
}
// Create a copy of locations, so we can sort them for the local scope logic
var locations = scope_Locations.slice();
if (scope_ConnectsInverted) {
locations.sort(function (a, b) {
return a - b;
});
}
var l = 0;
var h = 100;
if (index !== 0) {
l = scope_Locations[index - 1];
l = locations[index - 1];
}
if (index !== scope_Connects.length - 1) {
h = scope_Locations[index];
h = locations[index];
}
// We use two rules:
// 'translate' to change the left/top offset;
@ -2159,6 +2191,7 @@
"format",
"pips",
"tooltips",
"connect",
];
// Only change options that we're actually passed to update.
updateAble.forEach(function (name) {
@ -2196,6 +2229,32 @@
// Invalidate the current positioning so valueSet forces an update.
scope_Locations = [];
valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent);
// Update connects only if it was set
if (optionsToUpdate.connect) {
updateConnectOption();
}
}
function updateConnectOption() {
// IE supported way of removing children including event handlers
while (scope_ConnectBase.firstChild) {
scope_ConnectBase.removeChild(scope_ConnectBase.firstChild);
}
// Adding new connects according to the new connect options
for (var i = 0; i <= options.handles; i++) {
scope_Connects[i] = addConnect(scope_ConnectBase, options.connect[i]);
updateConnect(i);
}
// re-adding drag events for the new connect elements
// to ignore the other events we have to negate the 'if (!behaviour.fixed)' check
bindSliderEvents({ drag: options.events.drag, fixed: true });
}
// Invert options for connect handles
function invertConnects() {
scope_ConnectsInverted = !scope_ConnectsInverted;
testConnect(options,
// inverse the connect boolean array
options.connect.map(function (b) { return !b; }));
updateConnectOption();
}
// Initialization steps
function setupSlider() {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -708,6 +708,7 @@ function testBehaviour(parsed, entry) {
var snap = entry.indexOf("snap") >= 0;
var hover = entry.indexOf("hover") >= 0;
var unconstrained = entry.indexOf("unconstrained") >= 0;
var invertConnects = entry.indexOf("invert-connects") >= 0;
var dragAll = entry.indexOf("drag-all") >= 0;
var smoothSteps = entry.indexOf("smooth-steps") >= 0;
if (fixed) {
@ -717,6 +718,9 @@ function testBehaviour(parsed, entry) {
// Use margin to enforce fixed state
testMargin(parsed, parsed.start[1] - parsed.start[0]);
}
if (invertConnects && parsed.handles !== 2) {
throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");
}
if (unconstrained && (parsed.margin || parsed.limit)) {
throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");
}
@ -729,6 +733,7 @@ function testBehaviour(parsed, entry) {
snap: snap,
hover: hover,
unconstrained: unconstrained,
invertConnects: invertConnects,
};
}
function testTooltips(parsed, entry) {
@ -899,6 +904,7 @@ function scope(target, options, originalOptions) {
// Slider DOM Nodes
var scope_Target = target;
var scope_Base;
var scope_ConnectBase;
var scope_Handles;
var scope_Connects;
var scope_Pips;
@ -910,6 +916,7 @@ function scope(target, options, originalOptions) {
var scope_HandleNumbers = [];
var scope_ActiveHandlesCount = 0;
var scope_Events = {};
var scope_ConnectsInverted = false;
// Document Nodes
var scope_Document = target.ownerDocument;
var scope_DocumentElement = options.documentElement || scope_Document.documentElement;
@ -966,17 +973,17 @@ function scope(target, options, originalOptions) {
}
// Add handles to the slider base.
function addElements(connectOptions, base) {
var connectBase = addNodeTo(base, options.cssClasses.connects);
scope_ConnectBase = addNodeTo(base, options.cssClasses.connects);
scope_Handles = [];
scope_Connects = [];
scope_Connects.push(addConnect(connectBase, connectOptions[0]));
scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[0]));
// [::::O====O====O====]
// connectOptions = [0, 1, 1, 1]
for (var i = 0; i < options.handles; i++) {
// Keep a list of all added handles.
scope_Handles.push(addOrigin(base, i));
scope_HandleNumbers[i] = i;
scope_Connects.push(addConnect(connectBase, connectOptions[i + 1]));
scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[i + 1]));
}
}
// Initialize a single slider.
@ -1925,8 +1932,26 @@ function scope(target, options, originalOptions) {
var translation = transformDirection(to, 0) - scope_DirOffset;
var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")";
scope_Handles[handleNumber].style[options.transformRule] = translateRule;
// sanity check for at least 2 handles (e.g. during setup)
if (options.events.invertConnects && scope_Locations.length > 1) {
// check if handles passed each other, but don't match the ConnectsInverted state
var handlesAreInOrder = scope_Locations.every(function (position, index, locations) {
return index === 0 || position >= locations[index - 1];
});
if (scope_ConnectsInverted !== !handlesAreInOrder) {
// invert connects when handles pass each other
invertConnects();
// invertConnects already updates all connect elements
return;
}
}
updateConnect(handleNumber);
updateConnect(handleNumber + 1);
if (scope_ConnectsInverted) {
// When connects are inverted, we also have to update adjacent connects
updateConnect(handleNumber - 1);
updateConnect(handleNumber + 2);
}
}
// Handles before the slider middle are stacked later = higher,
// Handles after the middle later is lower
@ -1956,13 +1981,20 @@ function scope(target, options, originalOptions) {
if (!scope_Connects[index]) {
return;
}
// Create a copy of locations, so we can sort them for the local scope logic
var locations = scope_Locations.slice();
if (scope_ConnectsInverted) {
locations.sort(function (a, b) {
return a - b;
});
}
var l = 0;
var h = 100;
if (index !== 0) {
l = scope_Locations[index - 1];
l = locations[index - 1];
}
if (index !== scope_Connects.length - 1) {
h = scope_Locations[index];
h = locations[index];
}
// We use two rules:
// 'translate' to change the left/top offset;
@ -2154,6 +2186,7 @@ function scope(target, options, originalOptions) {
"format",
"pips",
"tooltips",
"connect",
];
// Only change options that we're actually passed to update.
updateAble.forEach(function (name) {
@ -2191,6 +2224,32 @@ function scope(target, options, originalOptions) {
// Invalidate the current positioning so valueSet forces an update.
scope_Locations = [];
valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent);
// Update connects only if it was set
if (optionsToUpdate.connect) {
updateConnectOption();
}
}
function updateConnectOption() {
// IE supported way of removing children including event handlers
while (scope_ConnectBase.firstChild) {
scope_ConnectBase.removeChild(scope_ConnectBase.firstChild);
}
// Adding new connects according to the new connect options
for (var i = 0; i <= options.handles; i++) {
scope_Connects[i] = addConnect(scope_ConnectBase, options.connect[i]);
updateConnect(i);
}
// re-adding drag events for the new connect elements
// to ignore the other events we have to negate the 'if (!behaviour.fixed)' check
bindSliderEvents({ drag: options.events.drag, fixed: true });
}
// Invert options for connect handles
function invertConnects() {
scope_ConnectsInverted = !scope_ConnectsInverted;
testConnect(options,
// inverse the connect boolean array
options.connect.map(function (b) { return !b; }));
updateConnectOption();
}
// Initialization steps
function setupSlider() {

File diff suppressed because one or more lines are too long

8758
cp/public/assets/libs/plyr/dist/plyr.js vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

8750
cp/public/assets/libs/plyr/dist/plyr.mjs vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

View file

@ -0,0 +1,636 @@
/*!
* Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
* (c) 2024 Szymon Nowak | Released under the MIT license
*/
class Point {
constructor(x, y, pressure, time) {
if (isNaN(x) || isNaN(y)) {
throw new Error(`Point is invalid: (${x}, ${y})`);
}
this.x = +x;
this.y = +y;
this.pressure = pressure || 0;
this.time = time || Date.now();
}
distanceTo(start) {
return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));
}
equals(other) {
return (this.x === other.x &&
this.y === other.y &&
this.pressure === other.pressure &&
this.time === other.time);
}
velocityFrom(start) {
return this.time !== start.time
? this.distanceTo(start) / (this.time - start.time)
: 0;
}
}
class Bezier {
static fromPoints(points, widths) {
const c2 = this.calculateControlPoints(points[0], points[1], points[2]).c2;
const c3 = this.calculateControlPoints(points[1], points[2], points[3]).c1;
return new Bezier(points[1], c2, c3, points[2], widths.start, widths.end);
}
static calculateControlPoints(s1, s2, s3) {
const dx1 = s1.x - s2.x;
const dy1 = s1.y - s2.y;
const dx2 = s2.x - s3.x;
const dy2 = s2.y - s3.y;
const m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };
const m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };
const l1 = Math.sqrt(dx1 * dx1 + dy1 * dy1);
const l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);
const dxm = m1.x - m2.x;
const dym = m1.y - m2.y;
const k = l1 + l2 == 0 ? 0 : l2 / (l1 + l2);
const cm = { x: m2.x + dxm * k, y: m2.y + dym * k };
const tx = s2.x - cm.x;
const ty = s2.y - cm.y;
return {
c1: new Point(m1.x + tx, m1.y + ty),
c2: new Point(m2.x + tx, m2.y + ty),
};
}
constructor(startPoint, control2, control1, endPoint, startWidth, endWidth) {
this.startPoint = startPoint;
this.control2 = control2;
this.control1 = control1;
this.endPoint = endPoint;
this.startWidth = startWidth;
this.endWidth = endWidth;
}
length() {
const steps = 10;
let length = 0;
let px;
let py;
for (let i = 0; i <= steps; i += 1) {
const t = i / steps;
const cx = this.point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);
const cy = this.point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);
if (i > 0) {
const xdiff = cx - px;
const ydiff = cy - py;
length += Math.sqrt(xdiff * xdiff + ydiff * ydiff);
}
px = cx;
py = cy;
}
return length;
}
point(t, start, c1, c2, end) {
return (start * (1.0 - t) * (1.0 - t) * (1.0 - t))
+ (3.0 * c1 * (1.0 - t) * (1.0 - t) * t)
+ (3.0 * c2 * (1.0 - t) * t * t)
+ (end * t * t * t);
}
}
class SignatureEventTarget {
constructor() {
try {
this._et = new EventTarget();
}
catch (_a) {
this._et = document;
}
}
addEventListener(type, listener, options) {
this._et.addEventListener(type, listener, options);
}
dispatchEvent(event) {
return this._et.dispatchEvent(event);
}
removeEventListener(type, callback, options) {
this._et.removeEventListener(type, callback, options);
}
}
function throttle(fn, wait = 250) {
let previous = 0;
let timeout = null;
let result;
let storedContext;
let storedArgs;
const later = () => {
previous = Date.now();
timeout = null;
result = fn.apply(storedContext, storedArgs);
if (!timeout) {
storedContext = null;
storedArgs = [];
}
};
return function wrapper(...args) {
const now = Date.now();
const remaining = wait - (now - previous);
storedContext = this;
storedArgs = args;
if (remaining <= 0 || remaining > wait) {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
previous = now;
result = fn.apply(storedContext, storedArgs);
if (!timeout) {
storedContext = null;
storedArgs = [];
}
}
else if (!timeout) {
timeout = window.setTimeout(later, remaining);
}
return result;
};
}
class SignaturePad extends SignatureEventTarget {
constructor(canvas, options = {}) {
var _a, _b, _c;
super();
this.canvas = canvas;
this._drawingStroke = false;
this._isEmpty = true;
this._lastPoints = [];
this._data = [];
this._lastVelocity = 0;
this._lastWidth = 0;
this._handleMouseDown = (event) => {
if (!this._isLeftButtonPressed(event, true) || this._drawingStroke) {
return;
}
this._strokeBegin(this._pointerEventToSignatureEvent(event));
};
this._handleMouseMove = (event) => {
if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
return;
}
this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
};
this._handleMouseUp = (event) => {
if (this._isLeftButtonPressed(event)) {
return;
}
this._strokeEnd(this._pointerEventToSignatureEvent(event));
};
this._handleTouchStart = (event) => {
if (event.targetTouches.length !== 1 || this._drawingStroke) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
this._strokeBegin(this._touchEventToSignatureEvent(event));
};
this._handleTouchMove = (event) => {
if (event.targetTouches.length !== 1) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
if (!this._drawingStroke) {
this._strokeEnd(this._touchEventToSignatureEvent(event), false);
return;
}
this._strokeMoveUpdate(this._touchEventToSignatureEvent(event));
};
this._handleTouchEnd = (event) => {
if (event.targetTouches.length !== 0) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
this.canvas.removeEventListener('touchmove', this._handleTouchMove);
this._strokeEnd(this._touchEventToSignatureEvent(event));
};
this._handlePointerDown = (event) => {
if (!event.isPrimary || !this._isLeftButtonPressed(event) || this._drawingStroke) {
return;
}
event.preventDefault();
this._strokeBegin(this._pointerEventToSignatureEvent(event));
};
this._handlePointerMove = (event) => {
if (!event.isPrimary) {
return;
}
if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
return;
}
event.preventDefault();
this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
};
this._handlePointerUp = (event) => {
if (!event.isPrimary || this._isLeftButtonPressed(event)) {
return;
}
event.preventDefault();
this._strokeEnd(this._pointerEventToSignatureEvent(event));
};
this.velocityFilterWeight = options.velocityFilterWeight || 0.7;
this.minWidth = options.minWidth || 0.5;
this.maxWidth = options.maxWidth || 2.5;
this.throttle = (_a = options.throttle) !== null && _a !== void 0 ? _a : 16;
this.minDistance = (_b = options.minDistance) !== null && _b !== void 0 ? _b : 5;
this.dotSize = options.dotSize || 0;
this.penColor = options.penColor || 'black';
this.backgroundColor = options.backgroundColor || 'rgba(0,0,0,0)';
this.compositeOperation = options.compositeOperation || 'source-over';
this.canvasContextOptions = (_c = options.canvasContextOptions) !== null && _c !== void 0 ? _c : {};
this._strokeMoveUpdate = this.throttle
? throttle(SignaturePad.prototype._strokeUpdate, this.throttle)
: SignaturePad.prototype._strokeUpdate;
this._ctx = canvas.getContext('2d', this.canvasContextOptions);
this.clear();
this.on();
}
clear() {
const { _ctx: ctx, canvas } = this;
ctx.fillStyle = this.backgroundColor;
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillRect(0, 0, canvas.width, canvas.height);
this._data = [];
this._reset(this._getPointGroupOptions());
this._isEmpty = true;
}
fromDataURL(dataUrl, options = {}) {
return new Promise((resolve, reject) => {
const image = new Image();
const ratio = options.ratio || window.devicePixelRatio || 1;
const width = options.width || this.canvas.width / ratio;
const height = options.height || this.canvas.height / ratio;
const xOffset = options.xOffset || 0;
const yOffset = options.yOffset || 0;
this._reset(this._getPointGroupOptions());
image.onload = () => {
this._ctx.drawImage(image, xOffset, yOffset, width, height);
resolve();
};
image.onerror = (error) => {
reject(error);
};
image.crossOrigin = 'anonymous';
image.src = dataUrl;
this._isEmpty = false;
});
}
toDataURL(type = 'image/png', encoderOptions) {
switch (type) {
case 'image/svg+xml':
if (typeof encoderOptions !== 'object') {
encoderOptions = undefined;
}
return `data:image/svg+xml;base64,${btoa(this.toSVG(encoderOptions))}`;
default:
if (typeof encoderOptions !== 'number') {
encoderOptions = undefined;
}
return this.canvas.toDataURL(type, encoderOptions);
}
}
on() {
this.canvas.style.touchAction = 'none';
this.canvas.style.msTouchAction = 'none';
this.canvas.style.userSelect = 'none';
const isIOS = /Macintosh/.test(navigator.userAgent) && 'ontouchstart' in document;
if (window.PointerEvent && !isIOS) {
this._handlePointerEvents();
}
else {
this._handleMouseEvents();
if ('ontouchstart' in window) {
this._handleTouchEvents();
}
}
}
off() {
this.canvas.style.touchAction = 'auto';
this.canvas.style.msTouchAction = 'auto';
this.canvas.style.userSelect = 'auto';
this.canvas.removeEventListener('pointerdown', this._handlePointerDown);
this.canvas.removeEventListener('mousedown', this._handleMouseDown);
this.canvas.removeEventListener('touchstart', this._handleTouchStart);
this._removeMoveUpEventListeners();
}
_getListenerFunctions() {
var _a;
const canvasWindow = window.document === this.canvas.ownerDocument
? window
: (_a = this.canvas.ownerDocument.defaultView) !== null && _a !== void 0 ? _a : this.canvas.ownerDocument;
return {
addEventListener: canvasWindow.addEventListener.bind(canvasWindow),
removeEventListener: canvasWindow.removeEventListener.bind(canvasWindow),
};
}
_removeMoveUpEventListeners() {
const { removeEventListener } = this._getListenerFunctions();
removeEventListener('pointermove', this._handlePointerMove);
removeEventListener('pointerup', this._handlePointerUp);
removeEventListener('mousemove', this._handleMouseMove);
removeEventListener('mouseup', this._handleMouseUp);
removeEventListener('touchmove', this._handleTouchMove);
removeEventListener('touchend', this._handleTouchEnd);
}
isEmpty() {
return this._isEmpty;
}
fromData(pointGroups, { clear = true } = {}) {
if (clear) {
this.clear();
}
this._fromData(pointGroups, this._drawCurve.bind(this), this._drawDot.bind(this));
this._data = this._data.concat(pointGroups);
}
toData() {
return this._data;
}
_isLeftButtonPressed(event, only) {
if (only) {
return event.buttons === 1;
}
return (event.buttons & 1) === 1;
}
_pointerEventToSignatureEvent(event) {
return {
event: event,
type: event.type,
x: event.clientX,
y: event.clientY,
pressure: 'pressure' in event ? event.pressure : 0,
};
}
_touchEventToSignatureEvent(event) {
const touch = event.changedTouches[0];
return {
event: event,
type: event.type,
x: touch.clientX,
y: touch.clientY,
pressure: touch.force,
};
}
_getPointGroupOptions(group) {
return {
penColor: group && 'penColor' in group ? group.penColor : this.penColor,
dotSize: group && 'dotSize' in group ? group.dotSize : this.dotSize,
minWidth: group && 'minWidth' in group ? group.minWidth : this.minWidth,
maxWidth: group && 'maxWidth' in group ? group.maxWidth : this.maxWidth,
velocityFilterWeight: group && 'velocityFilterWeight' in group
? group.velocityFilterWeight
: this.velocityFilterWeight,
compositeOperation: group && 'compositeOperation' in group
? group.compositeOperation
: this.compositeOperation,
};
}
_strokeBegin(event) {
const cancelled = !this.dispatchEvent(new CustomEvent('beginStroke', { detail: event, cancelable: true }));
if (cancelled) {
return;
}
const { addEventListener } = this._getListenerFunctions();
switch (event.event.type) {
case 'mousedown':
addEventListener('mousemove', this._handleMouseMove);
addEventListener('mouseup', this._handleMouseUp);
break;
case 'touchstart':
addEventListener('touchmove', this._handleTouchMove);
addEventListener('touchend', this._handleTouchEnd);
break;
case 'pointerdown':
addEventListener('pointermove', this._handlePointerMove);
addEventListener('pointerup', this._handlePointerUp);
break;
}
this._drawingStroke = true;
const pointGroupOptions = this._getPointGroupOptions();
const newPointGroup = Object.assign(Object.assign({}, pointGroupOptions), { points: [] });
this._data.push(newPointGroup);
this._reset(pointGroupOptions);
this._strokeUpdate(event);
}
_strokeUpdate(event) {
if (!this._drawingStroke) {
return;
}
if (this._data.length === 0) {
this._strokeBegin(event);
return;
}
this.dispatchEvent(new CustomEvent('beforeUpdateStroke', { detail: event }));
const point = this._createPoint(event.x, event.y, event.pressure);
const lastPointGroup = this._data[this._data.length - 1];
const lastPoints = lastPointGroup.points;
const lastPoint = lastPoints.length > 0 && lastPoints[lastPoints.length - 1];
const isLastPointTooClose = lastPoint
? point.distanceTo(lastPoint) <= this.minDistance
: false;
const pointGroupOptions = this._getPointGroupOptions(lastPointGroup);
if (!lastPoint || !(lastPoint && isLastPointTooClose)) {
const curve = this._addPoint(point, pointGroupOptions);
if (!lastPoint) {
this._drawDot(point, pointGroupOptions);
}
else if (curve) {
this._drawCurve(curve, pointGroupOptions);
}
lastPoints.push({
time: point.time,
x: point.x,
y: point.y,
pressure: point.pressure,
});
}
this.dispatchEvent(new CustomEvent('afterUpdateStroke', { detail: event }));
}
_strokeEnd(event, shouldUpdate = true) {
this._removeMoveUpEventListeners();
if (!this._drawingStroke) {
return;
}
if (shouldUpdate) {
this._strokeUpdate(event);
}
this._drawingStroke = false;
this.dispatchEvent(new CustomEvent('endStroke', { detail: event }));
}
_handlePointerEvents() {
this._drawingStroke = false;
this.canvas.addEventListener('pointerdown', this._handlePointerDown);
}
_handleMouseEvents() {
this._drawingStroke = false;
this.canvas.addEventListener('mousedown', this._handleMouseDown);
}
_handleTouchEvents() {
this.canvas.addEventListener('touchstart', this._handleTouchStart);
}
_reset(options) {
this._lastPoints = [];
this._lastVelocity = 0;
this._lastWidth = (options.minWidth + options.maxWidth) / 2;
this._ctx.fillStyle = options.penColor;
this._ctx.globalCompositeOperation = options.compositeOperation;
}
_createPoint(x, y, pressure) {
const rect = this.canvas.getBoundingClientRect();
return new Point(x - rect.left, y - rect.top, pressure, new Date().getTime());
}
_addPoint(point, options) {
const { _lastPoints } = this;
_lastPoints.push(point);
if (_lastPoints.length > 2) {
if (_lastPoints.length === 3) {
_lastPoints.unshift(_lastPoints[0]);
}
const widths = this._calculateCurveWidths(_lastPoints[1], _lastPoints[2], options);
const curve = Bezier.fromPoints(_lastPoints, widths);
_lastPoints.shift();
return curve;
}
return null;
}
_calculateCurveWidths(startPoint, endPoint, options) {
const velocity = options.velocityFilterWeight * endPoint.velocityFrom(startPoint) +
(1 - options.velocityFilterWeight) * this._lastVelocity;
const newWidth = this._strokeWidth(velocity, options);
const widths = {
end: newWidth,
start: this._lastWidth,
};
this._lastVelocity = velocity;
this._lastWidth = newWidth;
return widths;
}
_strokeWidth(velocity, options) {
return Math.max(options.maxWidth / (velocity + 1), options.minWidth);
}
_drawCurveSegment(x, y, width) {
const ctx = this._ctx;
ctx.moveTo(x, y);
ctx.arc(x, y, width, 0, 2 * Math.PI, false);
this._isEmpty = false;
}
_drawCurve(curve, options) {
const ctx = this._ctx;
const widthDelta = curve.endWidth - curve.startWidth;
const drawSteps = Math.ceil(curve.length()) * 2;
ctx.beginPath();
ctx.fillStyle = options.penColor;
for (let i = 0; i < drawSteps; i += 1) {
const t = i / drawSteps;
const tt = t * t;
const ttt = tt * t;
const u = 1 - t;
const uu = u * u;
const uuu = uu * u;
let x = uuu * curve.startPoint.x;
x += 3 * uu * t * curve.control1.x;
x += 3 * u * tt * curve.control2.x;
x += ttt * curve.endPoint.x;
let y = uuu * curve.startPoint.y;
y += 3 * uu * t * curve.control1.y;
y += 3 * u * tt * curve.control2.y;
y += ttt * curve.endPoint.y;
const width = Math.min(curve.startWidth + ttt * widthDelta, options.maxWidth);
this._drawCurveSegment(x, y, width);
}
ctx.closePath();
ctx.fill();
}
_drawDot(point, options) {
const ctx = this._ctx;
const width = options.dotSize > 0
? options.dotSize
: (options.minWidth + options.maxWidth) / 2;
ctx.beginPath();
this._drawCurveSegment(point.x, point.y, width);
ctx.closePath();
ctx.fillStyle = options.penColor;
ctx.fill();
}
_fromData(pointGroups, drawCurve, drawDot) {
for (const group of pointGroups) {
const { points } = group;
const pointGroupOptions = this._getPointGroupOptions(group);
if (points.length > 1) {
for (let j = 0; j < points.length; j += 1) {
const basicPoint = points[j];
const point = new Point(basicPoint.x, basicPoint.y, basicPoint.pressure, basicPoint.time);
if (j === 0) {
this._reset(pointGroupOptions);
}
const curve = this._addPoint(point, pointGroupOptions);
if (curve) {
drawCurve(curve, pointGroupOptions);
}
}
}
else {
this._reset(pointGroupOptions);
drawDot(points[0], pointGroupOptions);
}
}
}
toSVG({ includeBackgroundColor = false } = {}) {
const pointGroups = this._data;
const ratio = Math.max(window.devicePixelRatio || 1, 1);
const minX = 0;
const minY = 0;
const maxX = this.canvas.width / ratio;
const maxY = this.canvas.height / ratio;
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
svg.setAttribute('viewBox', `${minX} ${minY} ${maxX} ${maxY}`);
svg.setAttribute('width', maxX.toString());
svg.setAttribute('height', maxY.toString());
if (includeBackgroundColor && this.backgroundColor) {
const rect = document.createElement('rect');
rect.setAttribute('width', '100%');
rect.setAttribute('height', '100%');
rect.setAttribute('fill', this.backgroundColor);
svg.appendChild(rect);
}
this._fromData(pointGroups, (curve, { penColor }) => {
const path = document.createElement('path');
if (!isNaN(curve.control1.x) &&
!isNaN(curve.control1.y) &&
!isNaN(curve.control2.x) &&
!isNaN(curve.control2.y)) {
const attr = `M ${curve.startPoint.x.toFixed(3)},${curve.startPoint.y.toFixed(3)} ` +
`C ${curve.control1.x.toFixed(3)},${curve.control1.y.toFixed(3)} ` +
`${curve.control2.x.toFixed(3)},${curve.control2.y.toFixed(3)} ` +
`${curve.endPoint.x.toFixed(3)},${curve.endPoint.y.toFixed(3)}`;
path.setAttribute('d', attr);
path.setAttribute('stroke-width', (curve.endWidth * 2.25).toFixed(3));
path.setAttribute('stroke', penColor);
path.setAttribute('fill', 'none');
path.setAttribute('stroke-linecap', 'round');
svg.appendChild(path);
}
}, (point, { penColor, dotSize, minWidth, maxWidth }) => {
const circle = document.createElement('circle');
const size = dotSize > 0 ? dotSize : (minWidth + maxWidth) / 2;
circle.setAttribute('r', size.toString());
circle.setAttribute('cx', point.x.toString());
circle.setAttribute('cy', point.y.toString());
circle.setAttribute('fill', penColor);
svg.appendChild(circle);
});
return svg.outerHTML;
}
}
export { SignaturePad as default };
//# sourceMappingURL=signature_pad.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,644 @@
/*!
* Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
* (c) 2024 Szymon Nowak | Released under the MIT license
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SignaturePad = factory());
})(this, (function () { 'use strict';
class Point {
constructor(x, y, pressure, time) {
if (isNaN(x) || isNaN(y)) {
throw new Error(`Point is invalid: (${x}, ${y})`);
}
this.x = +x;
this.y = +y;
this.pressure = pressure || 0;
this.time = time || Date.now();
}
distanceTo(start) {
return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));
}
equals(other) {
return (this.x === other.x &&
this.y === other.y &&
this.pressure === other.pressure &&
this.time === other.time);
}
velocityFrom(start) {
return this.time !== start.time
? this.distanceTo(start) / (this.time - start.time)
: 0;
}
}
class Bezier {
static fromPoints(points, widths) {
const c2 = this.calculateControlPoints(points[0], points[1], points[2]).c2;
const c3 = this.calculateControlPoints(points[1], points[2], points[3]).c1;
return new Bezier(points[1], c2, c3, points[2], widths.start, widths.end);
}
static calculateControlPoints(s1, s2, s3) {
const dx1 = s1.x - s2.x;
const dy1 = s1.y - s2.y;
const dx2 = s2.x - s3.x;
const dy2 = s2.y - s3.y;
const m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };
const m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };
const l1 = Math.sqrt(dx1 * dx1 + dy1 * dy1);
const l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);
const dxm = m1.x - m2.x;
const dym = m1.y - m2.y;
const k = l1 + l2 == 0 ? 0 : l2 / (l1 + l2);
const cm = { x: m2.x + dxm * k, y: m2.y + dym * k };
const tx = s2.x - cm.x;
const ty = s2.y - cm.y;
return {
c1: new Point(m1.x + tx, m1.y + ty),
c2: new Point(m2.x + tx, m2.y + ty),
};
}
constructor(startPoint, control2, control1, endPoint, startWidth, endWidth) {
this.startPoint = startPoint;
this.control2 = control2;
this.control1 = control1;
this.endPoint = endPoint;
this.startWidth = startWidth;
this.endWidth = endWidth;
}
length() {
const steps = 10;
let length = 0;
let px;
let py;
for (let i = 0; i <= steps; i += 1) {
const t = i / steps;
const cx = this.point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);
const cy = this.point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);
if (i > 0) {
const xdiff = cx - px;
const ydiff = cy - py;
length += Math.sqrt(xdiff * xdiff + ydiff * ydiff);
}
px = cx;
py = cy;
}
return length;
}
point(t, start, c1, c2, end) {
return (start * (1.0 - t) * (1.0 - t) * (1.0 - t))
+ (3.0 * c1 * (1.0 - t) * (1.0 - t) * t)
+ (3.0 * c2 * (1.0 - t) * t * t)
+ (end * t * t * t);
}
}
class SignatureEventTarget {
constructor() {
try {
this._et = new EventTarget();
}
catch (_a) {
this._et = document;
}
}
addEventListener(type, listener, options) {
this._et.addEventListener(type, listener, options);
}
dispatchEvent(event) {
return this._et.dispatchEvent(event);
}
removeEventListener(type, callback, options) {
this._et.removeEventListener(type, callback, options);
}
}
function throttle(fn, wait = 250) {
let previous = 0;
let timeout = null;
let result;
let storedContext;
let storedArgs;
const later = () => {
previous = Date.now();
timeout = null;
result = fn.apply(storedContext, storedArgs);
if (!timeout) {
storedContext = null;
storedArgs = [];
}
};
return function wrapper(...args) {
const now = Date.now();
const remaining = wait - (now - previous);
storedContext = this;
storedArgs = args;
if (remaining <= 0 || remaining > wait) {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
previous = now;
result = fn.apply(storedContext, storedArgs);
if (!timeout) {
storedContext = null;
storedArgs = [];
}
}
else if (!timeout) {
timeout = window.setTimeout(later, remaining);
}
return result;
};
}
class SignaturePad extends SignatureEventTarget {
constructor(canvas, options = {}) {
var _a, _b, _c;
super();
this.canvas = canvas;
this._drawingStroke = false;
this._isEmpty = true;
this._lastPoints = [];
this._data = [];
this._lastVelocity = 0;
this._lastWidth = 0;
this._handleMouseDown = (event) => {
if (!this._isLeftButtonPressed(event, true) || this._drawingStroke) {
return;
}
this._strokeBegin(this._pointerEventToSignatureEvent(event));
};
this._handleMouseMove = (event) => {
if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
return;
}
this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
};
this._handleMouseUp = (event) => {
if (this._isLeftButtonPressed(event)) {
return;
}
this._strokeEnd(this._pointerEventToSignatureEvent(event));
};
this._handleTouchStart = (event) => {
if (event.targetTouches.length !== 1 || this._drawingStroke) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
this._strokeBegin(this._touchEventToSignatureEvent(event));
};
this._handleTouchMove = (event) => {
if (event.targetTouches.length !== 1) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
if (!this._drawingStroke) {
this._strokeEnd(this._touchEventToSignatureEvent(event), false);
return;
}
this._strokeMoveUpdate(this._touchEventToSignatureEvent(event));
};
this._handleTouchEnd = (event) => {
if (event.targetTouches.length !== 0) {
return;
}
if (event.cancelable) {
event.preventDefault();
}
this.canvas.removeEventListener('touchmove', this._handleTouchMove);
this._strokeEnd(this._touchEventToSignatureEvent(event));
};
this._handlePointerDown = (event) => {
if (!event.isPrimary || !this._isLeftButtonPressed(event) || this._drawingStroke) {
return;
}
event.preventDefault();
this._strokeBegin(this._pointerEventToSignatureEvent(event));
};
this._handlePointerMove = (event) => {
if (!event.isPrimary) {
return;
}
if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
return;
}
event.preventDefault();
this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
};
this._handlePointerUp = (event) => {
if (!event.isPrimary || this._isLeftButtonPressed(event)) {
return;
}
event.preventDefault();
this._strokeEnd(this._pointerEventToSignatureEvent(event));
};
this.velocityFilterWeight = options.velocityFilterWeight || 0.7;
this.minWidth = options.minWidth || 0.5;
this.maxWidth = options.maxWidth || 2.5;
this.throttle = (_a = options.throttle) !== null && _a !== void 0 ? _a : 16;
this.minDistance = (_b = options.minDistance) !== null && _b !== void 0 ? _b : 5;
this.dotSize = options.dotSize || 0;
this.penColor = options.penColor || 'black';
this.backgroundColor = options.backgroundColor || 'rgba(0,0,0,0)';
this.compositeOperation = options.compositeOperation || 'source-over';
this.canvasContextOptions = (_c = options.canvasContextOptions) !== null && _c !== void 0 ? _c : {};
this._strokeMoveUpdate = this.throttle
? throttle(SignaturePad.prototype._strokeUpdate, this.throttle)
: SignaturePad.prototype._strokeUpdate;
this._ctx = canvas.getContext('2d', this.canvasContextOptions);
this.clear();
this.on();
}
clear() {
const { _ctx: ctx, canvas } = this;
ctx.fillStyle = this.backgroundColor;
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillRect(0, 0, canvas.width, canvas.height);
this._data = [];
this._reset(this._getPointGroupOptions());
this._isEmpty = true;
}
fromDataURL(dataUrl, options = {}) {
return new Promise((resolve, reject) => {
const image = new Image();
const ratio = options.ratio || window.devicePixelRatio || 1;
const width = options.width || this.canvas.width / ratio;
const height = options.height || this.canvas.height / ratio;
const xOffset = options.xOffset || 0;
const yOffset = options.yOffset || 0;
this._reset(this._getPointGroupOptions());
image.onload = () => {
this._ctx.drawImage(image, xOffset, yOffset, width, height);
resolve();
};
image.onerror = (error) => {
reject(error);
};
image.crossOrigin = 'anonymous';
image.src = dataUrl;
this._isEmpty = false;
});
}
toDataURL(type = 'image/png', encoderOptions) {
switch (type) {
case 'image/svg+xml':
if (typeof encoderOptions !== 'object') {
encoderOptions = undefined;
}
return `data:image/svg+xml;base64,${btoa(this.toSVG(encoderOptions))}`;
default:
if (typeof encoderOptions !== 'number') {
encoderOptions = undefined;
}
return this.canvas.toDataURL(type, encoderOptions);
}
}
on() {
this.canvas.style.touchAction = 'none';
this.canvas.style.msTouchAction = 'none';
this.canvas.style.userSelect = 'none';
const isIOS = /Macintosh/.test(navigator.userAgent) && 'ontouchstart' in document;
if (window.PointerEvent && !isIOS) {
this._handlePointerEvents();
}
else {
this._handleMouseEvents();
if ('ontouchstart' in window) {
this._handleTouchEvents();
}
}
}
off() {
this.canvas.style.touchAction = 'auto';
this.canvas.style.msTouchAction = 'auto';
this.canvas.style.userSelect = 'auto';
this.canvas.removeEventListener('pointerdown', this._handlePointerDown);
this.canvas.removeEventListener('mousedown', this._handleMouseDown);
this.canvas.removeEventListener('touchstart', this._handleTouchStart);
this._removeMoveUpEventListeners();
}
_getListenerFunctions() {
var _a;
const canvasWindow = window.document === this.canvas.ownerDocument
? window
: (_a = this.canvas.ownerDocument.defaultView) !== null && _a !== void 0 ? _a : this.canvas.ownerDocument;
return {
addEventListener: canvasWindow.addEventListener.bind(canvasWindow),
removeEventListener: canvasWindow.removeEventListener.bind(canvasWindow),
};
}
_removeMoveUpEventListeners() {
const { removeEventListener } = this._getListenerFunctions();
removeEventListener('pointermove', this._handlePointerMove);
removeEventListener('pointerup', this._handlePointerUp);
removeEventListener('mousemove', this._handleMouseMove);
removeEventListener('mouseup', this._handleMouseUp);
removeEventListener('touchmove', this._handleTouchMove);
removeEventListener('touchend', this._handleTouchEnd);
}
isEmpty() {
return this._isEmpty;
}
fromData(pointGroups, { clear = true } = {}) {
if (clear) {
this.clear();
}
this._fromData(pointGroups, this._drawCurve.bind(this), this._drawDot.bind(this));
this._data = this._data.concat(pointGroups);
}
toData() {
return this._data;
}
_isLeftButtonPressed(event, only) {
if (only) {
return event.buttons === 1;
}
return (event.buttons & 1) === 1;
}
_pointerEventToSignatureEvent(event) {
return {
event: event,
type: event.type,
x: event.clientX,
y: event.clientY,
pressure: 'pressure' in event ? event.pressure : 0,
};
}
_touchEventToSignatureEvent(event) {
const touch = event.changedTouches[0];
return {
event: event,
type: event.type,
x: touch.clientX,
y: touch.clientY,
pressure: touch.force,
};
}
_getPointGroupOptions(group) {
return {
penColor: group && 'penColor' in group ? group.penColor : this.penColor,
dotSize: group && 'dotSize' in group ? group.dotSize : this.dotSize,
minWidth: group && 'minWidth' in group ? group.minWidth : this.minWidth,
maxWidth: group && 'maxWidth' in group ? group.maxWidth : this.maxWidth,
velocityFilterWeight: group && 'velocityFilterWeight' in group
? group.velocityFilterWeight
: this.velocityFilterWeight,
compositeOperation: group && 'compositeOperation' in group
? group.compositeOperation
: this.compositeOperation,
};
}
_strokeBegin(event) {
const cancelled = !this.dispatchEvent(new CustomEvent('beginStroke', { detail: event, cancelable: true }));
if (cancelled) {
return;
}
const { addEventListener } = this._getListenerFunctions();
switch (event.event.type) {
case 'mousedown':
addEventListener('mousemove', this._handleMouseMove);
addEventListener('mouseup', this._handleMouseUp);
break;
case 'touchstart':
addEventListener('touchmove', this._handleTouchMove);
addEventListener('touchend', this._handleTouchEnd);
break;
case 'pointerdown':
addEventListener('pointermove', this._handlePointerMove);
addEventListener('pointerup', this._handlePointerUp);
break;
}
this._drawingStroke = true;
const pointGroupOptions = this._getPointGroupOptions();
const newPointGroup = Object.assign(Object.assign({}, pointGroupOptions), { points: [] });
this._data.push(newPointGroup);
this._reset(pointGroupOptions);
this._strokeUpdate(event);
}
_strokeUpdate(event) {
if (!this._drawingStroke) {
return;
}
if (this._data.length === 0) {
this._strokeBegin(event);
return;
}
this.dispatchEvent(new CustomEvent('beforeUpdateStroke', { detail: event }));
const point = this._createPoint(event.x, event.y, event.pressure);
const lastPointGroup = this._data[this._data.length - 1];
const lastPoints = lastPointGroup.points;
const lastPoint = lastPoints.length > 0 && lastPoints[lastPoints.length - 1];
const isLastPointTooClose = lastPoint
? point.distanceTo(lastPoint) <= this.minDistance
: false;
const pointGroupOptions = this._getPointGroupOptions(lastPointGroup);
if (!lastPoint || !(lastPoint && isLastPointTooClose)) {
const curve = this._addPoint(point, pointGroupOptions);
if (!lastPoint) {
this._drawDot(point, pointGroupOptions);
}
else if (curve) {
this._drawCurve(curve, pointGroupOptions);
}
lastPoints.push({
time: point.time,
x: point.x,
y: point.y,
pressure: point.pressure,
});
}
this.dispatchEvent(new CustomEvent('afterUpdateStroke', { detail: event }));
}
_strokeEnd(event, shouldUpdate = true) {
this._removeMoveUpEventListeners();
if (!this._drawingStroke) {
return;
}
if (shouldUpdate) {
this._strokeUpdate(event);
}
this._drawingStroke = false;
this.dispatchEvent(new CustomEvent('endStroke', { detail: event }));
}
_handlePointerEvents() {
this._drawingStroke = false;
this.canvas.addEventListener('pointerdown', this._handlePointerDown);
}
_handleMouseEvents() {
this._drawingStroke = false;
this.canvas.addEventListener('mousedown', this._handleMouseDown);
}
_handleTouchEvents() {
this.canvas.addEventListener('touchstart', this._handleTouchStart);
}
_reset(options) {
this._lastPoints = [];
this._lastVelocity = 0;
this._lastWidth = (options.minWidth + options.maxWidth) / 2;
this._ctx.fillStyle = options.penColor;
this._ctx.globalCompositeOperation = options.compositeOperation;
}
_createPoint(x, y, pressure) {
const rect = this.canvas.getBoundingClientRect();
return new Point(x - rect.left, y - rect.top, pressure, new Date().getTime());
}
_addPoint(point, options) {
const { _lastPoints } = this;
_lastPoints.push(point);
if (_lastPoints.length > 2) {
if (_lastPoints.length === 3) {
_lastPoints.unshift(_lastPoints[0]);
}
const widths = this._calculateCurveWidths(_lastPoints[1], _lastPoints[2], options);
const curve = Bezier.fromPoints(_lastPoints, widths);
_lastPoints.shift();
return curve;
}
return null;
}
_calculateCurveWidths(startPoint, endPoint, options) {
const velocity = options.velocityFilterWeight * endPoint.velocityFrom(startPoint) +
(1 - options.velocityFilterWeight) * this._lastVelocity;
const newWidth = this._strokeWidth(velocity, options);
const widths = {
end: newWidth,
start: this._lastWidth,
};
this._lastVelocity = velocity;
this._lastWidth = newWidth;
return widths;
}
_strokeWidth(velocity, options) {
return Math.max(options.maxWidth / (velocity + 1), options.minWidth);
}
_drawCurveSegment(x, y, width) {
const ctx = this._ctx;
ctx.moveTo(x, y);
ctx.arc(x, y, width, 0, 2 * Math.PI, false);
this._isEmpty = false;
}
_drawCurve(curve, options) {
const ctx = this._ctx;
const widthDelta = curve.endWidth - curve.startWidth;
const drawSteps = Math.ceil(curve.length()) * 2;
ctx.beginPath();
ctx.fillStyle = options.penColor;
for (let i = 0; i < drawSteps; i += 1) {
const t = i / drawSteps;
const tt = t * t;
const ttt = tt * t;
const u = 1 - t;
const uu = u * u;
const uuu = uu * u;
let x = uuu * curve.startPoint.x;
x += 3 * uu * t * curve.control1.x;
x += 3 * u * tt * curve.control2.x;
x += ttt * curve.endPoint.x;
let y = uuu * curve.startPoint.y;
y += 3 * uu * t * curve.control1.y;
y += 3 * u * tt * curve.control2.y;
y += ttt * curve.endPoint.y;
const width = Math.min(curve.startWidth + ttt * widthDelta, options.maxWidth);
this._drawCurveSegment(x, y, width);
}
ctx.closePath();
ctx.fill();
}
_drawDot(point, options) {
const ctx = this._ctx;
const width = options.dotSize > 0
? options.dotSize
: (options.minWidth + options.maxWidth) / 2;
ctx.beginPath();
this._drawCurveSegment(point.x, point.y, width);
ctx.closePath();
ctx.fillStyle = options.penColor;
ctx.fill();
}
_fromData(pointGroups, drawCurve, drawDot) {
for (const group of pointGroups) {
const { points } = group;
const pointGroupOptions = this._getPointGroupOptions(group);
if (points.length > 1) {
for (let j = 0; j < points.length; j += 1) {
const basicPoint = points[j];
const point = new Point(basicPoint.x, basicPoint.y, basicPoint.pressure, basicPoint.time);
if (j === 0) {
this._reset(pointGroupOptions);
}
const curve = this._addPoint(point, pointGroupOptions);
if (curve) {
drawCurve(curve, pointGroupOptions);
}
}
}
else {
this._reset(pointGroupOptions);
drawDot(points[0], pointGroupOptions);
}
}
}
toSVG({ includeBackgroundColor = false } = {}) {
const pointGroups = this._data;
const ratio = Math.max(window.devicePixelRatio || 1, 1);
const minX = 0;
const minY = 0;
const maxX = this.canvas.width / ratio;
const maxY = this.canvas.height / ratio;
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
svg.setAttribute('viewBox', `${minX} ${minY} ${maxX} ${maxY}`);
svg.setAttribute('width', maxX.toString());
svg.setAttribute('height', maxY.toString());
if (includeBackgroundColor && this.backgroundColor) {
const rect = document.createElement('rect');
rect.setAttribute('width', '100%');
rect.setAttribute('height', '100%');
rect.setAttribute('fill', this.backgroundColor);
svg.appendChild(rect);
}
this._fromData(pointGroups, (curve, { penColor }) => {
const path = document.createElement('path');
if (!isNaN(curve.control1.x) &&
!isNaN(curve.control1.y) &&
!isNaN(curve.control2.x) &&
!isNaN(curve.control2.y)) {
const attr = `M ${curve.startPoint.x.toFixed(3)},${curve.startPoint.y.toFixed(3)} ` +
`C ${curve.control1.x.toFixed(3)},${curve.control1.y.toFixed(3)} ` +
`${curve.control2.x.toFixed(3)},${curve.control2.y.toFixed(3)} ` +
`${curve.endPoint.x.toFixed(3)},${curve.endPoint.y.toFixed(3)}`;
path.setAttribute('d', attr);
path.setAttribute('stroke-width', (curve.endWidth * 2.25).toFixed(3));
path.setAttribute('stroke', penColor);
path.setAttribute('fill', 'none');
path.setAttribute('stroke-linecap', 'round');
svg.appendChild(path);
}
}, (point, { penColor, dotSize, minWidth, maxWidth }) => {
const circle = document.createElement('circle');
const size = dotSize > 0 ? dotSize : (minWidth + maxWidth) / 2;
circle.setAttribute('r', size.toString());
circle.setAttribute('cx', point.x.toString());
circle.setAttribute('cy', point.y.toString());
circle.setAttribute('fill', penColor);
svg.appendChild(circle);
});
return svg.outerHTML;
}
}
return SignaturePad;
}));
//# sourceMappingURL=signature_pad.umd.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,17 @@
import { BasicPoint, Point } from './point';
export declare class Bezier {
startPoint: Point;
control2: BasicPoint;
control1: BasicPoint;
endPoint: Point;
startWidth: number;
endWidth: number;
static fromPoints(points: Point[], widths: {
start: number;
end: number;
}): Bezier;
private static calculateControlPoints;
constructor(startPoint: Point, control2: BasicPoint, control1: BasicPoint, endPoint: Point, startWidth: number, endWidth: number);
length(): number;
private point;
}

View file

@ -0,0 +1,16 @@
export interface BasicPoint {
x: number;
y: number;
pressure: number;
time: number;
}
export declare class Point implements BasicPoint {
x: number;
y: number;
pressure: number;
time: number;
constructor(x: number, y: number, pressure?: number, time?: number);
distanceTo(start: BasicPoint): number;
equals(other: BasicPoint): boolean;
velocityFrom(start: BasicPoint): number;
}

Some files were not shown because too many files have changed in this diff Show more