Compare commits
No commits in common. "master" and "v2" have entirely different histories.
4
.prettierignore
Normal file
4
.prettierignore
Normal file
@ -0,0 +1,4 @@
|
||||
dist
|
||||
dev/assets/vendor
|
||||
node_modules
|
||||
src/node_modules
|
2
.browserslistrc
Normal file
2
.browserslistrc
Normal file
@ -0,0 +1,2 @@
|
||||
> 1%
|
||||
last 2 versions
|
21
.eslintrc.js
Normal file
21
.eslintrc.js
Normal file
@ -0,0 +1,21 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true,
|
||||
},
|
||||
extends: ['plugin:vue/recommended', '@vue/airbnb'],
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint',
|
||||
},
|
||||
rules: {
|
||||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
|
||||
semi: ['error', 'never'],
|
||||
'max-len': 'off',
|
||||
'linebreak-style': 'off',
|
||||
camelcase: ['error', { properties: 'never', ignoreDestructuring: true, ignoreImports: true }],
|
||||
'arrow-parens': ['error', 'as-needed'],
|
||||
'vue/multiline-html-element-content-newline': 'off',
|
||||
},
|
||||
}
|
5
.github/FUNDING.yml
vendored
5
.github/FUNDING.yml
vendored
@ -1,5 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: ping-pub
|
||||
issuehunt: ping-pub # Replace with a single IssueHunt username
|
||||
|
21
.github/workflows/config-check.yaml
vendored
21
.github/workflows/config-check.yaml
vendored
@ -1,21 +0,0 @@
|
||||
|
||||
name: Config Checker
|
||||
|
||||
on:
|
||||
# push:
|
||||
# branches: [ master ]
|
||||
pull_request:
|
||||
# branches: [ master ]
|
||||
paths:
|
||||
- 'chains/mainnet/**'
|
||||
- 'chains/testnet/**'
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Check Blockchain Config
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Git Checkout Latest
|
||||
uses: actions/checkout@v3
|
||||
- name: Check Chain Configs
|
||||
uses: ping-pub/ping-dashboard-config-checker@v1.0
|
@ -1,19 +1,17 @@
|
||||
|
||||
name: Testnet Deploy
|
||||
name: Ping Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ testnet ]
|
||||
branches: [ v2 ]
|
||||
pull_request:
|
||||
branches: [ testnet ]
|
||||
branches: [ v2 ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Ping deploy
|
||||
runs-on: testnet
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: print
|
||||
run: echo ${GITHUB_REF#refs/heads/}
|
||||
- name: Git Checkout Latest
|
||||
uses: actions/checkout@v2
|
||||
|
51
.github/workflows/docker.yaml
vendored
51
.github/workflows/docker.yaml
vendored
@ -1,51 +0,0 @@
|
||||
name: docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master-backup'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
# -
|
||||
# name: Set up QEMU
|
||||
# uses: docker/setup-qemu-action@v1
|
||||
# -
|
||||
# name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v1
|
||||
- name: Install
|
||||
run: yarn install
|
||||
- name: Build
|
||||
run: yarn run vue-cli-service build
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
# list of Docker images to use as base name for tags
|
||||
images: |
|
||||
yaoling/wallet
|
||||
# generate Docker tags based on the following events/attributes
|
||||
tags: |
|
||||
type=sha
|
||||
type=schedule
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
28
.github/workflows/mainnet-deploy.yaml.disabled
vendored
28
.github/workflows/mainnet-deploy.yaml.disabled
vendored
@ -1,28 +0,0 @@
|
||||
|
||||
name: Deploy to ping.pub
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master2 ]
|
||||
# pull_request:
|
||||
# branches: [ master ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Ping deploy
|
||||
runs-on: mainnet
|
||||
steps:
|
||||
- name: Environment
|
||||
run: export NODE_OPTIONS="--max_old_space_size=4096"
|
||||
|
||||
- name: Git Checkout Latest
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install
|
||||
run: yarn install --ignore-engines
|
||||
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
||||
- name: Deploy
|
||||
run: cp -rf ./dist/* /var/www/html/
|
34
.gitignore
vendored
34
.gitignore
vendored
@ -1,5 +1,29 @@
|
||||
node_modules/
|
||||
**/.vscode
|
||||
yarn-error.log
|
||||
dist
|
||||
.idea
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode/*
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# script
|
||||
/vuexy-scripts
|
||||
|
||||
# Docs
|
||||
/docs/.temp
|
||||
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"semi": true,
|
||||
"endOfLine": "auto",
|
||||
"bracketSpacing": true,
|
||||
"TrailingCooma": true,
|
||||
"arrowParens": "always"
|
||||
}
|
339
LICENSE
339
LICENSE
@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
103
README.md
103
README.md
@ -1,56 +1,71 @@
|
||||
<div align="center">
|
||||
# Ping Explorer
|
||||
|
||||
![Ping Wallet](./public/logo.svg)
|
||||
Look is a light explorer for Cosmos-based Blockchains. https://ping.pub .
|
||||
|
||||
<h1>Ping Dashboard</h1>
|
||||
## What is the difference between Look and other explorers?
|
||||
|
||||
**Ping Dashboard is not only an explorer but also a wallet and more ... 🛠**
|
||||
Look is designed to explore blockchain data as real as possible, therefore there is no cache, no analysis. Look does not cache/save blockchain data on its server. Look only fetch data from Cosmos full node via LCD/RPC endpoints. We call it "Light Explorer".
|
||||
|
||||
[![version](https://img.shields.io/github/tag/ping-pub/explorer.svg)](https://github.com/ping-pub/explorer/releases/latest)
|
||||
[![GitHub](https://img.shields.io/github/license/ping-pub/explorer.svg)](https://github.com/ping-pub/explorer/blob/master/LICENSE)
|
||||
[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/bukotsunikki.svg?style=social&label=Follow%20%40ping_pub)](https://twitter.com/ping_pub)
|
||||
[![https://discord.gg/CmjYVSr6GW](https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat)](https://discord.gg/CmjYVSr6GW)
|
||||
## Do you want Look to explore your blockchain?
|
||||
|
||||
If you want Look to explore your blockchain, pull a request [here](https://github.com/liangping/look/issues), We will explore your chains as soon as possibe. And the most important thing is that Look is free for all public cosmos-based blockchains.
|
||||
|
||||
</div>
|
||||
|
||||
`Ping Dashboard` is a light explorer for Cosmos-based Blockchains. https://ping.pub .
|
||||
|
||||
## What sets Ping Dashboard apart from other explorers?
|
||||
**Ping Dashboard** stands out by providing a real-time exploration of blockchain data without relying on caching or pre-processing. It exclusively fetches data from the Cosmos full node via LCD/RPC endpoints, ensuring a truly authentic experience. This approach is referred to as the "Light Explorer."
|
||||
|
||||
## Are you interested in listing your blockchain on https://ping.pub?
|
||||
|
||||
To make this repository clean, please submit your request to https://github.com/ping-pub/ping.pub.git
|
||||
|
||||
|
||||
## Why does Ping Dashboard rely on official/trusted third-party public LCD/RPC servers?
|
||||
There are two primary reasons for this choice:
|
||||
|
||||
- Trust: In a decentralized system, it is crucial to avoid relying solely on a single entity. By utilizing official/trusted third-party public LCD/RPC servers, Ping Dashboard ensures that the data is sourced from a network of trusted participants.
|
||||
- Limited Resources: As Ping Dashboard plans to list hundreds of Cosmos-based blockchains in the future, it is impractical for the Ping team to operate validators or full nodes for all of them. Leveraging trusted third-party servers allows for more efficient resource allocation.
|
||||
|
||||
## Donation
|
||||
|
||||
Your donation will help us make better products. Thanks in advance.
|
||||
|
||||
- Address for ERC20: USDC, USDT, ETH
|
||||
```
|
||||
0x88BFec573Dd3E4b7d2E6BfD4D0D6B11F843F8aa1
|
||||
```
|
||||
|
||||
#### Donations from project
|
||||
|
||||
- Point Network: 1000USDC and $1000 worth of POINT
|
||||
- Bitsong: 50k BTSG
|
||||
- IRISnet: 100k IRIS
|
||||
|
||||
## Hire us
|
||||
|
||||
You can hire us by submitting an issue and fund the issue on [IssueHunter](https://issuehunt.io/r/ping-pub/explorer)
|
||||
## Why LOOK explorer use official/trusted third party public LCD/rpc server?
|
||||
|
||||
We have two considerations: 1, Trust, In decentralize system, everything controled by one single team/orgnization could be risks. So we decided to co-build LOOK explorer with the community. 2. Look explorer will explose handreds and thousands cosmos-based blockchains in the future, it's impossible for our team to run validators or fullnodes for all of those chains.
|
||||
|
||||
## Contributors
|
||||
|
||||
Developers: @liangping @dingyiming
|
||||
|
||||
Data providers: [full list](https://github.com/ping-pub/look/blob/master/hosts.json)
|
||||
|
||||
* irisnet.org,
|
||||
* nylira.net,
|
||||
* kava.io
|
||||
|
||||
*If you don't want to provide data services for LOOK exporer, let us know.*
|
||||
|
||||
## Blockchains on LOOK explorer:
|
||||
* https://ping.pub/cosmos
|
||||
* https://ping.pub/iris
|
||||
* https://ping.pub/akash
|
||||
* https://ping.pub/kava
|
||||
|
||||
# LOOK 浏览器
|
||||
|
||||
Look是一个轻浏览器,免费为所有的基于Cosmos-SDK开发的区块链提供浏览服务
|
||||
|
||||
## Look 和其他区块链浏览器有什么不同?
|
||||
|
||||
Look的设计理念是尽可能的保持数据的真实性,所以,他不会在服务器端缓存或者保存任何数据,也不会增加任何分析处理。它仅仅通过LCD/RPC来获取他所需要的所有数据。因此我们叫它“轻浏览器”。
|
||||
|
||||
## 你希望Look来浏览你的区块链吗?
|
||||
|
||||
如果你需要Look来浏览你的区块链,请在[这里](https://github.com/liangping/look/issues) 提交申请,我们会尽快开通。而且是免费的。
|
||||
|
||||
## 为什么LOOK要使用官方或者可信赖的第三方的LCD/RPC服务器?
|
||||
|
||||
我们主要是基于以下两个考虑:1,可信,在去中心化的系统里,任何有一个由单个团队或者实体控制的事情都是有风险的,所以我们选择和社区一起来共建LOOK浏览器。2,LOOK浏览器计划在未来支持成百上千条区块链,因此对我们团队来说,不可能为所有这些链去提供一个验证人节点或者全节点。
|
||||
|
||||
## 项目贡献者
|
||||
|
||||
开发者: @liangping @dingyiming
|
||||
|
||||
数据服务方: [列表](https://github.com/ping-pub/look/blob/master/hosts.json)
|
||||
|
||||
* irisnet.org,
|
||||
* nylira.net,
|
||||
* 01node.com,
|
||||
* kava.io
|
||||
|
||||
*如果你觉得我们滥用了你的服务器资源,请告知我们。*
|
||||
|
||||
## LOOK explorer 上的区块链:
|
||||
* https://ping.pub/cosmos
|
||||
* https://ping.pub/iris
|
||||
* https://ping.pub/akash
|
||||
* https://ping.pub/kava
|
||||
|
||||
# Contact Us
|
||||
Email:18786721#qq.com
|
606
auto-imports.d.ts
vendored
606
auto-imports.d.ts
vendored
@ -1,606 +0,0 @@
|
||||
// Generated by 'unplugin-auto-import'
|
||||
export {}
|
||||
declare global {
|
||||
const EffectScope: typeof import('vue')['EffectScope']
|
||||
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
|
||||
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
|
||||
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
|
||||
const computed: typeof import('vue')['computed']
|
||||
const computedAsync: typeof import('@vueuse/core')['computedAsync']
|
||||
const computedEager: typeof import('@vueuse/core')['computedEager']
|
||||
const computedInject: typeof import('@vueuse/core')['computedInject']
|
||||
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
|
||||
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
|
||||
const controlledRef: typeof import('@vueuse/core')['controlledRef']
|
||||
const createApp: typeof import('vue')['createApp']
|
||||
const createEventHook: typeof import('@vueuse/core')['createEventHook']
|
||||
const createGenericProjection: typeof import('@vueuse/math')['createGenericProjection']
|
||||
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
||||
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
|
||||
const createPinia: typeof import('pinia')['createPinia']
|
||||
const createProjection: typeof import('@vueuse/math')['createProjection']
|
||||
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
||||
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
||||
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
|
||||
const customRef: typeof import('vue')['customRef']
|
||||
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
|
||||
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
|
||||
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||
const defineComponent: typeof import('vue')['defineComponent']
|
||||
const defineStore: typeof import('pinia')['defineStore']
|
||||
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
||||
const effectScope: typeof import('vue')['effectScope']
|
||||
const extendRef: typeof import('@vueuse/core')['extendRef']
|
||||
const getActivePinia: typeof import('pinia')['getActivePinia']
|
||||
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||
const h: typeof import('vue')['h']
|
||||
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
||||
const inject: typeof import('vue')['inject']
|
||||
const isDefined: typeof import('@vueuse/core')['isDefined']
|
||||
const isProxy: typeof import('vue')['isProxy']
|
||||
const isReactive: typeof import('vue')['isReactive']
|
||||
const isReadonly: typeof import('vue')['isReadonly']
|
||||
const isRef: typeof import('vue')['isRef']
|
||||
const logicAnd: typeof import('@vueuse/math')['logicAnd']
|
||||
const logicNot: typeof import('@vueuse/math')['logicNot']
|
||||
const logicOr: typeof import('@vueuse/math')['logicOr']
|
||||
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
||||
const mapActions: typeof import('pinia')['mapActions']
|
||||
const mapGetters: typeof import('pinia')['mapGetters']
|
||||
const mapState: typeof import('pinia')['mapState']
|
||||
const mapStores: typeof import('pinia')['mapStores']
|
||||
const mapWritableState: typeof import('pinia')['mapWritableState']
|
||||
const markRaw: typeof import('vue')['markRaw']
|
||||
const nextTick: typeof import('vue')['nextTick']
|
||||
const onActivated: typeof import('vue')['onActivated']
|
||||
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
|
||||
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
|
||||
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
||||
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
||||
const onLongPress: typeof import('@vueuse/core')['onLongPress']
|
||||
const onMounted: typeof import('vue')['onMounted']
|
||||
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
|
||||
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||
const onUpdated: typeof import('vue')['onUpdated']
|
||||
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
|
||||
const provide: typeof import('vue')['provide']
|
||||
const reactify: typeof import('@vueuse/core')['reactify']
|
||||
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
||||
const reactive: typeof import('vue')['reactive']
|
||||
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
|
||||
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
|
||||
const reactivePick: typeof import('@vueuse/core')['reactivePick']
|
||||
const readonly: typeof import('vue')['readonly']
|
||||
const ref: typeof import('vue')['ref']
|
||||
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
|
||||
const refDebounced: typeof import('@vueuse/core')['refDebounced']
|
||||
const refDefault: typeof import('@vueuse/core')['refDefault']
|
||||
const refThrottled: typeof import('@vueuse/core')['refThrottled']
|
||||
const refWithControl: typeof import('@vueuse/core')['refWithControl']
|
||||
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||
const resolveDirective: typeof import('vue')['resolveDirective']
|
||||
const resolveRef: typeof import('@vueuse/core')['resolveRef']
|
||||
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
|
||||
const setActivePinia: typeof import('pinia')['setActivePinia']
|
||||
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
|
||||
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||
const shallowRef: typeof import('vue')['shallowRef']
|
||||
const storeToRefs: typeof import('pinia')['storeToRefs']
|
||||
const syncRef: typeof import('@vueuse/core')['syncRef']
|
||||
const syncRefs: typeof import('@vueuse/core')['syncRefs']
|
||||
const templateRef: typeof import('@vueuse/core')['templateRef']
|
||||
const throttledRef: typeof import('@vueuse/core')['throttledRef']
|
||||
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
|
||||
const toRaw: typeof import('vue')['toRaw']
|
||||
const toReactive: typeof import('@vueuse/core')['toReactive']
|
||||
const toRef: typeof import('vue')['toRef']
|
||||
const toRefs: typeof import('vue')['toRefs']
|
||||
const triggerRef: typeof import('vue')['triggerRef']
|
||||
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
|
||||
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
|
||||
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
|
||||
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
|
||||
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
|
||||
const unref: typeof import('vue')['unref']
|
||||
const unrefElement: typeof import('@vueuse/core')['unrefElement']
|
||||
const until: typeof import('@vueuse/core')['until']
|
||||
const useAbs: typeof import('@vueuse/math')['useAbs']
|
||||
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
||||
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
|
||||
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
|
||||
const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
|
||||
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
|
||||
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast']
|
||||
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
|
||||
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
||||
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
||||
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
||||
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
|
||||
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
||||
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
||||
const useAttrs: typeof import('vue')['useAttrs']
|
||||
const useAverage: typeof import('@vueuse/math')['useAverage']
|
||||
const useBase64: typeof import('@vueuse/core')['useBase64']
|
||||
const useBattery: typeof import('@vueuse/core')['useBattery']
|
||||
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
|
||||
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
||||
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
||||
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
||||
const useCached: typeof import('@vueuse/core')['useCached']
|
||||
const useCeil: typeof import('@vueuse/math')['useCeil']
|
||||
const useClamp: typeof import('@vueuse/math')['useClamp']
|
||||
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
||||
const useCloned: typeof import('@vueuse/core')['useCloned']
|
||||
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
||||
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
||||
const useCounter: typeof import('@vueuse/core')['useCounter']
|
||||
const useCssModule: typeof import('vue')['useCssModule']
|
||||
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
||||
const useCssVars: typeof import('vue')['useCssVars']
|
||||
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
|
||||
const useCycleList: typeof import('@vueuse/core')['useCycleList']
|
||||
const useDark: typeof import('@vueuse/core')['useDark']
|
||||
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
|
||||
const useDebounce: typeof import('@vueuse/core')['useDebounce']
|
||||
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
|
||||
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
|
||||
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
|
||||
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
|
||||
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
|
||||
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
|
||||
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
|
||||
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
|
||||
const useDraggable: typeof import('@vueuse/core')['useDraggable']
|
||||
const useDropZone: typeof import('@vueuse/core')['useDropZone']
|
||||
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
|
||||
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
|
||||
const useElementHover: typeof import('@vueuse/core')['useElementHover']
|
||||
const useElementSize: typeof import('@vueuse/core')['useElementSize']
|
||||
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
|
||||
const useEventBus: typeof import('@vueuse/core')['useEventBus']
|
||||
const useEventListener: typeof import('@vueuse/core')['useEventListener']
|
||||
const useEventSource: typeof import('@vueuse/core')['useEventSource']
|
||||
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
|
||||
const useFavicon: typeof import('@vueuse/core')['useFavicon']
|
||||
const useFetch: typeof import('@vueuse/core')['useFetch']
|
||||
const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
|
||||
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
|
||||
const useFloor: typeof import('@vueuse/math')['useFloor']
|
||||
const useFocus: typeof import('@vueuse/core')['useFocus']
|
||||
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
|
||||
const useFps: typeof import('@vueuse/core')['useFps']
|
||||
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
|
||||
const useGamepad: typeof import('@vueuse/core')['useGamepad']
|
||||
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
|
||||
const useI18n: typeof import('vue-i18n')['useI18n']
|
||||
const useIdle: typeof import('@vueuse/core')['useIdle']
|
||||
const useImage: typeof import('@vueuse/core')['useImage']
|
||||
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
|
||||
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
|
||||
const useInterval: typeof import('@vueuse/core')['useInterval']
|
||||
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
|
||||
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
|
||||
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
|
||||
const useLink: typeof import('vue-router')['useLink']
|
||||
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
|
||||
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
|
||||
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
|
||||
const useMath: typeof import('@vueuse/math')['useMath']
|
||||
const useMax: typeof import('@vueuse/math')['useMax']
|
||||
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
|
||||
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
|
||||
const useMemoize: typeof import('@vueuse/core')['useMemoize']
|
||||
const useMemory: typeof import('@vueuse/core')['useMemory']
|
||||
const useMin: typeof import('@vueuse/math')['useMin']
|
||||
const useMounted: typeof import('@vueuse/core')['useMounted']
|
||||
const useMouse: typeof import('@vueuse/core')['useMouse']
|
||||
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
|
||||
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
|
||||
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
|
||||
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
|
||||
const useNetwork: typeof import('@vueuse/core')['useNetwork']
|
||||
const useNow: typeof import('@vueuse/core')['useNow']
|
||||
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
|
||||
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
|
||||
const useOnline: typeof import('@vueuse/core')['useOnline']
|
||||
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
|
||||
const useParallax: typeof import('@vueuse/core')['useParallax']
|
||||
const usePermission: typeof import('@vueuse/core')['usePermission']
|
||||
const usePointer: typeof import('@vueuse/core')['usePointer']
|
||||
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
||||
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
||||
const usePrecision: typeof import('@vueuse/math')['usePrecision']
|
||||
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
||||
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
||||
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
||||
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
||||
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
|
||||
const usePrevious: typeof import('@vueuse/core')['usePrevious']
|
||||
const useProjection: typeof import('@vueuse/math')['useProjection']
|
||||
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
||||
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
|
||||
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
|
||||
const useRound: typeof import('@vueuse/math')['useRound']
|
||||
const useRoute: typeof import('vue-router')['useRoute']
|
||||
const useRouter: typeof import('vue-router')['useRouter']
|
||||
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
|
||||
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
||||
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
||||
const useScroll: typeof import('@vueuse/core')['useScroll']
|
||||
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
||||
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
||||
const useShare: typeof import('@vueuse/core')['useShare']
|
||||
const useSlots: typeof import('vue')['useSlots']
|
||||
const useSorted: typeof import('@vueuse/core')['useSorted']
|
||||
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
||||
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
|
||||
const useStepper: typeof import('@vueuse/core')['useStepper']
|
||||
const useStorage: typeof import('@vueuse/core')['useStorage']
|
||||
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
|
||||
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
|
||||
const useSum: typeof import('@vueuse/math')['useSum']
|
||||
const useSupported: typeof import('@vueuse/core')['useSupported']
|
||||
const useSwipe: typeof import('@vueuse/core')['useSwipe']
|
||||
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
|
||||
const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
|
||||
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
|
||||
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
|
||||
const useThrottle: typeof import('@vueuse/core')['useThrottle']
|
||||
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
|
||||
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
|
||||
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
|
||||
const useTimeout: typeof import('@vueuse/core')['useTimeout']
|
||||
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
|
||||
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
|
||||
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
|
||||
const useTitle: typeof import('@vueuse/core')['useTitle']
|
||||
const useToFixed: typeof import('@vueuse/math')['useToFixed']
|
||||
const useToNumber: typeof import('@vueuse/core')['useToNumber']
|
||||
const useToString: typeof import('@vueuse/core')['useToString']
|
||||
const useToggle: typeof import('@vueuse/core')['useToggle']
|
||||
const useTransition: typeof import('@vueuse/core')['useTransition']
|
||||
const useTrunc: typeof import('@vueuse/math')['useTrunc']
|
||||
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
||||
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
||||
const useVModel: typeof import('@vueuse/core')['useVModel']
|
||||
const useVModels: typeof import('@vueuse/core')['useVModels']
|
||||
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
||||
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
|
||||
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
|
||||
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
|
||||
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
|
||||
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
|
||||
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
|
||||
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
|
||||
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
|
||||
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
|
||||
const watch: typeof import('vue')['watch']
|
||||
const watchArray: typeof import('@vueuse/core')['watchArray']
|
||||
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
|
||||
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
|
||||
const watchEffect: typeof import('vue')['watchEffect']
|
||||
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
|
||||
const watchOnce: typeof import('@vueuse/core')['watchOnce']
|
||||
const watchPausable: typeof import('@vueuse/core')['watchPausable']
|
||||
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
|
||||
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
|
||||
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
|
||||
const whenever: typeof import('@vueuse/core')['whenever']
|
||||
}
|
||||
// for vue template auto import
|
||||
import { UnwrapRef } from 'vue'
|
||||
declare module 'vue' {
|
||||
interface ComponentCustomProperties {
|
||||
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
|
||||
readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
|
||||
readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
|
||||
readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>
|
||||
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
||||
readonly computedAsync: UnwrapRef<typeof import('@vueuse/core')['computedAsync']>
|
||||
readonly computedEager: UnwrapRef<typeof import('@vueuse/core')['computedEager']>
|
||||
readonly computedInject: UnwrapRef<typeof import('@vueuse/core')['computedInject']>
|
||||
readonly computedWithControl: UnwrapRef<typeof import('@vueuse/core')['computedWithControl']>
|
||||
readonly controlledComputed: UnwrapRef<typeof import('@vueuse/core')['controlledComputed']>
|
||||
readonly controlledRef: UnwrapRef<typeof import('@vueuse/core')['controlledRef']>
|
||||
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
|
||||
readonly createEventHook: UnwrapRef<typeof import('@vueuse/core')['createEventHook']>
|
||||
readonly createGenericProjection: UnwrapRef<typeof import('@vueuse/math')['createGenericProjection']>
|
||||
readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']>
|
||||
readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']>
|
||||
readonly createPinia: UnwrapRef<typeof import('pinia')['createPinia']>
|
||||
readonly createProjection: UnwrapRef<typeof import('@vueuse/math')['createProjection']>
|
||||
readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']>
|
||||
readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']>
|
||||
readonly createUnrefFn: UnwrapRef<typeof import('@vueuse/core')['createUnrefFn']>
|
||||
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
||||
readonly debouncedRef: UnwrapRef<typeof import('@vueuse/core')['debouncedRef']>
|
||||
readonly debouncedWatch: UnwrapRef<typeof import('@vueuse/core')['debouncedWatch']>
|
||||
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
||||
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
||||
readonly defineStore: UnwrapRef<typeof import('pinia')['defineStore']>
|
||||
readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']>
|
||||
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||
readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
|
||||
readonly getActivePinia: UnwrapRef<typeof import('pinia')['getActivePinia']>
|
||||
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||
readonly ignorableWatch: UnwrapRef<typeof import('@vueuse/core')['ignorableWatch']>
|
||||
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
||||
readonly isDefined: UnwrapRef<typeof import('@vueuse/core')['isDefined']>
|
||||
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
||||
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
||||
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
||||
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||
readonly logicAnd: UnwrapRef<typeof import('@vueuse/math')['logicAnd']>
|
||||
readonly logicNot: UnwrapRef<typeof import('@vueuse/math')['logicNot']>
|
||||
readonly logicOr: UnwrapRef<typeof import('@vueuse/math')['logicOr']>
|
||||
readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
|
||||
readonly mapActions: UnwrapRef<typeof import('pinia')['mapActions']>
|
||||
readonly mapGetters: UnwrapRef<typeof import('pinia')['mapGetters']>
|
||||
readonly mapState: UnwrapRef<typeof import('pinia')['mapState']>
|
||||
readonly mapStores: UnwrapRef<typeof import('pinia')['mapStores']>
|
||||
readonly mapWritableState: UnwrapRef<typeof import('pinia')['mapWritableState']>
|
||||
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
||||
readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
|
||||
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
|
||||
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
||||
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
||||
readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']>
|
||||
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
||||
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
||||
readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']>
|
||||
readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']>
|
||||
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
||||
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
||||
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
||||
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
||||
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
||||
readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']>
|
||||
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
||||
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
||||
readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']>
|
||||
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
||||
readonly reactify: UnwrapRef<typeof import('@vueuse/core')['reactify']>
|
||||
readonly reactifyObject: UnwrapRef<typeof import('@vueuse/core')['reactifyObject']>
|
||||
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
||||
readonly reactiveComputed: UnwrapRef<typeof import('@vueuse/core')['reactiveComputed']>
|
||||
readonly reactiveOmit: UnwrapRef<typeof import('@vueuse/core')['reactiveOmit']>
|
||||
readonly reactivePick: UnwrapRef<typeof import('@vueuse/core')['reactivePick']>
|
||||
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
||||
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
||||
readonly refAutoReset: UnwrapRef<typeof import('@vueuse/core')['refAutoReset']>
|
||||
readonly refDebounced: UnwrapRef<typeof import('@vueuse/core')['refDebounced']>
|
||||
readonly refDefault: UnwrapRef<typeof import('@vueuse/core')['refDefault']>
|
||||
readonly refThrottled: UnwrapRef<typeof import('@vueuse/core')['refThrottled']>
|
||||
readonly refWithControl: UnwrapRef<typeof import('@vueuse/core')['refWithControl']>
|
||||
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
||||
readonly resolveDirective: UnwrapRef<typeof import('vue')['resolveDirective']>
|
||||
readonly resolveRef: UnwrapRef<typeof import('@vueuse/core')['resolveRef']>
|
||||
readonly resolveUnref: UnwrapRef<typeof import('@vueuse/core')['resolveUnref']>
|
||||
readonly setActivePinia: UnwrapRef<typeof import('pinia')['setActivePinia']>
|
||||
readonly setMapStoreSuffix: UnwrapRef<typeof import('pinia')['setMapStoreSuffix']>
|
||||
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
||||
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
||||
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
||||
readonly storeToRefs: UnwrapRef<typeof import('pinia')['storeToRefs']>
|
||||
readonly syncRef: UnwrapRef<typeof import('@vueuse/core')['syncRef']>
|
||||
readonly syncRefs: UnwrapRef<typeof import('@vueuse/core')['syncRefs']>
|
||||
readonly templateRef: UnwrapRef<typeof import('@vueuse/core')['templateRef']>
|
||||
readonly throttledRef: UnwrapRef<typeof import('@vueuse/core')['throttledRef']>
|
||||
readonly throttledWatch: UnwrapRef<typeof import('@vueuse/core')['throttledWatch']>
|
||||
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
||||
readonly toReactive: UnwrapRef<typeof import('@vueuse/core')['toReactive']>
|
||||
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
||||
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
||||
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
||||
readonly tryOnBeforeMount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeMount']>
|
||||
readonly tryOnBeforeUnmount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeUnmount']>
|
||||
readonly tryOnMounted: UnwrapRef<typeof import('@vueuse/core')['tryOnMounted']>
|
||||
readonly tryOnScopeDispose: UnwrapRef<typeof import('@vueuse/core')['tryOnScopeDispose']>
|
||||
readonly tryOnUnmounted: UnwrapRef<typeof import('@vueuse/core')['tryOnUnmounted']>
|
||||
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
||||
readonly unrefElement: UnwrapRef<typeof import('@vueuse/core')['unrefElement']>
|
||||
readonly until: UnwrapRef<typeof import('@vueuse/core')['until']>
|
||||
readonly useAbs: UnwrapRef<typeof import('@vueuse/math')['useAbs']>
|
||||
readonly useActiveElement: UnwrapRef<typeof import('@vueuse/core')['useActiveElement']>
|
||||
readonly useArrayEvery: UnwrapRef<typeof import('@vueuse/core')['useArrayEvery']>
|
||||
readonly useArrayFilter: UnwrapRef<typeof import('@vueuse/core')['useArrayFilter']>
|
||||
readonly useArrayFind: UnwrapRef<typeof import('@vueuse/core')['useArrayFind']>
|
||||
readonly useArrayFindIndex: UnwrapRef<typeof import('@vueuse/core')['useArrayFindIndex']>
|
||||
readonly useArrayFindLast: UnwrapRef<typeof import('@vueuse/core')['useArrayFindLast']>
|
||||
readonly useArrayJoin: UnwrapRef<typeof import('@vueuse/core')['useArrayJoin']>
|
||||
readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
|
||||
readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
|
||||
readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
|
||||
readonly useArrayUnique: UnwrapRef<typeof import('@vueuse/core')['useArrayUnique']>
|
||||
readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
|
||||
readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
|
||||
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||
readonly useAverage: UnwrapRef<typeof import('@vueuse/math')['useAverage']>
|
||||
readonly useBase64: UnwrapRef<typeof import('@vueuse/core')['useBase64']>
|
||||
readonly useBattery: UnwrapRef<typeof import('@vueuse/core')['useBattery']>
|
||||
readonly useBluetooth: UnwrapRef<typeof import('@vueuse/core')['useBluetooth']>
|
||||
readonly useBreakpoints: UnwrapRef<typeof import('@vueuse/core')['useBreakpoints']>
|
||||
readonly useBroadcastChannel: UnwrapRef<typeof import('@vueuse/core')['useBroadcastChannel']>
|
||||
readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
|
||||
readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
|
||||
readonly useCeil: UnwrapRef<typeof import('@vueuse/math')['useCeil']>
|
||||
readonly useClamp: UnwrapRef<typeof import('@vueuse/math')['useClamp']>
|
||||
readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
|
||||
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
|
||||
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
|
||||
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
|
||||
readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']>
|
||||
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
||||
readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']>
|
||||
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
||||
readonly useCurrentElement: UnwrapRef<typeof import('@vueuse/core')['useCurrentElement']>
|
||||
readonly useCycleList: UnwrapRef<typeof import('@vueuse/core')['useCycleList']>
|
||||
readonly useDark: UnwrapRef<typeof import('@vueuse/core')['useDark']>
|
||||
readonly useDateFormat: UnwrapRef<typeof import('@vueuse/core')['useDateFormat']>
|
||||
readonly useDebounce: UnwrapRef<typeof import('@vueuse/core')['useDebounce']>
|
||||
readonly useDebounceFn: UnwrapRef<typeof import('@vueuse/core')['useDebounceFn']>
|
||||
readonly useDebouncedRefHistory: UnwrapRef<typeof import('@vueuse/core')['useDebouncedRefHistory']>
|
||||
readonly useDeviceMotion: UnwrapRef<typeof import('@vueuse/core')['useDeviceMotion']>
|
||||
readonly useDeviceOrientation: UnwrapRef<typeof import('@vueuse/core')['useDeviceOrientation']>
|
||||
readonly useDevicePixelRatio: UnwrapRef<typeof import('@vueuse/core')['useDevicePixelRatio']>
|
||||
readonly useDevicesList: UnwrapRef<typeof import('@vueuse/core')['useDevicesList']>
|
||||
readonly useDisplayMedia: UnwrapRef<typeof import('@vueuse/core')['useDisplayMedia']>
|
||||
readonly useDocumentVisibility: UnwrapRef<typeof import('@vueuse/core')['useDocumentVisibility']>
|
||||
readonly useDraggable: UnwrapRef<typeof import('@vueuse/core')['useDraggable']>
|
||||
readonly useDropZone: UnwrapRef<typeof import('@vueuse/core')['useDropZone']>
|
||||
readonly useElementBounding: UnwrapRef<typeof import('@vueuse/core')['useElementBounding']>
|
||||
readonly useElementByPoint: UnwrapRef<typeof import('@vueuse/core')['useElementByPoint']>
|
||||
readonly useElementHover: UnwrapRef<typeof import('@vueuse/core')['useElementHover']>
|
||||
readonly useElementSize: UnwrapRef<typeof import('@vueuse/core')['useElementSize']>
|
||||
readonly useElementVisibility: UnwrapRef<typeof import('@vueuse/core')['useElementVisibility']>
|
||||
readonly useEventBus: UnwrapRef<typeof import('@vueuse/core')['useEventBus']>
|
||||
readonly useEventListener: UnwrapRef<typeof import('@vueuse/core')['useEventListener']>
|
||||
readonly useEventSource: UnwrapRef<typeof import('@vueuse/core')['useEventSource']>
|
||||
readonly useEyeDropper: UnwrapRef<typeof import('@vueuse/core')['useEyeDropper']>
|
||||
readonly useFavicon: UnwrapRef<typeof import('@vueuse/core')['useFavicon']>
|
||||
readonly useFetch: UnwrapRef<typeof import('@vueuse/core')['useFetch']>
|
||||
readonly useFileDialog: UnwrapRef<typeof import('@vueuse/core')['useFileDialog']>
|
||||
readonly useFileSystemAccess: UnwrapRef<typeof import('@vueuse/core')['useFileSystemAccess']>
|
||||
readonly useFloor: UnwrapRef<typeof import('@vueuse/math')['useFloor']>
|
||||
readonly useFocus: UnwrapRef<typeof import('@vueuse/core')['useFocus']>
|
||||
readonly useFocusWithin: UnwrapRef<typeof import('@vueuse/core')['useFocusWithin']>
|
||||
readonly useFps: UnwrapRef<typeof import('@vueuse/core')['useFps']>
|
||||
readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']>
|
||||
readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']>
|
||||
readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']>
|
||||
readonly useI18n: UnwrapRef<typeof import('vue-i18n')['useI18n']>
|
||||
readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']>
|
||||
readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']>
|
||||
readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']>
|
||||
readonly useIntersectionObserver: UnwrapRef<typeof import('@vueuse/core')['useIntersectionObserver']>
|
||||
readonly useInterval: UnwrapRef<typeof import('@vueuse/core')['useInterval']>
|
||||
readonly useIntervalFn: UnwrapRef<typeof import('@vueuse/core')['useIntervalFn']>
|
||||
readonly useKeyModifier: UnwrapRef<typeof import('@vueuse/core')['useKeyModifier']>
|
||||
readonly useLastChanged: UnwrapRef<typeof import('@vueuse/core')['useLastChanged']>
|
||||
readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
|
||||
readonly useLocalStorage: UnwrapRef<typeof import('@vueuse/core')['useLocalStorage']>
|
||||
readonly useMagicKeys: UnwrapRef<typeof import('@vueuse/core')['useMagicKeys']>
|
||||
readonly useManualRefHistory: UnwrapRef<typeof import('@vueuse/core')['useManualRefHistory']>
|
||||
readonly useMath: UnwrapRef<typeof import('@vueuse/math')['useMath']>
|
||||
readonly useMax: UnwrapRef<typeof import('@vueuse/math')['useMax']>
|
||||
readonly useMediaControls: UnwrapRef<typeof import('@vueuse/core')['useMediaControls']>
|
||||
readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']>
|
||||
readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']>
|
||||
readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']>
|
||||
readonly useMin: UnwrapRef<typeof import('@vueuse/math')['useMin']>
|
||||
readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']>
|
||||
readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']>
|
||||
readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']>
|
||||
readonly useMousePressed: UnwrapRef<typeof import('@vueuse/core')['useMousePressed']>
|
||||
readonly useMutationObserver: UnwrapRef<typeof import('@vueuse/core')['useMutationObserver']>
|
||||
readonly useNavigatorLanguage: UnwrapRef<typeof import('@vueuse/core')['useNavigatorLanguage']>
|
||||
readonly useNetwork: UnwrapRef<typeof import('@vueuse/core')['useNetwork']>
|
||||
readonly useNow: UnwrapRef<typeof import('@vueuse/core')['useNow']>
|
||||
readonly useObjectUrl: UnwrapRef<typeof import('@vueuse/core')['useObjectUrl']>
|
||||
readonly useOffsetPagination: UnwrapRef<typeof import('@vueuse/core')['useOffsetPagination']>
|
||||
readonly useOnline: UnwrapRef<typeof import('@vueuse/core')['useOnline']>
|
||||
readonly usePageLeave: UnwrapRef<typeof import('@vueuse/core')['usePageLeave']>
|
||||
readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
|
||||
readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
|
||||
readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
|
||||
readonly usePointerLock: UnwrapRef<typeof import('@vueuse/core')['usePointerLock']>
|
||||
readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
|
||||
readonly usePrecision: UnwrapRef<typeof import('@vueuse/math')['usePrecision']>
|
||||
readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
|
||||
readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
|
||||
readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']>
|
||||
readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']>
|
||||
readonly usePreferredReducedMotion: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedMotion']>
|
||||
readonly usePrevious: UnwrapRef<typeof import('@vueuse/core')['usePrevious']>
|
||||
readonly useProjection: UnwrapRef<typeof import('@vueuse/math')['useProjection']>
|
||||
readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']>
|
||||
readonly useRefHistory: UnwrapRef<typeof import('@vueuse/core')['useRefHistory']>
|
||||
readonly useResizeObserver: UnwrapRef<typeof import('@vueuse/core')['useResizeObserver']>
|
||||
readonly useRound: UnwrapRef<typeof import('@vueuse/math')['useRound']>
|
||||
readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
|
||||
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
|
||||
readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']>
|
||||
readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']>
|
||||
readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']>
|
||||
readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']>
|
||||
readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']>
|
||||
readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']>
|
||||
readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']>
|
||||
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||
readonly useSorted: UnwrapRef<typeof import('@vueuse/core')['useSorted']>
|
||||
readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']>
|
||||
readonly useSpeechSynthesis: UnwrapRef<typeof import('@vueuse/core')['useSpeechSynthesis']>
|
||||
readonly useStepper: UnwrapRef<typeof import('@vueuse/core')['useStepper']>
|
||||
readonly useStorage: UnwrapRef<typeof import('@vueuse/core')['useStorage']>
|
||||
readonly useStorageAsync: UnwrapRef<typeof import('@vueuse/core')['useStorageAsync']>
|
||||
readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']>
|
||||
readonly useSum: UnwrapRef<typeof import('@vueuse/math')['useSum']>
|
||||
readonly useSupported: UnwrapRef<typeof import('@vueuse/core')['useSupported']>
|
||||
readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']>
|
||||
readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']>
|
||||
readonly useTextDirection: UnwrapRef<typeof import('@vueuse/core')['useTextDirection']>
|
||||
readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']>
|
||||
readonly useTextareaAutosize: UnwrapRef<typeof import('@vueuse/core')['useTextareaAutosize']>
|
||||
readonly useThrottle: UnwrapRef<typeof import('@vueuse/core')['useThrottle']>
|
||||
readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']>
|
||||
readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']>
|
||||
readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']>
|
||||
readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']>
|
||||
readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']>
|
||||
readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']>
|
||||
readonly useTimestamp: UnwrapRef<typeof import('@vueuse/core')['useTimestamp']>
|
||||
readonly useTitle: UnwrapRef<typeof import('@vueuse/core')['useTitle']>
|
||||
readonly useToFixed: UnwrapRef<typeof import('@vueuse/math')['useToFixed']>
|
||||
readonly useToNumber: UnwrapRef<typeof import('@vueuse/core')['useToNumber']>
|
||||
readonly useToString: UnwrapRef<typeof import('@vueuse/core')['useToString']>
|
||||
readonly useToggle: UnwrapRef<typeof import('@vueuse/core')['useToggle']>
|
||||
readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
|
||||
readonly useTrunc: UnwrapRef<typeof import('@vueuse/math')['useTrunc']>
|
||||
readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
|
||||
readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
|
||||
readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
|
||||
readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
|
||||
readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
|
||||
readonly useVirtualList: UnwrapRef<typeof import('@vueuse/core')['useVirtualList']>
|
||||
readonly useWakeLock: UnwrapRef<typeof import('@vueuse/core')['useWakeLock']>
|
||||
readonly useWebNotification: UnwrapRef<typeof import('@vueuse/core')['useWebNotification']>
|
||||
readonly useWebSocket: UnwrapRef<typeof import('@vueuse/core')['useWebSocket']>
|
||||
readonly useWebWorker: UnwrapRef<typeof import('@vueuse/core')['useWebWorker']>
|
||||
readonly useWebWorkerFn: UnwrapRef<typeof import('@vueuse/core')['useWebWorkerFn']>
|
||||
readonly useWindowFocus: UnwrapRef<typeof import('@vueuse/core')['useWindowFocus']>
|
||||
readonly useWindowScroll: UnwrapRef<typeof import('@vueuse/core')['useWindowScroll']>
|
||||
readonly useWindowSize: UnwrapRef<typeof import('@vueuse/core')['useWindowSize']>
|
||||
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
||||
readonly watchArray: UnwrapRef<typeof import('@vueuse/core')['watchArray']>
|
||||
readonly watchAtMost: UnwrapRef<typeof import('@vueuse/core')['watchAtMost']>
|
||||
readonly watchDebounced: UnwrapRef<typeof import('@vueuse/core')['watchDebounced']>
|
||||
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
||||
readonly watchIgnorable: UnwrapRef<typeof import('@vueuse/core')['watchIgnorable']>
|
||||
readonly watchOnce: UnwrapRef<typeof import('@vueuse/core')['watchOnce']>
|
||||
readonly watchPausable: UnwrapRef<typeof import('@vueuse/core')['watchPausable']>
|
||||
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
||||
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
||||
readonly watchThrottled: UnwrapRef<typeof import('@vueuse/core')['watchThrottled']>
|
||||
readonly watchTriggerable: UnwrapRef<typeof import('@vueuse/core')['watchTriggerable']>
|
||||
readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']>
|
||||
readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']>
|
||||
}
|
||||
}
|
5
babel.config.js
Normal file
5
babel.config.js
Normal file
@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/cli-plugin-babel/preset',
|
||||
],
|
||||
}
|
108
chains/README.md
108
chains/README.md
@ -1,108 +0,0 @@
|
||||
# Directory Layout
|
||||
|
||||
Note: the host name used in the user's browser (displayed in the address bar) to load the explorer app determines which of the chain configuration directories is used.
|
||||
If the host name contains the substring "testnet" (for example: "https://mytestnetwork.example.com") then chain configuration files in the `testnet` directory (only) are loaded. Conversely if the host name does not contain that substring then chain configuration files in the `mainnet` directory (only) are loaded.
|
||||
Remember to bear this behavior in mind when selecting a DNS host name for self hosting the explorer.
|
||||
|
||||
** if you want to list your blockchain on ping.pub, please submit your configuration on https://github.com/ping-pub/ping.pub.git **
|
||||
|
||||
- Submit configs for mainnet, go to https://github.com/ping-pub/explorer/tree/master/chains/mainnet
|
||||
|
||||
- Submit configs for testnet, go to https://github.com/ping-pub/explorer/tree/master/chains/testnet, these configs will be enabled when you visit the domain that starts with `testnet.*`, for example `https://testnet.ping.pub`
|
||||
|
||||
# Sample of Config
|
||||
|
||||
```json
|
||||
{
|
||||
"chain_name": "cosmos",
|
||||
"api": [
|
||||
{
|
||||
"address": "https://cosmos.api.ping.pub",
|
||||
"provider": "Ping"
|
||||
}
|
||||
],
|
||||
"rpc": [
|
||||
{
|
||||
"address": "https://cosmos.api.ping.pub",
|
||||
"provider": "Ping"
|
||||
}
|
||||
],
|
||||
"sdk_version": "0.42.6",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "800",
|
||||
"assets": [{
|
||||
"base": "uatom",
|
||||
"symbol": "ATOM",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "cosmos",
|
||||
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
||||
}],
|
||||
"addr_prefix": "cosmos",
|
||||
"theme_color": "#ce4747",
|
||||
"logo": "https://dl.airtable.com/.attachments/e54f814bba8c0f9af8a3056020210de0/2d1155fb/cosmos-hub.svg"
|
||||
}
|
||||
```
|
||||
- **chain_name** the name to identify the chain on ping.pub, would be better to use the same one as registry
|
||||
- **api** the rest api endpoint.(make sure that CORS is enabled: `Allow-Control-Allow-Origin: *`)
|
||||
- **rpc** the rpc endpoint, make sure that the port is added. rpc endpoint is only used for state sync. it's optional.
|
||||
- **assets** Native Assets on blockchain.
|
||||
|
||||
Endpoint providers will be listed in the "Popular" tab of the staking.
|
||||
|
||||
# Token Unit conversion
|
||||
|
||||
We have two methods to load token metadata for token unit conversion:
|
||||
|
||||
## Loading from a REST endpoint (recommended).
|
||||
|
||||
you can define the metadata in the `bank` -> `metadata` section of the blockchain's genesis file. if you don't define, the `[]` will return.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "atom",
|
||||
"description": "The native staking token of the Cosmos Hub.",
|
||||
"denom_units": [
|
||||
{
|
||||
"denom": "uatom",
|
||||
"exponent": 0,
|
||||
"aliases": [
|
||||
"microatom"
|
||||
],
|
||||
},
|
||||
{
|
||||
"denom": "matom",
|
||||
"exponent": 3,
|
||||
"aliases": [
|
||||
"milliatom"
|
||||
]
|
||||
},
|
||||
{
|
||||
"denom": "atom",
|
||||
"exponent": 6,
|
||||
}
|
||||
],
|
||||
"base": "uatom",
|
||||
"display": "atom",
|
||||
}
|
||||
```
|
||||
you can see more details here:
|
||||
https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-024-coin-metadata.md
|
||||
|
||||
## Loading from Cosmos Registry:
|
||||
|
||||
https://github.com/cosmos/chain-registry
|
||||
|
||||
# Test
|
||||
|
||||
please add these check points in comments with your PR, and adding your test result by clicking the checkbox of each line
|
||||
```
|
||||
Test Result:
|
||||
- [ ] Connect wallet, check if address is correct?
|
||||
- [ ] Transfer
|
||||
- [ ] Delegate
|
||||
- [ ] Redelegate
|
||||
- [ ] Unbond
|
||||
- [ ] withdraw Validator's Commission
|
||||
- [ ] withdraw Rewards
|
||||
```
|
||||
Test is very important for us and our users.
|
@ -1,74 +0,0 @@
|
||||
{
|
||||
"chain_name": "axelar",
|
||||
"api": [
|
||||
"https://rest.axelar.lava.build/lava-referer-97409c72-1a82-4861-8651-119c15151cbe"
|
||||
],
|
||||
"rpc": [
|
||||
"https://tm.axelar.lava.build/lava-referer-97409c72-1a82-4861-8651-119c15151cbe"
|
||||
],
|
||||
"snapshot_provider": "",
|
||||
"sdk_version": "0.45.6",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "800",
|
||||
"addr_prefix": "axelar",
|
||||
"logo": "/logos/axelar.svg",
|
||||
"theme_color": "#161723",
|
||||
"assets": [
|
||||
{
|
||||
"base": "uaxl",
|
||||
"symbol": "AXL",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "axelar",
|
||||
"logo": "/logos/axelar.svg"
|
||||
},
|
||||
{
|
||||
"base": "uusdc",
|
||||
"symbol": "axlUSDC",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "usd-coin",
|
||||
"logo": "/logos/usdc.svg"
|
||||
},
|
||||
{
|
||||
"base": "uusdt",
|
||||
"symbol": "axlUSDT",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "tether",
|
||||
"logo": "/logos/usdt.svg"
|
||||
},
|
||||
{
|
||||
"base": "dai-wei",
|
||||
"symbol": "axlDAI",
|
||||
"exponent": "18",
|
||||
"coingecko_id": "dai",
|
||||
"logo": "/logos/dai.svg"
|
||||
},
|
||||
{
|
||||
"base": "weth-wei",
|
||||
"symbol": "axlWETH",
|
||||
"exponent": "18",
|
||||
"coingecko_id": "ethereum",
|
||||
"logo": "/logos/weth.svg"
|
||||
},
|
||||
{
|
||||
"base": "wmatic-wei",
|
||||
"symbol": "axlWMATIC",
|
||||
"exponent": "18",
|
||||
"coingecko_id": "matic-network",
|
||||
"logo": "/logos/wmatic.svg"
|
||||
},
|
||||
{
|
||||
"base": "wavax-wei",
|
||||
"symbol": "axlWAVAX",
|
||||
"exponent": "18",
|
||||
"coingecko_id": "avalanche-2",
|
||||
"logo": "/logos/wavax.svg"
|
||||
},
|
||||
{
|
||||
"base": "dot-planck",
|
||||
"symbol": "axlDOT",
|
||||
"exponent": "10",
|
||||
"coingecko_id": "polkadot",
|
||||
"logo": "/logos/dot.svg"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
{
|
||||
"chain_name": "cosmos",
|
||||
"registry_name": "cosmoshub",
|
||||
"api": [
|
||||
{"provider": "notional", "address": "https://api-cosmoshub-ia.cosmosia.notional.ventures"},
|
||||
{"provider": "blockapsis", "address": "https://lcd-cosmoshub.blockapsis.com:443"},
|
||||
{"provider": "WhisperNode🤐", "address": "https://lcd-cosmoshub.whispernode.com:443"},
|
||||
{"provider": "pupmos", "address": "https://api-cosmoshub.pupmos.network"},
|
||||
{"provider": "publicnode", "address": "https://cosmos-rest.publicnode.com"},
|
||||
{"provider": "staketab", "address": "https://cosmos-rest.staketab.org"},
|
||||
{"provider": "nodestake", "address": "https://api.cosmos.nodestake.top"},
|
||||
{"provider": "Golden Ratio Staking", "address": "https://rest-cosmoshub.goldenratiostaking.net"}
|
||||
],
|
||||
"rpc": [
|
||||
{"provider": "icycro", "address": "https://cosmos-rpc.icycro.org"},
|
||||
{"provider": "dragonstake", "address": "https://rpc.cosmos.dragonstake.io"},
|
||||
{"provider": "Golden Ratio Staking", "address": "https://rpc-cosmoshub.goldenratiostaking.net"}
|
||||
],
|
||||
"sdk_version": "0.45.1",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "800",
|
||||
"addr_prefix": "cosmos",
|
||||
"logo": "/logos/cosmos.svg",
|
||||
"assets": [{
|
||||
"base": "uatom",
|
||||
"symbol": "ATOM",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "cosmos",
|
||||
"logo": "/logos/cosmos.svg"
|
||||
}]
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{
|
||||
"chain_name": "neutron",
|
||||
"api": [
|
||||
{"provider": "Polkachu", "address": "https://neutron-api.polkachu.com"},
|
||||
{"provider": "NodeStake", "address": "https://api.neutron.nodestake.top"},
|
||||
{"provider": "Allnodes", "address": "https://neutron-rest.publicnode.com"}
|
||||
],
|
||||
"rpc": [
|
||||
{"provider": "Polkachu", "address": "https://neutron-rpc.polkachu.com"},
|
||||
{"provider": "NodeStake", "address": "https://rpc.neutron.nodestake.top"},
|
||||
{"provider": "Allnodes", "address": "https://neutron-rpc.publicnode.com:443"}
|
||||
],
|
||||
"provider_chain": {
|
||||
"api": ["https://api-cosmoshub-ia.cosmosia.notional.ventures"]
|
||||
},
|
||||
"features": ["dashboard", "blocks", "ibc", "cosmwasm", "uptime", "parameters", "state-sync", "consensus", "supply", "widget"],
|
||||
"sdk_version": "0.45.1",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "8000",
|
||||
"assets": [{
|
||||
"base": "untrn",
|
||||
"symbol": "NTRN",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "neutron",
|
||||
"logo": "/logos/neutron.svg"
|
||||
}],
|
||||
"addr_prefix": "neutron",
|
||||
"theme_color": "#161723",
|
||||
"logo": "/logos/neutron.svg"
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
{
|
||||
"chain_name": "nolus",
|
||||
"coingecko": "nolus",
|
||||
"api": [
|
||||
{"provider": "Nolus", "address": "https://pirin-cl.nolus.network:1317"},
|
||||
{"provider": "LavenderFive", "address": "https://nolus-api.lavenderfive.com:443"},
|
||||
{"provider": "Allnodes", "address": "https://nolus-rest.publicnode.com"}
|
||||
],
|
||||
"rpc": [
|
||||
{"provider": "Nolus", "address": "https://pirin-cl.nolus.network:26657"},
|
||||
{"provider": "LavenderFive", "address": "https://nolus-rpc.lavenderfive.com:443"},
|
||||
{"provider": "Allnodes", "address": "https://nolus-rpc.publicnode.com:443"}
|
||||
],
|
||||
"snapshot_provider": "",
|
||||
"sdk_version": "v0.47.6",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "0",
|
||||
"addr_prefix": "nolus",
|
||||
"logo": "/logos/nolus.svg",
|
||||
"assets": [{
|
||||
"base": "unls",
|
||||
"symbol": "NLS",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "nolus",
|
||||
"logo": "/logos/nolus.svg"
|
||||
}]
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
{
|
||||
"chain_name": "osmosis",
|
||||
"coingecko": "osmosis",
|
||||
"api": ["https://lcd.osmosis.zone","https://api-osmosis-ia.cosmosia.notional.ventures", "https://osmosis-api.polkachu.com", "https://lcd-osmosis.blockapsis.com"],
|
||||
"rpc": ["https://rpc.osmosis.zone", "https://rpc-osmosis-ia.cosmosia.notional.ventures:443", "https://osmosis-rpc.polkachu.com:443", "https://osmosis.validator.network:443", "https://rpc-osmosis.blockapsis.com:443"],
|
||||
"snapshot_provider": "",
|
||||
"sdk_version": "0.46.1",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "800",
|
||||
"addr_prefix": "osmo",
|
||||
"logo": "/logos/osmosis.jpg",
|
||||
"theme_color": "#812cd6",
|
||||
"assets": [{
|
||||
"base": "uosmo",
|
||||
"symbol": "OSMO",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "osmosis",
|
||||
"logo": "/logos/osmosis.jpg"
|
||||
},{
|
||||
"base": "uion",
|
||||
"symbol": "ION",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "ion",
|
||||
"logo": "/logos/osmosis.jpg"
|
||||
},{
|
||||
"base": "usomm",
|
||||
"symbol": "SOMM",
|
||||
"exponent": "6",
|
||||
"coingecko_id": "somm",
|
||||
"logo": ""
|
||||
}]
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"chain_name": "crossfi-testnet-1",
|
||||
"api": ["https://crossfi-testnet-api.forpeaky.xyz"],
|
||||
"rpc": ["https://crossfi-testnet-rpc.forpeaky.xyz"],
|
||||
"coingecko": "",
|
||||
"snapshot_provider": "",
|
||||
"sdk_version": "0.47.1",
|
||||
"coin_type": "118",
|
||||
"min_tx_fee": "500",
|
||||
"addr_prefix": "crossfi"
|
||||
}
|
13
components.d.ts
vendored
13
components.d.ts
vendored
@ -1,13 +0,0 @@
|
||||
// generated by unplugin-vue-components
|
||||
// We suggest you to commit this file into source control
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
import '@vue/runtime-core';
|
||||
|
||||
export {};
|
||||
|
||||
declare module '@vue/runtime-core' {
|
||||
export interface GlobalComponents {
|
||||
RouterLink: typeof import('vue-router')['RouterLink'];
|
||||
RouterView: typeof import('vue-router')['RouterView'];
|
||||
}
|
||||
}
|
3
env.d.ts
vendored
3
env.d.ts
vendored
@ -1,3 +0,0 @@
|
||||
/// <reference types="vite/client" />
|
||||
|
||||
declare module '@personaxyz/ad-sdk';
|
44
index.html
44
index.html
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Laconic Blockchain Explorer And Web Wallet</title>
|
||||
<meta name="description" content="Laconic Explorer is a block explorer/web wallet for blockchains built on Cosmos SDK, Cosmoshub, Osmosis, Juno, Evmos, Injective, Canto and 70+ blockchains listed on ping.pub" />
|
||||
<link rel="stylesheet" type="text/css" href="/loader.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div id="loading-bg">
|
||||
<div class="loading-logo">
|
||||
<img src="/logo.svg" alt="Logo" />
|
||||
</div>
|
||||
<div class="pre-loading">
|
||||
<div class="effect-1 effects"></div>
|
||||
<div class="effect-2 effects"></div>
|
||||
<div class="effect-3 effects"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SSBKVF3GMX"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
// Set default consent to 'denied' as a placeholder
|
||||
// Determine actual values based on your own requirements
|
||||
gtag('consent', 'default', {
|
||||
'ad_storage': 'denied',
|
||||
'ad_user_data': 'denied',
|
||||
'ad_personalization': 'denied',
|
||||
'analytics_storage': 'denied'
|
||||
});
|
||||
gtag('config', 'G-SSBKVF3GMX');
|
||||
</script>
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ping-widget@v0.3.8/dist/ping-widget.min.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,82 +0,0 @@
|
||||
# Prerequisites
|
||||
|
||||
1. Node and Yarn - Acquired using Node Version Manager (https://github.com/nvm-sh/nvm)
|
||||
|
||||
# Quick Install for Prerequisites
|
||||
|
||||
1. Install Node Version Manager
|
||||
```sh
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
|
||||
```
|
||||
2. Install the latest version of NodeJS
|
||||
```sh
|
||||
nvm install node # "node" is an alias for the latest version
|
||||
```
|
||||
3. Install the latest version of NPM for Node
|
||||
```sh
|
||||
nvm install-latest-npm # get the latest supported npm version on the current node version
|
||||
```
|
||||
4. Install Yarn
|
||||
```sh
|
||||
npm install --global yarn
|
||||
```
|
||||
|
||||
# Installation:
|
||||
|
||||
1. Running with yarn
|
||||
```sh
|
||||
yarn --ignore-engines && yarn serve
|
||||
```
|
||||
|
||||
2. Building for web servers, like nginx, apache
|
||||
```sh
|
||||
yarn --ignore-engines && yarn build
|
||||
cp -r ./dist/* <ROOT_OF_WEB_SERVER>
|
||||
```
|
||||
|
||||
3. Running with docker
|
||||
```sh
|
||||
./docker.sh
|
||||
docker run -d -p 8088:80 ping.pub/dashboard
|
||||
```
|
||||
|
||||
# Enable LCD for Ping.pub (do this on the config for your chain)
|
||||
|
||||
1. Set `enable = true` in `./config/app.toml`
|
||||
```
|
||||
###############################################################################
|
||||
### API Configuration ###
|
||||
###############################################################################
|
||||
|
||||
[api]
|
||||
|
||||
# Enable defines if the API server should be enabled.
|
||||
enable = true
|
||||
|
||||
# Swagger defines if swagger documentation should automatically be registered.
|
||||
swagger = false
|
||||
|
||||
# Address defines the API server to listen on.
|
||||
address = "tcp://0.0.0.0:1317"
|
||||
|
||||
# MaxOpenConnections defines the number of maximum open connections.
|
||||
max-open-connections = 1000
|
||||
```
|
||||
|
||||
2. add proxy server and enable CORS. NOTE: You must enable https as well.
|
||||
|
||||
```
|
||||
server {
|
||||
server_name juno.api.ping.pub;
|
||||
listen 443;
|
||||
location / {
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
add_header Access-Control-Max-Age 3600;
|
||||
add_header Access-Control-Expose-Headers Content-Length;
|
||||
|
||||
proxy_pass http://<HOST>:1317;
|
||||
|
||||
}
|
||||
}
|
||||
```
|
||||
3. config your blockchain in [./src/chains]()
|
9
jsconfig.json
Normal file
9
jsconfig.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["src/*"],
|
||||
"@core/*": ["src/@core/*"],
|
||||
}
|
||||
}
|
||||
}
|
36801
package-lock.json
generated
Normal file
36801
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
158
package.json
158
package.json
@ -1,79 +1,97 @@
|
||||
{
|
||||
"name": "ping.pub",
|
||||
"version": "3.0.0",
|
||||
"name": "ping-wallet",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"target": "",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"serve": "vite",
|
||||
"build": "run-p type-check build-only",
|
||||
"preview": "vite preview",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --noEmit"
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"lint": "vue-cli-service lint",
|
||||
"tauri:build": "vue-cli-service tauri:build",
|
||||
"tauri:serve": "vue-cli-service tauri:serve"
|
||||
},
|
||||
"dependencies": {
|
||||
"@chenfengyuan/vue-countdown": "2",
|
||||
"@cosmjs/crypto": "^0.32.3",
|
||||
"@cosmjs/amino": "^0.32.3",
|
||||
"@cosmjs/encoding": "^0.32.3",
|
||||
"@cosmjs/stargate": "^0.32.3",
|
||||
"@iconify/vue": "^4.1.0",
|
||||
"@intlify/unplugin-vue-i18n": "^0.8.2",
|
||||
"@leapwallet/cosmos-snap-provider": "^0.1.20",
|
||||
"@leapwallet/name-matcha": "^1.1.0",
|
||||
"@osmonauts/lcd": "^0.8.0",
|
||||
"@personaxyz/ad-sdk": "0.0.25",
|
||||
"@ping-pub/chain-registry-client": "^0.0.25",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
||||
"@vueuse/core": "^9.12.0",
|
||||
"@vueuse/integrations": "^10.1.2",
|
||||
"@vueuse/math": "^9.12.0",
|
||||
"apexcharts": "^3.37.1",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"axios": "^1.3.2",
|
||||
"buffer": "^6.0.3",
|
||||
"build": "^0.1.4",
|
||||
"cross-fetch": "^3.1.5",
|
||||
"daisyui": "^3.1.0",
|
||||
"dayjs": "^1.11.7",
|
||||
"lazy-load-vue3": "^1.3.0",
|
||||
"long": "^5.2.1",
|
||||
"md-editor-v3": "^2.8.1",
|
||||
"numeral": "^2.0.6",
|
||||
"osmojs": "^14.0.0-rc.0",
|
||||
"pinia": "^2.0.28",
|
||||
"postcss": "^8.4.23",
|
||||
"qrcode": "^1.5.3",
|
||||
"tailwindcss": "^3.3.1",
|
||||
"theme-change": "^2.5.0",
|
||||
"vite-plugin-vue-layouts": "^0.7.0",
|
||||
"vue": "^3.2.45",
|
||||
"vue-i18n": "^9.2.2",
|
||||
"vue-prism-component": "^2.0.0",
|
||||
"vue-router": "^4.1.6",
|
||||
"vue3-apexcharts": "^1.4.1",
|
||||
"vue3-json-viewer": "^2.2.2",
|
||||
"vue3-perfect-scrollbar": "^1.6.1"
|
||||
"@casl/ability": "4.1.6",
|
||||
"@casl/vue": "1.1.1",
|
||||
"@cosmjs/amino": "^0.25.6",
|
||||
"@cosmjs/crypto": "^0.25.6",
|
||||
"@cosmjs/encoding": "^0.25.6",
|
||||
"@cosmjs/launchpad": "^0.25.6",
|
||||
"@cosmjs/ledger-amino": "^0.25.6",
|
||||
"@cosmjs/math": "^0.25.6",
|
||||
"@cosmjs/proto-signing": "^0.25.6",
|
||||
"@cosmjs/stargate": "^0.25.6",
|
||||
"@cosmostation/cosmosjs": "^0.10.6",
|
||||
"@intlify/vue-i18n-loader": "^2.1.2",
|
||||
"@ledgerhq/hw-app-cosmos": "^6.3.0",
|
||||
"@ledgerhq/hw-transport-web-ble": "^6.3.0",
|
||||
"@ledgerhq/hw-transport-webusb": "^6.3.0",
|
||||
"@vue/composition-api": "1.0.0-beta.22",
|
||||
"@vueuse/core": "4.0.0",
|
||||
"animate.css": "4.1.1",
|
||||
"apexcharts": "3.24.0",
|
||||
"axios": "0.21.1",
|
||||
"axios-mock-adapter": "1.19.0",
|
||||
"bootstrap": "4.6.0",
|
||||
"bootstrap-vue": "2.21.1",
|
||||
"chart.js": "2.9.4",
|
||||
"compare-versions": "^3.6.0",
|
||||
"core-js": "3.8.1",
|
||||
"dayjs": "^1.10.6",
|
||||
"echarts": "4.8.0",
|
||||
"leaflet": "1.6.0",
|
||||
"ledger-cosmos-js": "2.1.8",
|
||||
"node-fetch": "^2.6.1",
|
||||
"portal-vue": "2.1.7",
|
||||
"postcss-rtl": "1.7.3",
|
||||
"prismjs": "1.25.0",
|
||||
"swiper": "6.5.1",
|
||||
"uuid": "8.3.2",
|
||||
"vee-validate": "3.4.5",
|
||||
"vue": "2.x",
|
||||
"vue-apexcharts": "1.6.0",
|
||||
"vue-autosuggest": "2.2.0",
|
||||
"vue-awesome-swiper": "4.1.1",
|
||||
"vue-chartjs": "3.5.0",
|
||||
"vue-cleave-component": "2.1.3",
|
||||
"vue-clipboard2": "0.3.1",
|
||||
"vue-context": "6.0.0",
|
||||
"vue-echarts": "5.0.0-beta.0",
|
||||
"vue-feather-icons": "5.1.0",
|
||||
"vue-flatpickr-component": "8.1.6",
|
||||
"vue-flex-waterfall": "^1.0.7",
|
||||
"vue-form-wizard": "0.8.4",
|
||||
"vue-i18n": "8.22.2",
|
||||
"vue-loader": "^15.9.6",
|
||||
"vue-perfect-scrollbar": "0.2.1",
|
||||
"vue-prism-component": "1.1.1",
|
||||
"vue-qr": "^2.5.0",
|
||||
"vue-ripple-directive": "2.0.1",
|
||||
"vue-router": "3.4.9",
|
||||
"vue-select": "3.11.2",
|
||||
"vue-slider-component": "3.2.11",
|
||||
"vue-sweetalert2": "4.1.1",
|
||||
"vue-toastification": "1.7.8",
|
||||
"vue-tour": "1.5.0",
|
||||
"vue-tree-halower": "1.8.3",
|
||||
"vue2-leaflet": "2.5.2",
|
||||
"vuedraggable": "2.24.3",
|
||||
"vuex": "3.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@osmonauts/telescope": "^0.88.2",
|
||||
"@types/marked": "^4.0.8",
|
||||
"@types/node": "^18.11.12",
|
||||
"@types/numeral": "^2.0.2",
|
||||
"@types/semver": "7.5.0",
|
||||
"@vitejs/plugin-vue": "^4.0.0",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.7.1",
|
||||
"sass": "^1.58.0",
|
||||
"shiki": "^1.0.0-beta.0",
|
||||
"typescript": "~4.9.5",
|
||||
"unplugin-auto-import": "^0.13.0",
|
||||
"unplugin-vue-components": "^0.23.0",
|
||||
"unplugin-vue-define-options": "1.1.4",
|
||||
"vite": "^4.4.9",
|
||||
"vite-plugin-pages": "^0.28.0",
|
||||
"vue-json-viewer": "3",
|
||||
"vue-tsc": "^1.0.12"
|
||||
"@vue/cli-plugin-babel": "~4.5.9",
|
||||
"@vue/cli-plugin-eslint": "~4.5.9",
|
||||
"@vue/cli-plugin-router": "~4.5.9",
|
||||
"@vue/cli-plugin-vuex": "~4.5.9",
|
||||
"@vue/cli-service": "~4.5.9",
|
||||
"@vue/eslint-config-airbnb": "^5.3.0",
|
||||
"@vuepress/plugin-medium-zoom": "^1.7.1",
|
||||
"babel-eslint": "^10.0.3",
|
||||
"eslint": "6.8.0",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-vue": "6.2.2",
|
||||
"sass": "1.32.*",
|
||||
"sass-loader": "^10.1.0",
|
||||
"vue-cli-plugin-tauri": "~1.0.0-beta.3",
|
||||
"vue-template-compiler": "2.x"
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
const rtl = require('postcss-rtl')
|
||||
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
plugins: [rtl()],
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
38
public/index.html
Normal file
38
public/index.html
Normal file
@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1" />
|
||||
|
||||
<!-- Splash Screen/Loader Styles -->
|
||||
<link rel="stylesheet" type="text/css" href="<%= BASE_URL %>loader.css" />
|
||||
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<title>Ping Wallet</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong
|
||||
>We're sorry but Ping Wallet doesn't work properly without JavaScript enabled. Please
|
||||
enable it to continue.</strong
|
||||
>
|
||||
</noscript>
|
||||
<div id="loading-bg">
|
||||
<div class="loading-logo">
|
||||
<img src="<%= BASE_URL %>logo.svg" alt="Logo" />
|
||||
</div>
|
||||
<div class="loading">
|
||||
<div class="effect-1 effects"></div>
|
||||
<div class="effect-2 effects"></div>
|
||||
<div class="effect-3 effects"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
@ -1,70 +1,84 @@
|
||||
#loading-bg {
|
||||
background: var(--initial-loader-bg, #fff);
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#loading-bg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
display: block;
|
||||
position: absolute;
|
||||
}
|
||||
.loading-logo {
|
||||
position: absolute;
|
||||
inset-block-start: 40%;
|
||||
inset-inline-start: calc(50% - 75px);
|
||||
left: calc(50% - 45px);
|
||||
top: 40%;
|
||||
}
|
||||
|
||||
.pre-loading {
|
||||
.loading {
|
||||
position: absolute;
|
||||
left: calc(50% - 35px);
|
||||
top: 50%;
|
||||
width: 55px;
|
||||
height: 55px;
|
||||
border-radius: 50%;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border: 3px solid transparent;
|
||||
block-size: 55px;
|
||||
border-radius: 50%;
|
||||
inline-size: 55px;
|
||||
inset-block-start: calc(40% + 35px);
|
||||
inset-inline-start: calc(50% - 27.5px);
|
||||
}
|
||||
|
||||
.pre-loading .effect-1,
|
||||
.pre-loading .effect-2,
|
||||
.pre-loading .effect-3 {
|
||||
.loading .effect-1,
|
||||
.loading .effect-2 {
|
||||
position: absolute;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 3px solid transparent;
|
||||
block-size: 100%;
|
||||
border-inline-start: 3px solid var(--initial-loader-color, #eee);
|
||||
border-left: 3px solid rgba(121, 97, 249, 1);
|
||||
border-radius: 50%;
|
||||
inline-size: 100%;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.pre-loading .effect-1 {
|
||||
.loading .effect-1 {
|
||||
animation: rotate 1s ease infinite;
|
||||
}
|
||||
|
||||
.pre-loading .effect-2 {
|
||||
animation: rotate-opacity 1s ease infinite 0.1s;
|
||||
.loading .effect-2 {
|
||||
animation: rotateOpacity 1s ease infinite 0.1s;
|
||||
}
|
||||
.loading .effect-3 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 3px solid transparent;
|
||||
border-left: 3px solid rgba(121, 97, 249, 1);
|
||||
-webkit-animation: rotateOpacity 1s ease infinite 0.2s;
|
||||
animation: rotateOpacity 1s ease infinite 0.2s;
|
||||
border-radius: 50%;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.pre-loading .effect-3 {
|
||||
animation: rotate-opacity 1s ease infinite 0.2s;
|
||||
}
|
||||
|
||||
.pre-loading .effects {
|
||||
.loading .effects {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: rotate(1turn);
|
||||
transform: rotate(1turn);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rotate-opacity {
|
||||
@keyframes rotateOpacity {
|
||||
0% {
|
||||
opacity: 0.1;
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
-webkit-transform: rotate(1turn);
|
||||
transform: rotate(1turn);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
BIN
public/logo.png
Normal file
BIN
public/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
232
public/logo.svg
232
public/logo.svg
@ -1,82 +1,158 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="150px" height="132px" viewBox="0 0 150 132" enable-background="new 0 0 150 132" xml:space="preserve"> <image id="image0" width="150" height="132" x="0" y="0"
|
||||
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACECAMAAABFwSJAAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
|
||||
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACuFBMVEVmbP////9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9m
|
||||
bP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP9mbP+Znf+Xm/+Wmv+UmP+T
|
||||
l/+Rlv+QlP+Ok/+Mkf+LkP+Jjv+Ijf/a2//////S1P+ztv+mqf+coP/l5v/d3v+7vv+ytf+hpP/2
|
||||
9v/v8P+qrf+prP+nqv+kp/+bn//g4f/u7//Hyf+2uf/9/f++wf+Gi//y8//c3f+sr/+eov/R0/+w
|
||||
s//U1f/Jy//p6v/6+v/BxP/P0f/Ex/+fo//8/P+5vP/3+P/s7f/m5//09f/o6f+Fiv/f4P/j5P/X
|
||||
2P+1uP/Dxf/5+f+vsv/i4//Mzv/GyP+tsP+8v//KzP/O0P+ipv/x8v+/wv/r7P+4u//Z2v/V1/+N
|
||||
hj37AAAAl3RSTlMAAIXd6u7y4Qgo+nu08xhGnQTU/TFrvxDrUY7bByZzsu8VRZUD0/sraLhJjNYl
|
||||
+Wyw7EPRZg5Ci9Ak+GSu50GGz/cgquj+PInLASFerOQKP4ACzvUcY6I1xFbfPXnM8WGbDOb8L4S9
|
||||
H0+p2gVxE1+TKYK2HvZHpzpqyV2BQKQ4Ysdb4n8bOcioDa+N1Ui3KpRgiCOKRLGzfY2kuQAAAAFi
|
||||
S0dEAf8CLd4AAAAHdElNRQfnAgkKBBi6ykX0AAACs3pUWHRSYXcgcHJvZmlsZSB0eXBlIHhtcAAA
|
||||
OI2VVVGy2yAM/OcUPQKWhATHcYL560w/e/zuQpKXxHnt1MzYIIS0khY5/f75K/3gU0OTXnVEjeyb
|
||||
q1+8hEl28eLhzQ/tIse4XC5DBPLmRkkJLdY1W49sCt3qLVmNPXCwaOx2FHN8YVAVh0R06CFZr1F1
|
||||
j+o46J3OfJPMtV/9COVeogegMR/EofvaeKhPJF9mILvwhD1OSC7VeslJCG7EFGmRQ1068GyqWiEJ
|
||||
bZBtWrRpVVGTK6SiGTKXgW/De1NL0qdwp2i+AfptyC08AQrXvYiZ+VtokuYmw6thGFl3hDNiPnIE
|
||||
tOSYiGN6bhwTieAtePflAIhCA/VhRqIiLHjg/isKQECpUAjxNjPVkCFo3Pd9S0jYCCSWqFZin2vB
|
||||
BFtHqU+Yp8Pjq0wJCyTbO8KpwJQZANKLLwz2e9WejGtYIc/eEpI+Wf/eOJkYCA46g+ZCZzzimkDF
|
||||
aZ95+RTYv4NabtMnv3eTt/zsxqq1dWlg4Go0oVFIW5bJmtlk9joEyzZv047ysMwZw3UD2g4yNvBe
|
||||
UdWNtMT16QiiTN5xNycoGpZQxKECNYwTog8I3gGkiYD0B81VrJginxvWBWsYhcQMcsyrrasi2iDF
|
||||
wJcaTsfpxTOJqaSmM4Hl5LndQn91bHSc/tfzrZa7keVIBdyiFMUSoh9+PbWGjGY1ppLOWWaXAIQs
|
||||
tazqcQ9XUdq6TolN6yWtZd4nhzcsMCcx8xOfd/+YgHTOgDv7EWY8tqG5dXyN3YjFR9GxM2mALkpC
|
||||
KBsimA1KQxTITZAzaF3yhuCb4r/01ZkjXUjilJeJbtPsBEmu+WyD1A7MDIjQ4zFruiW8KCQViYj4
|
||||
nGGxkkg729fsTDL+3pvSu9pqpA/p6e+xds6/sMS4198qZP1+0h/aE5hgx863IwAACeZJREFUeNq9
|
||||
nPlDHEUWxyuR1RjXKF5oPDYqiUeMN1mNiYqKSjQoicb7QI237rq48Vo16nrt4a3FMMydRiAkEA5J
|
||||
YJJIEiKQAzKBBBPMCeu/sV2vhqFher5dPdOd7w/AzNSr+kxN1atXr2pgTEUTj0mhrD8o6Fhu0HGT
|
||||
cFMTSEpUx0/mzukEx7D+6CAVP3GKQ1gnOUnF+cnOYGWf4izWqac5gnW6s1Scn+EEVs6ZTmPxsxzA
|
||||
muo4FT/7nIyxznXSOYzovIyx/uQCFZ92foZYF7hBxfmFmWHlTncHa8ZFGWFd7A4V55dkgpWT5RYW
|
||||
vzQDrJmuUfHLstPGmnW5e1j8irSxrnSRil+VkybW1W5ScT41Pazca9zFmjwrLaxr3aXi/Mp0sPLc
|
||||
cw4jmp0G1p9dp+LX5drGun6O+1j8BttYc48CFZ+XZxPrxqNBxflN9rBybz46WPm32MK6AdVVVubx
|
||||
eMp1eXVV6PL5fH6hgK6grpBQmBSJRCDXrXaw8m5DVMs1O6qEXAW328C6A9X0oy0qTauC3XVnoTLW
|
||||
fOQcqmtsYq0IQ667lLHuRtXU2qTStJUQa0GRItY9qJZVdXpD9StXkxoaGhqlqqoaR//U1dRU1fxT
|
||||
HKvFB7nuVcMqXgjq8KwRDa3lCqpuHemutigqt+g+Jaz7UR2NNFrKFKiCcgyuEz9w+cUqWHnzUGet
|
||||
F61sUOmstUS1/Gfxsx07iQcUsG5CNWwUjWwqV6DythBWdXSz+LUKln2w0BJrfj7qrA69iS24jbh+
|
||||
IarOKC8Xc6QGji7+kCXWrci8TTTVpULVvVUU3Srm4DZrJ/HwJAusR5B19Xa9gR0qH2G4kjprm/g7
|
||||
1KP/1RuC5R/FWMWPAdvyTdbvO64Gotop/TvN3s0xVP7xKRDrCcu2dnkVqAJ9xtUw1i8eNEOLJxFW
|
||||
yVPAsmyXqL1JpbNWElX/yGJYJh6th6P+6WcA1hJkuZs+iwoFqoo66RxGHsf2iIeroc2zqbGeQ86h
|
||||
WjiHgWpurUgXUXWNdk+wV3/cE4RWz6fEegGZkSOqVaCSn5lWZxyEvybmZUq9+FIKrNsLgFWTcA49
|
||||
KothpF9LggjvFU4CW79sjlV4J7Ap3yea+lWls6qkcxjrqFaJ5wahk5j2iinWq8imQXkxjOwgrN/G
|
||||
PbvPemn8ixlWyQJgUSZCuq1KzkFGr/3j3YFni4gnoK+f8VcTrNeQhXQOKlS+AVG0NXnG7rd2En9L
|
||||
xip9HZRvFsFc/c8KVNED1FmDJrzCwdT7ofXfk7CWgtLeLuv5HRdFfdr2gMlL5CT2Q+tTssdhvYGc
|
||||
Q7eosE8pcpDO4Uez10Ji29uKa3lzLFbhW6iz+pUj5Q1E1WMeI5OTaIdLY1bOGKy3Ldvqx7sqKb/c
|
||||
VqTwA7GD4sVDsIaZRqwi5By8NeZTy0Q0YVPHCl4xS/tgd8253oD1DipJM3uPChU1iyKrbdabzLmj
|
||||
WKWLQLnmw2JiqwR/Udraau2pl5iwcBLrsJP4RwLrXVTsgHKk3Cz30GiuNVq75YXFcaz3kHOoEluY
|
||||
FSrBX1TmvY6g9TgqJnUr9svvS6zCZaCM3FbgFJWxJ7TeACxUTUs+XBrnlRDWB6gMbaMH8WiQCreY
|
||||
RQ5J3XXE2gcuEVhFH4ISHuEcevGmJd4eTVjtp6hFuQoRP9dAJ5hfqmN9hErQjNY6hhLqMNXOnTt7
|
||||
NAvnMCLKcQ7DIksnsH8i59Ddq5TuG1UXjD9JfhE/18H4ueBjthh1+CabVAN4vEtRUF0JE6rL2Cfg
|
||||
VZ9NKqswTyqwQpSEWIthROPbZxerA2eVSU2i4P9QQZG2/BS8XkbbhT3DtdukhuNaO6rdca3cS1zW
|
||||
sWJAJBS3wJX/owkWW2lKJgyrjBjuJaztlosnBaltqMSHRcKdTkRtUa60WwUrJvN/my0cV0W9XmgI
|
||||
LmYfkJf/DOVwaUXpxNmDuILbiQsHZmHyunDlX1Yol2qU8fbTqG9UweK/EVY/HPWUn1iORkXBe/EI
|
||||
ohgdHlJiskZpdEVksg29B5m8hCv/u4l4Cx610pDZrdRdhwhrCHzk5BwqUQCxqHQ0aP4clPN3iMVC
|
||||
JeDi0YMWTiIs+nPAg+p4xxDLwzs+FNusUfCTenxKae/WlHEQbUGOoBoWFBk3ZP8CJWnbqSntfDhF
|
||||
U9qBFAu2T+QMhmAM+PaYfSK8XEqb6vVK3eXbAZxEmM5ZYAj4VuHYzT66ihuyri4h+sS1vaY+lfIT
|
||||
61FnFbwxLgeR/W9QmjLHPSqRMw/Ls02z0Dn4u3gFbi+WJmVs/oOKU0SplM6ViQatxaRPVtPahDrr
|
||||
9dLktNt/QfkgHduo5HN5TIaOyWtxhQgxBmAdr5lkA7+YAQzIUR5QGvVeOgtOTuAPi6fhRn9BiVlK
|
||||
90tgEWpXjiTiTqJz3Kj3COfQA8OeV00zza9MAybNIiPbrxRJhOuJq2Hs+xpMfm6c5EWN5OOCl5FR
|
||||
rbqTkLm3XWMGNzmHSvS24tdakrFeehFYeYf0encoOYmIdBLGs4WAWCm2wrT8CynPfJ5HZhTs1lpt
|
||||
mkm0LGiHDcs7deAgssl/LiUWexbYBSl+VslzjWTB2xIzNyDWpHoYOSxhqbGeeRoYkqM8aL1t1uWh
|
||||
SEJLcOy3dA5PlQAs9iTqg05RudJtg3juojPeXXSwghevrxjCmvI4MK0QtfcpdVeFjCRkVjnUaekc
|
||||
HiuGWOxRZEyOcqNSd8lIooa6i5IO2Oc9wjDWpIeBcVTEz+uUthsydqTxFKSjd7gYGm4Iprg18hAy
|
||||
p1NFpVsjcjOh9frjkfIvqLPy51tiFT4I7GN0bKMUP4fldmMN94q16DAc78bbp6luJD2A8s60+/wd
|
||||
39kcKSoPFstrLQfkvM8UsGAiLma94ibUJke9iBx2wc66n6lg3YfSln6RtuxTiiT8LYm0FzxNXlis
|
||||
hMXuRZVstLvJ1rUPTt57mBoWPC8LiY1x3YbuVaRDo2oyip6heyYiUoXbiruZIha7C1VTpZStNAoe
|
||||
BM+Zr4wFL2pE221SDcFz4K+ZMha+1lI9YA8L5thuy7OBhW8I7rFFhZ1D0tceIBa8TxkjRUcViUte
|
||||
kQ/TdflQkBQIwFl4c64tLPY1Pyq6kdnDgnd1HdNcZhMLf+3BIc35xjZW7nXuY33LbGOx2a5TZeWl
|
||||
geXutxOFrmXpYM1y44veBl2TmxaWG1+LN2o2Sw8r5yo3qT5naWKxK1ykunxW2ljZl7mHNZOljcUu
|
||||
dY0qKycDLHaJW1gXs0ywLpqROYGZpudmhMUudAfrO5YZ1vnTMmdI1vcsQyx2ngtUk8/NGOucs53H
|
||||
msoyxmJnOU51Zo4DWOwMp7HeZE5gnXaqs1TTsx3BYic7i3UScwZryolOUv3AHMJiJzhINfl4x7Am
|
||||
HWes+FiVf5yWlerfrk1kKlj/B8aoqde073OmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTAyLTA5
|
||||
VDEwOjA0OjIzKzAwOjAwewKfcQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0wMi0wOVQxMDowNDoy
|
||||
MyswMDowMApfJ80AAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjMtMDItMDlUMTA6MDQ6MjQrMDA6
|
||||
MDCY7TicAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==" />
|
||||
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACECAYAAAByH9JyAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
|
||||
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAA
|
||||
CXBIWXMAAAsTAAALEwEAmpwYAAAhMUlEQVR42u2dd3Qcx5ngf9Uzg0HGAGDOFHOSxJwgkpJFiUlp
|
||||
ZUqyTxv87s67f9jvnqST6NXaXj1bli3aku58/uN2L3h3veuzFUmJsqhMMWcwixJzEpMAzACDAQYT
|
||||
6v7o6ZnumZ4ETDdm35vvPTx0V/i6uuo3XdVfVX0t1j/bQV4idQcyKUrqEsjkPNIYJZPS6fJKyc+A
|
||||
x1LTSON1ZKp+mZTWEKedq3E1SJzGuFSdBn26Y5lcrkxx8SIk6TfEAVI6gRrz66fec6w2LiKZBHQn
|
||||
t43+NKmRkqvcND5DUFxe+GSKabiTfMQeqCYDTyOly5imoFCZxPU7VCl1lgNUIBkFPIX6YzTeU0pb
|
||||
FBaqTKLknNIeqAB+VYIqZ6i0sB8AQ4oFKsgVLPugugcpVxvTlKDKAhVANcifFQtUkAtY9kHlRMqX
|
||||
jWlKUOUAlRb2VxJmpraF/VBBNrDsgwqk/GtgWgmq1DrMASqk2pYvFwNUkAkse6HyAM+VoEqtwxyh
|
||||
0k6XAQ+RdA2roMqUXMmcwxaoAH6MZIA+ogSV/jAnqDRZj5Tu5GYxacRsQRklW3IlfQ7boJqI5Hv6
|
||||
iBJU+sO8oAIpx4Nan/0FFSSDZT9UIPkV4CpBVRCotKMfShjYX1CBHqz+gWo5cF8JqoJChQQPkudM
|
||||
GjFbUEbJJ7liVvDUi1sClQN4uQRVwaHS4r4LTEuON8mSk+SZHKWfoAL4z0g53XCdElQm9ZB0Tylt
|
||||
YQoVqNN1L/UHVBDvCm2HyoOUPzFcpwSVST0k3VNKW6SFSou/F1iJeZacpDdQASj9ABVI+UNgYAkq
|
||||
/WHBodKOXiK22MAuqMDQFerLYylUE4Dvl6DSH1oGFcAU4G+sgUqkjTGYG2yACuCXUlJWgsoWqLSg
|
||||
5wAPOUpfoQIdWDZB9Q0peaAEla1QATQCPyYHKQRUEAPLJqgcUvJyCSrbodLke8AEMkihoAJQbIIK
|
||||
KfmPIG8tQZUapo+0CCoAF/BL0kghoQLtrTDlRow3XwCoakE+X4IqNUwfaSFUmjwA3JWSnlxE5BSk
|
||||
SZLlPbVCCgAVIH+EZGCy/hJUSfeU0hYFhUqTlwGH2eXSizlUmfIqNkA1Hsn3k/WXoEq6p+RWtgYq
|
||||
gNuA75ipNJf8oYKUSeiCQwWS9YC7BJU+TdI9JbeydVBp8lMJtdmT9Q4qMHSFlkB1J/BQCSp9mqR7
|
||||
MoQbr2ERVEgYAvwgc6pcoMpkILUOqtjqBV1FlqAy3pMh3HgNC6HS5AlgjHmqvkEFSXOFBYQK4DtI
|
||||
bi9BpW/NooEKoBxYn5oqD6gysOW0CKpaJM/bCZVAsnRtHfPurc6vtjPUvF4iEYmM9l51SrPEGkVx
|
||||
CHZvbOPjf7qZuB3rodLkm0ATsF1XspTC5gsVaLPe+pL2HSqQ/B3IwXY+qYaOK2PG4krcFblv7i4W
|
||||
mb6khpO7Orh0sttOqEDF4xVgHghpFtsbqAAUC6AaC/K/2AmVo0wwc1k1noH5uaIoFhkwoozZKzw4
|
||||
HEktZi1UmswB8ecpoX2ACtTdx8YS9A0qQP4SidvOMdWYyW5mLK6M31QkLGlviRCNyNSKyLNhkCAK
|
||||
8BCMhCUV1QpVHidCoHarAkSsfNOX1HByt5+Tu/zGetMXpfBQEaugF4DXgYAW1BeoQPM2UzioliJ5
|
||||
2E6oKqsVFqyuweVO3PXpQ91s3+gj2BmNNxzxy2QZqOurNHZ9oQgUJQaDYfRtUJzamlqwgK72CMv+
|
||||
QyMzl9eZtnhFjYP599dz8XgXAV84Jd5CqACGA88Az+UFlUhPmrOAUClIXrH77W/irApumV4ev6Hu
|
||||
zii7/9TO5S+CKeXoz7e/hmEuRkwsR1HUp5cQoCjGhpk4t4qpi6o5sNlrLIq1UGnyNIL/LeFySpo8
|
||||
oYJkAym9hgok35FSc0phD1SegU4Wrakx3NChLf6ig8pZJvjGXwxg8Fg30UjsCegQdHrDnD0UMJR/
|
||||
8Tcb8Ax2JYpiD1QgqJRql2hM0wuoQG8gpU9Q1UrJ86l5rYMKYPY3qhgwPNEIrdfCHNrSSTgkiwYq
|
||||
gInzqpm6uDrWJgIR039kSwdv//oaN84H45cfNMbN7JUeteu1Dyot7+PA3L5CBbplM32ACqk5/rIR
|
||||
qqFjXMy8M2GzklJ9Wl2/2FNUUFXWOZi7sg6XWyEahWhUfWL5bobY9VYbNy/20PyBz9Ao8++vZ/At
|
||||
5eQjBYAqdiZeAUROUGVbNtNHqMYCT9htUV+4upbKmsTr2pXTQZo/9UO0eKACmN5UzbhZlaremPJI
|
||||
WHJws4+WK+qP4PAn7Vw4lugSK2sdLHm0ESXHt9ECQaWlWYxgbWra3KGC+ApSegsVwItIWZ4Sp51b
|
||||
ANXkOZWMv904YN/3fgf+1nBcXzFANWhUGXPXeFAcAikhGgWHU3D9fJCdb7XFy+C7GWLP220EAwnT
|
||||
/pTF1UxeaBw/mkmBodL+vYg65RMLSwdVtl06vYfqDqRcmxJn0piFgqqsXGH+qhrKqxI/53PHujm6
|
||||
zR/XVwxQKQrc9o1aho4rV+1psbBIWLLt1Va62o0mhePbOji1zx8/d7kVmh5poKw8BxdmGaVX0zRj
|
||||
UCepewUVgNIHqBSkfCUlzqQxCwUVEubdW82wW8riN9DRGmH3pnbVxlQkUCElIyaXM2elx3BvikNw
|
||||
cpefE1vbUxoiFJTsfLMN741QPGzEpAoWPlRv2nAWQqXJDxBiiLm67AZT49Lk3KECKf8SmG0nVI1D
|
||||
ndx6R5XBGHpidycXY3NsxQJVWYXCvDUeqjwO1WalCIQi6OmOsu3VFvWt1ZgFgPNHAxzf1hE/d5YJ
|
||||
5qzy0Di8zJieXKSPE8pC1AI/TVUn0ugyitJLqKqBn9kJleKAOctraByWMC+0XA2xe1N7UUEFMPbW
|
||||
SmYsq0VKtftDqj3K/ne9fPVlt6EBkk0Ku95s5ebFhPmhfoiLpkca4j2STVBpR98BbssXKkgaY+UI
|
||||
FcAPkAy1CyqAURPdTF9caejyd29qx3sjXFRQVdU5WPqtRhxOoXtagfd6iL2bvETCMjmLQVqvhtiz
|
||||
sS0epzgE05pqGHtbpd1QATgQvJycRybrMRGlF1CNRvKUnVC5KwSz7q6mqi6+uYRLJ4Mc295ZVFAB
|
||||
TF9Wy6hpFeoboCPRCttfb+XrS0GzLCly4H2fwfxQXe9k/gP1uCuz2R8KCpWW5i4QD6TqErnasXKC
|
||||
CiTrQZbbBRVSMv72CibNSaxekFHYvsFHV2ekqKCqG+SiaW1DvE2klAgFLhwPcGxLe6J4WR49PV1R
|
||||
tvxbi+HpNnlBNVMWZTI/WAKVdvBLBK5coQL9TujcoGoCudZOqGoancy5p9owYD+y1c+5o4GigkoC
|
||||
ix6qp36wi2jMSKsN2PdsbKMjZmPLdZrmbHMnRz5NvD263Arz7/NQP9RlktpSqEAwQcYc5uYCFST7
|
||||
x8oMlQD5CjK21NAGqKSAKXMrGDU5Yavr9EbYu7mdnm7dtYsAqpGTK5h5T108IBJRVzB8udfP8W0d
|
||||
yVmySjgk2fZaK53eSDxs1LRKpjUlP7Ush0rT9WMQjQYdGbvC3KAC5F8gmWMbVMCAoS7mr6o13Pve
|
||||
99u5dq4nob8IoBLAnY83UlnrUC3sEXC61PnAfZu8hHtkXlBpem+cD7LjzdZEYykw/756ho7Xfmi2
|
||||
QQUID0LnMFekUxora3KFp4GqGsnP7ITK6RTMW1FD/eDEcuOvzgQ5urVTHXsUCVRI1cI+9jZ1DKgu
|
||||
i1GTHfusg9MHOnu9SiESljR/6OOKzkQxYEQZc1d5cLlNBvLWQaUF/w0wJRtUkLSvMA1UIHlGwnC7
|
||||
oELC8AlubltSFS9oJCI5+HEHrddCRQVVRY2DhQ+qUy9SQiQkcTgFN84H2fduW6+h0sR7PcSuDa2G
|
||||
gfzse+sYOaUiBQyLoQJwIngpR8t7VqhGSfivdkJVVi6448FaynQ7bs40d3FyT6CooAKYu9rDsAlu
|
||||
dVwVkjjdgmgUDmz2cuNCD/lIOgZP7vJzcndiHrGsQmHZtxupqHGYgKBr8cJCpXV/K4F7s74VZoEK
|
||||
CS8iqbALKoAp8ysZO8O4euHAhx342yJFBdXAUWXMWVmH4hBEtQlURXD5ZBf73zOuscommR5snb4I
|
||||
ezd56epIDOQnzKlSFw/aC5V2HHOYm2GMlQWqRUgetROqqlqFhatrUXRboU7s6uTs4a6igsrhFMyN
|
||||
zeNFoxIhBA6XIBSMsu2PLXT7I+QqufSW5w53cfgT4+T1HWsbqBmg3/JmC1QA00B8N4dJaFNwBJJX
|
||||
kFKYxFkCFVIyb0UNg0YnJl19X4fZt7mdUDAav1Z/QwUwenoFs1fUqZWoCERsK9fJ3X4+3+knV8lt
|
||||
CKYCu/ddH61XE6sfBo91s+D++nga/T9j9oJCpaV5jgwOc5X0TyMeR8p55nHWQDVkTBkzmqrj9RCJ
|
||||
SI585ufqmWD8WsUAVXmVwtxVHsqrHeilpyvKZ79via+/yia5QqXJ1dPdHHzfZ9A/+546hk+oSE6q
|
||||
y24JVAADgR+mK3WquUE9rETKn5vHWQMVwLyVtXh05oWbF0Ps2eSLX6sYoAIYP6uKaUtqUsIPfeTj
|
||||
6mnj6oV0ki9Umux918uVU4k5x7qBTu5YW283VJr+761bc268WckVE6hAynVo5gWboJo8r5IJsyri
|
||||
dRHsirLrHR9+b6SooKptcLDkMXX1gr6SO70Rtr7ampN5obdQIaC9NczOt1pTBvIzliRZ5K2HCsCN
|
||||
qccavblBu2MpR6GZF2yCyl2hMOvuGqo9ia7lwvFujm/3FxVUAsmtd9UyfFJ5fD5Qk72b2mi9kt28
|
||||
0BeotLxHtnRw9khXPKqqzsGC+z2J5dr2QKVFPbTuvnPLkourJEEF8AKSSrugArh1aRVjphnNCzs2
|
||||
xKZCktL2F1RIScOwMhY93BBLmmidry/3sG9TG9mkEFABRMKw9Y+t8YltgFFTypm/xmM3VNrBy+vu
|
||||
P2+YClCSoFqA5Nu2QSWhYYiT25dV4ypLFPjwlg4ufR4sKqiEgMUPN1A30IWMqucI1CU8r7XivZHq
|
||||
b8Ggglwk97m/Cye6OPxpRzzU5VaYeXctA0eWmaizFCoQzAT+Sl9KRQeVal5ACrugEg6Y0VTFsHHx
|
||||
b2PT3hJm/3vtRCKyaKACdWXBzHvqkBJ1N3OsYi8e7zIsbzGTQkOl/dv1tled4orJkLFu5txbmzT+
|
||||
sxwqTX627oEL8R3EenPDt0EusAsqiWT4uDJmLU8475USPvtjGzcuh4oKKodTcOfjAyirUOKTzAA9
|
||||
3VE+/t3NjMZQq6ACaLnSw5b/12pINWt5LaOnV6TksRgqYjt64g5zNXNDJcif2wmVq0ww6+4aahsS
|
||||
A/ZzR7s4sTsQ73pErOwi5mxOfy5054jUMKELQySHq49n7ZjkOF08qKsX4ruZdXLssw7OHuxMi4uV
|
||||
UGlyfIefc0cTA/maBifzVtZRXmU2j2gZVNrRU+sevDAK4m6M5NNIRtoFFRLGTq9g+mKjv9CqWgdr
|
||||
/rrR0NUYrp9Xy8mc0spMgVL1tTB6RmV8N7OIFcx3I8yn//Y10WgeelOkb1AhBIH2CNtea2P0tIr4
|
||||
lvxpi6s5scvPka1+O6ECQblEvAh8ywlyOOqyGNugqql3sPC+WsNyY4DBY8oYPMa4h66YRAh1XBgK
|
||||
Rtn+Wgstl83NC3ZBBWr1njkcoPmjdmbfow4rXG7Bwgc8XPi8G+/NMDZBhVTjH33moYu/VpD8XEKl
|
||||
XVABzF5ew+ipqd5UpFQXt0Ujvf+LhGN/od79hXskoe4owUCUUND8aXn9fJADm739DpUmwa4ou9/x
|
||||
0nY98WY6ZloF81bVYTNUWo6XFQkT7YQKCVMXVhlWL+jLqjjUXcNqd5j/n+KI/Tl79+dwCZxuBXeF
|
||||
gsstUsxCoI5jhk+sSAnvD6i0NNcvhPhyX6ch2ay7a+2GSos/5UTKJ5FsRx2vYjVUSEnzxx3c/ecN
|
||||
6mtxTMIh9Ykjcm6gHJsvR0dhhry6LNGoutVdG79Eo1A30MXCP6vnwvEA4Z74+2g+pUpqGJM0ec79
|
||||
DRjh4pbbjLAf3+FPSmsLVAHgWSeSncCrSB61AyqAQx93MHpqOZPnJ5Yet10LseMtL4H2iApc8vt/
|
||||
OpOBLtI8Pssg3oSIhB5JNALTltQwc3ldfOmxKBOMn1XFjKW1NH/o63eoXG7B3BVG4+iVU0F2vu3T
|
||||
pbUFKoD1698ceVnzmrwO5ANSxnwiWQgVEgL+KLvf8TF2RkV8d69nsItAe4STezptt1NlCeLyyS5G
|
||||
TamgcUQZDidEw6rjj/kP1HP6YCftLZmt7lZCBTBmegVz7q2LR4dDkh0bvbRcDdkN1SViX3HVVjdc
|
||||
kDK2R99iqLS3z0tfdNP8sW5Kokyw/C8bqR/sopigAnU2YPvrqiFSKGqFRsKSUVPVvYSZe1troaqo
|
||||
UWh6uN7whv3FvgAndnfaDRXA365/c2QAYqsbYhX6C6S8ZgdUAOEeSfNH7YYpiYEjy7h1aXWizEUA
|
||||
lSaHPvJx8URX/AVD+67O/PvqGTjKnSaXtVAhYNL8KoP7gU5fhD3v+ejqjGIzVLsR/F470a9570DG
|
||||
VgRaDJUWdv18kH1/8hmCFz7oYeg4d1FBBRAMRPn4n2/GV286XIJIRFI/xMXc1R6cZclkWA9V7QAn
|
||||
dz3WYEh2aIufM4e7sBkqieCJ9W+MjN9eYs27GvRbpDxkB1QgiUbhyGd+Ln6eWHVZWeNg4QP1KE5B
|
||||
sUClydnmAEe3tMc+WaJuoJAS5q32MGKS/o3MeqgkMH91HYNGJQbsX18Jsf/DdsIhk3zWQQWC369/
|
||||
Y+RufZGVJHCiEp60AyotqKMlzMEPfHR36hy7Lqxi/KyKooIKIBxO+FMQsa9KyKi6z2/pYw2xfZD2
|
||||
QDVsnJs59yQm8MMhyaHPOrh6tic1n7VQBUA8m3wbigk4nwIb7IBKOz/yaQdnmhP+oMoqFJq+2aC+
|
||||
MRYJVFryr051s2tDa/yphVC/YzhpQQ3Tmkw+s2wBVELAkofrqRtgdD+wa1PMVZJ9UAHiV+vfGHEx
|
||||
+VbiXWESOM8g6UkTF6/pQjk9i4Ql+9/zGRbLDZ9QzqzldegV9jdUWt5DH7dz9XS36rWvR6Ktnljy
|
||||
aD2VNbqdOxZABTBlQTUTdQP2rs4oe99rVzf02gvVFQQvmtWZkmagfgr4jR1QaeenmwN8vssfT+Ny
|
||||
C+bfV0fDUGfRQKVJy5Uedr/dRiQsUVyCaOzrq0NuKWf+/R5dw+ilMFCVVzloeshj8G547kgX+z/s
|
||||
sBsqEPzt+tdHGD8GFBPFBCrt+KcSvrYDKu3tb887Xm5eSqwYaBhWxqKH6hM3WARQaXJiu59T+ztx
|
||||
xJbTaGWcf7+HgaPLLIEKVAv76CmJCXx/W4Stb3oNaWyCai/wr+nqR0kDFRK8yJg/JBugQqpPggOb
|
||||
fXHPKkLA9KW1jJlRWVRQAfi9Yfa+4yUYiOJ0qa0fjUpqB7hY+q1GXVsUDqoBI1zMXVFrMG0c3e7n
|
||||
3PHuRD57oJKoHxhIW03J5obkMdU/IOUJrabtcCR78H0fl79ImB+q6hzMW+NJOHYtAqi0Wj51oJNj
|
||||
W2Pe+pAI1NUQ0xbXMH52FYWEyuESzL23lsE680LrtRDbNvgS+eyBCuCPwM5MUw5Klre/MPCUXVAB
|
||||
dHdG2P5qa8JXAzBpXhVTFlYXFVSgzh7sfKuN9pYwiiKQUl2hUV6l0PRwgzrNUgCoEDBykps5y41v
|
||||
nTve9qnzgfZC1QWsy/4hzOwmhc0SudkOqLSwUwc6+XxXYm1RWYXCnFV1eAa5DCoNYjNUmnx1qptD
|
||||
H/mIRokvWwYYN7OS2+4yMz/kD1VFtcK8FXVU1ycG7BdPdnP4Mz82QwXwK4RIMS8kSzpzQ7ymY0+q
|
||||
p4CwHVBJVGPf1j+04G/TbcicVsmtd9WqO2SKBCotaNvrbVw/H4y7iIxGJU6XYMGapM+V9HIz6fiZ
|
||||
ldy2NLE/IBKWbHnNS0db1G6oriDE+tRrpIqSo0nhBJJ/sAMq7fTGhR72veuLq1cUmL2yLnXCt5+h
|
||||
kkBHa5hdG9sIBWX8EydSwvBJ5eoqzuQGM6jLDFVNg5MFq+uSBuydnDnSbTdUIMTfAX5DfBpRcoBK
|
||||
6/7+HvVN0XKoQHUSe/B9L1+dSgzkG4eVMXtFXcKxaxFApcmBze2cPxZAKIJozPGgEKq/0NHTK9Oo
|
||||
ywyVosD0pirG6VaGtreE2bHRR7fu24Y2QbUf+BdDfAZRcoQKoAXJT+yASitP27UQO99sM/iDmrva
|
||||
w8gp5UUFFajfzdnyB/WlQ3Gq3ZWU4BnkTOxONqjLDBVA/VAXS/7Mk/hAk4R9H3RwSefGyCaoEuYF
|
||||
PVQZu0J9i2R/+/sNUp4ytoy1O5RPHejkiz26gXy5QtPahoRj19QsOUkhodL+nT0U4PCnHaqHP0BG
|
||||
1bq5dWkN426vzAsqh0uw6D4PDUMSX6L46kyQ5i2J2QmboAJ4DdieK1SQ5NEvB5NCCHg60TLWb3v3
|
||||
t4bZ+06bYRv7pPnVTF5YbZYlJ7ECKq0c215vw98WxuFSu0QAd6XCHWu1ecTsUKnmhXLmrUj4vAqH
|
||||
JPs+6ODm5diaGPug6gaeMYUqox0rVtN52Kk2IvnEDqi0uHNHAimOXZc81khNo7NooNLk+vkg297w
|
||||
qptbtaFgFCbMqmTqouqElxq9niSonC6FZWvrDZ/tPXOkiyPbY09u+6ACeAnBhXyggrh/rJyh0gKe
|
||||
lJKI7twyqED9rO2+TV6DY9dBo93MXe0hH7EaKq3CD33SzldngjicQu0OY1FLvlmv/hj0ekSyWsH0
|
||||
piomzEoM2Ls7o+z+UwedvojdUF1F8It8oQJQemlRPwz81g6otPirZ1RDpP4LDXNWeRg2IXVHtZnY
|
||||
BRWA72aYra/GNl/E/FBEw5JBo8uYu6I2occEqup6B3c86FHnH2NVc3JfgC/2B+yGCgTPgvAbrmda
|
||||
hlRRegGVdv4jkO12QKXJ7g1tXDurd+zq4o5HGskmdkKlyZf7A3y+p1M1mkbVL5lJCQvv9zB0rNsU
|
||||
KoD5K2sZPkHnL6w1zLYNPiKR1GJYDNUBEP9iuJ5Z/jSS8Jqcv/HzGpJfGPJYCBVApzfMvk1thmXM
|
||||
E+ZWGQbyydIfUCEg0BFh10YvXf6I6jZAqOu2qj0Olj5Sb9pAw8a7mbmsJuGOPCw5tMXP5dM9KcWw
|
||||
GCpAPAFEewMVGD365QOVVuuvIDlvB1Ra0P4/eTl7KGF+qKx1cMcjjQnHrvr05CKFh0o7ON3cZdg7
|
||||
CerTa8qCKqYtqjI0kFBgwapaBoxImBduXg6x9a12U90WQ/UasC0rVJm7wl5DBZJuCevsggpU3wk7
|
||||
Xm/F703MI46YXMGsFR5jenIR66BSyyrZ/0E7Ny/3oCjqfsRoFMorFZoe8uAsU+LJJ8+tZOqCqrjK
|
||||
cEiybUPMHXmybmuh6gbW9QUqMJgbyBcqrft7DcmORJpEZKGh0uTc4QBHt+gdu6rftRk02o2ZSnOx
|
||||
FipN15XTQQ5+1BF30CYUdcXpiIluFqxSvcFUVCksXFNHjW71wtmj3TRv6UzVbS1UAK8gOJchPitU
|
||||
YHDH3SuoYrYKniD+Vm0tVJpsf62FtmvG78rMWeVBOHK4a5ug0k4OfNjBpS+71WxSnQctcyvMXl5D
|
||||
Va2DibOrmDAzYV4IBSVbXveqb8D2QnUNwc8zxKfXkSRKH6HSwvYB/2oXVABtV0PsfNPo2PXWO2sZ
|
||||
Pa2CzGIvVAjwtYTZ866PcEiiOFQV0ahk4HAXa747gPkrawz+wg584ufc8aDdUIHgh0BHX6EC/RgL
|
||||
eguVdvAskoAdUGnS/IGP80cTm0RqBziZt8Zj+ICmUeyHSpMj2/ycPtSlUyVwuRVm3VVtWL3g+zrM
|
||||
rk3tui9f2AZVM/DbQkAF2hgL+goVSC7LmAsbO6ACCLRH2PqHFoPRdGpTDRPnVpmk7j+oEBAKwnv/
|
||||
t4W2G2FTb4aabH+7nevxnUq2QQXwBEJEM8Sn0WEumn8s+giVdroeyX8ChqtR1kGlyemDqj+F2++u
|
||||
A7TVD410+aMEfJHYfJ05VKYBplClu7o5VBISS310DdQdiHL5VDeegdWmP/qLXwQ5sl37OLmtUL2B
|
||||
EJ9liE+jI704CwgVSALAs8A/27XxIRSMsntjG+NmVlHTqP5ORk2tYO0zQwmHZE6P7T6JmXppfi+R
|
||||
sKSmwWlapEhYsuPt9jReji2FKogQT2eIT6Mj3c2r4iwgVJr8Dim/D8zRqzRWfGGg0uTiiS72v+fl
|
||||
zscHxOugbpArP4X9LCf2Bji5P4DNUIEQ/w0084JJvKkOk+skiVJgqEBK1fygsWIxVFr+5o+M+xH/
|
||||
PUlHW4Q973XQHZB2Q3UdeCFtvKkOk+uYiGGMVcAJ5e0SXkey1nA1C5cTf32ph4Pve/EMHqDu8Yvm
|
||||
qLCAPaWU6jp1xZmf0mO7sm+OsAAqUD+9215oqADEj1afosBQaZyOBU6AzmGuSUPkI8VkUTetZNMG
|
||||
ytbg2dNYBNUhYA6CSO+hEqz/3UDTVlAsggrUfvu/J8ebZMlJSlCl09ErqACe7CtUGcdYFkGlyQtI
|
||||
eS35oiWocktjIVRvIfjUKqggeRK68KsU2oEfYZ4lJylBlU5Hr6EKInjaSqhAPwldeKi0o98Ch5Oy
|
||||
5CQlqNLp6DVUIPg1iDMp9dEbqDKaGwALoQKIAE+WoMotjcVQ3QTxfEp9FBgqMBm8xw8KA5UW9Amw
|
||||
kRylBFU6HX2CChA680Ie5UwLVXq6FBug0uRpIEQWKUGVTkefoToC/B87oAL9ZgrtwBqogJjD3AxS
|
||||
giqdjj5DBfCEal7Io5zZoMo0xrIJKk1+ArSYRZSgSqejIFBtQPBJXuXsA1QQX49lC1QAXog5zNWn
|
||||
JxcpQdVLqHoQPJNXOfsIFegG7zZApcn/BD43u1x6KUHVS6hA8D9QhyG2QQUGOxZ2QAWgOsylBFV6
|
||||
HQWD6ibwfM7lzBMqmXUzBdgFlSbvSXg/e7ISVH2ACuDHgNduqCDlrRA7oNJUqg5z00oJqj5CdQz4
|
||||
X/0BFRjeCrETKoDjwD+apypB1UeoQN0cETGmMbmOBVCBYZeOrVBp8hzqm6LZnRmCSlCRD1RvI8RH
|
||||
WctpEVSQ7IMUW6ECdINLszuJBZWgIh+oQqmbI0yuUwioMnCm9CNUmvwGOF2CikJABUL8BvgyYzkt
|
||||
hgp0XWE/QQUQBPFMSmgJKuP1coPqa9TZjX6FCmJg9SNUWinfArbog0pQkS9UAH8PeO2DKj1hShFA
|
||||
pcmTxDzIlaCiN1AdA/6xGKCCZHMD9OfGh2YE/1SCit5ABfAUQrML9i9UoDc3QH9CpYGQ+AhQCaos
|
||||
ZTak2YTgA9Ny9gNUkMaOlSEooxRg7u8amPgVN6QtQZWUJoSIfS3EbqgyMBbbCV0UUGkBLwHfRTAq
|
||||
NW1GqDoQhIsMqjCIDguhAsEfgJPFBBXA/wc7rs0UQPhquQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAy
|
||||
MS0wOC0wN1QxMDoyMToxNyswMDowMMxA6lsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDgtMDdU
|
||||
MTA6MjE6MTcrMDA6MDC9HVLnAAAAAElFTkSuQmCC" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 12 KiB |
@ -1,17 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Widget Test</title>
|
||||
<script src="https://unpkg.com/ping-widget@latest/dist/ping-widget.js" type="module" ></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="p-5">
|
||||
<div>
|
||||
<ping-connect-wallet chain-id="kava_2222-10" hd-path="m/44'/118/0'/0/0"/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="PingTokenConvert" class="btn">Buy Kava</label>
|
||||
<ping-token-convert chain-name="kava" endpoint="https://api.data.kava.io" hd-path="m/44'/118/0'/0/0"/>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
142
src/@core/app-config/useAppConfig.js
Normal file
142
src/@core/app-config/useAppConfig.js
Normal file
@ -0,0 +1,142 @@
|
||||
import { computed, watch } from '@vue/composition-api'
|
||||
import store from '@/store'
|
||||
|
||||
export default function usAppConfig() {
|
||||
// ------------------------------------------------
|
||||
// isVerticalMenuCollapsed
|
||||
// ------------------------------------------------
|
||||
const isVerticalMenuCollapsed = computed({
|
||||
get: () => store.state.verticalMenu.isVerticalMenuCollapsed,
|
||||
set: val => {
|
||||
store.commit('verticalMenu/UPDATE_VERTICAL_MENU_COLLAPSED', val)
|
||||
},
|
||||
})
|
||||
|
||||
// ------------------------------------------------
|
||||
// RTL
|
||||
// ------------------------------------------------
|
||||
const isRTL = computed({
|
||||
get: () => store.state.appConfig.layout.isRTL,
|
||||
set: val => {
|
||||
store.commit('appConfig/TOGGLE_RTL', val)
|
||||
},
|
||||
})
|
||||
|
||||
// ------------------------------------------------
|
||||
// Skin
|
||||
// ------------------------------------------------
|
||||
const skin = computed({
|
||||
get: () => store.state.appConfig.layout.skin,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_SKIN', val)
|
||||
},
|
||||
})
|
||||
|
||||
const skinClasses = computed(() => {
|
||||
if (skin.value === 'bordered') return 'bordered-layout'
|
||||
if (skin.value === 'semi-dark') return 'semi-dark-layout'
|
||||
|
||||
// Do not return any class for dark layout because dark layout updates class in body
|
||||
// Do not return any class for light layout as that is default layout
|
||||
return null
|
||||
})
|
||||
|
||||
// ------------------------------------------------
|
||||
// routerTransition
|
||||
// ------------------------------------------------
|
||||
const routerTransition = computed({
|
||||
get: () => store.state.appConfig.layout.routerTransition,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_ROUTER_TRANSITION', val)
|
||||
},
|
||||
})
|
||||
|
||||
// *===============================================---*
|
||||
// *--------- LAYOUT ---------------------------------------*
|
||||
// *===============================================---*
|
||||
|
||||
// ------------------------------------------------
|
||||
// layoutType
|
||||
// ------------------------------------------------
|
||||
|
||||
const layoutType = computed({
|
||||
get: () => store.state.appConfig.layout.type,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_LAYOUT_TYPE', val)
|
||||
},
|
||||
})
|
||||
|
||||
// Reset skin if skin is semi-dark and move to horizontal layout
|
||||
watch(layoutType, val => {
|
||||
if (val === 'horizontal' && skin.value === 'semi-dark') skin.value = 'light'
|
||||
})
|
||||
|
||||
// ------------------------------------------------
|
||||
// Content Width (Full/Boxed)
|
||||
// ------------------------------------------------
|
||||
const contentWidth = computed({
|
||||
get: () => store.state.appConfig.layout.contentWidth,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_CONTENT_WIDTH', val)
|
||||
},
|
||||
})
|
||||
|
||||
// ------------------------------------------------
|
||||
// isNavMenuHidden
|
||||
// ------------------------------------------------
|
||||
const isNavMenuHidden = computed({
|
||||
get: () => store.state.appConfig.layout.menu.hidden,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_NAV_MENU_HIDDEN', val)
|
||||
},
|
||||
})
|
||||
|
||||
// *===============================================---*
|
||||
// *--------- NAVBAR ---------------------------------------*
|
||||
// *===============================================---*
|
||||
|
||||
const navbarBackgroundColor = computed({
|
||||
get: () => store.state.appConfig.layout.navbar.backgroundColor,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { backgroundColor: val })
|
||||
},
|
||||
})
|
||||
|
||||
const navbarType = computed({
|
||||
get: () => store.state.appConfig.layout.navbar.type,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { type: val })
|
||||
},
|
||||
})
|
||||
|
||||
// *===============================================---*
|
||||
// *--------- FOOTER ---------------------------------------*
|
||||
// *===============================================---*
|
||||
|
||||
const footerType = computed({
|
||||
get: () => store.state.appConfig.layout.footer.type,
|
||||
set: val => {
|
||||
store.commit('appConfig/UPDATE_FOOTER_CONFIG', { type: val })
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
isVerticalMenuCollapsed,
|
||||
isRTL,
|
||||
skin,
|
||||
skinClasses,
|
||||
routerTransition,
|
||||
|
||||
// Navbar
|
||||
navbarBackgroundColor,
|
||||
navbarType,
|
||||
|
||||
// Footer
|
||||
footerType,
|
||||
|
||||
// Layout
|
||||
layoutType,
|
||||
contentWidth,
|
||||
isNavMenuHidden,
|
||||
}
|
||||
}
|
BIN
src/@core/assets/fonts/feather/fonts/feather.eot
Normal file
BIN
src/@core/assets/fonts/feather/fonts/feather.eot
Normal file
Binary file not shown.
849
src/@core/assets/fonts/feather/fonts/feather.svg
Normal file
849
src/@core/assets/fonts/feather/fonts/feather.svg
Normal file
@ -0,0 +1,849 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<!--
|
||||
2013-9-30: Created.
|
||||
-->
|
||||
<svg>
|
||||
<metadata>
|
||||
Created by iconfont
|
||||
</metadata>
|
||||
<defs>
|
||||
|
||||
<font id="feather" horiz-adv-x="1024" >
|
||||
<font-face
|
||||
font-family="feather"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="1024"
|
||||
ascent="896"
|
||||
descent="-128"
|
||||
/>
|
||||
<missing-glyph />
|
||||
|
||||
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
|
||||
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
|
||||
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
|
||||
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
|
||||
|
||||
|
||||
|
||||
<glyph glyph-name="alert-octagon" unicode="" d="M128 542.976v-317.952L353.024 0h317.952L896 225.024V542.976L670.976 768H353.024L128 542.976zM335.36 853.333333h353.28a42.666667 42.666667 0 0 0 30.165333-12.501333l250.026667-250.026667A42.666667 42.666667 0 0 0 981.333333 560.64v-353.28a42.666667 42.666667 0 0 0-12.501333-30.165333l-250.026667-250.026667a42.666667 42.666667 0 0 0-30.165333-12.501333H335.36a42.666667 42.666667 0 0 0-30.165333 12.501333l-250.026667 250.026667A42.666667 42.666667 0 0 0 42.666667 207.36V560.64a42.666667 42.666667 0 0 0 12.501333 30.165333l250.026667 250.026667A42.666667 42.666667 0 0 0 335.36 853.333333zM512 213.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM469.333333 554.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="alert-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 554.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM512 213.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="activity" unicode="" d="M424.490667 781.482667c-12.970667 38.912-68.010667 38.912-80.981334 0L225.28 426.666667H85.333333a42.666667 42.666667 0 0 1 0-85.333334h170.666667a42.666667 42.666667 0 0 1 40.490667 29.184L384 633.088l215.509333-646.570667c12.970667-38.912 68.010667-38.912 80.981334 0L798.72 341.333333H938.666667a42.666667 42.666667 0 0 1 0 85.333334h-170.666667a42.666667 42.666667 0 0 1-40.490667-29.184L640 134.912 424.490667 781.482667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="alert-triangle" unicode="" d="M402.432 753.237333a128.085333 128.085333 0 0 0 219.136 0L983.296 149.333333A128 128 0 0 0 873.386667-42.666667H150.144a128 128 0 0 0-109.098667 192.597334l361.386667 603.306666zM114.602667 106.666667A42.666667 42.666667 0 0 1 150.613333 42.666667h722.304a42.666667 42.666667 0 0 1 36.821334 63.402666L548.48 709.162667a42.666667 42.666667 0 0 1-72.917333 0.085333L114.602667 106.666667zM512 170.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM469.333333 512v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V512a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="align-center" unicode="" d="M768 512H256a42.666667 42.666667 0 1 1 0-85.333333h512a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM768 170.666667H256a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="airplay" unicode="" d="M213.333333 213.333333H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V682.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h682.666666a42.666667 42.666667 0 0 0 42.666667-42.666666v-426.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-42.666666a42.666667 42.666667 0 0 1 0-85.333333h42.666666a128 128 0 0 1 128 128V682.666667a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-426.666667a128 128 0 0 1 128-128h42.666666a42.666667 42.666667 0 0 1 0 85.333333zM512 189.354667L389.76 42.666667h244.48L512 189.354667zM725.333333-42.666667H298.666667a42.666667 42.666667 0 0 0-32.768 69.973334l213.333333 256a42.666667 42.666667 0 0 0 65.536 0l213.333333-256A42.666667 42.666667 0 0 0 725.333333-42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="align-justify" unicode="" d="M896 512H128a42.666667 42.666667 0 1 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 170.666667H128a42.666667 42.666667 0 0 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="align-left" unicode="" d="M725.333333 512H128a42.666667 42.666667 0 1 1 0-85.333333h597.333333a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM725.333333 170.666667H128a42.666667 42.666667 0 0 1 0-85.333334h597.333333a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="align-right" unicode="" d="M896 512H298.666667a42.666667 42.666667 0 1 1 0-85.333333h597.333333a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 170.666667H298.666667a42.666667 42.666667 0 0 1 0-85.333334h597.333333a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-down-left" unicode="" d="M737.834667 670.165333l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666zM298.666667 512a42.666667 42.666667 0 1 1-85.333334 0v-384a42.666667 42.666667 0 0 1 42.666667-42.666667h384a42.666667 42.666667 0 0 1 0 85.333334H298.666667V512z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-down-right" unicode="" d="M225.834667 609.834667l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666zM384 170.666667a42.666667 42.666667 0 0 1 0-85.333334h384a42.666667 42.666667 0 0 1 42.666667 42.666667V512a42.666667 42.666667 0 0 1-85.333334 0v-341.333333H384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="anchor" unicode="" d="M554.666667 2.346667000000025A384.170667 384.170667 0 0 1 893.653333 341.33333300000004H810.666667a42.666667 42.666667 0 0 0 0 85.333334h128a42.666667 42.666667 0 0 0 42.666666-42.666667c0-259.2-210.133333-469.333333-469.333333-469.333333S42.666667 124.79999999999995 42.666667 384a42.666667 42.666667 0 0 0 42.666666 42.666667h128a42.666667 42.666667 0 0 0 0-85.333334H130.346667A384.170667 384.170667 0 0 1 469.333333 2.346667000000025V554.666667a42.666667 42.666667 0 0 0 85.333334 0v-552.32zM512 512a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="aperture" unicode="" d="M456.533333-82.09066700000005a469.76 469.76 0 0 0-375.893333 280.917334A467.797333 467.797333 0 0 0 42.666667 384c0 102.954667 33.152 198.186667 89.386666 275.584a42.410667 42.410667 0 0 0 4.650667 6.272 468.608 468.608 0 0 0 424.917333 184.874667 469.76 469.76 0 0 0 381.781334-281.6C967.808 512.426667 981.333333 449.792 981.333333 384a467.2 467.2 0 0 0-89.386666-275.584 42.410667 42.410667 0 0 0-4.650667-6.272 468.608 468.608 0 0 0-424.917333-184.874667 42.410667 42.410667 0 0 0-5.802667 0.64z m-14.72 88.490667L536.661333 170.66666699999996H192.682667a384.213333 384.213333 0 0 1 249.130666-164.266667z m95.317334-5.589333a383.146667 383.146667 0 0 1 266.794666 133.717333L709.12 298.66666699999996 647.68 192.42666699999995a42.666667 42.666667 0 0 0-0.426667-0.725334L537.173333 0.8533330000000205z m122.709333 383.146666L585.941333 512h-147.882666l-73.898667-128 73.898667-128h147.882666l73.898667 128z m86.698667 20.522667l109.952-190.336c25.301333 51.2 39.509333 108.885333 39.509333 169.856 0 44.885333-7.68 87.978667-21.845333 128h-189.696l61.056-105.728a42.624 42.624 0 0 0 1.024-1.792zM149.845333 256h189.696l-61.056 105.728a42.624 42.624 0 0 0-1.024 1.792L167.509333 553.856A382.421333 382.421333 0 0 1 128 384c0-44.885333 7.68-87.978667 21.845333-128z m70.229334 377.472L314.88 469.333333 376.32 575.573333a42.666667 42.666667 0 0 0 0.426667 0.725334L486.826667 767.146667a383.146667 383.146667 0 0 1-266.794667-133.717334z m362.112 128.128L487.338667 597.333333H831.317333a384.213333 384.213333 0 0 1-249.130666 164.266667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-left" unicode="" d="M853.333333 426.666667H170.666667a42.666667 42.666667 0 0 1 0-85.333334h682.666666a42.666667 42.666667 0 0 1 0 85.333334zM456.832 609.834667a42.666667 42.666667 0 1 1-60.330667 60.330666l-256-256a42.666667 42.666667 0 0 1 0-60.330666l256-256a42.666667 42.666667 0 1 1 60.330667 60.330666L230.997333 384l225.834667 225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-right" unicode="" d="M170.666667 341.333333h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 0 1 0-85.333334zM567.168 158.165333a42.666667 42.666667 0 0 1 60.330667-60.330666l256 256a42.666667 42.666667 0 0 1 0 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330667-60.330666L793.002667 384l-225.834667-225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-down" unicode="" d="M469.333333 725.333333v-682.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a42.666667 42.666667 0 0 1-85.333334 0zM286.165333 328.832a42.666667 42.666667 0 1 1-60.330666-60.330667l256-256a42.666667 42.666667 0 0 1 60.330666 0l256 256a42.666667 42.666667 0 0 1-60.330666 60.330667L512 102.997333l-225.834667 225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-up-left" unicode="" d="M798.165333 158.165333l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666zM640 597.333333a42.666667 42.666667 0 0 1 0 85.333334H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-384a42.666667 42.666667 0 0 1 85.333334 0V597.333333h341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-up-right" unicode="" d="M286.165333 97.83466699999997l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666zM725.333333 256a42.666667 42.666667 0 0 1 85.333334 0V640a42.666667 42.666667 0 0 1-42.666667 42.666667H384a42.666667 42.666667 0 1 1 0-85.333334h341.333333v-341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-up" unicode="" d="M554.666667 42.666667V725.333333a42.666667 42.666667 0 0 1-85.333334 0v-682.666666a42.666667 42.666667 0 0 1 85.333334 0zM737.834667 439.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-256 256a42.666667 42.666667 0 0 1-60.330666 0l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330667L512 665.002667l225.834667-225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="award" unicode="" d="M304.646221 283.538374a341.323094 341.323094 0 1 0 414.792889 0l48.211887-363.210437a42.665387 42.665387 0 0 0-64.254072-42.238733L512-7.0129100000000335l-191.396925-114.812555a42.665387 42.665387 0 0 0-64.211407 42.196067l48.211887 363.210437z m79.9976-45.651964l-31.99904-241.059435 137.382545 82.429527a42.665387 42.665387 0 0 0 43.945348 0l137.382545-82.429527-31.956374 241.059435A340.384455 340.384455 0 0 0 512 213.35381299999995a340.384455 340.384455 0 0 0-127.356179 24.532597zM512 298.68458599999997a255.99232 255.99232 0 1 1 0 511.984641 255.99232 255.99232 0 0 1 0-511.984641z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bar-chart" unicode="" d="M810.666667 725.333333v-682.666666h85.333333V725.333333h-85.333333z m-42.666667 85.333334h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-768a42.666667 42.666667 0 0 0-42.666666-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM469.333333 512v-469.333333h85.333334V512h-85.333334z m-42.666666 85.333333h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666666v-554.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666zM128 42.666667h85.333333v256H128v-256z m-42.666667 341.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v341.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="at-sign" unicode="" d="M725.333333 384v-42.666667a85.333333 85.333333 0 1 1 170.666667 0v42.666667a384 384 0 1 1-150.528-304.896 42.666667 42.666667 0 1 0 51.882667-67.754667A469.333333 469.333333 0 1 0 981.333333 384v-42.666667a170.666667 170.666667 0 0 0-309.76-98.901333A213.333333 213.333333 0 1 0 725.333333 384z m-213.333333-128a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bar-chart-" unicode="" d="M469.333333 725.333333v-682.666666h85.333334V725.333333h-85.333334z m-42.666666 85.333334h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-768a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM810.666667 512v-469.333333h85.333333V512h-85.333333z m-42.666667 85.333333h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666666v-554.666667a42.666667 42.666667 0 0 0-42.666666-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666zM128 42.666667h85.333333v256H128v-256z m-42.666667 341.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v341.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="battery-charging" unicode="" d="M213.333333 170.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666666V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h136.106667a42.666667 42.666667 0 1 1 0 85.333334H128a128 128 0 0 1-128-128v-341.333334a128 128 0 0 1 128-128h85.333333a42.666667 42.666667 0 0 1 0 85.333334zM640 597.333333h85.333333a42.666667 42.666667 0 0 0 42.666667-42.666666v-341.333334a42.666667 42.666667 0 0 0-42.666667-42.666666h-136.106666a42.666667 42.666667 0 0 1 0-85.333334H725.333333a128 128 0 0 1 128 128V554.666667a128 128 0 0 1-128 128h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM1024 341.333333v85.333334a42.666667 42.666667 0 0 1-85.333333 0v-85.333334a42.666667 42.666667 0 0 1 85.333333 0zM348.501333 151.68a42.666667 42.666667 0 0 1 70.997334-47.36l170.666666 256A42.666667 42.666667 0 0 1 554.666667 426.666667H378.410667l126.421333 189.653333a42.666667 42.666667 0 1 1-70.997333 47.36l-170.666667-256A42.666667 42.666667 0 0 1 298.666667 341.333333h176.256l-126.421334-189.653333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bell-off" unicode="" d="M386.503252 734.704171A255.868761 255.868761 0 0 0 768.131509 511.671902v-170.579174a42.644793 42.644793 0 0 1 85.289586 0V511.671902A341.158348 341.158348 0 0 1 344.626065 808.906112a42.644793 42.644793 0 1 1 41.877187-74.201941zM256.393987 298.447934V511.671902a255.911405 255.911405 0 0 0 28.529367 117.742274A42.644793 42.644793 0 1 1 209.058267 668.604741 341.158348 341.158348 0 0 1 171.1044 511.629257V298.447934a85.289587 85.289587 0 0 0-85.289586-85.289586c-56.84551 0-56.84551-85.289587 0-85.289587h639.671901a42.644793 42.644793 0 0 1 0 85.289587H233.579023c14.49923 25.075139 22.814964 54.201532 22.814964 85.289586z m292.756507-277.105867a42.644793 42.644793 0 0 0-73.775492 0 42.644793 42.644793 0 0 1-73.775493-42.815373 127.93438 127.93438 0 0 1 221.326478 0 42.644793 42.644793 0 0 1-73.775493 42.815373zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="battery" unicode="" d="M85.334187 554.282667v-340.565334c0-23.765333 19.114667-43.050667 42.453333-43.050666h597.76c23.381333 0 42.453333 19.2 42.453333 43.050666V554.24C768.000853 578.048 748.886187 597.333333 725.54752 597.333333H127.78752C104.406187 597.333333 85.334187 578.133333 85.334187 554.282667z m-85.333334 0A128.042667 128.042667 0 0 0 127.78752 682.666667h597.76A128.170667 128.170667 0 0 0 853.334187 554.282667v-340.565334A128.042667 128.042667 0 0 0 725.54752 85.333333H127.78752A128.170667 128.170667 0 0 0 0.000853 213.717333V554.24zM1024.000853 341.333333v85.333334a42.666667 42.666667 0 0 1-85.333333 0v-85.333334a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bluetooth" unicode="" d="M554.660072 17.7251l131.648983 131.648983L554.660072 281.023065v-263.297965zM686.309055 618.634876L554.660072 750.283859v-263.297966L686.309055 618.634876z m-439.100123-30.160671a42.660072 42.660072 0 0 0 60.321342 60.321342l469.260794-469.260793a42.660072 42.660072 0 0 0 0-60.321342l-234.630397-234.630397c-26.875845-26.875845-72.820743-7.849453-72.820743 30.160671V853.265273c0 37.967464 45.944898 57.036516 72.820743 30.160671l234.630397-234.630397a42.660072 42.660072 0 0 0 0-60.321342l-469.260794-469.260793a42.660072 42.660072 0 1 0-60.321342 60.321342L554.660072 486.985893v-205.962828L247.208932 588.474205z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bell" unicode="" d="M768 298.66666699999996V512A256 256 0 0 1 256 512v-213.333333c0-31.104-8.32-60.245333-22.826667-85.333334h557.653334A169.898667 169.898667 0 0 0 768 298.66666699999996z m170.666667-170.666667H85.333333c-56.874667 0-56.874667 85.333333 0 85.333333a85.333333 85.333333 0 0 1 85.333334 85.333334V512a341.333333 341.333333 0 0 0 682.666666 0v-213.333333a85.333333 85.333333 0 0 1 85.333334-85.333334c56.874667 0 56.874667-85.333333 0-85.333333zM548.906667 21.418667000000028a42.666667 42.666667 0 0 0-73.813334 0 42.666667 42.666667 0 0 1-73.813333-42.837334 128 128 0 0 1 221.44 0 42.666667 42.666667 0 0 1-73.813333 42.837334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="book" unicode="" d="M853.333333 853.333333a42.666667 42.666667 0 0 0 42.666667-42.666666v-853.333334a42.666667 42.666667 0 0 0-42.666667-42.666666H277.333333A149.333333 149.333333 0 0 0 128 64v640A149.333333 149.333333 0 0 0 277.333333 853.333333H853.333333z m-42.666666-640V768H277.333333A64 64 0 0 1 213.333333 704v-505.045333A148.736 148.736 0 0 0 277.333333 213.33333300000004H810.666667z m0-85.333333H277.333333a64 64 0 0 1 0-128H810.666667v128z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="briefcase" unicode="" d="M298.666667 640V682.666667a128 128 0 0 0 128 128h170.666666a128 128 0 0 0 128-128v-42.666667h128.426667A127.914667 127.914667 0 0 0 981.333333 511.744v-426.154667A128.128 128.128 0 0 0 853.76-42.66666699999996H170.24A127.914667 127.914667 0 0 0 42.666667 85.58933300000001V511.744A128.128 128.128 0 0 0 170.24 640H298.666667z m0-85.333333H170.24C147.2 554.666667 128 535.381333 128 511.744v-426.154667A42.581333 42.581333 0 0 1 170.24 42.66666699999996H298.666667V554.666667z m85.333333 0v-512h256V554.666667H384z m341.333333 0v-512h128.426667c23.04 0 42.24 19.285333 42.24 42.922666V511.744A42.581333 42.581333 0 0 1 853.76 554.666667H725.333333zM384 640h256V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-170.666666a42.666667 42.666667 0 0 1-42.666667-42.666666v-42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="camera-off" unicode="" d="M682.884567 273.415441l328.620778-328.620779a42.644793 42.644793 0 0 0-60.299738-60.299738L878.410944-42.71041300000002H128.459607a127.93438 127.93438 0 0 0-127.93438 127.93438V554.316695a127.93438 127.93438 0 0 0 127.93438 127.93438h24.989849L13.020151 822.68038A42.644793 42.644793 0 1 0 73.319889 882.980118l371.265572-371.265572 1.151409-1.108764 236.038932-236.038932 1.108765-1.151409z m-28.870526-91.686306a213.223967 213.223967 0 0 0-301.157531 301.072241L238.739043 596.961489H128.459607a42.644793 42.644793 0 0 1-42.644793-42.644794v-469.092728a42.644793 42.644793 0 0 1 42.644793-42.644793h664.661751l-139.107317 139.107316z m-60.470317 60.427672L413.326827 422.373704a127.93438 127.93438 0 0 1 180.216897-180.216897z m96.462523 373.781615A42.644793 42.644793 0 0 1 725.486715 596.961489h170.579174a42.644793 42.644793 0 0 0 42.644793-42.644794v-398.302371a42.644793 42.644793 0 0 1 85.289587 0V554.316695a127.93438 127.93438 0 0 1-127.93438 127.93438h-147.764209l-72.624084 108.957448A42.644793 42.644793 0 0 1 640.197128 810.185456H384.328368a42.644793 42.644793 0 1 1 0-85.289587h233.053796l72.624083-108.957447z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="calendar" unicode="" d="M384 768h256V810.666667a42.666667 42.666667 0 0 0 85.333333 0v-42.666667h85.546667A127.786667 127.786667 0 0 0 938.666667 640.213333v-597.76A127.786667 127.786667 0 0 0 810.88-85.33333300000004H213.12A127.786667 127.786667 0 0 0 85.333333 42.45333300000004V640.213333A127.786667 127.786667 0 0 0 213.12 768H298.666667V810.666667a42.666667 42.666667 0 1 0 85.333333 0v-42.666667z m469.333333-341.333333H170.666667v-384.213334c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V426.666667zM384 682.666667v-42.666667a42.666667 42.666667 0 1 0-85.333333 0V682.666667H213.12A42.453333 42.453333 0 0 1 170.666667 640.213333V512h682.666666V640.213333A42.453333 42.453333 0 0 1 810.88 682.666667H725.333333v-42.666667a42.666667 42.666667 0 0 0-85.333333 0V682.666667H384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bookmark" unicode="" d="M768 82.901333V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666H298.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-599.765334l231.210667 165.12a42.666667 42.666667 0 0 0 49.578666 0L768 82.944zM238.122667-34.730667A42.666667 42.666667 0 0 0 170.666667 0V682.666667a128 128 0 0 0 128 128h426.666666a128 128 0 0 0 128-128v-682.666667a42.666667 42.666667 0 0 0-67.456-34.730667L512 160.896l-273.877333-195.626667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="box" unicode="" d="M568.96 872.362667l341.333333-170.666667A128 128 0 0 0 981.333333 587.093333v-406.613333a128 128 0 0 0-70.954666-114.517333l-341.333334-170.666667a128 128 0 0 0-114.517333 0L113.066667 66.00533299999995A127.872 127.872 0 0 0 42.666667 180.90666699999997V587.093333a128 128 0 0 0 70.954666 114.517334L455.04 872.362667a128 128 0 0 0 113.92 0zM512 474.368l331.050667 165.546667-312.106667 156.032a42.624 42.624 0 0 1-37.845333 0L180.949333 639.9573330000001 512 474.368z m384 96.597333l-341.333333-170.666666v-416.810667l317.653333 158.848A42.666667 42.666667 0 0 1 896 180.48000000000002V570.965333zM469.333333-16.725332999999978v417.024l-341.333333 170.666666v-390.357333c-0.128-16.213333 8.96-31.104 23.338667-38.357333L469.333333-16.725332999999978z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="camera" unicode="" d="M334.165333 616.32A42.666667 42.666667 0 0 0 298.666667 597.333333H128a42.666667 42.666667 0 0 1-42.666667-42.666666v-469.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h768a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-170.666667a42.666667 42.666667 0 0 0-35.498666 18.986667L617.173333 725.333333h-210.346666L334.165333 616.32zM896 682.666667a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H128a128 128 0 0 0-128 128V554.666667a128 128 0 0 0 128 128h147.84l72.661333 109.013333A42.666667 42.666667 0 0 0 384 810.666667h256a42.666667 42.666667 0 0 0 35.498667-18.986667L748.16 682.666667H896zM512 128a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="check-circle" unicode="" d="M896 423.68V384a384 384 0 1 0-227.712 351.018667 42.666667 42.666667 0 1 1 34.730667 77.909333A469.333333 469.333333 0 1 1 981.333333 384v39.722667a42.666667 42.666667 0 0 1-85.333333 0zM414.165333 456.832a42.666667 42.666667 0 0 1-60.330666-60.330667l128-128a42.666667 42.666667 0 0 1 60.330666 0l469.333334 469.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L512 358.997333l-97.834667 97.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="check" unicode="" d="M200.832 371.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l213.333334-213.333333a42.666667 42.666667 0 0 1 60.330666 0l469.333334 469.333333a42.666667 42.666667 0 1 1-60.330667 60.330667L384 188.330667l-183.168 183.168z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="check-square" unicode="" d="M371.498667 456.832a42.666667 42.666667 0 0 1-60.330667-60.330667l128-128a42.666667 42.666667 0 0 1 60.330667 0l469.333333 469.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L469.333333 358.997333l-97.834666 97.834667zM810.666667 384v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V682.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h469.333333a42.666667 42.666667 0 0 1 0 85.333334H170.666667a128 128 0 0 1-128-128v-597.333334a128 128 0 0 1 128-128h597.333333a128 128 0 0 1 128 128v298.666667a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cast" unicode="" d="M76.8 167.253333a170.666667 170.666667 0 0 0 133.12-133.12 42.666667 42.666667 0 0 1 83.626667 17.066667 256 256 0 0 1-199.68 199.68 42.666667 42.666667 0 0 1-17.066667-83.626667z m3.84 172.202667a341.333333 341.333333 0 0 0 301.482667-301.525333 42.666667 42.666667 0 1 1 84.821333 9.472 426.666667 426.666667 0 0 1-376.874667 376.874666 42.666667 42.666667 0 1 1-9.472-84.821333zM128 554.666667V640a42.666667 42.666667 0 0 0 42.666667 42.666667h682.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-512a42.666667 42.666667 0 0 0-42.666667-42.666667h-256a42.666667 42.666667 0 0 1 0-85.333333h256a128 128 0 0 1 128 128V640a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0zM85.333333 42.666667m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevron-down" unicode="" d="M286.165333 542.165333a42.666667 42.666667 0 0 1-60.330666-60.330666l256-256a42.666667 42.666667 0 0 1 60.330666 0l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666L512 316.330667 286.165333 542.165333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevron-left" unicode="" d="M670.165333 609.834667a42.666667 42.666667 0 1 1-60.330666 60.330666l-256-256a42.666667 42.666667 0 0 1 0-60.330666l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666L444.330667 384l225.834666 225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevron-right" unicode="" d="M353.834667 158.165333a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 0 1 0 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666L579.669333 384l-225.834666-225.834667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevron-up" unicode="" d="M737.834667 225.834667a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666 0l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666L512 451.669333l225.834667-225.834666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevrons-down" unicode="" d="M328.832 371.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l213.333334-213.333333a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333333a42.666667 42.666667 0 0 1-60.330667 60.330667L512 188.330667l-183.168 183.168zM328.832 670.165333a42.666667 42.666667 0 0 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L512 486.997333 328.832 670.165333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevrons-right" unicode="" d="M524.501333 200.832a42.666667 42.666667 0 0 1 60.330667-60.330667l213.333333 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333333 213.333334a42.666667 42.666667 0 0 1-60.330667-60.330667L707.669333 384l-183.168-183.168zM225.834667 200.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L409.002667 384l-183.168-183.168z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevrons-up" unicode="" d="M695.168 396.501333a42.666667 42.666667 0 0 1 60.330667 60.330667l-213.333334 213.333333a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333333a42.666667 42.666667 0 0 1 60.330667-60.330667L512 579.669333l183.168-183.168zM512 281.002667l183.168-183.168a42.666667 42.666667 0 0 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 0 1 60.330667-60.330666L512 281.002667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevrons-left" unicode="" d="M499.498667 567.168a42.666667 42.666667 0 1 1-60.330667 60.330667l-213.333333-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333333-213.333334a42.666667 42.666667 0 0 1 60.330667 60.330667L316.330667 384l183.168 183.168zM798.165333 567.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 60.330667L614.997333 384l183.168 183.168z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="clipboard" unicode="" d="M298.666667 768c0.213333 46.976 38.4 85.333333 85.205333 85.333333h256.256c47.104 0 84.992-37.973333 85.205333-85.333333h42.666667a128 128 0 0 0 128-128v-597.333333a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V640a128 128 0 0 0 128 128h42.666667z m0-85.333333H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-597.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V640a42.666667 42.666667 0 0 1-42.666667 42.666667h-42.666667c-0.213333-46.976-38.4-85.333333-85.205333-85.333334H383.872A85.248 85.248 0 0 0 298.666667 682.666667z m85.205333 85.333333c0.341333 0 0.128-0.213333 0.128-0.426667v-84.48C384 682.752 384 682.666667 383.914667 682.666667h256.213333C639.786667 682.666667 640 682.88 640 683.093333V767.573333c0 0.298667 0 0.426667 0.085333 0.426667H383.872z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chrome" unicode="" d="M462.378667-82.77333299999998a42.410667 42.410667 0 0 0-5.802667 0.682666C223.488-54.65599999999995 42.666667 143.530667 42.666667 384c0 102.954667 33.152 198.186667 89.386666 275.584a42.410667 42.410667 0 0 0 4.650667 6.272A468.608 468.608 0 0 0 512 853.333333a469.418667 469.418667 0 0 0 431.36-284.16c24.448-56.832 37.973333-119.424 37.973333-185.173333 0-259.2-210.133333-469.333333-469.333333-469.333333-16.768 0-33.28 0.853333-49.621333 2.56z m-20.608 89.173333l95.616 165.76a213.333333 213.333333 0 0 0-214.528 113.066667l-155.306667 268.672A382.421333 382.421333 0 0 1 128 384c0-188.074667 135.253333-344.618667 313.770667-377.6z m95.317333-5.589333A384 384 0 0 1 874.154667 512H682.666667c26.794667-35.669333 42.666667-79.957333 42.666666-128 0-41.941333-12.117333-81.066667-33.024-114.090667l-155.221333-269.098666z m82.389333 313.642666l3.2 5.546667c0.554667 0.981333 1.152 1.962667 1.792 2.858667a128 128 0 1 1-226.56 2.986666l3.413334-5.845333c0.554667-0.938667 1.066667-1.92 1.536-2.901333a127.914667 127.914667 0 0 1 216.618666-2.645334zM220.16 633.5146669999999l95.701333-165.589334A213.376 213.376 0 0 0 512 597.333333h319.317333A383.616 383.616 0 0 1 512 768a383.146667 383.146667 0 0 1-291.925333-134.485333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="clock" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM554.666667 640a42.666667 42.666667 0 0 1-85.333334 0v-256a42.666667 42.666667 0 0 1 12.501334-30.165333l128-128a42.666667 42.666667 0 0 1 60.330666 60.330666L554.666667 401.664V640z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud-lightning" unicode="" d="M384.070136 896a383.99632 383.99632 0 0 1-185.939552-719.9931 42.666258 42.666258 0 0 1 41.300938 74.665951A298.663804 298.663804 0 1 0 673.262031 586.669631a42.666258 42.666258 0 0 1 41.300938-31.999693H768.322453a170.665031 170.665031 0 0 0 34.175673-337.916762 42.666258 42.666258 0 0 1 16.98117-83.625865A255.997547 255.997547 0 0 1 768.279787 640.002453h-22.186454a383.99632 383.99632 0 0 1-362.023197 255.997547zM434.160322-61.644156a42.666258 42.666258 0 0 1 70.996653-47.359546l170.665032 255.997547A42.666258 42.666258 0 0 1 640.32368 213.339875h-176.254311l126.420122 189.651516a42.666258 42.666258 0 1 1-70.996653 47.359546l-170.665031-255.997546A42.666258 42.666258 0 0 1 384.326133 128.00736h176.254311l-126.420122-189.651516z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud-drizzle" unicode="" d="M298.831787 85.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM298.831787 341.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM640.16512 85.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM640.16512 341.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.498453 0v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM469.498453 256v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM405.498453 895.36A384 384 0 0 1 144.207787 212.053333a42.666667 42.666667 0 0 1 53.248 66.645334A298.666667 298.666667 0 1 0 673.103787 586.666667a42.666667 42.666667 0 0 1 41.301333-32H768.16512a170.666667 170.666667 0 0 0 68.224-326.997334 42.666667 42.666667 0 0 1 34.218667-78.165333A256 256 0 0 1 768.207787 640h-22.229334A384 384 0 0 1 405.498453 895.36z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud-rain" unicode="" d="M640.16512 341.333333v-341.333333a42.666667 42.666667 0 0 1 85.333333 0v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM298.831787 341.333333v-341.333333a42.666667 42.666667 0 0 1 85.333333 0v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.498453 256v-341.333333a42.666667 42.666667 0 0 1 85.333334 0v341.333333a42.666667 42.666667 0 0 1-85.333334 0zM405.498453 895.36A384 384 0 0 1 144.207787 212.053333a42.666667 42.666667 0 0 1 53.248 66.645334A298.666667 298.666667 0 1 0 673.103787 586.666667a42.666667 42.666667 0 0 1 41.301333-32H768.16512a170.666667 170.666667 0 0 0 68.224-326.997334 42.666667 42.666667 0 0 1 34.218667-78.165333A256 256 0 0 1 768.207787 640h-22.229334A384 384 0 0 1 405.498453 895.36z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud-off" unicode="" d="M420.661732 767.370083a42.474214 42.474214 0 0 1-45.971088-38.721472 42.559504 42.559504 0 0 1 38.508249-46.226956 297.3195 297.3195 0 0 0 261.583163-223.885166 42.431569 42.431569 0 0 1 41.109581-32.154174h53.433926a169.38512 169.38512 0 0 0 141.580714-76.248891 171.389425 171.389425 0 0 0 14.840388-160.813516 42.730083 42.730083 0 0 1 22.516451-55.864679 42.303635 42.303635 0 0 1 55.608811 22.60174 257.062815 257.062815 0 0 1-22.260582 241.198952A254.077679 254.077679 0 0 1 769.240273 511.671902h-21.876779a382.054704 382.054704 0 0 1-326.701762 255.698181zM197.544172 719.607914c-153.308032-85.289587-229.215765-264.568299-184.097573-434.763669 45.160836-170.238015 199.748212-287.681777 374.890379-284.86722h380.988585c29.552842 0 58.849815 5.24531 86.568931 15.352126 22.004713 8.059866 33.348228 32.495333 25.373652 54.62798a42.34628 42.34628 0 0 1-54.329467 25.544231c-18.50784-6.737877-37.996511-10.23475-57.655761-10.23475H387.654662a297.276855 297.276855 0 0 0-292.24477 221.539702 299.153226 299.153226 0 0 0 143.158572 338.130567c20.469501 11.38616 27.93234 37.356839 16.631469 57.954274a42.26099 42.26099 0 0 1-57.655761 16.674115zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="codepen" unicode="" d="M535.253333 846.421333l426.666667-277.333333A42.666667 42.666667 0 0 0 981.333333 533.333333v-298.666666a42.666667 42.666667 0 0 0-19.413333-35.754667l-426.666667-277.333333a42.666667 42.666667 0 0 0-46.506666 0l-426.666667 277.333333A42.666667 42.666667 0 0 0 42.666667 234.66666699999996v298.666666a42.666667 42.666667 0 0 0 19.413333 35.754667l426.666667 277.333333a42.666667 42.666667 0 0 0 46.506666 0zM469.333333 732.074667L161.621333 531.9680000000001 298.666667 436.096l170.666666 119.466667V732.032z m85.333334 0V555.52l170.666666-119.466667 137.045334 95.914667L554.666667 732.032zM512 286.72L650.922667 384 512 481.28 373.077333 384 512 286.72z m384 29.866667v134.741333L799.744 384 896 316.58666700000003z m-33.621333-80.64L725.333333 331.904l-170.666666-119.466667v-176.469333l307.712 200.021333z m-700.757334 0L469.333333 35.96799999999996v176.469333l-170.666666 119.466667-137.045334-95.914667zM128 316.58666700000003L224.256 384 128 451.413333v-134.826666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud-snow" unicode="" d="M405.632 852.693333A384 384 0 0 1 144.298667 169.386667a42.666667 42.666667 0 0 1 53.290666 66.645333A298.666667 298.666667 0 1 0 673.194667 544a42.666667 42.666667 0 0 1 41.301333-32h53.76a170.666667 170.666667 0 0 0 68.266667-326.997333 42.666667 42.666667 0 0 1 34.218666-78.165334A256 256 0 0 1 768.341333 597.333333h-22.272a384 384 0 0 1-340.48 255.36zM682.666667 256m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM512 170.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM341.333333 256m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM341.333333 42.666667m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM512-42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM682.666667 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM682.666667 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="compass" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM455.253333 440.746667L398.592 270.506667l170.154667 56.746666 56.746666 170.154667-170.154666-56.746667z m278.144 110.677333l-90.453333-271.36a42.666667 42.666667 0 0 0-27.008-27.008l-271.36-90.453333a42.666667 42.666667 0 0 0-53.973333 53.973333l90.453333 271.36a42.666667 42.666667 0 0 0 27.008 27.008l271.36 90.453333a42.666667 42.666667 0 0 0 53.973333-53.973333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="copy" unicode="" d="M426.666667 426.538667v-383.744A42.666667 42.666667 0 0 1 469.461333 0h383.744A42.666667 42.666667 0 0 1 896 42.794667v383.744A42.666667 42.666667 0 0 1 853.205333 469.333333h-383.744A42.666667 42.666667 0 0 1 426.666667 426.538667z m-85.333334 0A128 128 0 0 0 469.461333 554.666667h383.744A128 128 0 0 0 981.333333 426.538667v-383.744A128 128 0 0 0 853.205333-85.333333h-383.744A128 128 0 0 0 341.333333 42.794667v383.744zM213.333333 298.666667H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h384a42.666667 42.666667 0 0 0 42.666666-42.666667v-42.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-384a128 128 0 0 1 128-128h42.666666a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-down-right" unicode="" d="M609.834667 72.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L793.002667 256l-183.168-183.168zM128 725.333333v-298.666666a213.333333 213.333333 0 0 1 213.333333-213.333334h512a42.666667 42.666667 0 0 1 0 85.333334H341.333333a128 128 0 0 0-128 128V725.333333a42.666667 42.666667 0 1 1-85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-down-left" unicode="" d="M414.165333 439.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 1 1 60.330666 60.330667L230.997333 256l183.168 183.168zM810.666667 725.333333v-298.666666a128 128 0 0 0-128-128H170.666667a42.666667 42.666667 0 0 1 0-85.333334h512a213.333333 213.333333 0 0 1 213.333333 213.333334V725.333333a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-left-down" unicode="" d="M200.832 286.165333a42.666667 42.666667 0 1 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 0 1-60.330667 60.330666L384 102.997333l-183.168 183.168zM853.333333 768h-298.666666a213.333333 213.333333 0 0 1-213.333334-213.333333v-512a42.666667 42.666667 0 0 1 85.333334 0V554.666667a128 128 0 0 0 128 128h298.666666a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-left-up" unicode="" d="M567.168 481.834667a42.666667 42.666667 0 1 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 0 1 60.330667-60.330666L384 665.002667l183.168-183.168zM853.333333 85.333333h-298.666666a128 128 0 0 0-128 128V725.333333a42.666667 42.666667 0 1 1-85.333334 0v-512a213.333333 213.333333 0 0 1 213.333334-213.333333h298.666666a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-up-left" unicode="" d="M414.165333 695.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 1 1 60.330666 60.330667L230.997333 512l183.168 183.168zM896 42.666667v298.666666a213.333333 213.333333 0 0 1-213.333333 213.333334H170.666667a42.666667 42.666667 0 1 1 0-85.333334h512a128 128 0 0 0 128-128v-298.666666a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-up-right" unicode="" d="M609.834667 328.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L793.002667 512l-183.168-183.168zM213.333333 42.666667v298.666666a128 128 0 0 0 128 128h512a42.666667 42.666667 0 0 1 0 85.333334H341.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-298.666666a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-right-down" unicode="" d="M456.832 286.16533300000003a42.666667 42.666667 0 1 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 0 1-60.330667 60.330666L640 102.99733300000003l-183.168 183.168zM170.666667 682.666667h298.666666a128 128 0 0 0 128-128v-512a42.666667 42.666667 0 0 1 85.333334 0V554.666667a213.333333 213.333333 0 0 1-213.333334 213.333333H170.666667a42.666667 42.666667 0 1 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="corner-right-up" unicode="" d="M823.168 481.834667a42.666667 42.666667 0 1 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 1 1 60.330667-60.330666L640 665.002667l183.168-183.168zM170.666667 0h298.666666a213.333333 213.333333 0 0 1 213.333334 213.333333V725.333333a42.666667 42.666667 0 0 1-85.333334 0v-512a128 128 0 0 0-128-128H170.666667a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cpu" unicode="" d="M213.333333 640.256v-512.512c0-23.381333 19.029333-42.410667 42.410667-42.410667h512.512a42.453333 42.453333 0 0 1 42.410667 42.410667V640.256A42.453333 42.453333 0 0 1 768.256 682.666667H255.744A42.453333 42.453333 0 0 1 213.333333 640.256z m-85.333333 0A127.786667 127.786667 0 0 0 255.744 768h512.512A127.786667 127.786667 0 0 0 896 640.256v-512.512A127.786667 127.786667 0 0 0 768.256 0H255.744A127.786667 127.786667 0 0 0 128 127.74400000000003V640.256zM426.666667 298.66666699999996h170.666666v170.666666h-170.666666v-170.666666zM384 554.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-256a42.666667 42.666667 0 0 0-42.666667-42.666667H384a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667zM341.333333 853.333333a42.666667 42.666667 0 1 0 85.333334 0v-128a42.666667 42.666667 0 1 0-85.333334 0V853.333333z m256 0a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0V853.333333zM341.333333 42.66666699999996a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0v128z m256 0a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0v128z m256 426.666666a42.666667 42.666667 0 0 0 0 85.333334h128a42.666667 42.666667 0 0 0 0-85.333334h-128z m0-213.333333a42.666667 42.666667 0 0 0 0 85.333333h128a42.666667 42.666667 0 0 0 0-85.333333h-128zM42.666667 469.333333a42.666667 42.666667 0 1 0 0 85.333334h128a42.666667 42.666667 0 1 0 0-85.333334H42.666667z m0-213.333333a42.666667 42.666667 0 0 0 0 85.333333h128a42.666667 42.666667 0 0 0 0-85.333333H42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="credit-card" unicode="" d="M0 640.256A127.616 127.616 0 0 0 127.616 768H896.426667A127.744 127.744 0 0 0 1024 640.256v-512.512A127.616 127.616 0 0 0 896.384 0H127.573333A127.744 127.744 0 0 0 0 127.74400000000003V640.256zM938.666667 512V640.256A42.410667 42.410667 0 0 1 896.384 682.666667H127.573333A42.282667 42.282667 0 0 1 85.333333 640.256V512h853.333334z m0-85.333333H85.333333v-298.922667c0-23.381333 18.986667-42.410667 42.282667-42.410667H896.426667a42.282667 42.282667 0 0 1 42.282666 42.410667V426.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="crosshair" unicode="" d="M469.333333 2.346667000000025V128a42.666667 42.666667 0 0 0 85.333334 0v-125.653333A384.170667 384.170667 0 0 1 893.653333 341.33333300000004H768a42.666667 42.666667 0 0 0 0 85.333334h125.653333A384.170667 384.170667 0 0 1 554.666667 765.653333V640a42.666667 42.666667 0 0 0-85.333334 0V765.653333A384.170667 384.170667 0 0 1 130.346667 426.666667H256a42.666667 42.666667 0 0 0 0-85.333334H130.346667A384.170667 384.170667 0 0 1 469.333333 2.346667000000025zM512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="disc" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM512 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="delete" unicode="" d="M896 768a128 128 0 0 0 128-128v-512a128 128 0 0 0-128-128H341.333333a42.666667 42.666667 0 0 0-32.128 14.549333l-298.666666 341.333334a42.666667 42.666667 0 0 0 0 56.234666l298.666666 341.333334A42.666667 42.666667 0 0 0 341.333333 768h554.666667z m0-682.666667a42.666667 42.666667 0 0 1 42.666667 42.666667V640a42.666667 42.666667 0 0 1-42.666667 42.666667H360.704l-261.333333-298.666667 261.333333-298.666667H896zM737.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666zM481.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="download-cloud" unicode="" d="M512.468907 17.663999999999987l-140.501334 140.501333a42.666667 42.666667 0 1 1-60.330666-60.330666l170.666666-170.666667a42.666667 42.666667 0 0 1 60.330667 0l170.666667 170.666667a42.666667 42.666667 0 0 1-60.330667 60.330666L512.468907 17.663999999999987zM469.80224 341.33333300000004v-384a42.666667 42.666667 0 0 1 85.333333 0v384a42.666667 42.666667 0 0 1-85.333333 0zM427.988907 765.9946669999999a384 384 0 0 1-331.477334-635.989334 42.666667 42.666667 0 0 1 63.914667 56.576A298.666667 298.666667 0 1 0 673.32224 458.666667a42.666667 42.666667 0 0 1 41.344-32.042667H768.468907a170.666667 170.666667 0 0 0 98.346666-310.272 42.666667 42.666667 0 0 1 49.066667-69.802667A256 256 0 0 1 768.468907 512h-22.101334a384 384 0 0 1-318.293333 253.994667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="download" unicode="" d="M85.333333 170.666667v-128a128 128 0 0 1 128-128h597.333334a128 128 0 0 1 128 128v128a42.666667 42.666667 0 0 1-85.333334 0v-128a42.666667 42.666667 0 0 0-42.666666-42.666667H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v128a42.666667 42.666667 0 0 1-85.333334 0zM512 273.664l-140.501333 140.501333a42.666667 42.666667 0 1 1-60.330667-60.330666l170.666667-170.666667a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666667a42.666667 42.666667 0 0 1-60.330667 60.330666L512 273.664zM469.333333 810.666667v-597.333334a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="droplet" unicode="" d="M301.098667 501.034667a290.986667 290.986667 0 0 1-64.853334-320.64c46.250667-109.952 155.136-181.674667 275.968-181.674667s229.717333 71.68 275.968 181.674667a290.986667 290.986667 0 0 1-64.853333 320.64L512 709.162667 301.098667 501.034667z m241.066666 297.301333l241.493334-237.866667a374.144 374.144 0 0 0 83.328-412.245333C807.594667 6.869333 667.562667-85.333333 512.213333-85.333333c-155.306667 0-295.381333 92.16-354.773333 233.557333a374.144 374.144 0 0 0 83.285333 412.202667l241.066667 237.909333a43.093333 43.093333 0 0 0 60.373333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="edit-" unicode="" d="M170.666667 195.669333V42.666667h153.002666l512 512L682.666667 707.669333l-512-512zM712.832 798.165333l213.333333-213.333333a42.666667 42.666667 0 0 0 0-60.330667l-554.666666-554.666666A42.666667 42.666667 0 0 0 341.333333-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667v213.333333a42.666667 42.666667 0 0 0 12.501334 30.165334l554.666666 554.666666a42.666667 42.666667 0 0 0 60.330667 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="edit" unicode="" d="M810.666667 270.506667V42.666667a42.666667 42.666667 0 0 0-42.666667-42.666667H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 0 0 42.666667 42.666667h227.84a42.666667 42.666667 0 1 1 0 85.333333H170.666667a128 128 0 0 1-128-128v-597.333333a128 128 0 0 1 128-128h597.333333a128 128 0 0 1 128 128v227.84a42.666667 42.666667 0 0 1-85.333333 0zM384 366.336V256h110.336l384 384L768 750.336l-384-384z m414.165333 474.496l170.666667-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-426.666667-426.666667A42.666667 42.666667 0 0 0 512 170.666667H341.333333a42.666667 42.666667 0 0 0-42.666666 42.666666v170.666667a42.666667 42.666667 0 0 0 12.501333 30.165333l426.666667 426.666667a42.666667 42.666667 0 0 0 60.330666 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="edit-1" unicode="" d="M170.666667 323.669333V213.333333h110.336l426.666666 426.666667L597.333333 750.336l-426.666666-426.666667zM627.498667 840.832l170.666666-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-469.333333-469.333334A42.666667 42.666667 0 0 0 298.666667 128H128a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 12.501334 30.165334l469.333333 469.333333a42.666667 42.666667 0 0 0 60.330667 0zM128-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333H128a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="external-link" unicode="" d="M725.333333 341.333333v-256a42.666667 42.666667 0 0 0-42.666666-42.666666H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V554.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h256a42.666667 42.666667 0 0 1 0 85.333334H213.333333a128 128 0 0 1-128-128v-469.333334a128 128 0 0 1 128-128h469.333334a128 128 0 0 1 128 128v256a42.666667 42.666667 0 0 1-85.333334 0zM853.333333 725.333333v-213.333333a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333333zM456.832 268.501333l469.333333 469.333334a42.666667 42.666667 0 1 1-60.330666 60.330666l-469.333334-469.333333a42.666667 42.666667 0 0 1 60.330667-60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="eye" unicode="" d="M109.844053 353.834667c24.533333-37.973333 53.504-75.989333 86.613334-111.36C289.172053 143.744 394.900053 85.333333 512.020053 85.333333c117.12 0 222.890667 58.368 315.52 157.184A789.888 789.888 0 0 1 932.713387 384a789.888 789.888 0 0 1-105.130667 141.482667C734.91072 624.298667 629.140053 682.666667 512.020053 682.666667 394.900053 682.666667 289.129387 624.298667 196.500053 525.482667A789.888 789.888 0 0 1 91.32672 384c5.376-9.301333 11.52-19.413333 18.474667-30.165333zM4.54272 403.072c5.973333 11.989333 17.237333 32 33.621333 57.429333a874.325333 874.325333 0 0 0 96.042667 123.306667C241.556053 698.410667 367.80672 768 512.020053 768c144.213333 0 270.464-69.632 377.813334-184.149333a874.325333 874.325333 0 0 0 96-123.349334c16.426667-25.429333 27.690667-45.44 33.706666-57.429333a42.666667 42.666667 0 0 0 0-38.144c-6.016-11.989333-17.28-32-33.706666-57.429333a874.325333 874.325333 0 0 0-96-123.306667C782.484053 69.589333 656.233387 0 512.020053 0c-144.213333 0-270.464 69.632-377.813333 184.149333a874.325333 874.325333 0 0 0-96 123.349334 648.021333 648.021333 0 0 0-33.706667 57.429333 42.666667 42.666667 0 0 0 0 38.144zM512.020053 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="feather" unicode="" d="M230.997333 42.66666699999996l-115.498666-115.498667a42.666667 42.666667 0 1 0-60.330667 60.330667L170.666667 102.99733300000003V448a42.666667 42.666667 0 0 0 12.501333 30.165333l288 288a298.794667 298.794667 0 0 0 422.613333-422.570666l-287.573333-288.426667A42.666667 42.666667 0 0 0 576 42.66666699999996H230.997333z m256 256l241.365334-0.085334 104.96 105.301334a213.504 213.504 0 1 1-301.824 301.952L256 430.336v-242.005333l396.501333 396.501333a42.666667 42.666667 0 0 0 60.330667-60.330667L486.997333 298.66666699999996z m156.373334-85.333334H401.664l-85.333333-85.333333h241.92l85.12 85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="facebook" unicode="" d="M384 597.333333a256 256 0 0 0 256 256h128a42.666667 42.666667 0 0 0 42.666667-42.666666v-170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-128v-85.333333h128a42.666667 42.666667 0 0 0 41.386667-53.034667l-42.666667-170.666666A42.666667 42.666667 0 0 0 725.333333 256h-85.333333v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h85.333333V597.333333z m341.333333 170.666667h-85.333333a170.666667 170.666667 0 0 1-170.666667-170.666667v-128a42.666667 42.666667 0 0 0-42.666666-42.666666H341.333333v-85.333334h85.333334a42.666667 42.666667 0 0 0 42.666666-42.666666v-298.666667h85.333334v298.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h94.72l21.333334 85.333334H597.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V597.333333a85.333333 85.333333 0 0 0 85.333333 85.333334h85.333333V768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="file-minus" unicode="" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333zM384 213.33333300000004a42.666667 42.666667 0 0 0 0 85.333334h256a42.666667 42.666667 0 0 0 0-85.333334H384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="eye-off" unicode="" d="M284.838065 603.144984a42.644793 42.644793 0 1 1-51.77078 67.805221A829.441232 829.441232 0 0 1 5.642602 403.908509a42.644793 42.644793 0 0 1-0.554382-39.23321c5.970271-11.983187 17.228497-31.983595 33.604097-57.399892 27.164733-42.005122 59.148329-83.967598 95.99343-123.243453C241.937402 69.488038 368.123346-0.06562 512.262748-0.06562a472.546956 472.546956 0 0 1 279.152818 96.590457 42.644793 42.644793 0 1 1-51.68549 67.805222A386.788277 386.788277 0 0 0 511.580431 85.223967c-116.420286 0-222.094084 58.338077-314.718575 157.103419a789.483061 789.483061 0 0 0-104.948837 141.282201 744.151646 744.151646 0 0 0 192.925046 219.535397z m571.78139-327.981107a42.644793 42.644793 0 0 1 65.246534-54.926494 831.573472 831.573472 0 0 1 97.102195 143.414441 42.644793 42.644793 0 0 1 0.511737 39.14792c-5.970271 11.983187-17.228497 31.983595-33.604097 57.399892a873.877107 873.877107 0 0 1-95.99343 123.243453C782.588094 697.987004 656.40215 767.540662 512.262748 767.540662a431.352086 431.352086 0 0 1-99.277079-11.343515 42.644793 42.644793 0 0 1 19.446026-83.072057A346.275723 346.275723 0 0 0 512.177458 682.251075c117.145248 0 222.861691-58.338077 315.443537-157.103419a789.483061 789.483061 0 0 0 105.034127-141.324845 746.283885 746.283885 0 0 0-76.035667-108.658934z m-285.165734 47.250431a85.289587 85.289587 0 1 0-120.514186 120.514187 42.644793 42.644793 0 1 1-58.167498 62.431977 170.579174 170.579174 0 1 1 241.113662-241.113662 42.644793 42.644793 0 1 1-62.431978 58.167498zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="fast-forward" unicode="" d="M580.864 51.626667A42.666667 42.666667 0 0 0 512 85.333333V682.666667a42.666667 42.666667 0 0 0 68.864 33.706666l384-298.666666a42.666667 42.666667 0 0 0 0-67.413334l-384-298.666666zM869.12 384L597.333333 595.413333v-422.826666L869.162667 384zM111.530667 51.626667A42.666667 42.666667 0 0 0 42.666667 85.333333V682.666667a42.666667 42.666667 0 0 0 68.864 33.706666l384-298.666666a42.666667 42.666667 0 0 0 0-67.413334l-384-298.666666zM399.786667 384L128 595.413333v-422.826666L399.829333 384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="file-text" unicode="" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333z m85.333334-469.333333a42.666667 42.666667 0 0 0 0-85.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333333h341.333334z m0-170.666667a42.666667 42.666667 0 0 0 0-85.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333333h341.333334z m-256 341.333334a42.666667 42.666667 0 0 0 0-85.333334H341.333333a42.666667 42.666667 0 1 0 0 85.333334h85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="film" unicode="" d="M42.666667 717.738667A135.68 135.68 0 0 0 178.261333 853.333333h667.477334A135.68 135.68 0 0 0 981.333333 717.738667v-667.477334A135.68 135.68 0 0 0 845.738667-85.33333300000004H178.261333A135.68 135.68 0 0 0 42.666667 50.261333000000036V717.738667zM341.333333 768v-341.333333h341.333334V768H341.333333z m0-768h341.333334v341.333333H341.333333v-341.333333z m554.666667 426.666667V554.666667h-128v-128h128z m0-85.333334h-128v-128h128v128zM128 341.33333300000004v-128h128v128H128z m0 85.333334h128V554.666667H128v-128z m640 341.333333v-128h128V717.738667A50.346667 50.346667 0 0 1 845.738667 768H768z m128-640h-128v-128h77.738667A50.346667 50.346667 0 0 1 896 50.261333000000036V128zM256 768H178.261333A50.346667 50.346667 0 0 1 128 717.738667V640h128V768z m0-768v128H128v-77.738667C128 22.61333300000001 150.570667 0 178.261333 0H256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="file" unicode="" d="M554.666667 853.333333a42.666667 42.666667 0 0 0 30.165333-12.501333l298.666667-298.666667A42.666667 42.666667 0 0 0 896 512v-469.333333a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h298.666667z m-42.666667-341.333333V768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V469.333333h-256a42.666667 42.666667 0 0 0-42.666667 42.666667z m85.333333 195.669333V554.666667h153.002667L597.333333 707.669333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="file-plus" unicode="" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333z m-128-640H384a42.666667 42.666667 0 0 0 0 85.333334h85.333333v85.333333a42.666667 42.666667 0 0 0 85.333334 0v-85.333333h85.333333a42.666667 42.666667 0 0 0 0-85.333334h-85.333333v-85.333333a42.666667 42.666667 0 0 0-85.333334 0v85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="folder" unicode="" d="M170.666667 725.333333a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333H170.666667z m682.666666-42.666666a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667H853.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="filter" unicode="" d="M384 348.757333l-331.264 391.68A42.666667 42.666667 0 0 0 85.333333 810.666667h853.333334a42.666667 42.666667 0 0 0 32.597333-70.229334L640 348.757333V0a42.666667 42.666667 0 0 0-61.738667-38.144l-170.666666 85.333333A42.666667 42.666667 0 0 0 384 85.33333300000004v263.424zM177.28 725.333333l281.984-333.397333a42.666667 42.666667 0 0 0 10.069333-27.562667v-252.672l85.333334-42.666666V364.373333a42.666667 42.666667 0 0 0 10.069333 27.562667L846.72 725.333333H177.28z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="flag" unicode="" d="M128-42.66666699999996V768a42.666667 42.666667 0 0 0 12.501333 30.165333c9.386667 9.386667 26.197333 20.608 51.626667 30.762667C230.698667 844.373333 280.064 853.333333 341.333333 853.333333c60.458667 0 101.674667-11.776 186.496-45.738666C603.008 777.557333 636.458667 768 682.666667 768c50.730667 0 89.344 7.04 117.504 18.261333 14.549333 5.845333 21.674667 10.624 22.997333 11.946667C850.048 825.045333 896 805.973333 896 768v-512a42.666667 42.666667 0 0 0-12.501333-30.165333c-9.386667-9.386667-26.197333-20.608-51.626667-30.762667-38.528-15.445333-87.893333-24.405333-149.205333-24.405333-60.458667 0-101.674667 11.776-186.496 45.738666C420.992 246.44266700000003 387.541333 256 341.333333 256c-50.730667 0-89.344-7.04-117.504-18.261333a174.677333 174.677333 0 0 1-10.496-4.608V-42.66666699999996a42.666667 42.666667 0 0 0-85.333333 0z m213.333333 384c60.458667 0 101.674667-11.776 186.496-45.738666 75.178667-30.037333 108.629333-39.594667 154.837334-39.594667 50.730667 0 89.344 7.04 117.504 18.261333 4.053333 1.664 7.552 3.2 10.496 4.608v420.693334c-34.986667-10.794667-77.397333-16.896-128-16.896-60.458667 0-101.674667 11.776-186.496 45.738666C420.992 758.442667 387.541333 768 341.333333 768c-50.730667 0-89.344-7.04-117.504-18.261333A174.677333 174.677333 0 0 1 213.333333 745.130667v-420.693334C248.32 335.23199999999997 290.730667 341.33333300000004 341.333333 341.33333300000004z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="globe" unicode="" d="M512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m211.2 426.666666a695.466667 695.466667 0 0 0-114.176-328.96A384.341333 384.341333 0 0 1 893.653333 341.33333300000004H723.2z m-422.272 0H130.346667a384.341333 384.341333 0 0 1 284.629333-328.96A696.789333 696.789333 0 0 0 300.928 341.33333300000004z m308.096 414.293334A696.789333 696.789333 0 0 0 723.072 426.666667h170.581333a384.341333 384.341333 0 0 1-284.629333 328.96z m-194.048 0A384.341333 384.341333 0 0 1 130.346667 426.666667H300.8a695.466667 695.466667 0 0 0 114.176 328.96zM386.474667 341.33333300000004A610.133333 610.133333 0 0 1 512 23.46666700000003 609.621333 609.621333 0 0 1 637.653333 341.33333300000004H386.474667z m251.050666 85.333334A610.133333 610.133333 0 0 1 512 744.533333 609.621333 609.621333 0 0 1 386.346667 426.666667h251.178666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="grid" unicode="" d="M170.666667 512h213.333333V725.333333H170.666667v-213.333333zM128 810.666667h298.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666666H128a42.666667 42.666667 0 0 0-42.666667 42.666666V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM640 512h213.333333V725.333333h-213.333333v-213.333333z m-42.666667 298.666667h298.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-298.666667a42.666667 42.666667 0 0 0-42.666666 42.666666V768a42.666667 42.666667 0 0 0 42.666666 42.666667zM640 42.666667h213.333333v213.333333h-213.333333v-213.333333z m-42.666667 298.666666h298.666667a42.666667 42.666667 0 0 0 42.666667-42.666666v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-298.666667a42.666667 42.666667 0 0 0-42.666666 42.666667v298.666667a42.666667 42.666667 0 0 0 42.666666 42.666666zM170.666667 42.666667h213.333333v213.333333H170.666667v-213.333333z m-42.666667 298.666666h298.666667a42.666667 42.666667 0 0 0 42.666666-42.666666v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667v298.666667a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="heart" unicode="" d="M527.061333 729.472A277.333333 277.333333 0 0 0 1000.618667 533.333333a277.333333 277.333333 0 0 0-81.28-196.138666l-377.173334-377.173334a42.666667 42.666667 0 0 0-60.330666 0l-377.173334 377.173334a277.376 277.376 0 0 0 392.277334 392.277333l15.061333-15.061333 15.061333 15.061333z m286.72-377.173333l45.226667 45.226666a192 192 0 0 1-135.808 327.893334 192 192 0 0 1-135.808-56.32l-45.226667-45.226667a42.666667 42.666667 0 0 0-60.330666 0l-45.226667 45.226667a192.042667 192.042667 0 0 1-271.616-271.573334L512 50.517333l301.781333 301.781334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="home" unicode="" d="M101.802667 545.7066669999999l384 298.666666a42.666667 42.666667 0 0 0 52.394666 0l384-298.666666A42.666667 42.666667 0 0 0 938.666667 512v-469.333333a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128V512a42.666667 42.666667 0 0 0 16.469334 33.706667zM682.666667 0h128a42.666667 42.666667 0 0 1 42.666666 42.666667V491.093333l-341.333333 265.514667-341.333333-265.472V42.66666699999996a42.666667 42.666667 0 0 1 42.666666-42.666667h128v384a42.666667 42.666667 0 0 0 42.666667 42.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-384z m-256 0h170.666666v341.333333h-170.666666v-341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="github" unicode="" d="M371.754667 83.541333c-91.818667-27.562667-128.896-12.970667-174.805334 43.861334-3.072 3.797333-15.786667 19.968-19.2 24.192-27.477333 33.92-49.408 52.309333-82.048 60.458666a42.666667 42.666667 0 0 1-20.736-82.773333c9.813333-2.474667 19.712-10.752 36.394667-31.36 2.986667-3.626667 15.701333-19.797333 19.2-24.106667 66.304-82.133333 138.026667-110.293333 265.685333-72.021333a42.666667 42.666667 0 0 1-24.490666 81.749333zM960 489.813333a274.773333 274.773333 0 0 1-58.837333 169.856 258.986667 258.986667 0 0 1-12.458667 167.808 42.666667 42.666667 0 0 1-27.093333 24.106667 64.085333 64.085333 0 0 1-8.96 1.877333c-40.064 5.802667-98.858667-10.026667-177.621334-59.989333a613.546667 613.546667 0 0 1-283.392 0C312.874667 843.434667 254.08 859.306667 213.973333 853.461333a64.085333 64.085333 0 0 1-8.96-1.877333 42.666667 42.666667 0 0 1-27.050666-24.106667 258.986667 258.986667 0 0 1-12.458667-167.808A274.773333 274.773333 0 0 1 106.666667 488.32c0-196.778667 87.893333-292.949333 247.466666-329.6a186.453333 186.453333 0 0 1-12.714666-81.92L341.333333-85.333333a42.666667 42.666667 0 0 1 85.333334 0v165.12c-2.133333 31.616 8.106667 59.776 28.117333 80.426666a42.666667 42.666667 0 0 1-25.429333 71.978667C267.52 252.330667 192 315.776 192 488.533333a189.568 189.568 0 0 0 52.224 131.84 42.666667 42.666667 0 0 1 9.088 44.373334 173.653333 173.653333 0 0 0-5.973333 102.058666c2.986667-0.64 6.272-1.493333 9.856-2.56 27.52-7.893333 61.781333-24.490667 103.04-52.181333a42.666667 42.666667 0 0 1 34.944-5.717333 528.213333 528.213333 0 0 0 276.309333 0 42.666667 42.666667 0 0 1 34.944 5.717333c41.258667 27.690667 75.52 44.288 103.04 52.224 3.584 1.024 6.826667 1.877333 9.813333 2.56a173.653333 173.653333 0 0 0-5.930666-102.101333 42.666667 42.666667 0 0 1 9.088-44.373334A189.44 189.44 0 0 0 874.666667 489.813333c0-174.421333-76.032-238.336-236.8-256.256a42.666667 42.666667 0 0 1-25.941334-72.106666 101.12 101.12 0 0 0 28.202667-78.336L640-85.333333a42.666667 42.666667 0 0 1 85.333333 0v165.12a177.237333 177.237333 0 0 1-12.373333 79.658666c158.72 35.2 247.04 132.266667 247.04 330.368z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="image" unicode="" d="M213.333333-42.66666699999996h-0.213333A127.786667 127.786667 0 0 0 85.333333 85.12V682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.333333z m640 401.664v323.84A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88v-597.76c0-18.261333 11.52-33.792 27.648-39.808L652.501333 499.498667a42.666667 42.666667 0 0 0 60.330667 0L853.333333 358.997333z m0-120.661333l-170.666666 170.666667L316.330667 42.66666699999996h494.506666c23.466667 0 42.496 18.986667 42.496 42.453333v153.173333zM362.666667 426.666667a106.666667 106.666667 0 1 0 0 213.333333 106.666667 106.666667 0 0 0 0-213.333333z m0 85.333333a21.333333 21.333333 0 1 1 0 42.666667 21.333333 21.333333 0 0 1 0-42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="inbox" unicode="" d="M311.466667 768h401.066666a128 128 0 0 0 117.077334-76.117333l148.053333-333.226667A42.666667 42.666667 0 0 0 981.333333 341.33333300000004v-213.333333a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128v213.333333a42.666667 42.666667 0 0 0 3.669333 17.322667l148.053333 333.226667A128 128 0 0 0 311.466667 768z m561.536-384l-121.386667 273.28A42.666667 42.666667 0 0 1 712.533333 682.666667H311.466667a42.666667 42.666667 0 0 1-39.082667-25.386667L151.04 384H341.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L449.493333 256h125.013334l72.661333 109.013333A42.666667 42.666667 0 0 0 682.666667 384h190.336zM896 128v170.666667h-190.506667l-72.661333-109.013334A42.666667 42.666667 0 0 0 597.333333 170.66666699999996h-170.666666a42.666667 42.666667 0 0 0-35.498667 18.986666L318.506667 298.66666699999996H128v-170.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="layers" unicode="" d="M492.928 848.810667a42.666667 42.666667 0 0 0 38.144 0l426.666667-213.333334a42.666667 42.666667 0 0 0 0-76.288l-426.666667-213.333333a42.666667 42.666667 0 0 0-38.144 0l-426.666667 213.333333a42.666667 42.666667 0 0 0 0 76.288l426.666667 213.333334zM180.736 597.333333L512 431.701333 843.264 597.333333 512 762.965333 180.736 597.333333zM104.405333 208.810667a42.666667 42.666667 0 0 1-38.144-76.288l426.666667-213.333334a42.666667 42.666667 0 0 1 38.144 0l426.666667 213.333334a42.666667 42.666667 0 0 1-38.144 76.288L512 5.034667l-407.594667 203.776zM104.405333 422.144a42.666667 42.666667 0 0 1-38.144-76.288l426.666667-213.333333a42.666667 42.666667 0 0 1 38.144 0l426.666667 213.333333a42.666667 42.666667 0 0 1-38.144 76.288L512 218.368l-407.594667 203.776z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="info" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM554.666667 213.333333v170.666667a42.666667 42.666667 0 0 1-85.333334 0v-170.666667a42.666667 42.666667 0 0 1 85.333334 0zM512 554.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="instagram" unicode="" d="M128 597.546667v-427.093334A170.453333 170.453333 0 0 1 298.453333 0h427.093334A170.453333 170.453333 0 0 1 896 170.453333V597.546667A170.453333 170.453333 0 0 1 725.546667 768H298.453333A170.453333 170.453333 0 0 1 128 597.546667z m-85.333333 0A255.786667 255.786667 0 0 0 298.453333 853.333333h427.093334A255.786667 255.786667 0 0 0 981.333333 597.546667v-427.093334A255.786667 255.786667 0 0 0 725.546667-85.333333H298.453333A255.786667 255.786667 0 0 0 42.666667 170.453333V597.546667zM640.426667 404.608a128 128 0 1 1-253.184-37.546667 128 128 0 0 1 253.226666 37.546667z m84.48 12.544a213.333333 213.333333 0 1 0-422.101334-62.592 213.333333 213.333333 0 0 0 422.058667 62.592zM725.333333 640m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="layout" unicode="" d="M85.333333 682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM853.333333 554.666667V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88V554.666667h682.666666z m0-85.333334H426.666667v-426.666666h384.213333c23.466667 0 42.453333 18.986667 42.453333 42.453333V469.333333zM341.333333 42.66666699999996V469.333333H170.666667v-384.213333c0-23.466667 18.986667-42.453333 42.453333-42.453333H341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="link-" unicode="" d="M640 554.666667h128a170.666667 170.666667 0 1 0 0-341.333334h-128a42.666667 42.666667 0 0 1 0-85.333333h128a256 256 0 1 1 0 512h-128a42.666667 42.666667 0 0 1 0-85.333333z m-256-341.333334H256a170.666667 170.666667 0 0 0 0 341.333334h128a42.666667 42.666667 0 1 1 0 85.333333H256a256 256 0 1 1 0-512h128a42.666667 42.666667 0 0 1 0 85.333333zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="life-buoy" unicode="" d="M272.298667 83.96799999999996A382.378667 382.378667 0 0 1 512 0a382.378667 382.378667 0 0 1 239.701333 83.968l-122.026666 122.026667A212.352 212.352 0 0 0 512 170.66666699999996a212.352 212.352 0 0 0-117.632 35.328l-122.026667-122.026667z m-60.330667 60.330667l122.026667 122.026666A212.352 212.352 0 0 0 298.666667 384c0 43.52 13.013333 83.925333 35.328 117.632l-122.026667 122.026667A382.378667 382.378667 0 0 1 128 384c0-90.666667 31.402667-173.994667 83.968-239.701333z m60.330667 539.733333l122.026666-122.026667A212.352 212.352 0 0 0 512 597.333333c43.52 0 83.925333-13.013333 117.632-35.328l122.026667 122.026667A382.378667 382.378667 0 0 1 512 768a382.378667 382.378667 0 0 1-239.701333-83.968z m539.733333-60.330667l-122.026667-122.026666c22.314667-33.749333 35.328-74.197333 35.328-117.674667 0-43.52-13.013333-83.925333-35.328-117.632l122.026667-122.026667A382.378667 382.378667 0 0 1 896 384a382.378667 382.378667 0 0 1-83.968 239.701333zM512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 341.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="link" unicode="" d="M392.533333 315.776a256 256 0 0 1 386.005334-27.648l128 128a256 256 0 1 1-361.472 362.496l-73.813334-73.386667a42.666667 42.666667 0 1 1 60.16-60.501333l73.386667 72.96a170.538667 170.538667 0 0 0 238.805333-2.517333 170.666667 170.666667 0 0 0 2.090667-239.232l-127.488-127.488A170.666667 170.666667 0 0 0 460.8 366.933333a42.666667 42.666667 0 1 1-68.352-51.114666zM631.466667 452.224a256 256 0 0 1-386.005334 27.648l-128-128a256 256 0 1 1 361.472-362.496l73.472 73.472a42.666667 42.666667 0 0 1-60.330666 60.330667l-72.96-72.96c-66.432-64.170667-172.885333-63.232-238.72 2.602666a170.666667 170.666667 0 0 0-2.090667 239.232l127.488 127.488a170.666667 170.666667 0 0 0 257.365333-18.432 42.666667 42.666667 0 1 1 68.352 51.114667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="log-in" unicode="" d="M597.333333-85.333333h213.333334a128 128 0 0 1 128 128V725.333333a128 128 0 0 1-128 128h-213.333334a42.666667 42.666667 0 0 1 0-85.333333h213.333334a42.666667 42.666667 0 0 0 42.666666-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666666-42.666667h-213.333334a42.666667 42.666667 0 0 1 0-85.333333zM439.168 243.498667a42.666667 42.666667 0 0 1 60.330667-60.330667l170.666666 170.666667a42.666667 42.666667 0 0 1 0 60.330666l-170.666666 170.666667a42.666667 42.666667 0 0 1-60.330667-60.330667L579.669333 384l-140.501333-140.501333zM640 426.666667H128a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="list" unicode="" d="M341.333333 597.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 1 1 0-85.333334zM341.333333 341.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334zM341.333333 85.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334zM128 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM128 384m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM128 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="lock" unicode="" d="M256 469.333333V597.333333a256 256 0 1 0 512 0v-128h42.88A127.957333 127.957333 0 0 0 938.666667 341.674667v-299.349334A127.701333 127.701333 0 0 0 810.88-85.33333300000004H213.12A127.957333 127.957333 0 0 0 85.333333 42.325333v299.349334A127.701333 127.701333 0 0 0 213.12 469.333333H256z m-85.333333-127.658666v-299.349334c0-23.168 19.157333-42.325333 42.453333-42.325333h597.76c23.466667 0 42.453333 18.944 42.453333 42.325333v299.349334a42.624 42.624 0 0 1-42.453333 42.325333H213.12a42.368 42.368 0 0 1-42.453333-42.325333z m170.666666 127.786666h341.333334V597.333333a170.666667 170.666667 0 1 1-341.333334 0v-127.872z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="log-out" unicode="" d="M426.666667 0H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666666 42.666667h213.333334a42.666667 42.666667 0 0 1 0 85.333333H213.333333a128 128 0 0 1-128-128v-682.666666a128 128 0 0 1 128-128h213.333334a42.666667 42.666667 0 0 1 0 85.333333zM695.168 243.498667a42.666667 42.666667 0 0 1 60.330667-60.330667l170.666666 170.666667a42.666667 42.666667 0 0 1 0 60.330666l-170.666666 170.666667a42.666667 42.666667 0 0 1-60.330667-60.330667L835.669333 384l-140.501333-140.501333zM896 426.666667H384a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="loader" unicode="" d="M469.333333 810.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0zM469.333333 128v-170.666667a42.666667 42.666667 0 0 1 85.333334 0v170.666667a42.666667 42.666667 0 0 1-85.333334 0zM180.181333 655.488l120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667 60.330667l-120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667-60.330667zM662.741333 172.928l120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667 60.330667l-120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667-60.330667zM85.333333 341.333333h170.666667a42.666667 42.666667 0 0 1 0 85.333334H85.333333a42.666667 42.666667 0 0 1 0-85.333334zM768 341.333333h170.666667a42.666667 42.666667 0 0 1 0 85.333334h-170.666667a42.666667 42.666667 0 0 1 0-85.333334zM240.512 52.181333l120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667 60.330667l-120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667-60.330667zM723.072 534.741333l120.746667 120.746667a42.666667 42.666667 0 1 1-60.330667 60.330667l-120.746667-120.746667a42.666667 42.666667 0 1 1 60.330667-60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="mail" unicode="" d="M170.666667 768h682.666666c70.485333 0 128-57.514667 128-128v-512c0-70.485333-57.514667-128-128-128H170.666667c-70.485333 0-128 57.514667-128 128V640c0 70.485333 57.514667 128 128 128z m720.768-108.970667A42.922667 42.922667 0 0 1 853.333333 682.666667H170.666667c-16.554667 0-31.061333-9.685333-38.101334-23.637334L512 393.429333l379.434667 265.6zM896 558.0799999999999l-359.552-251.648a42.666667 42.666667 0 0 0-48.896 0L128 558.037333V128c0-23.381333 19.285333-42.666667 42.666667-42.666667h682.666666c23.381333 0 42.666667 19.285333 42.666667 42.666667V558.0799999999999z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="maximize-" unicode="" d="M853.333333 725.333333v-213.333333a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333333zM170.666667 256a42.666667 42.666667 0 0 1-85.333334 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666667h256a42.666667 42.666667 0 0 1 0 85.333334H170.666667v213.333333zM865.834667 798.165333l-298.666667-298.666666a42.666667 42.666667 0 1 1 60.330667-60.330667l298.666666 298.666667a42.666667 42.666667 0 1 1-60.330666 60.330666zM158.165333-30.165333l298.666667 298.666666a42.666667 42.666667 0 0 1-60.330667 60.330667l-298.666666-298.666667a42.666667 42.666667 0 0 1 60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="map" unicode="" d="M640 613.6320000000001l-256 128v-587.264l256-128V613.6320000000001z m85.333333 1.621333v-584.405333l213.333334 121.898667V737.152L725.333333 615.253333zM319.530667 847.36a42.453333 42.453333 0 0 0 41.642666 1.066667l320.170667-160.042667 278.826667 159.317333A42.666667 42.666667 0 0 0 1024 810.666667v-682.666667a42.666667 42.666667 0 0 0-21.504-37.034667l-298.666667-170.666666a42.666667 42.666667 0 0 0-40.234666-1.109334l-320.938667 160.426667-278.826667-159.317333A42.666667 42.666667 0 0 0 0-42.66666699999996V640a42.666667 42.666667 0 0 0 21.504 37.034667L319.530667 847.36zM298.666667 737.152L85.333333 615.253333v-584.405333l213.333334 121.898667V737.152z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="map-pin" unicode="" d="M545.408-7.253333a1243.946667 1243.946667 0 0 1 127.616 116.608C786.218667 228.821333 853.333333 351.872 853.333333 469.333333a341.333333 341.333333 0 0 1-682.666666 0c0-117.461333 67.114667-240.469333 180.309333-359.978666A1243.946667 1243.946667 0 0 1 512-32.981333c10.325333 7.68 21.546667 16.213333 33.408 25.685333z m189.568 57.898666a1328.298667 1328.298667 0 0 0-181.504-158.976c-8.32-6.016-14.378667-10.24-17.792-12.501333a42.666667 42.666667 0 0 0-47.36 0c-3.413333 2.304-9.472 6.485333-17.792 12.501333a1328.298667 1328.298667 0 0 0-181.504 158.976C162.218667 184.490667 85.333333 325.461333 85.333333 469.333333 85.333333 704.981333 276.352 896 512 896s426.666667-191.018667 426.666667-426.666667c0-143.872-76.885333-284.842667-203.690667-418.688zM512 298.666667a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="menu" unicode="" d="M128 341.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 0 1 0-85.333334zM128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM128 85.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="message-circle" unicode="" d="M357.717333 121.557333a42.666667 42.666667 0 0 0 32.725334-2.389333A314.965333 314.965333 0 0 1 533.333333 85.333333a320.085333 320.085333 0 0 1 286.165334 177.066667A314.88 314.88 0 0 1 853.333333 405.248l0.085334 19.114667C844.458667 586.752 714.752 716.373333 554.666667 725.333333h-21.461334a315.093333 315.093333 0 0 1-142.933333-33.92A320 320 0 0 1 213.333333 405.205333a314.88 314.88 0 0 1 33.834667-142.762666 42.666667 42.666667 0 0 0 2.389333-32.725334L195.413333 67.413333l162.261334 54.101334z m538.026667 102.570667A405.333333 405.333333 0 0 0 533.504 0a400.213333 400.213333 0 0 0-165.12 35.157333L141.525333-40.533333a42.666667 42.666667 0 0 0-53.973333 53.973333l75.648 226.901333A405.248 405.248 0 0 0 351.957333 767.701333 400.085333 400.085333 0 0 0 533.333333 810.666667l23.68-0.085334C762.88 799.232 927.232 634.88 938.666667 426.666667v-21.290667a400.042667 400.042667 0 0 0-42.88-181.248z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="message-square" unicode="" d="M268.501333 200.832A42.666667 42.666667 0 0 0 298.666667 213.333333h512a42.666667 42.666667 0 0 1 42.666666 42.666667V682.666667a42.666667 42.666667 0 0 1-42.666666 42.666666H213.333333a42.666667 42.666667 0 0 1-42.666666-42.666666v-579.669334l97.834666 97.834667z m-110.336-230.997333C131.285333-57.045333 85.333333-38.016 85.333333 0V682.666667a128 128 0 0 0 128 128h597.333334a128 128 0 0 0 128-128v-426.666667a128 128 0 0 0-128-128H316.330667l-158.165334-158.165333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="minimize-" unicode="" d="M384 42.666667a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-42.666666 42.666666H170.666667a42.666667 42.666667 0 0 1 0-85.333333h213.333333v-213.333333zM640 725.333333a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333h-213.333333V725.333333zM627.498667 439.168l298.666666 298.666667a42.666667 42.666667 0 1 1-60.330666 60.330666l-298.666667-298.666666a42.666667 42.666667 0 1 1 60.330667-60.330667zM158.165333-30.165333l298.666667 298.666666a42.666667 42.666667 0 0 1-60.330667 60.330667l-298.666666-298.666667a42.666667 42.666667 0 0 1 60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="mic-off" unicode="" d="M13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038zM341.683574 511.671902v-127.934381a170.579174 170.579174 0 0 1 291.136005-120.599476 42.644793 42.644793 0 0 1-60.299738 60.385028A85.289587 85.289587 0 0 0 426.973161 383.737521V511.671902a42.644793 42.644793 0 1 1-85.289587 0z m341.158348-14.49923V724.895869a170.579174 170.579174 0 0 1-337.746764 34.07319 42.644793 42.644793 0 0 1 83.583795-16.972628 85.289587 85.289587 0 0 0 168.873382-17.057917V497.172672a42.644793 42.644793 0 0 1 85.289587 0zM695.038333 202.497149A255.868761 255.868761 0 0 0 256.393987 383.439008V469.027108a42.644793 42.644793 0 1 1-85.289587 0v-85.289587a341.158348 341.158348 0 0 1 584.830698-240.943083 42.644793 42.644793 0 0 1-60.896765 59.702711zM768.131509 469.027108v-85.289587c0-15.053612-1.364633-30.064579-4.008611-44.904967a42.644793 42.644793 0 1 1 83.924954-15.096257A341.158348 341.158348 0 0 1 853.421095 383.737521V469.027108a42.644793 42.644793 0 0 1-85.289586 0zM469.617955 85.223967v-170.579174a42.644793 42.644793 0 0 1 85.289586 0v170.579174a42.644793 42.644793 0 0 1-85.289586 0zM341.683574-128h341.158348a42.644793 42.644793 0 0 1 0 85.289587H341.683574a42.644793 42.644793 0 0 1 0-85.289587z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="minus-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="mic" unicode="" d="M682.666667 725.333333v-341.333333a170.666667 170.666667 0 1 0-341.333334 0V725.333333a170.666667 170.666667 0 1 0 341.333334 0z m-170.666667 85.333334a85.333333 85.333333 0 0 1-85.333333-85.333334v-341.333333a85.333333 85.333333 0 1 1 170.666666 0V725.333333a85.333333 85.333333 0 0 1-85.333333 85.333334zM768 469.333333v-85.333333a256 256 0 0 0-512 0v85.333333a42.666667 42.666667 0 1 1-85.333333 0v-85.333333a341.333333 341.333333 0 0 1 682.666666 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.333333 85.333333v-170.666666a42.666667 42.666667 0 0 1 85.333334 0v170.666666a42.666667 42.666667 0 0 1-85.333334 0zM341.333333-128h341.333334a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="minus-square" unicode="" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="minus" unicode="" d="M213.333333 341.333333h597.333334a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="moon" unicode="" d="M476.202667 348.245333a342.058667 342.058667 0 0 0-79.786667 358.229334 341.973333 341.973333 0 1 1 438.016-438.016 342.058667 342.058667 0 0 0-358.229333 79.786666z m462.250666-2.773333A427.477333 427.477333 0 1 0 473.472 810.496c36.778667 3.413333 60.245333-38.272 38.314667-67.968a256.469333 256.469333 0 0 1 358.698666-358.741333c29.696 21.973333 71.381333-1.536 67.968-38.314667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="monitor" unicode="" d="M554.666667 128v-85.333333h128a42.666667 42.666667 0 0 0 0-85.333334H341.333333a42.666667 42.666667 0 0 0 0 85.333334h128v85.333333H170.24A127.914667 127.914667 0 0 0 42.666667 256.256V682.410667A128.128 128.128 0 0 0 170.24 810.666667h683.52A127.914667 127.914667 0 0 0 981.333333 682.410667v-426.154667A128.128 128.128 0 0 0 853.76 128H554.666667zM128 682.410667v-426.154667A42.581333 42.581333 0 0 1 170.24 213.33333300000004h683.52c23.04 0 42.24 19.285333 42.24 42.922667V682.410667A42.581333 42.581333 0 0 1 853.76 725.333333H170.24C147.2 725.333333 128 706.048 128 682.410667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="more-vertical" unicode="" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM512 597.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333334a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333zM512-85.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="more-horizontal" unicode="" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM853.333333 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM170.666667 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="move" unicode="" d="M243.498667 481.834667a42.666667 42.666667 0 0 1-60.330667 60.330666l-128-128a42.666667 42.666667 0 0 1 0-60.330666l128-128a42.666667 42.666667 0 1 1 60.330667 60.330666L145.664 384l97.834667 97.834667zM609.834667 652.501333a42.666667 42.666667 0 0 1 60.330666 60.330667l-128 128a42.666667 42.666667 0 0 1-60.330666 0l-128-128a42.666667 42.666667 0 0 1 60.330666-60.330667L512 750.336l97.834667-97.834667zM414.165333 115.498667a42.666667 42.666667 0 1 1-60.330666-60.330667l128-128a42.666667 42.666667 0 0 1 60.330666 0l128 128a42.666667 42.666667 0 0 1-60.330666 60.330667L512 17.664l-97.834667 97.834667zM780.501333 286.165333a42.666667 42.666667 0 0 1 60.330667-60.330666l128 128a42.666667 42.666667 0 0 1 0 60.330666l-128 128a42.666667 42.666667 0 0 1-60.330667-60.330666L878.336 384l-97.834667-97.834667zM85.333333 341.333333h853.333334a42.666667 42.666667 0 0 1 0 85.333334H85.333333a42.666667 42.666667 0 0 1 0-85.333334zM469.333333 810.666667v-853.333334a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="music" unicode="" d="M426.666667 646.528V85.33333300000004a128 128 0 0 0-128-128H213.333333a128 128 0 0 0 0 256h128V682.666667a42.666667 42.666667 0 0 0 35.669334 42.069333l512 85.333333A42.666667 42.666667 0 0 0 938.666667 768v-597.333333a128 128 0 0 0-128-128h-85.333334a128 128 0 0 0 0 256h128V717.653333L426.666667 646.528zM341.333333 128H213.333333a42.666667 42.666667 0 0 1 0-85.333333h85.333334a42.666667 42.666667 0 0 1 42.666666 42.666666v42.666667z m512 85.333333h-128a42.666667 42.666667 0 0 1 0-85.333333h85.333334a42.666667 42.666667 0 0 1 42.666666 42.666667v42.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="navigation-" unicode="" d="M293.845333 52.48l196.992 112.554667a42.666667 42.666667 0 0 0 42.325334 0l196.992-112.554667L512 644.565333 293.845333 52.48z m-59.306666-132.181333c-34.602667-19.754667-75.008 14.421333-61.226667 51.797333l298.666667 810.666667c13.696 37.205333 66.346667 37.205333 80.042666 0l298.666667-810.666667c13.781333-37.376-26.624-71.552-61.184-51.797333L512 78.848l-277.504-158.549333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="navigation" unicode="" d="M479.701333 340.053333a42.666667 42.666667 0 0 0 31.018667-31.018666l56.405333-225.706667 281.856 594.986667-594.986666-281.856 225.706666-56.405334z m-362.069333 2.56c-38.826667 9.728-44.117333 62.805333-7.893333 79.957334l810.666666 384c36.266667 17.152 73.984-20.608 56.832-56.832l-384-810.666667c-17.152-36.224-70.229333-30.933333-79.957333 7.893333l-79.146667 316.501334-316.501333 79.146666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="octagon" unicode="" d="M128 542.976v-317.952L353.024 0h317.952L896 225.024V542.976L670.976 768H353.024L128 542.976zM335.36 853.333333h353.28a42.666667 42.666667 0 0 0 30.165333-12.501333l250.026667-250.026667A42.666667 42.666667 0 0 0 981.333333 560.64v-353.28a42.666667 42.666667 0 0 0-12.501333-30.165333l-250.026667-250.026667a42.666667 42.666667 0 0 0-30.165333-12.501333H335.36a42.666667 42.666667 0 0 0-30.165333 12.501333l-250.026667 250.026667A42.666667 42.666667 0 0 0 42.666667 207.36V560.64a42.666667 42.666667 0 0 0 12.501333 30.165333l250.026667 250.026667A42.666667 42.666667 0 0 0 335.36 853.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="package" unicode="" d="M568.96 872.362667l341.333333-170.666667A128 128 0 0 0 981.333333 587.093333v-406.613333a128 128 0 0 0-70.954666-114.517333l-341.333334-170.666667a128 128 0 0 0-114.517333 0L113.066667 66.00533299999995A127.872 127.872 0 0 0 42.666667 180.90666699999997V587.093333a128 128 0 0 0 70.954666 114.517334L455.04 872.362667a128 128 0 0 0 113.92 0z m274.090667-232.490667l-312.106667 156.074667a42.624 42.624 0 0 1-37.845333 0L394.282667 746.624 725.333333 581.034667l117.717334 58.88zM896 570.965333l-151.125333-75.562666a42.837333 42.837333 0 0 0-0.853334-0.426667L554.666667 400.298667v-416.810667l317.653333 158.848A42.666667 42.666667 0 0 1 896 180.48000000000002V570.965333zM469.333333-16.725332999999978v417.024l-341.333333 170.666666v-390.357333c-0.128-16.213333 8.96-31.104 23.338667-38.357333L469.333333-16.725332999999978zM298.88 698.837333L180.949333 639.914667 512 474.368 629.930667 533.333333 298.88 698.88z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pause-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 256V512a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 85.333333 0zM640 256V512a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pause" unicode="" d="M298.666667 682.666667v-597.333334h85.333333V682.666667H298.666667zM256 768h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666666-42.666667H256a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667zM640 682.666667v-597.333334h85.333333V682.666667h-85.333333z m-42.666667 85.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666666 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="percent" unicode="" d="M780.501333 712.832l-597.333333-597.333333a42.666667 42.666667 0 0 1 60.330667-60.330667l597.333333 597.333333a42.666667 42.666667 0 1 1-60.330667 60.330667zM277.333333 469.333333a149.333333 149.333333 0 1 0 0 298.666667 149.333333 149.333333 0 0 0 0-298.666667z m0 85.333334a64 64 0 1 1 0 128 64 64 0 0 1 0-128zM746.666667 0a149.333333 149.333333 0 1 0 0 298.666667 149.333333 149.333333 0 0 0 0-298.666667z m0 85.333333a64 64 0 1 1 0 128 64 64 0 0 1 0-128z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-call" unicode="" d="M981.333333 3.5839999999999463a128 128 0 0 0-140.288-127.914667 886.613333 886.613333 0 0 0-386.474666 137.386667 874.24 874.24 0 0 0-268.928 268.8A887.68 887.68 0 0 0 47.957333 671.146667 128 128 0 0 0 175.36 810.666667H302.933333a128.085333 128.085333 0 0 0 128.042667-110.506667c4.992-37.76 14.250667-74.837333 27.52-110.421333a128.085333 128.085333 0 0 0-28.970667-135.253334l-30.592-30.549333a640 640 0 0 1 195.669334-195.669333l30.72 30.762666a128 128 0 0 0 134.997333 28.842667c35.669333-13.312 72.746667-22.570667 110.933333-27.605333A128 128 0 0 0 981.333333 130.986667v-127.36z m-85.333333 127.829333c0.554667 22.698667-15.232 41.344-36.266667 44.330667a590.72 590.72 0 0 0-129.365333 32.213333 42.581333 42.581333 0 0 1-44.8-9.429333l-54.186667-54.186667a42.666667 42.666667 0 0 0-51.285333-6.912 725.333333 725.333333 0 0 0-272 272 42.666667 42.666667 0 0 0 6.912 51.242667l54.016 54.016a42.666667 42.666667 0 0 1 9.557333 45.098667 589.525333 589.525333 0 0 0-32.128 128.853333A42.794667 42.794667 0 0 1 303.36 725.333333h-128a42.666667 42.666667 0 0 1-42.496-45.824 802.133333 802.133333 0 0 1 124.586667-351.573333 789.802667 789.802667 0 0 1 243.2-243.072 801.024 801.024 0 0 1 348.842666-124.288A42.666667 42.666667 0 0 1 896 3.413332999999966v128zM633.984 598.144a42.666667 42.666667 0 0 0 16.298667 83.712 256 256 0 0 0 202.24-202.24 42.666667 42.666667 0 1 0-83.712-16.298667 170.666667 170.666667 0 0 1-134.826667 134.826667z m3.413333 170.112a42.666667 42.666667 0 1 0 9.429334 84.821333 426.666667 426.666667 0 0 0 376.917333-376.405333 42.666667 42.666667 0 0 0-84.821333-9.557333 341.333333 341.333333 0 0 1-301.482667 301.141333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-forwarded" unicode="" d="M780.478569 499.510231a42.665422 42.665422 0 1 1 60.328907-60.328907l170.661689 170.661689a42.665422 42.665422 0 0 1 0 60.328907l-170.661689 170.661689a42.665422 42.665422 0 0 1-60.328907-60.328907L920.975805 640.007466l-140.497236-140.497235zM639.981334 597.342044h341.323378a42.665422 42.665422 0 0 1 0 85.330845h-341.323378a42.665422 42.665422 0 0 1 0-85.330845zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-missed" unicode="" d="M951.140258 840.833609l-255.992533-255.992534a42.665422 42.665422 0 1 1 60.328907-60.328907l255.992533 255.992534a42.665422 42.665422 0 1 1-60.328907 60.328907zM695.147725 780.504702l255.992533-255.992534a42.665422 42.665422 0 0 1 60.328907 60.328907l-255.992533 255.992534a42.665422 42.665422 0 0 1-60.328907-60.328907zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-off" unicode="" d="M485.596263 358.022711a42.644793 42.644793 0 1 1-60.299738-60.299738 724.961489 724.961489 0 0 1 154.502087-117.78492 42.644793 42.644793 0 0 1 51.216397 6.908457l54.158887 54.158888a42.559504 42.559504 0 0 0 44.819678 9.381854c41.791898-15.56535 85.119008-26.354482 129.256369-32.154174a42.559504 42.559504 0 0 0 36.290719-42.644793v-128.318184a42.730083 42.730083 0 0 0-46.482825-42.815373 800.613352 800.613352 0 0 0-348.663831 124.224284c-49.041512 31.130699-94.244994 67.378774-135.056061 108.232485a42.644793 42.644793 0 1 1-60.299738-60.299737 870.806682 870.806682 0 0 1 149.299422-119.703936 886.158808 886.158808 0 0 1 386.276539-137.316235A127.93438 127.93438 0 0 1 980.830249 47.44068V175.204481a127.806446 127.806446 0 0 1-110.023567 127.507933 505.895185 505.895185 0 0 0-110.876463 27.591181 127.93438 127.93438 0 0 1-134.885482-28.82788l-30.746896-30.746896a639.671902 639.671902 0 0 0-108.701578 87.293892z m-228.490803 14.371295a801.295669 801.295669 0 0 0-124.309573 349.431438A42.644793 42.644793 0 0 0 175.312746 767.540662H303.204481c21.834134 0.213224 40.086106-15.48006 43.071242-36.674522 5.757047-43.753558 16.54618-87.080668 32.111529-128.787276a42.644793 42.644793 0 0 0-9.552434-45.075547L314.84651 503.015009a42.644793 42.644793 0 0 1 60.299738-60.299738l54.158888 54.158887a128.01967 128.01967 0 0 1 28.998459 135.141351A504.70113 504.70113 0 0 0 430.712414 742.380234a128.01967 128.01967 0 0 1-127.934381 110.40737H175.270101a127.93438 127.93438 0 0 1-127.337353-139.448474 887.310217 887.310217 0 0 1 137.614748-387.385304 42.644793 42.644793 0 0 1 71.557964 46.397535zM950.68038 882.980118l-938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738-60.299738l938.185456 938.185456A42.644793 42.644793 0 1 1 950.68038 882.980118z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-incoming" unicode="" d="M725.312178 768.003733a42.665422 42.665422 0 0 1-85.330844 0v-255.992533a42.665422 42.665422 0 0 1 42.665422-42.665423h255.992534a42.665422 42.665422 0 0 1 0 85.330845h-213.327112V768.003733zM951.140258 840.833609l-298.657955-298.657956a42.665422 42.665422 0 1 1 60.328907-60.328907l298.657955 298.657956a42.665422 42.665422 0 1 1-60.328907 60.328907zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone" unicode="" d="M895.573333 171.818667a43.050667 43.050667 0 0 1-36.522666 44.458666 594.56 594.56 0 0 0-129.962667 32.341334 42.837333 42.837333 0 0 1-45.098667-9.472l-54.442666-54.357334c-13.653333-13.653333-34.730667-16.469333-51.541334-6.954666a728.405333 728.405333 0 0 0-273.365333 272.896 42.752 42.752 0 0 0 6.954667 51.456l54.272 54.186666c11.776 11.904 15.573333 29.525333 9.642666 45.226667-15.658667 41.898667-26.496 85.376-32.298666 129.28-3.029333 21.333333-21.376 37.034667-43.306667 36.821333H171.264a42.922667 42.922667 0 0 1-42.709333-45.994666 803.882667 803.882667 0 0 1 125.184-352.682667 793.130667 793.130667 0 0 1 244.48-243.925333 805.973333 805.973333 0 0 1 350.592-124.672 42.922667 42.922667 0 0 1 46.72 42.965333v128.426667zM981.333333 43.562667a128.341333 128.341333 0 0 0-41.685333-95.146667 129.194667 129.194667 0 0 0-99.328-33.194667 892.117333 892.117333 0 0 0-388.48 137.813334 877.909333 877.909333 0 0 0-270.293333 269.738666 889.6 889.6 0 0 0-138.368 390.570667 128.298667 128.298667 0 0 0 33.109333 98.133333A128.768 128.768 0 0 0 171.221333 853.333333H299.52a128.682667 128.682667 0 0 0 128.682667-110.848c5.034667-37.888 14.293333-75.093333 27.648-110.805333 17.664-46.933333 6.4-99.84-29.098667-135.68l-30.762667-30.72a642.688 642.688 0 0 1 196.693334-196.266667l30.890666 30.848a128.768 128.768 0 0 0 135.637334 28.928c35.84-13.354667 73.130667-22.613333 111.488-27.690666a128.512 128.512 0 0 0 110.634666-129.749334v-127.786666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="phone-outgoing" unicode="" d="M938.63929 768.003733v-213.327111a42.665422 42.665422 0 0 1 85.330844 0V810.669155a42.665422 42.665422 0 0 1-42.665422 42.665423h-255.992534a42.665422 42.665422 0 0 1 0-85.330845h213.327112zM712.81121 481.846746l298.657955 298.657956a42.665422 42.665422 0 1 1-60.328907 60.328907l-298.657955-298.657956a42.665422 42.665422 0 1 1 60.328907-60.328907zM895.973867 131.435633c0.55465 22.698005-15.231556 41.342794-36.265608 44.329374a590.702771 590.702771 0 0 0-129.361561 32.212394 42.580091 42.580091 0 0 1-44.798693-9.429059l-54.185086-54.185086a42.665422 42.665422 0 0 0-51.283838-6.911798 725.312178 725.312178 0 0 0-271.992067 271.992067 42.665422 42.665422 0 0 0 6.911799 51.241172l54.014424 54.014424a42.665422 42.665422 0 0 1 9.557055 45.097352 589.508139 589.508139 0 0 0-32.127063 128.849575A42.793419 42.793419 0 0 1 303.351152 725.338311h-127.996267a42.665422 42.665422 0 0 1-42.49476-45.822664 802.109938 802.109938 0 0 1 124.583033-351.563079 789.779631 789.779631 0 0 1 243.192907-243.064911 801.000637 801.000637 0 0 1 348.832492-124.284375A42.665422 42.665422 0 0 1 895.973867 3.439366v127.996267z m85.330845-130.513527a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pie-chart" unicode="" d="M865.664 234.666667A384 384 0 1 0 358.4 736.085333a42.666667 42.666667 0 0 1-34.133333 78.250667A469.333333 469.333333 0 1 1 944.256 201.386667a42.666667 42.666667 0 0 1-78.592 33.194666zM981.333333 384a42.666667 42.666667 0 0 0-42.666666-42.666667H512a42.666667 42.666667 0 0 0-42.666667 42.666667V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666 469.333333 469.333333 0 0 0 469.333333-469.333333z m-197.802666 271.530667A384 384 0 0 1 554.666667 765.610667V426.666667h338.944a384 384 0 0 1-110.08 228.864z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="play-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 293.077333L605.738667 384 469.333333 474.922667v-181.845334z m-18.986666 297.088l256-170.666666a42.666667 42.666667 0 0 0 0-70.997334l-256-170.666666A42.666667 42.666667 0 0 0 384 213.333333V554.666667a42.666667 42.666667 0 0 0 66.346667 35.498666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="play" unicode="" d="M256 78.165333L731.733333 384 256 689.834667v-611.669334z m-19.626667 725.76l597.333334-384a42.666667 42.666667 0 0 0 0-71.808l-597.333334-384A42.666667 42.666667 0 0 0 170.666667 0V768a42.666667 42.666667 0 0 0 65.706666 35.882667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="plus-square" unicode="" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM469.333333 554.666667v-341.333334a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="plus-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 554.666667v-341.333334a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="plus" unicode="" d="M469.333333 682.666667v-597.333334a42.666667 42.666667 0 0 1 85.333334 0V682.666667a42.666667 42.666667 0 0 1-85.333334 0zM213.333333 341.333333h597.333334a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pocket" unicode="" d="M128 682.666667v-256a384 384 0 1 1 768 0V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666z m725.333333 128a128 128 0 0 0 128-128v-256c0-259.2-210.133333-469.333333-469.333333-469.333334A469.333333 469.333333 0 0 0 42.666667 426.666667V682.666667a128 128 0 0 0 128 128h682.666666zM371.498667 499.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l170.666667-170.666667a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666667a42.666667 42.666667 0 1 1-60.330667 60.330667L512 358.997333 371.498667 499.498667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="printer" unicode="" d="M298.666667 554.666667h426.666666V768H298.666667v-213.333333zM213.333333 554.666667V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h512a42.666667 42.666667 0 0 0 42.666667-42.666666v-256h42.666666a128 128 0 0 0 128-128v-213.333334a128 128 0 0 0-128-128h-85.333333a42.666667 42.666667 0 0 0 0 85.333334h85.333333a42.666667 42.666667 0 0 1 42.666667 42.666666v213.333334a42.666667 42.666667 0 0 1-42.666667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-213.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h85.333333a42.666667 42.666667 0 0 0 0-85.333334H170.666667a128 128 0 0 0-128 128v213.333334a128 128 0 0 0 128 128h42.666666zM298.666667 0h426.666666v256H298.666667v-256z m-42.666667 341.333333h512a42.666667 42.666667 0 0 0 42.666667-42.666666v-341.333334a42.666667 42.666667 0 0 0-42.666667-42.666666H256a42.666667 42.666667 0 0 0-42.666667 42.666666v341.333334a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="power" unicode="" d="M753.408 582.528a341.333333 341.333333 0 1 0-482.816 0 42.666667 42.666667 0 1 1-60.330667 60.330667c-166.613333-166.656-166.570667-436.778667 0.042667-603.349334 166.613333-166.613333 436.778667-166.613333 603.392 0 166.613333 166.570667 166.656 436.693333 0.042667 603.349334a42.666667 42.666667 0 1 1-60.330667-60.330667zM469.333333 810.666667v-426.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="radio" unicode="" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM662.741333 534.741333a213.333333 213.333333 0 0 0 0-301.866666 42.666667 42.666667 0 1 1 60.330667-60.373334 298.666667 298.666667 0 0 1 0 422.613334 42.666667 42.666667 0 1 1-60.330667-60.373334z m-301.482666-301.482666a213.333333 213.333333 0 0 0 0 301.866666 42.666667 42.666667 0 0 1-60.330667 60.373334 298.666667 298.666667 0 0 1 0-422.613334 42.666667 42.666667 0 1 1 60.330667 60.373334z m422.229333 422.229333a384 384 0 0 0 0-542.976 42.666667 42.666667 0 1 1 60.330667-60.330667c183.210667 183.253333 183.210667 480.384 0 663.637334a42.666667 42.666667 0 1 1-60.330667-60.330667zM240.512 112.512a384 384 0 0 0 0 542.976 42.666667 42.666667 0 0 1-60.330667 60.330667c-183.210667-183.253333-183.210667-480.384 0-663.637334a42.666667 42.666667 0 1 1 60.330667 60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="repeat" unicode="" d="M695.074022 542.346875a42.644776 42.644776 0 1 1 60.299713-60.299713l170.579103 170.579103a42.644776 42.644776 0 0 1 0 60.299713l-170.579103 170.579103a42.644776 42.644776 0 0 1-60.299713-60.299713L835.503268 682.776122l-140.429246-140.429247zM170.841795 426.907468V512.197019a127.934327 127.934327 0 0 0 127.934327 127.934327h597.026859a42.644776 42.644776 0 0 1 0 85.289551H298.776122a213.223878 213.223878 0 0 1-213.223879-213.223878v-85.289551a42.644776 42.644776 0 0 1 85.289552 0zM328.925978 226.178508a42.644776 42.644776 0 0 1-60.299713 60.299713l-170.579103-170.579103a42.644776 42.644776 0 0 1 0-60.299712l170.579103-170.579103a42.644776 42.644776 0 1 1 60.299713 60.299713L188.496732 85.749262l140.429246 140.429246zM853.158205 341.617916v-85.289551a127.934327 127.934327 0 0 0-127.934327-127.934327H128.197019a42.644776 42.644776 0 0 1 0-85.289552h597.026859a213.223878 213.223878 0 0 1 213.223879 213.223879v85.289551a42.644776 42.644776 0 0 1-85.289552 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="refresh-ccw" unicode="" d="M85.378987 725.333333a42.666667 42.666667 0 1 1-85.333334 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333H85.378987V725.333333zM938.71232 42.666667a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-42.666666 42.666666h-256a42.666667 42.666667 0 0 1 0-85.333333h213.333333v-213.333333zM914.52032 526.250667a426.666667 426.666667 0 0 1-704 159.274666L13.485653 500.437333a42.666667 42.666667 0 0 1 58.453334-62.208l197.973333 186.026667a341.973333 341.973333 0 0 0 317.696 92.586667 341.333333 341.333333 0 0 0 246.442667-219.093334 42.666667 42.666667 0 0 1 80.469333 28.501334z m37.632-196.48l-197.973333-186.026667a341.973333 341.973333 0 0 0-317.696-92.586667 341.333333 341.333333 0 0 0-246.442667 219.093334 42.666667 42.666667 0 0 1-80.469333-28.501334 426.666667 426.666667 0 0 1 704-159.274666l197.034666 185.088a42.666667 42.666667 0 0 1-58.453333 62.208z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="rewind" unicode="" d="M426.666667 595.413333L154.837333 384 426.666667 172.586667v422.826666z m16.469333-543.744l-384 298.666667a42.666667 42.666667 0 0 0 0 67.328l384 298.666667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-68.864-33.706666zM896 172.586667v422.826666L624.170667 384 896 172.586667z m16.469333-120.917334l-384 298.666667a42.666667 42.666667 0 0 0 0 67.328l384 298.666667A42.666667 42.666667 0 0 0 981.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-68.864-33.706666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="rotate-ccw" unicode="" d="M128 725.333333a42.666667 42.666667 0 1 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333H128V725.333333zM152.192 242.218667a426.666667 426.666667 0 1 1 100.949333 443.733333l-197.034666-185.173333a42.666667 42.666667 0 1 1 58.453333-62.165334l197.973333 186.026667a341.76 341.76 0 0 0 407.210667 58.069333 341.333333 341.333333 0 1 0-487.082667-412.16 42.666667 42.666667 0 1 1-80.469333-28.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="refresh-cw" unicode="" d="M725.378987 512a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 42.666666 42.666666V725.333333a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333333zM85.378987 256h213.333333a42.666667 42.666667 0 0 1 0 85.333333H42.71232a42.666667 42.666667 0 0 1-42.666667-42.666666v-256a42.666667 42.666667 0 0 1 85.333334 0v213.333333zM190.04032 497.749333a341.333333 341.333333 0 0 0 563.2 127.445334l198.912-186.965334a42.666667 42.666667 0 0 1 58.453333 62.208l-197.973333 186.026667A426.026667 426.026667 0 0 1 417.666987 800a426.666667 426.666667 0 0 1-308.053334-273.792 42.666667 42.666667 0 0 1 80.426667-28.501333zM13.485653 267.562667l197.973334-186.026667a426.026667 426.026667 0 0 1 394.965333-113.578667 426.666667 426.666667 0 0 1 308.053333 273.792 42.666667 42.666667 0 0 1-80.426666 28.501334 341.333333 341.333333 0 0 0-563.2-127.445334l-198.912 186.965334a42.666667 42.666667 0 0 1-58.453334-62.208z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="rotate-cw" unicode="" d="M682.666667 512a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 42.666666 42.666666V725.333333a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333333zM791.338667 270.208a341.333333 341.333333 0 1 0-80.384 354.986667l198.442666-186.922667a42.666667 42.666667 0 0 1 58.538667 62.122667l-197.546667 186.026666c-133.418667 133.546667-340.48 162.901333-506.88 71.125334a426.666667 426.666667 0 1 1 608.298667-515.754667 42.666667 42.666667 0 1 1-80.469333 28.416z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="save" unicode="" d="M341.333333 725.333333v-128h298.666667a42.666667 42.666667 0 0 0 0-85.333333H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333H213.333333a42.666667 42.666667 0 0 1-42.666666-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666666-42.666666h42.666667v298.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h426.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-298.666666h42.666667a42.666667 42.666667 0 0 1 42.666666 42.666666V537.002667L665.002667 725.333333H341.333333z m341.333334-682.666666v256H341.333333v-256h341.333334z m128-85.333334H213.333333a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h469.333334a42.666667 42.666667 0 0 0 30.165333-12.501334l213.333333-213.333333A42.666667 42.666667 0 0 0 938.666667 554.666667v-469.333334a128 128 0 0 0-128-128z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="search" unicode="" d="M732.842667 223.48800000000006l193.322666-193.28a42.666667 42.666667 0 0 0-60.330666-60.373333l-193.322667 193.322666a362.666667 362.666667 0 1 0 60.330667 60.330667zM448 170.66666699999996a277.333333 277.333333 0 1 1 0 554.666666 277.333333 277.333333 0 0 1 0-554.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="server" unicode="" d="M128 725.418667v-170.837334A42.24 42.24 0 0 1 170.24 512h683.52c23.125333 0 42.24 19.157333 42.24 42.581333V725.418667A42.24 42.24 0 0 1 853.76 768H170.24a42.624 42.624 0 0 1-42.24-42.581333z m-85.333333 0A127.957333 127.957333 0 0 0 170.24 853.333333h683.52A127.573333 127.573333 0 0 0 981.333333 725.418667v-170.837334A127.957333 127.957333 0 0 0 853.76 426.666667H170.24A127.573333 127.573333 0 0 0 42.666667 554.581333V725.418667zM128 213.418667v-170.837334a42.24 42.24 0 0 1 42.24-42.581333h683.52c23.125333 0 42.24 19.157333 42.24 42.581333v170.837334a42.24 42.24 0 0 1-42.24 42.581333H170.24a42.624 42.624 0 0 1-42.24-42.581333z m-85.333333 0A127.957333 127.957333 0 0 0 170.24 341.333333h683.52A127.573333 127.573333 0 0 0 981.333333 213.418667v-170.837334A127.957333 127.957333 0 0 0 853.76-85.333333H170.24A127.573333 127.573333 0 0 0 42.666667 42.581333v170.837334zM298.666667 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM298.666667 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="scissors" unicode="" d="M298.666667 469.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM298.666667-42.66666699999996a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM494.336 384L358.954667 519.381333a42.666667 42.666667 0 0 0 60.330666 60.330667L554.666667 444.330667l311.168 311.168a42.666667 42.666667 0 0 0 60.330666-60.330667l-506.88-506.88a42.666667 42.666667 0 1 0-60.330666 60.330667L494.336 384z m135.594667-136.021333a42.666667 42.666667 0 0 0 60.245333 60.416l235.946667-235.52a42.666667 42.666667 0 0 0-60.245334-60.416l-235.946666 235.52z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="share-" unicode="" d="M768 512a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667zM256 213.33333300000004a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM768-85.33333300000004a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667zM345.045333 282.709333a42.666667 42.666667 0 1 0 42.922667 73.728l291.413333-169.813333a42.666667 42.666667 0 1 0-42.922666-73.728l-291.413334 169.813333z m290.944 372.394667a42.666667 42.666667 0 1 0 43.008-73.728l-290.986666-169.813333a42.666667 42.666667 0 1 0-43.008 73.728l290.986666 169.813333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="share" unicode="" d="M128 384v-341.333333a128 128 0 0 1 128-128h512a128 128 0 0 1 128 128v341.333333a42.666667 42.666667 0 0 1-85.333333 0v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H256a42.666667 42.666667 0 0 0-42.666667 42.666667v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM652.501333 609.834667a42.666667 42.666667 0 0 1 60.330667 60.330666l-170.666667 170.666667a42.666667 42.666667 0 0 1-60.330666 0l-170.666667-170.666667a42.666667 42.666667 0 0 1 60.330667-60.330666L512 750.336l140.501333-140.501333zM469.333333 810.666667v-554.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shield" unicode="" d="M531.072-80.810667a42.666667 42.666667 0 0 0-38.144 0 738.56 738.56 0 0 0-56.874667 32.64 958.506667 958.506667 0 0 0-122.837333 90.709334C198.229333 143.232 128 257.322667 128 384V725.333333a42.666667 42.666667 0 0 0 32.298667 41.386667l341.333333 85.333333a42.666667 42.666667 0 0 0 20.736 0l341.333333-85.333333A42.666667 42.666667 0 0 0 896 725.333333v-341.333333c0-126.72-70.229333-240.810667-185.216-341.461333a958.506667 958.506667 0 0 0-122.837333-90.709334 738.56 738.56 0 0 0-56.874667-32.64z m11.648 104.96a874.24 874.24 0 0 1 111.829333 82.645334C752.896 192.810667 810.666667 286.677333 810.666667 384V692.053333l-298.666667 74.666667-298.666667-74.666667V384c0-97.28 57.770667-191.189333 156.117334-277.205333A874.24 874.24 0 0 1 512 5.845333c9.429333 5.376 19.754667 11.477333 30.72 18.346667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="settings" unicode="" d="M512 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM272.768 680.234667l-2.56 2.56a42.666667 42.666667 0 1 1-60.416-60.416l2.901333-2.901334c32.298667-33.024 41.258667-82.432 23.637334-122.197333A113.365333 113.365333 0 0 0 131.84 423.253333H128a42.666667 42.666667 0 0 1 0-85.333333h7.424a112.896 112.896 0 0 0 103.253333-68.096 113.237333 113.237333 0 0 0-22.912-125.056l-2.56-2.56a42.666667 42.666667 0 1 1 60.416-60.416l2.901334 2.901333c33.024 32.298667 82.432 41.258667 122.197333 23.637334a113.365333 113.365333 0 0 0 74.026667-104.490667V0a42.666667 42.666667 0 0 1 85.333333 0v7.424a112.896 112.896 0 0 0 68.096 103.253333 113.237333 113.237333 0 0 0 125.056-22.912l2.56-2.56a42.666667 42.666667 0 1 1 60.416 60.416l-2.901333 2.901334a113.066667 113.066667 0 0 0-22.613334 124.714666A112.981333 112.981333 0 0 0 892.16 341.333333H896a42.666667 42.666667 0 0 1 0 85.333334h-7.424a113.066667 113.066667 0 0 0-103.466667 68.522666l-3.456 8.064v4.266667a113.28 113.28 0 0 0 26.581334 115.712l2.56 2.56a42.666667 42.666667 0 1 1-60.416 60.416l-2.901334-2.901333a112.896 112.896 0 0 0-124.288-22.784A113.109333 113.109333 0 0 0 554.666667 764.16V768a42.666667 42.666667 0 0 1-85.333334 0v-7.424a113.066667 113.066667 0 0 0-68.522666-103.466667l-8.064-3.456h-4.266667a113.28 113.28 0 0 0-115.712 26.581334zM888.746667 512H896a128 128 0 0 0 0-256h-3.669333a27.733333 27.733333 0 0 1-25.386667-16.810667 27.733333 27.733333 0 0 1 5.034667-30.677333l2.56-2.56a128 128 0 1 0-181.077334-181.077333l-2.218666 2.218666a27.904 27.904 0 0 1-31.018667 5.376 27.690667 27.690667 0 0 1-16.810667-25.216V0a128 128 0 0 0-256 0 29.781333 29.781333 0 0 1-20.650666 29.226667 27.605333 27.605333 0 0 1-30.250667-5.205334l-2.56-2.56a128 128 0 1 0-181.077333 181.077334l2.218666 2.218666a27.904 27.904 0 0 1 5.376 31.018667 27.690667 27.690667 0 0 1-25.216 16.810667H128a128 128 0 0 0 0 256 29.781333 29.781333 0 0 1 29.226667 20.650666 27.605333 27.605333 0 0 1-5.205334 30.250667l-2.56 2.56a128 128 0 1 0 181.077334 181.077333l2.218666-2.218666a27.733333 27.733333 0 0 1 30.592-5.546667l8.234667 3.626667A25.258667 25.258667 0 0 1 384 760.746667V768a128 128 0 0 0 256 0v-3.669333c0.042667-11.093333 6.656-21.034667 17.237333-25.6a27.605333 27.605333 0 0 1 30.250667 5.248l2.56 2.56a128 128 0 1 0 181.077333-181.077334l-2.218666-2.218666a27.733333 27.733333 0 0 1-5.546667-30.592l3.626667-8.234667c5.12-8.277333 13.184-12.373333 21.76-12.416z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="skip-back" unicode="" d="M768 636.586667L452.266667 384l315.733333-252.586667V636.586667z m16-627.2l-426.666667 341.333333a42.666667 42.666667 0 0 0 0 66.56l426.666667 341.333333A42.666667 42.666667 0 0 0 853.333333 725.333333v-682.666666a42.666667 42.666667 0 0 0-69.333333-33.28zM256 85.333333V682.666667a42.666667 42.666667 0 1 1-85.333333 0v-597.333334a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shuffle" unicode="" d="M853.333333 554.666667a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-213.333333a42.666667 42.666667 0 0 1 0-85.333334h170.666666v-170.666666zM200.832 12.501333l725.333333 725.333334a42.666667 42.666667 0 1 1-60.330666 60.330666l-725.333334-725.333333a42.666667 42.666667 0 0 1 60.330667-60.330667zM682.666667 42.666667a42.666667 42.666667 0 0 1 0-85.333334h213.333333a42.666667 42.666667 0 0 1 42.666667 42.666667v213.333333a42.666667 42.666667 0 0 1-85.333334 0v-170.666666h-170.666666zM609.834667 225.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666zM140.501333 695.168l213.333334-213.333333a42.666667 42.666667 0 1 1 60.330666 60.330666l-213.333333 213.333334a42.666667 42.666667 0 0 1-60.330667-60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="sidebar" unicode="" d="M85.333333 682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM341.333333 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333H341.333333V725.333333z m85.333334 0v-682.666666h384.213333c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H426.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="skip-forward" unicode="" d="M256 131.413333L571.733333 384 256 636.586667v-505.173334z m-16 627.2l426.666667-341.333333a42.666667 42.666667 0 0 0 0-66.56l-426.666667-341.333333A42.666667 42.666667 0 0 0 170.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 69.333333 33.28zM768 682.666667v-597.333334a42.666667 42.666667 0 0 1 85.333333 0V682.666667a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="slack" unicode="" d="M983.271856 524.026176c103.487213-343.691869 14.332936-507.582171-330.937263-611.495959C308.514752-190.956996 144.539135-101.845377 40.540031 243.339506-62.947182 587.074033 26.207095 750.964335 371.477293 854.920781 716.320916 958.706596 879.614012 870.405471 983.271856 524.026176z m-81.817179-24.52809C811.361935 800.788351 695.632005 863.324318 396.090699 773.14626 95.781557 682.754914 32.477754 566.342464 122.357209 267.952912c90.434003-300.223827 206.889111-363.527629 505.363979-273.690832 300.309142 90.434003 363.612944 206.803796 273.733489 505.236006zM495.866705 626.61758l152.714024-443.638505a42.657549 42.657549 0 0 1 80.708082 27.727406l-152.714024 443.638506a42.657549 42.657549 0 0 1-80.708082-27.727407zM294.523076 557.512352l152.714024-443.638506a42.657549 42.657549 0 0 1 80.708082 27.727407l-152.714024 443.638505a42.657549 42.657549 0 0 1-80.708082-27.727406zM685.308879 601.492284l-443.638506-152.714024a42.657549 42.657549 0 0 1 27.727407-80.708082l443.638505 152.714024a42.657549 42.657549 0 0 1-27.727406 80.708082zM754.414107 400.148655l-443.638505-152.714024a42.657549 42.657549 0 0 1 27.727406-80.708082l443.638506 152.714024a42.657549 42.657549 0 0 1-27.727407 80.708082z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="slash" unicode="" d="M512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m239.701333 169.301333L211.968 623.701333a384 384 0 0 1 539.733333-539.733333zM272.298667 684.032l539.733333-539.733333a384 384 0 0 1-539.733333 539.733333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="smartphone" unicode="" d="M256 725.76v-683.52c0-23.04 19.285333-42.24 42.922667-42.24h426.154666A42.581333 42.581333 0 0 1 768 42.24V725.76c0 23.04-19.285333 42.24-42.922667 42.24H298.922667A42.581333 42.581333 0 0 1 256 725.76z m-85.333333 0A127.914667 127.914667 0 0 0 298.922667 853.333333h426.154666A128.128 128.128 0 0 0 853.333333 725.76v-683.52A127.914667 127.914667 0 0 0 725.077333-85.333333H298.922667A128.128 128.128 0 0 0 170.666667 42.24V725.76zM512 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="square" unicode="" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="speaker" unicode="" d="M213.333333 725.76v-683.52c0-23.125333 19.114667-42.24 42.410667-42.24h512.512a42.410667 42.410667 0 0 1 42.410667 42.24V725.76a42.538667 42.538667 0 0 1-42.410667 42.24H255.744A42.410667 42.410667 0 0 1 213.333333 725.76z m-85.333333 0A127.744 127.744 0 0 0 255.744 853.333333h512.512A127.872 127.872 0 0 0 896 725.76v-683.52A127.744 127.744 0 0 0 768.256-85.333333H255.744A127.872 127.872 0 0 0 128 42.24V725.76zM512 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM512 85.333333a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333334a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="star" unicode="" d="M418.432 525.056a42.666667 42.666667 0 0 0-32.085333-23.338667l-209.365334-30.549333 151.466667-147.370667c10.069333-9.770667 14.634667-23.893333 12.288-37.717333l-35.754667-208.085333 187.178667 98.304a42.666667 42.666667 0 0 0 39.68 0l187.178667-98.304-35.754667 208.085333a42.581333 42.581333 0 0 0 12.288 37.717333l151.466667 147.370667-209.365334 30.549333a42.666667 42.666667 0 0 0-32.085333 23.338667L512 714.410667 418.432 525.056z m55.296 304.512a42.666667 42.666667 0 0 0 76.544 0l121.898667-246.741333 272.64-39.808a42.624 42.624 0 0 0 23.637333-72.704l-197.248-191.914667 46.506667-271.146667a42.666667 42.666667 0 0 0-61.866667-44.928L512 90.410667l-243.84-128.085334a42.666667 42.666667 0 0 0-61.866667 44.928l46.506667 271.146667-197.248 191.914667a42.624 42.624 0 0 0 23.594667 72.704l272.64 39.808 121.941333 246.741333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="stop-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM426.666667 469.333333v-170.666666h170.666666v170.666666h-170.666666zM384 554.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-256a42.666667 42.666667 0 0 0-42.666667-42.666667H384a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="sun" unicode="" d="M512 128a256 256 0 1 0 0 512 256 256 0 0 0 0-512z m0 85.333333a170.666667 170.666667 0 1 1 0 341.333334 170.666667 170.666667 0 0 1 0-341.333334zM469.333333 853.333333v-85.333333a42.666667 42.666667 0 0 1 85.333334 0V853.333333a42.666667 42.666667 0 0 1-85.333334 0zM469.333333 0v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM149.888 685.781333l60.586667-60.586666a42.666667 42.666667 0 0 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 0 1-60.330667-60.330667zM753.194667 82.474667l60.586666-60.586667a42.666667 42.666667 0 0 1 60.330667 60.330667l-60.586667 60.586666a42.666667 42.666667 0 0 1-60.330666-60.330666zM42.666667 341.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 341.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM210.218667 21.888l60.586666 60.586667a42.666667 42.666667 0 0 1-60.330666 60.330666l-60.586667-60.586666a42.666667 42.666667 0 0 1 60.330667-60.330667zM813.525333 625.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 1 1 60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="sunrise" unicode="" d="M768 128a256 256 0 1 1-512 0 42.666667 42.666667 0 0 1 85.333333 0 170.666667 170.666667 0 1 0 341.333334 0 42.666667 42.666667 0 0 1 85.333333 0zM469.333333 810.666667v-298.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0zM149.888 429.781333l60.586667-60.586666a42.666667 42.666667 0 1 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 1 1-60.330667-60.330667zM42.666667 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM813.525333 369.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 0 1 60.330666-60.330666zM981.333333 0H42.666667a42.666667 42.666667 0 0 1 0-85.333333h938.666666a42.666667 42.666667 0 0 1 0 85.333333zM652.501333 609.834667a42.666667 42.666667 0 0 1 60.330667 60.330666l-170.666667 170.666667a42.666667 42.666667 0 0 1-60.330666 0l-170.666667-170.666667a42.666667 42.666667 0 0 1 60.330667-60.330666L512 750.336l140.501333-140.501333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="tablet" unicode="" d="M810.666667 42.24V725.76a42.538667 42.538667 0 0 1-42.410667 42.24H255.744A42.410667 42.410667 0 0 1 213.333333 725.76v-683.52c0-23.125333 19.114667-42.24 42.410667-42.24h512.512a42.410667 42.410667 0 0 1 42.410667 42.24z m85.333333 0A127.744 127.744 0 0 0 768.256-85.333333H255.744A127.872 127.872 0 0 0 128 42.24V725.76A127.744 127.744 0 0 0 255.744 853.333333h512.512A127.872 127.872 0 0 0 896 725.76v-683.52zM512 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="tag" unicode="" d="M841.813333 417.536l-351.146666 351.146667H127.317333V405.333333l351.146667-350.72a42.325333 42.325333 0 0 1 59.904 0l303.36 303.36a42.282667 42.282667 0 0 1 0.085333 59.562667z m59.946667-119.253333l-303.530667-303.488a126.976 126.976 0 0 0-179.626666-0.042667l-363.52 363.093333A42.325333 42.325333 0 0 0 42.666667 387.84V811.093333C42.666667 834.346667 61.610667 853.333333 84.992 853.333333h423.210667c11.221333 0 21.973333-4.48 29.909333-12.373333l363.648-363.648a126.976 126.976 0 0 0 0-179.029333zM298.666667 597.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="sunset" unicode="" d="M768 128a256 256 0 1 1-512 0 42.666667 42.666667 0 0 1 85.333333 0 170.666667 170.666667 0 1 0 341.333334 0 42.666667 42.666667 0 0 1 85.333333 0zM554.666667 512V810.666667a42.666667 42.666667 0 0 1-85.333334 0v-298.666667a42.666667 42.666667 0 0 1 85.333334 0zM149.888 429.781333l60.586667-60.586666a42.666667 42.666667 0 1 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 1 1-60.330667-60.330667zM42.666667 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM813.525333 369.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 0 1 60.330666-60.330666zM981.333333 0H42.666667a42.666667 42.666667 0 0 1 0-85.333333h938.666666a42.666667 42.666667 0 0 1 0 85.333333zM371.498667 712.832a42.666667 42.666667 0 0 1-60.330667-60.330667l170.666667-170.666666a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666666a42.666667 42.666667 0 1 1-60.330667 60.330667L512 572.330667 371.498667 712.832z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="target" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM512 85.333333a298.666667 298.666667 0 1 0 0 597.333334 298.666667 298.666667 0 0 0 0-597.333334z m0 85.333334a213.333333 213.333333 0 1 1 0 426.666666 213.333333 213.333333 0 0 1 0-426.666666zM512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="thermometer" unicode="" d="M715.216338 38.506413A234.660898 234.660898 0 1 0 341.337529 287.673621V746.670338a149.329662 149.329662 0 0 0 298.659324 0v-459.039382a234.660898 234.660898 0 0 0 75.219485-249.167208zM554.665618 266.255481V746.670338a63.998427 63.998427 0 0 1-127.996854 0v-480.414857a42.665618 42.665618 0 0 0-18.943534-35.455128 149.329662 149.329662 0 1 1 165.883922 0A42.665618 42.665618 0 0 0 554.665618 266.255481z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="thumbs-up" unicode="" d="M850.005333 554.666667a130.730667 130.730667 0 0 0 99.456-43.989334c25.002667-28.373333 36.138667-66.090667 30.378667-103.253333l-59.733333-383.957333c-9.685333-63.146667-65.109333-109.525333-129.365334-108.8H302.421333c-23.893333 0-43.306667 19.114667-43.306666 42.666666V426.666667c0 5.973333 1.28 11.861333 3.754666 17.322666l173.141334 384c6.954667 15.402667 22.442667 25.344 39.552 25.344 95.658667 0 173.184-76.373333 173.184-170.666666v-128h201.258666z m-58.794666-554.666667a43.093333 43.093333 0 0 1 43.306666 36.352l59.733334 383.914667a42.24 42.24 0 0 1-10.112 34.389333 43.861333 43.861333 0 0 1-33.664 14.677333H605.44c-23.893333 0-43.264 19.114667-43.264 42.666667V682.666667c0 38.101333-25.344 70.357333-60.288 81.322666l-156.16-346.368V0h445.482667z m-532.053334 384h-86.613333c-23.893333 0-43.306667-19.114667-43.306667-42.666667v-298.666666c0-23.552 19.413333-42.666667 43.306667-42.666667h86.613333v384z m43.264-469.333333H172.544C100.821333-85.333333 42.666667-28.032 42.666667 42.666667v298.666666c0 70.698667 58.154667 128 129.877333 128h129.877333c23.893333 0 43.264-19.114667 43.264-42.666666v-469.333334c0-23.552-19.370667-42.666667-43.264-42.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="thumbs-down" unicode="" d="M173.482667 213.333333a130.005333 130.005333 0 0 0-98.858667 43.733334 127.104 127.104 0 0 0-30.464 103.637333l59.818667 383.914667A128.853333 128.853333 0 0 0 232.832 853.333333H721.92a42.666667 42.666667 0 0 0 42.666667-42.666666v-469.333334a42.666667 42.666667 0 0 0-3.754667-17.578666l-173.44-384a42.666667 42.666667 0 0 0-38.869333-25.088c-95.274667 0-172.757333 76.245333-172.757334 170.666666v128h-202.24z m58.88 554.666667a43.648 43.648 0 0 1-44.074667-36.437333l-59.818667-383.957334a41.728 41.728 0 0 1 10.112-34.048c8.448-9.557333 20.906667-15.061333 34.432-14.933333h245.376a42.666667 42.666667 0 0 0 42.666667-42.666667v-170.666666c0-38.229333 25.856-70.741333 61.568-81.493334l156.586667 346.709334V768H232.362667z m532.181333-384h73.813333A57.088 57.088 0 0 1 896 429.952V721.92c-4.906667 26.794667-29.141333 46.506667-58.325333 46.037333H764.586667v-384z m-42.666667 469.333333h115.029334C909.184 854.528 971.178667 802.133333 980.906667 731.093333L981.333333 725.333333v-298.666666l-0.426666-5.845334A142.122667 142.122667 0 0 0 837.674667 298.666667H721.92a42.666667 42.666667 0 0 0-42.666667 42.666666V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="toggle-left" unicode="" d="M85.333333 384c0-141.184 114.602667-256 255.616-256h342.101334A255.786667 255.786667 0 0 1 938.666667 384c0 141.184-114.602667 256-255.616 256H340.906667A255.786667 255.786667 0 0 1 85.333333 384z m-85.333333 0c0 188.501333 152.618667 341.333333 340.949333 341.333333h342.101334C871.253333 725.333333 1024 572.288 1024 384c0-188.501333-152.618667-341.333333-340.949333-341.333333H340.906667C152.746667 42.666667 0 195.712 0 384zM341.333333 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="toggle-right" unicode="" d="M85.333333 384c0-141.184 114.602667-256 255.616-256h342.101334A255.786667 255.786667 0 0 1 938.666667 384c0 141.184-114.602667 256-255.616 256H340.906667A255.786667 255.786667 0 0 1 85.333333 384z m-85.333333 0c0 188.501333 152.618667 341.333333 340.949333 341.333333h342.101334C871.253333 725.333333 1024 572.288 1024 384c0-188.501333-152.618667-341.333333-340.949333-341.333333H340.906667C152.746667 42.666667 0 195.712 0 384zM682.666667 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="trash-" unicode="" d="M128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM768 640v-597.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 1 1-85.333333 0v-597.333333a128 128 0 0 1 128-128h426.666666a128 128 0 0 1 128 128V640a42.666667 42.666667 0 0 1-85.333333 0zM384 640V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-85.333333a42.666667 42.666667 0 0 1 85.333333 0V725.333333a128 128 0 0 1-128 128h-170.666666a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0zM384 426.666667v-256a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-85.333333 0zM554.666667 426.666667v-256a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="trash" unicode="" d="M128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM768 640v-597.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 1 1-85.333333 0v-597.333333a128 128 0 0 1 128-128h426.666666a128 128 0 0 1 128 128V640a42.666667 42.666667 0 0 1-85.333333 0zM384 640V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-85.333333a42.666667 42.666667 0 0 1 85.333333 0V725.333333a128 128 0 0 1-128 128h-170.666666a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="trending-up" unicode="" d="M392.832 478.165333a42.666667 42.666667 0 0 1-60.330667 0l-320-320a42.666667 42.666667 0 0 1 60.330667-60.330666L362.666667 387.669333l183.168-183.168a42.666667 42.666667 0 0 1 60.330666 0l405.333334 405.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L576 294.997333 392.832 478.165333zM938.666667 384a42.666667 42.666667 0 0 1 85.333333 0V640a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333334v-213.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="trending-down" unicode="" d="M72.832 670.165333A42.666667 42.666667 0 0 1 12.501333 609.834667l320-320a42.666667 42.666667 0 0 1 60.330667 0L576 473.002667l375.168-375.168a42.666667 42.666667 0 0 1 60.330667 60.330666l-405.333334 405.333334a42.666667 42.666667 0 0 1-60.330666 0L362.666667 380.330667 72.832 670.165333zM725.333333 170.666667a42.666667 42.666667 0 0 1 0-85.333334h256a42.666667 42.666667 0 0 1 42.666667 42.666667v256a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="triangle" unicode="" d="M402.517333 753.237333a128.128 128.128 0 0 0 219.136 0L983.466667 149.333333a128 128 0 0 0-109.909334-192H150.144a128 128 0 0 0-109.098667 192.597334l361.472 603.306666zM114.602667 106.666667A42.666667 42.666667 0 0 1 150.613333 42.666667h722.474667a42.666667 42.666667 0 0 1 36.821333 63.402666L548.565333 709.162667a42.666667 42.666667 0 0 1-72.96 0.085333L114.645333 106.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="type" unicode="" d="M213.333333 682.666667h597.333334v-85.333334a42.666667 42.666667 0 0 1 85.333333 0V725.333333a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666667v-128a42.666667 42.666667 0 1 1 85.333333 0V682.666667zM384 0h256a42.666667 42.666667 0 0 1 0 85.333333H384a42.666667 42.666667 0 0 1 0-85.333333zM469.333333 725.333333v-682.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="twitter" unicode="" d="M956.843947 759.765333c32.213333 22.741333 75.349333-6.698667 66.048-45.056a372.736 372.736 0 0 0-85.12-161.28c0.64-6.869333 0.938667-13.866667 0.981333-20.864C938.75328 25.856 450.390613-234.410667 22.01728 3.925333c-39.253333 21.802667-22.485333 81.792 22.442667 80a453.461333 453.461333 0 0 1 207.957333 41.344c-94.037333 58.026667-154.24 134.869333-183.808 225.792-30.506667 93.866667-26.026667 192.512-0.597333 286.208 7.68 28.330667 15.530667 49.664 21.077333 62.208a42.666667 42.666667 0 0 0 73.898667 7.168A412.032 412.032 0 0 1 469.419947 532.309333a234.112 234.112 0 0 0 150.4 220.288 233.6 233.6 0 0 0 239.274666-44.202666 422.186667 422.186667 0 0 1 97.706667 51.370666z m-97.109334-141.226666a42.666667 42.666667 0 0 0-44.501333 12.885333 148.352 148.352 0 0 1-164.949333 41.344A148.906667 148.906667 0 0 1 554.75328 531.285333v-42.709333a42.666667 42.666667 0 0 0-41.557333-42.709333c-139.093333-3.626667-272.042667 51.2-367.872 148.906666-16.853333-72.832-18.090667-147.925333 4.437333-217.258666 28.885333-88.917333 95.018667-161.066667 208.981333-211.797334 30.592-13.610667 34.346667-55.552 6.656-74.368a538.922667 538.922667 0 0 0-154.88-72.490666C538.198613-67.456 853.419947 150.357333 853.419947 532.437333a149.76 149.76 0 0 1-2.645334 27.562667 42.752 42.752 0 0 0 11.946667 38.442667c9.514667 9.386667 18.304 19.413333 26.368 29.952-9.685333-3.584-19.456-6.826667-29.354667-9.813334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="upload" unicode="" d="M554.666667 665.002667V256a42.666667 42.666667 0 0 0-85.333334 0V665.002667L328.832 524.5013329999999a42.666667 42.666667 0 0 0-60.330667 60.330667l213.333334 213.333333a42.666667 42.666667 0 0 0 60.330666 0l213.333334-213.333333a42.666667 42.666667 0 1 0-60.330667-60.330667L554.666667 665.002667zM853.333333 256a42.666667 42.666667 0 0 0 85.333334 0v-170.666667a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128v170.666667a42.666667 42.666667 0 0 0 85.333334 0v-170.666667a42.666667 42.666667 0 0 1 42.666666-42.666666h597.333334a42.666667 42.666667 0 0 1 42.666666 42.666666v170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="umbrella" unicode="" d="M554.666667 341.33333300000004v-256a85.333333 85.333333 0 1 1 170.666666 0 42.666667 42.666667 0 0 0 85.333334 0 170.666667 170.666667 0 1 0-341.333334 0v256H42.666667a42.666667 42.666667 0 0 0-42.453334 46.72 514.133333 514.133333 0 0 0 1023.573334 0A42.666667 42.666667 0 0 0 981.333333 341.33333300000004H554.666667zM512 768c-205.098667 0-379.008-144.64-419.84-341.333333h839.68c-40.832 196.693333-214.741333 341.333333-419.84 341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="upload-cloud" unicode="" d="M652.517547 183.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-170.666666 170.666666a42.666667 42.666667 0 0 1-60.330667 0l-170.666667-170.666666a42.666667 42.666667 0 0 1 60.330667-60.330667L512.016213 323.669333l140.501334-140.501333zM469.349547 384v-384a42.666667 42.666667 0 0 1 85.333333 0v384a42.666667 42.666667 0 0 1-85.333333 0zM427.57888 808.106667a384 384 0 0 1-331.306667-635.818667 42.666667 42.666667 0 1 1 63.957334 56.490667A298.666667 298.666667 0 1 0 673.168213 501.333333a42.666667 42.666667 0 0 1 41.301334-32h53.76a170.666667 170.666667 0 0 0 81.578666-320.512 42.666667 42.666667 0 1 1 40.832-74.922666A256 256 0 0 1 768.272213 554.666667h-22.229333a384 384 0 0 1-318.464 253.44zM652.517547 183.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-170.666666 170.666666a42.666667 42.666667 0 0 1-60.330667 0l-170.666667-170.666666a42.666667 42.666667 0 0 1 60.330667-60.330667L512.016213 323.669333l140.501334-140.501333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="unlock" unicode="" d="M256 469.333333V597.205333c-0.128 131.413333 100.266667 241.621333 232.192 254.805334 131.968 13.226667 252.586667-74.837333 278.954667-203.648a42.666667 42.666667 0 0 0-33.621334-50.261334 43.008 43.008 0 0 0-50.730666 33.28c-17.578667 85.888-97.962667 144.597333-185.941334 135.765334-87.978667-8.789333-154.88-82.218667-154.794666-169.898667V469.333333h468.821333A127.957333 127.957333 0 0 0 938.666667 341.674667v-299.349334A127.701333 127.701333 0 0 0 810.88-85.33333300000004H213.12A127.957333 127.957333 0 0 0 85.333333 42.325333v299.349334A127.701333 127.701333 0 0 0 213.12 469.333333H256z m-85.333333-127.658666v-299.349334c0-23.168 19.157333-42.325333 42.453333-42.325333h597.76c23.466667 0 42.453333 18.944 42.453333 42.325333v299.349334a42.624 42.624 0 0 1-42.453333 42.325333H213.12a42.368 42.368 0 0 1-42.453333-42.325333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="user-check" unicode="" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM755.498667 456.832a42.666667 42.666667 0 0 1-60.330667-60.330667l85.333333-85.333333a42.666667 42.666667 0 0 1 60.330667 0l170.666667 170.666667a42.666667 42.666667 0 1 1-60.330667 60.330666L810.666667 401.664l-55.168 55.168z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="user-minus" unicode="" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM981.333333 469.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="user-plus" unicode="" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM810.666667 554.666667v-256a42.666667 42.666667 0 0 1 85.333333 0V554.666667a42.666667 42.666667 0 0 1-85.333333 0zM981.333333 469.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="user-x" unicode="" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM737.834667 524.501333l213.333333-213.333333a42.666667 42.666667 0 0 1 60.330667 60.330667l-213.333334 213.333333a42.666667 42.666667 0 0 1-60.330666-60.330667zM951.168 584.832l-213.333333-213.333333a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333333a42.666667 42.666667 0 1 1-60.330667 60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="user" unicode="" d="M896 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H341.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h341.333334a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM512 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="users" unicode="" d="M768 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h341.333334a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM384 384A213.333333 213.333333 0 1 0 384 810.666667a213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM1024 0v85.333333a213.333333 213.333333 0 0 1-160 206.421334 42.666667 42.666667 0 1 1-21.333333-82.602667A128 128 0 0 0 938.666667 85.290667V0a42.666667 42.666667 0 0 1 85.333333 0zM672.085333 721.109333a128 128 0 0 0 0-247.978666 42.666667 42.666667 0 0 1 21.162667-82.688 213.333333 213.333333 0 0 1 0 413.354666 42.666667 42.666667 0 0 1-21.162667-82.688z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="video-off" unicode="" d="M640.197128 213.158348v-42.644794a42.644793 42.644793 0 0 0-42.644793-42.644793H128.459607a42.644793 42.644793 0 0 0-42.644793 42.644793V596.961489a42.644793 42.644793 0 0 0 42.644793 42.644793h85.289587a42.644793 42.644793 0 1 1 0 85.289587H128.459607a127.93438 127.93438 0 0 1-127.93438-127.93438v-426.447935a127.93438 127.93438 0 0 1 127.93438-127.93438h469.092728a127.93438 127.93438 0 0 1 127.93438 127.93438v42.644794a42.644793 42.644793 0 0 1-85.289587 0z m316.168499 418.345423l-255.868761-185.078403 55.139718-4.392414-42.644793 42.644793 12.494924-30.149869V596.961489a127.93438 127.93438 0 0 1-127.93438 127.93438h-142.43361a42.644793 42.644793 0 0 1 0-85.289587H597.552335a42.644793 42.644793 0 0 0 42.644793-42.644793v-142.433611a42.644793 42.644793 0 0 1 12.494925-30.149869l42.644793-42.644793a42.644793 42.644793 0 0 1 55.139718-4.392414L938.710682 513.462983V170.513554a42.644793 42.644793 0 0 1 85.289587 0V596.961489a42.644793 42.644793 0 0 1-67.634642 34.542282zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="video" unicode="" d="M956.544427 632.064A42.666667 42.666667 0 0 0 1024.000427 597.333333v-426.666666a42.666667 42.666667 0 0 0-67.456-34.730667l-298.666667 213.333333a42.666667 42.666667 0 0 0 0 69.461334l298.666667 213.333333zM756.05376 384L938.667093 253.568V514.432L756.05376 384zM85.33376 597.077333v-426.154666A42.581333 42.581333 0 0 1 127.659093 128h470.016A42.666667 42.666667 0 0 1 640.000427 170.922667V597.077333A42.581333 42.581333 0 0 1 597.675093 640H127.659093A42.666667 42.666667 0 0 1 85.33376 597.077333z m-85.333333 0A128 128 0 0 0 127.659093 725.333333h470.016A127.914667 127.914667 0 0 0 725.33376 597.077333v-426.154666A128 128 0 0 0 597.675093 42.666667H127.659093A127.914667 127.914667 0 0 0 0.000427 170.922667V597.077333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="voicemail" unicode="" d="M608.306773 256a234.666667 234.666667 0 1 0 181.034667-85.333333h-554.666667a234.666667 234.666667 0 1 0 181.034667 85.333333h192.597333zM234.674773 256a149.333333 149.333333 0 1 1 0 298.666667 149.333333 149.333333 0 0 1 0-298.666667z m554.666667 0a149.333333 149.333333 0 1 1 0 298.666667 149.333333 149.333333 0 0 1 0-298.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="volume-x" unicode="" d="M442.666667 715.946667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L241.066667 213.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V512a42.666667 42.666667 0 0 0 42.666666 42.666667h155.733334l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 256 469.333333H128v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L426.666667 174.08V593.92l-144-115.2zM951.168 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330667-60.330666l256 256a42.666667 42.666667 0 1 1-60.330667 60.330666zM695.168 481.834667l256-256a42.666667 42.666667 0 0 1 60.330667 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330667-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="volume-" unicode="" d="M528 715.946667A42.666667 42.666667 0 0 0 597.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L326.4 213.333333H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667h155.733333l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 341.333333 469.333333H213.333333v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L512 174.08V593.92l-144-115.2zM718.208 504.874667a170.666667 170.666667 0 0 0 0-241.322667 42.666667 42.666667 0 1 1 60.330667-60.330667 256 256 0 0 1 0 361.984 42.666667 42.666667 0 1 1-60.330667-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="volume-1" unicode="" d="M442.666667 715.946667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L241.066667 213.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V512a42.666667 42.666667 0 0 0 42.666666 42.666667h155.733334l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 256 469.333333H128v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L426.666667 174.08V593.92l-144-115.2zM783.488 655.488a384 384 0 0 0 0-542.976 42.666667 42.666667 0 1 1 60.330667-60.330667c183.210667 183.253333 183.210667 480.384 0 663.637334a42.666667 42.666667 0 1 1-60.330667-60.330667z m-150.613333-150.613333a170.666667 170.666667 0 0 0 0-241.322667 42.666667 42.666667 0 1 1 60.330666-60.330667 256 256 0 0 1 0 361.984 42.666667 42.666667 0 1 1-60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="volume" unicode="" d="M656 715.946667A42.666667 42.666667 0 0 0 725.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L454.4 213.333333H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667h155.733333l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 469.333333 469.333333H341.333333v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L640 174.08V593.92l-144-115.2z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="watch" unicode="" d="M512 42.66716399999996a341.332622 341.332622 0 1 0 0 682.665245 341.332622 341.332622 0 0 0 0-682.665245z m0 85.333156a255.999467 255.999467 0 1 1 0 511.998933 255.999467 255.999467 0 0 1 0-511.998933zM554.666578 511.99952v-110.33577l51.498559-51.49856a42.666578 42.666578 0 0 0-60.330541-60.33054l-63.999866 63.999866A42.666578 42.666578 0 0 0 469.333422 383.99978699999997V511.99952a42.666578 42.666578 0 0 0 85.333156 0z m107.263776-352.383266a42.666578 42.666578 0 0 0 84.991823-7.765317l-14.933302-163.370326A127.957067 127.957067 0 0 0 604.159808-127.999147H419.584193a127.999733 127.999733 0 0 0-127.999734 116.437091l-14.933302 163.412993a42.666578 42.666578 0 0 0 84.991823 7.765317l14.933302-163.455659c2.005329-22.058621 20.522624-38.911919 42.837244-38.826586h184.916948a42.666578 42.666578 0 0 1 42.666578 38.869252l14.933302 163.412993zM362.069646 608.383319a42.666578 42.666578 0 1 0-84.991823 7.765317l14.933302 163.370327A127.999733 127.999733 0 0 0 419.413526 895.99872h185.428947a127.999733 127.999733 0 0 0 127.999734-116.437091l14.933302-163.412993a42.666578 42.666578 0 0 0-84.991823-7.765317l-14.933302 163.45566A42.709244 42.709244 0 0 1 605.01314 810.665564H419.413526a42.666578 42.666578 0 0 1-42.410578-38.869252l-14.933302-163.412993z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="wifi" unicode="" d="M240.64 327.765333a426.666667 426.666667 0 0 0 546.133333 0 42.666667 42.666667 0 0 1 54.613334 65.536 512 512 0 0 1-655.36 0 42.666667 42.666667 0 1 1 54.613333-65.536zM88.405333 480a640 640 0 0 0 846.762667 0 42.666667 42.666667 0 0 1 56.490667 64C717.44 785.877333 306.133333 785.877333 31.914667 544a42.666667 42.666667 0 1 1 56.490666-64z m299.818667-306.133333a213.333333 213.333333 0 0 0 247.125333 0 42.666667 42.666667 0 0 1 49.408 69.546666 298.666667 298.666667 0 0 1-345.941333 0 42.666667 42.666667 0 0 1 49.408-69.546666zM512 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="x-square" unicode="" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM353.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666zM609.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="wind" unicode="" d="M439.466667 670.08A42.666667 42.666667 0 1 0 469.461333 597.333333H85.333333a42.666667 42.666667 0 1 1 0-85.333333h384a127.957333 127.957333 0 0 1 64.298667 238.890667 128 128 0 0 1-154.709333-20.650667 42.666667 42.666667 0 0 1 60.501333-60.16z m67.413333-632.32A128 128 0 1 1 597.205333 256H85.333333a42.666667 42.666667 0 0 1 0-85.333333h512a42.709333 42.709333 0 0 0 21.674667-79.616 42.666667 42.666667 0 0 0-51.584 6.869333 42.666667 42.666667 0 1 1-60.501333-60.16z m279.722667 498.218667A64 64 0 1 0 831.914667 426.666667H85.333333a42.666667 42.666667 0 0 1 0-85.333334h746.666667a149.333333 149.333333 0 1 1-105.642667 255.061334 42.666667 42.666667 0 1 1 60.245334-60.416z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="x" unicode="" d="M737.834667 670.165333l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666zM225.834667 609.834667l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="x-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM609.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666zM353.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="zap" unicode="" d="M128 256a42.666667 42.666667 0 0 0-32.768 69.973333l426.666667 512c27.264 32.725333 80.384 9.685333 75.093333-32.597333L560.298667 512H896a42.666667 42.666667 0 0 0 32.768-69.973333l-426.666667-512c-27.264-32.725333-80.384-9.685333-75.093333 32.597333l36.693333 293.376H128z m91.093333 85.333333H512a42.666667 42.666667 0 0 0 42.325333-47.957333l-24.618666-196.949333 275.2 330.24H512a42.666667 42.666667 0 0 0-42.325333 47.957333l24.618666 196.949333L219.093333 341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="zoom-in" unicode="" d="M469.333333 42.666667a384 384 0 1 0 300.032 144.298666l156.8-156.8a42.666667 42.666667 0 0 0-60.330666-60.330666l-156.8 156.8A382.378667 382.378667 0 0 0 469.333333 42.666667z m0 85.333333a298.666667 298.666667 0 1 1 0 597.333333 298.666667 298.666667 0 0 1 0-597.333333zM426.666667 554.666667v-256a42.666667 42.666667 0 0 1 85.333333 0V554.666667a42.666667 42.666667 0 0 1-85.333333 0zM341.333333 384h256a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="zoom-out" unicode="" d="M709.034667 126.634667a384 384 0 1 0 60.330666 60.330666l156.8-156.8a42.666667 42.666667 0 0 0-60.330666-60.330666l-156.8 156.8zM469.333333 128a298.666667 298.666667 0 1 1 0 597.333333 298.666667 298.666667 0 0 1 0-597.333333zM341.333333 384h256a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="command" unicode="" d="M597.333333 213.33333300000004h-170.666666v-85.333333a170.666667 170.666667 0 1 0-170.666667 170.666667h85.333333v170.666666H256a170.666667 170.666667 0 1 0 170.666667 170.666667v-85.333333h170.666666V640a170.666667 170.666667 0 1 0 170.666667-170.666667h-85.333333v-170.666666h85.333333a170.666667 170.666667 0 1 0-170.666667-170.666667v85.333333z m-170.666666 256v-170.666666h170.666666v170.666666h-170.666666zM341.333333 554.666667V640a85.333333 85.333333 0 1 1-85.333333-85.333333h85.333333z m0-341.333334H256a85.333333 85.333333 0 1 1 85.333333-85.333333v85.333333z m341.333334-85.333333a85.333333 85.333333 0 1 1 85.333333 85.333333h-85.333333v-85.333333z m85.333333 426.666667a85.333333 85.333333 0 1 1-85.333333 85.333333v-85.333333h85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="cloud" unicode="" d="M768.190293 512a255.914667 255.914667 0 1 0 0-511.829333H384.318293A383.914667 383.914667 0 1 0 745.918293 512h22.186667z m0-85.290667h-53.76a42.666667 42.666667 0 0 0-41.301333 32 298.581333 298.581333 0 1 1-288.853333-373.248h383.914666a170.624 170.624 0 1 1 0 341.248z" horiz-adv-x="1044" />
|
||||
|
||||
|
||||
<glyph glyph-name="hash" unicode="" d="M170.666667 469.333333h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 1 1 0-85.333334zM170.666667 213.33333300000004h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 0 1 0-85.333334zM384.256 772.6933329999999l-85.333333-768a42.666667 42.666667 0 1 1 84.821333-9.386666l85.333333 768a42.666667 42.666667 0 1 1-84.821333 9.386666zM640.256 772.6933329999999l-85.333333-768a42.666667 42.666667 0 1 1 84.821333-9.386666l85.333333 768a42.666667 42.666667 0 1 1-84.821333 9.386666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="headphones" unicode="" d="M85.333333 213.33333300000004v170.666667C85.333333 619.648 276.352 810.666667 512 810.666667s426.666667-191.018667 426.666667-426.666667v-298.666667a128 128 0 0 0-128-128h-42.666667a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h85.333333v42.666667a341.333333 341.333333 0 0 1-682.666666 0v-42.666667h85.333333a128 128 0 0 0 128-128v-128a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128v128z m768 42.666667h-85.333333a42.666667 42.666667 0 0 1-42.666667-42.666667v-128a42.666667 42.666667 0 0 1 42.666667-42.666666h42.666667a42.666667 42.666667 0 0 1 42.666666 42.666666v170.666667zM170.666667 256v-170.666667a42.666667 42.666667 0 0 1 42.666666-42.666666h42.666667a42.666667 42.666667 0 0 1 42.666667 42.666666v128a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="underline" unicode="" d="M213.333333 768a42.666667 42.666667 0 1 0 85.333334 0v-298.666667a213.333333 213.333333 0 0 1 426.666666 0V768a42.666667 42.666667 0 0 0 85.333334 0v-298.666667a298.666667 298.666667 0 0 0-597.333334 0V768zM170.666667-42.666667a42.666667 42.666667 0 0 0 0 85.333334h682.666666a42.666667 42.666667 0 0 0 0-85.333334H170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="italic" unicode="" d="M669.568 682.666667H810.666667a42.666667 42.666667 0 0 1 0 85.333333h-384a42.666667 42.666667 0 1 1 0-85.333333h151.765333l-224-597.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333333h384a42.666667 42.666667 0 0 1 0 85.333333h-151.765333l224 597.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bold" unicode="" d="M743.936 399.701333A213.333333 213.333333 0 0 0 640 0H256a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h341.333333a213.333333 213.333333 0 0 0 146.602667-368.298667zM298.666667 682.666667v-256h298.666666a128 128 0 0 1 0 256H298.666667z m0-597.333334h341.333333a128 128 0 0 1 0 256H298.666667v-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="crop" unicode="" d="M302.764169 679.379651L682.710044 682.664978a127.999733 127.999733 0 0 0 127.999734-127.999734v-383.9992h170.666311a42.666578 42.666578 0 0 0 0-85.333155h-170.666311v-170.666311a42.666578 42.666578 0 0 0-85.333156 0v170.666311H341.377422c-70.698519 0-127.999733 57.301214-127.999733 128.383732l3.285326 379.561876-173.567638-1.49333a42.666578 42.666578 0 0 0-0.767998 85.333156l175.060968 1.535996L218.924344 853.715288a42.666578 42.666578 0 0 0 85.333156-0.767998l-1.493331-173.567639z m-0.767998-85.333155L298.710844 213.332622a42.666578 42.666578 0 0 1 42.666578-42.666578h383.9992V554.665244c0 23.551951-19.114627 42.666578-42.282578 42.666578l-381.097873-3.285326z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="help-circle" unicode="" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z m0 128a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z m-83.925333 369.834667a42.666667 42.666667 0 1 0-80.469334 28.330666A170.666667 170.666667 0 0 0 679.253333 469.333333c0-54.613333-32.341333-97.706667-82.986666-131.498666a323.2 323.2 0 0 0-74.197334-36.992 42.666667 42.666667 0 1 0-26.965333 80.981333 255.488 255.488 0 0 1 53.845333 27.008c29.312 19.584 44.970667 40.448 44.970667 60.586667a85.333333 85.333333 0 0 1-165.845333 28.416z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="paperclip" unicode="" d="M884.522667 428.586667l-392.106667-392.106667a213.461333 213.461333 0 0 0-301.909333 301.909333l392.106666 392.106667a128.085333 128.085333 0 1 0 181.162667-181.162667l-392.533333-392.106666a42.709333 42.709333 0 1 0-60.416 60.416l362.24 361.813333a42.666667 42.666667 0 0 1-60.288 60.330667l-362.24-361.813334a128.042667 128.042667 0 1 1 181.034666-181.077333l392.533334 392.106667a213.418667 213.418667 0 1 1-301.824 301.824l-392.106667-392.106667a298.794667 298.794667 0 1 1 422.570667-422.570667l392.106666 392.106667a42.666667 42.666667 0 0 1-60.330666 60.330667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shopping-cart" unicode="" d="M341.333333-128a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z m512-85.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM278.912 682.666667H981.333333a42.666667 42.666667 0 0 0 41.813334-51.029334l-71.68-357.930666A127.786667 127.786667 0 0 0 824.32 170.666667H373.674667a128 128 0 0 0-128 111.36L180.864 773.546667A42.666667 42.666667 0 0 1 138.666667 810.666667H42.666667a42.666667 42.666667 0 1 0 0 85.333333h96.085333a128 128 0 0 0 126.72-111.36L278.869333 682.666667z m51.413333-389.546667c2.773333-21.376 21.077333-37.290667 43.008-37.12h451.84a42.666667 42.666667 0 0 1 42.666667 34.389333L929.28 597.333333H290.133333l40.192-304.213333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="tv" unicode="" d="M409.002667 640L268.501333 780.501333a42.666667 42.666667 0 0 0 60.330667 60.330667L512 657.664l183.168 183.168a42.666667 42.666667 0 0 0 60.330667-60.330667L614.997333 640H853.333333a128 128 0 0 0 128-128v-469.333333a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V512a128 128 0 0 0 128 128h238.336zM170.666667 554.666667a42.666667 42.666667 0 0 1-42.666667-42.666667v-469.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667V512a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="wifi-off" unicode="" d="M669.172142 166.544518a42.497957 42.497957 0 0 0-33.035022 7.033262 213.129173 213.129173 0 0 1-246.888835 0 42.625835 42.625835 0 1 0-49.360716 69.480111 298.167714 298.167714 0 0 0 198.721641 54.006932l-118.542446 118.585072a423.700797 423.700797 0 0 1-178.602247-88.278103 42.625835 42.625835 0 1 0-54.688946 65.38803A508.952466 508.952466 0 0 0 350.92766 484.703748L251.950472 583.766187a635.551195 635.551195 0 0 1-162.233927-104.305417A42.625835 42.625835 0 1 0 33.27994 543.31427 720.802864 720.802864 0 0 0 187.926468 647.790191L13.458927 822.300358A42.625835 42.625835 0 1 0 73.731857 882.530663l217.604886-217.562261 1.321401-1.364026 168.158918-168.158918c2.685428-2.131292 5.1151-4.518338 7.246392-7.203766l543.479392-543.479392a42.625835 42.625835 0 0 0-60.315556-60.27293l-282.055148 282.012522zM512.479573-0.122496a42.625835 42.625835 0 1 0 0 85.251669 42.625835 42.625835 0 0 0 0-85.251669z m182.481199 385.380171a42.625835 42.625835 0 0 0 37.425482 76.641251c38.107496-18.62749 73.742694-41.901195 106.053077-69.352233a42.625835 42.625835 0 1 0-55.15783-64.961772 423.700797 423.700797 0 0 1-88.320729 57.672754z m-234.015833 252.003935a42.625835 42.625835 0 0 0-6.862759 84.995914A724.639189 724.639189 0 0 0 991.679207 543.356896a42.625835 42.625835 0 0 0-56.436605-63.938752A639.38752 639.38752 0 0 1 460.902313 637.26161z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="minimize" unicode="" d="M298.666667 768v-128a42.666667 42.666667 0 0 0-42.666667-42.666667H128a42.666667 42.666667 0 1 1 0-85.333333h128a128 128 0 0 1 128 128V768a42.666667 42.666667 0 1 1-85.333333 0z m597.333333-170.666667h-128a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 1-85.333333 0v-128a128 128 0 0 1 128-128h128a42.666667 42.666667 0 0 1 0 85.333333z m-170.666667-597.333333v128a42.666667 42.666667 0 0 0 42.666667 42.666667h128a42.666667 42.666667 0 0 1 0 85.333333h-128a128 128 0 0 1-128-128v-128a42.666667 42.666667 0 0 1 85.333333 0zM128 170.666667h128a42.666667 42.666667 0 0 0 42.666667-42.666667v-128a42.666667 42.666667 0 0 1 85.333333 0v128a128 128 0 0 1-128 128H128a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="maximize" unicode="" d="M341.333333 810.666667H213.333333a128 128 0 0 1-128-128v-128a42.666667 42.666667 0 1 1 85.333334 0V682.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h128a42.666667 42.666667 0 1 1 0 85.333334z m597.333334-256V682.666667a128 128 0 0 1-128 128h-128a42.666667 42.666667 0 0 1 0-85.333334h128a42.666667 42.666667 0 0 0 42.666666-42.666666v-128a42.666667 42.666667 0 0 1 85.333334 0z m-256-597.333334h128a128 128 0 0 1 128 128v128a42.666667 42.666667 0 0 1-85.333334 0v-128a42.666667 42.666667 0 0 0-42.666666-42.666666h-128a42.666667 42.666667 0 0 1 0-85.333334zM85.333333 213.333333v-128a128 128 0 0 1 128-128h128a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666666v128a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="gitlab" unicode="" d="M537.088-82.730667a42.666667 42.666667 0 0 0-50.176 0L32.341333 247.637333a78.421333 78.421333 0 0 0-28.16 87.594667l52.053334 161.365333 104.96 322.645334c3.413333 8.832 8.832 16.725333 15.701333 22.912a61.269333 61.269333 0 0 0 83.157333-0.810667 59.733333 59.733333 0 0 0 15.616-25.173333L370.176 526.08h283.648l95.274667 293.12c3.413333 8.874667 8.874667 16.768 15.744 22.954667a61.269333 61.269333 0 0 0 83.157333-0.810667 59.733333 59.733333 0 0 0 15.616-25.173333l103.936-319.957334 54.741333-162.133333a78.506667 78.506667 0 0 0-31.573333-87.125333l-453.632-329.685334zM86.869333 313.514667L512 4.522667l426.794667 310.186666-52.224 154.666667-80.725334 248.490667L725.333333 470.229333a42.666667 42.666667 0 0 0-40.576-29.482666h-345.6A42.666667 42.666667 0 0 0 298.666667 470.186667L217.898667 717.952 137.472 470.314667l-50.602667-156.8z" horiz-adv-x="1025" />
|
||||
|
||||
|
||||
<glyph glyph-name="sliders" unicode="" d="M810.666667 170.666667v-170.666667a42.666667 42.666667 0 0 1 85.333333 0v170.666667h85.333333a42.666667 42.666667 0 0 1 0 85.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h85.333334zM469.333333 597.333333V768a42.666667 42.666667 0 0 0 85.333334 0v-170.666667h85.333333a42.666667 42.666667 0 0 0 0-85.333333H384a42.666667 42.666667 0 1 0 0 85.333333h85.333333z m-341.333333-341.333333v-256a42.666667 42.666667 0 0 1 85.333333 0v256h85.333334a42.666667 42.666667 0 0 1 0 85.333333H42.666667a42.666667 42.666667 0 0 1 0-85.333333h85.333333z m85.333333 213.333333a42.666667 42.666667 0 0 0-85.333333 0V768a42.666667 42.666667 0 1 0 85.333333 0v-298.666667z m341.333334-469.333333a42.666667 42.666667 0 0 0-85.333334 0v384a42.666667 42.666667 0 0 0 85.333334 0v-384z m341.333333 384a42.666667 42.666667 0 0 0-85.333333 0V768a42.666667 42.666667 0 0 0 85.333333 0v-384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="star-on" unicode="" d="M473.728 829.568a42.666667 42.666667 0 0 0 76.544 0l121.898667-246.741333 272.64-39.808a42.624 42.624 0 0 0 23.637333-72.704l-197.248-191.914667 46.506667-271.146667a42.666667 42.666667 0 0 0-61.866667-44.928L512 90.410667l-243.84-128.085334a42.666667 42.666667 0 0 0-61.866667 44.928l46.506667 271.146667-197.248 191.914667a42.624 42.624 0 0 0 23.594667 72.704l272.64 39.808 121.941333 246.741333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="heart-on" unicode="" d="M527.061333 729.472A277.333333 277.333333 0 0 0 1000.618667 533.333333a277.333333 277.333333 0 0 0-81.28-196.138666l-377.173334-377.173334a42.666667 42.666667 0 0 0-60.330666 0l-377.173334 377.173334a277.376 277.376 0 0 0 392.277334 392.277333l15.061333-15.061333 15.061333 15.061333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="archive" unicode="" d="M853.333333 512H170.666667v-469.333333h682.666666V512z m85.333334 0v-512a42.666667 42.666667 0 0 0-42.666667-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667V512H42.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667h938.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-213.333333a42.666667 42.666667 0 0 0-42.666667-42.666667h-42.666666zM85.333333 725.333333v-128h853.333334V725.333333H85.333333z m341.333334-384a42.666667 42.666667 0 0 0 0 85.333334h170.666666a42.666667 42.666667 0 0 0 0-85.333334h-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-down-circle" unicode="" d="M469.333333 316.330667V554.666667a42.666667 42.666667 0 0 0 85.333334 0v-238.336l97.834666 97.834666a42.666667 42.666667 0 0 0 60.330667-60.330666l-170.666667-170.666667a42.666667 42.666667 0 0 0-60.330666 0l-170.666667 170.666667a42.666667 42.666667 0 0 0 60.330667 60.330666L469.333333 316.330667zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-up-circle" unicode="" d="M554.666667 451.669333V213.333333a42.666667 42.666667 0 0 0-85.333334 0v238.336l-97.834666-97.834666a42.666667 42.666667 0 1 0-60.330667 60.330666l170.666667 170.666667a42.666667 42.666667 0 0 0 60.330666 0l170.666667-170.666667a42.666667 42.666667 0 0 0-60.330667-60.330666L554.666667 451.669333zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-left-circle" unicode="" d="M444.330667 426.666667H682.666667a42.666667 42.666667 0 0 0 0-85.333334h-238.336l97.834666-97.834666a42.666667 42.666667 0 0 0-60.330666-60.330667l-170.666667 170.666667a42.666667 42.666667 0 0 0 0 60.330666l170.666667 170.666667a42.666667 42.666667 0 0 0 60.330666-60.330667L444.330667 426.666667zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="arrow-right-circle" unicode="" d="M579.669333 341.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333334h238.336l-97.834666 97.834666a42.666667 42.666667 0 1 0 60.330666 60.330667l170.666667-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-170.666667-170.666667a42.666667 42.666667 0 0 0-60.330666 60.330667L579.669333 341.333333zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bar-chart-line-" unicode="" d="M810.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0V469.333333a42.666667 42.666667 0 0 0 85.333334 0v-426.666666z m-256 0a42.666667 42.666667 0 0 0-85.333334 0V725.333333a42.666667 42.666667 0 0 0 85.333334 0v-682.666666z m-256 0a42.666667 42.666667 0 0 0-85.333334 0v256a42.666667 42.666667 0 0 0 85.333334 0v-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bar-chart-line" unicode="" d="M554.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0V469.333333a42.666667 42.666667 0 0 0 85.333334 0v-426.666666z m256 0a42.666667 42.666667 0 0 0-85.333334 0V725.333333a42.666667 42.666667 0 0 0 85.333334 0v-682.666666zM298.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0v170.666666a42.666667 42.666667 0 0 0 85.333334 0v-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="book-open" unicode="" d="M128 725.333333v-554.666666h256c31.104 0 60.245333-8.32 85.333333-22.826667V597.333333a128 128 0 0 1-128 128H128z m384-768c-21.333333 0-42.666667 14.208-42.666667 42.666667a85.333333 85.333333 0 0 1-85.333333 85.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V768a42.666667 42.666667 0 0 0 42.666666 42.666667h256c69.802667 0 131.754667-33.493333 170.666667-85.333334a212.992 212.992 0 0 0 170.666667 85.333334h256a42.666667 42.666667 0 0 0 42.666666-42.666667v-640a42.666667 42.666667 0 0 0-42.666666-42.666667h-298.666667a85.333333 85.333333 0 0 1-85.333333-85.333333c0-28.458667-21.333333-42.666667-42.666667-42.666667s-42.666667 14.208-42.666667 42.666667c0 63.146667 34.304 118.314667 85.333334 147.84V0c0-28.458667-21.333333-42.666667-42.666667-42.666667z m384 768h-213.333333a128 128 0 0 1-128-128v-449.493333A169.898667 169.898667 0 0 0 640 170.666667h256V725.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="code" unicode="" d="M652.501333 609.834667a42.666667 42.666667 0 1 0 60.330667 60.330666l256-256a42.666667 42.666667 0 0 0 0-60.330666l-256-256a42.666667 42.666667 0 0 0-60.330667 60.330666L878.336 384l-225.834667 225.834667zM145.664 384l225.834667-225.834667a42.666667 42.666667 0 0 0-60.330667-60.330666l-256 256a42.666667 42.666667 0 0 0 0 60.330666l256 256a42.666667 42.666667 0 0 0 60.330667-60.330666L145.664 384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="database" unicode="" d="M170.666667 574.805333V384c0-34.688 151.722667-85.333333 341.333333-85.333333s341.333333 50.645333 341.333333 85.333333V574.805333C775.466667 534.357333 651.52 512 512 512c-139.52 0-263.466667 22.357333-341.333333 62.805333zM85.333333 682.666667c0 106.965333 191.146667 170.666667 426.666667 170.666666s426.666667-63.701333 426.666667-170.666666v-597.333334c0-107.178667-190.208-170.666667-426.666667-170.666666S85.333333-21.845333 85.333333 85.333333V682.666667z m768-406.741334C775.637333 235.52 651.946667 213.333333 512 213.333333c-139.946667 0-263.637333 22.229333-341.333333 62.592V85.333333c0-34.688 151.722667-85.333333 341.333333-85.333333s341.333333 50.645333 341.333333 85.333333v190.592zM512 597.333333c188.586667 0 341.333333 50.901333 341.333333 85.333334 0 34.432-152.746667 85.333333-341.333333 85.333333S170.666667 717.098667 170.666667 682.666667c0-34.432 152.746667-85.333333 341.333333-85.333334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="dollar-sign" unicode="" d="M554.666667 725.333333h170.666666a42.666667 42.666667 0 0 0 0-85.333333h-170.666666v-213.333333h64a192 192 0 0 0 0-384H554.666667v-128a42.666667 42.666667 0 0 0-85.333334 0v128H256a42.666667 42.666667 0 0 0 0 85.333333h213.333333v213.333333H405.333333a192 192 0 1 0 0 384H469.333333V853.333333a42.666667 42.666667 0 0 0 85.333334 0v-128z m0-384v-213.333333h64a106.666667 106.666667 0 0 1 0 213.333333H554.666667z m-85.333334 85.333334V640H405.333333a106.666667 106.666667 0 1 1 0-213.333333H469.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="folder-plus" unicode="" d="M554.666667 341.333333h85.333333a42.666667 42.666667 0 0 0 0-85.333333h-85.333333v-85.333333a42.666667 42.666667 0 0 0-85.333334 0v85.333333H384a42.666667 42.666667 0 0 0 0 85.333333h85.333333v85.333334a42.666667 42.666667 0 0 0 85.333334 0v-85.333334z m-62.506667 341.333334H853.333333a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667z m-130.986667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="gift" unicode="" d="M838.954667 640H938.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-213.333333a42.666667 42.666667 0 0 0-42.666666-42.666667h-42.666667v-384a42.666667 42.666667 0 0 0-42.666667-42.666666H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666v384H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V597.333333a42.666667 42.666667 0 0 0 42.666666 42.666667h99.712A149.333333 149.333333 0 0 0 320 853.333333c83.626667 0 145.962667-49.834667 189.397333-128.768l2.602667-4.821333 2.602667 4.821333C558.08 803.498667 620.373333 853.333333 704 853.333333a149.333333 149.333333 0 0 0 134.954667-213.333333zM554.666667 554.666667v-128h341.333333V554.666667h-341.333333z m-85.333334 0H128v-128h341.333333V554.666667z m85.333334-554.666667h256v341.333333h-256v-341.333333z m-85.333334 0v341.333333H213.333333v-341.333333h256z m-34.730666 683.434667C404.693333 737.834667 367.018667 768 320 768a64 64 0 0 1 0-128h134.570667a347.904 347.904 0 0 1-19.968 43.434667zM704 640a64 64 0 0 1 0 128c-47.018667 0-84.693333-30.165333-114.602667-84.565333A347.861333 347.861333 0 0 1 569.429333 640H704z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="folder-minus" unicode="" d="M492.16 682.666667H853.333333a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667z m-130.986667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333zM384 256a42.666667 42.666667 0 0 0 0 85.333333h256a42.666667 42.666667 0 0 0 0-85.333333H384z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="git-commit" unicode="" d="M721.109333 341.589333a213.418667 213.418667 0 0 0-418.218666-0.042666A43.178667 43.178667 0 0 0 298.666667 341.333333H44.8a42.666667 42.666667 0 0 0 0 85.333334H298.666667c1.408 0 2.816-0.085333 4.224-0.213334a213.418667 213.418667 0 0 0 418.218666 0c1.536 0.128 3.072 0.213333 4.650667 0.213334h253.866667a42.666667 42.666667 0 0 0 0-85.333334h-253.866667c-1.578667 0-3.114667 0.085333-4.650667 0.256zM512 256a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="git-branch" unicode="" d="M421.717333 86.997333A170.752 170.752 0 0 0 85.333333 128a170.752 170.752 0 0 0 128 165.290667V768a42.666667 42.666667 0 1 0 85.333334 0v-474.709333a170.965333 170.965333 0 0 0 122.112-120.661334 341.461333 341.461333 0 0 1 302.592 302.592A170.752 170.752 0 0 0 768 810.666667a170.666667 170.666667 0 0 0 41.002667-336.384 426.794667 426.794667 0 0 0-387.285334-387.285334zM768 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="git-pull-request" unicode="" d="M213.333333 474.709333A170.752 170.752 0 0 0 256 810.666667a170.666667 170.666667 0 0 0 42.666667-335.957334V0a42.666667 42.666667 0 0 0-85.333334 0V474.709333z m512-181.418666V554.666667a42.666667 42.666667 0 0 1-42.666666 42.666666h-128a42.666667 42.666667 0 0 0 0 85.333334h128a128 128 0 0 0 128-128v-261.376A170.752 170.752 0 0 0 768-42.666667a170.666667 170.666667 0 0 0-42.666667 335.957334zM768 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="git-merge" unicode="" d="M602.282667 86.997333A426.154667 426.154667 0 0 0 298.666667 255.957333V0a42.666667 42.666667 0 0 0-85.333334 0V474.709333A170.752 170.752 0 0 0 256 810.666667a170.666667 170.666667 0 0 0 44.629333-335.445334 341.461333 341.461333 0 0 1 302.592-302.592A170.752 170.752 0 0 0 938.666667 128a170.666667 170.666667 0 0 0-336.384-41.002667zM768 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="linkedin" unicode="" d="M682.666667 554.666667a298.666667 298.666667 0 0 0 298.666666-298.666667v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666666h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667a42.666667 42.666667 0 0 1-85.333333 0v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667a298.666667 298.666667 0 0 0 298.666667 298.666667z m213.333333-554.666667v256a213.333333 213.333333 0 0 1-426.666667 0v-256h85.333334v256a128 128 0 0 0 256 0v-256h85.333333zM85.333333 512h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-512a42.666667 42.666667 0 0 0-42.666667-42.666666H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V469.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z m42.666667-85.333333v-426.666667h85.333333V426.666667H128z m42.666667 128a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="hard-drive" unicode="" d="M976.426667 403.882667A42.368 42.368 0 0 0 981.333333 384v-256a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128v256a42.666667 42.666667 0 0 0 4.906666 19.882667l146.773334 293.12A128 128 0 0 0 308.906667 768h406.186666c48.597333 0 92.970667-27.562667 114.517334-70.912l146.816-293.205333zM869.589333 426.666667l-116.352 232.32A42.666667 42.666667 0 0 1 715.093333 682.666667H308.906667a42.666667 42.666667 0 0 1-38.144-23.68L154.410667 426.666667h715.178666zM896 341.333333H128v-213.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667v213.333333zM256 170.666667a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z m170.666667 0a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="more-vertical-" unicode="" d="M512 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z m0 298.666666a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z m0-597.333333a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="more-horizontal-" unicode="" d="M512 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z m298.666667 0a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666zM213.333333 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="rss" unicode="" d="M170.666667 384a42.666667 42.666667 0 0 0 0 85.333333c235.648 0 426.666667-191.018667 426.666666-426.666666a42.666667 42.666667 0 0 0-85.333333 0 341.333333 341.333333 0 0 1-341.333333 341.333333z m0 298.666667a42.666667 42.666667 0 1 0 0 85.333333c400.597333 0 725.333333-324.736 725.333333-725.333333a42.666667 42.666667 0 0 0-85.333333 0c0 353.450667-286.549333 640-640 640z m42.666666-682.666667a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="send" unicode="" d="M923.690667 850.645333a42.666667 42.666667 0 0 0 54.954666-54.954666l-298.368-852.48c-12.8-36.437333-63.573333-38.528-79.274666-3.2l-164.010667 368.981333-368.981333 164.010667c-35.328 15.701333-33.28 66.517333 3.242666 79.274666l852.437334 298.368z m-147.413334-141.994666L201.002667 507.264l258.901333-115.029333 316.373333 316.416z m60.373334-60.373334l-316.416-316.373333 115.029333-258.901333 201.386667 575.274666z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shield-off" unicode="" d="M781.789867 174.592l0.426666-0.426667 229.290667-229.333333a42.666667 42.666667 0 0 0-60.330667-60.330667l-198.528 198.528a908.373333 908.373333 0 0 0-220.714666-163.413333 42.666667 42.666667 0 0 0-38.997334-0.426667 738.56 738.56 0 0 0-56.874666 32.64 958.506667 958.506667 0 0 0-122.837334 90.709334C198.237867 143.232 128.008533 257.322667 128.008533 384V682.666667c0 7.125333 1.792 13.994667 4.992 20.010666L12.509867 823.168A42.666667 42.666667 0 1 0 72.840533 883.498667l158.506667-158.506667 1.322667-1.28 549.12-549.12zM213.341867 622.336V384c0-97.28 57.770667-191.189333 156.117333-277.205333a874.24 874.24 0 0 1 142.506667-100.906667 823.04 823.04 0 0 1 180.352 137.472L213.341867 622.336z m298.666666 142.762667L392.1152 720.341333a42.666667 42.666667 0 0 0-29.866667 79.957334l134.826667 50.346666a42.666667 42.666667 0 0 0 29.909333 0l341.333334-128A42.666667 42.666667 0 0 0 896.008533 682.666667v-298.965334a337.066667 337.066667 0 0 0-15.146666-97.706666 42.666667 42.666667 0 0 0-81.493334 25.301333A251.306667 251.306667 0 0 1 810.6752 384V653.098667l-298.666667 112z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shopping-bag" unicode="" d="M929.877333 665.941333A42.794667 42.794667 0 0 0 938.666667 640v-597.333333a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128V640a42.666667 42.666667 0 0 0 8.789334 25.941333L221.866667 836.266667A42.666667 42.666667 0 0 0 256 853.333333h512a42.666667 42.666667 0 0 0 34.133333-17.066666l127.744-170.325334zM810.666667 682.666667l-64 85.333333h-469.333334L213.333333 682.666667h597.333334z m42.666666-85.333334H170.666667v-554.666666a42.666667 42.666667 0 0 1 42.666666-42.666667h597.333334a42.666667 42.666667 0 0 1 42.666666 42.666667V597.333333z m-213.333333-128a42.666667 42.666667 0 0 0 85.333333 0 213.333333 213.333333 0 0 0-426.666666 0 42.666667 42.666667 0 1 0 85.333333 0 128 128 0 0 1 256 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="terminal" unicode="" d="M140.501333 652.501333a42.666667 42.666667 0 0 0 60.330667 60.330667l256-256a42.666667 42.666667 0 0 0 0-60.330667l-256-256a42.666667 42.666667 0 1 0-60.330667 60.330667L366.336 426.666667 140.501333 652.501333zM512 42.666667a42.666667 42.666667 0 0 0 0 85.333333h341.333333a42.666667 42.666667 0 0 0 0-85.333333h-341.333333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="truck" unicode="" d="M924.288 170.666667a149.333333 149.333333 0 1 0-269.909333 0H369.621333a149.333333 149.333333 0 1 0-269.909333 0H42.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V768a42.666667 42.666667 0 0 0 42.666667 42.666667h640a42.666667 42.666667 0 0 0 42.666666-42.666667v-170.666667h128a42.666667 42.666667 0 0 0 30.165334-12.501333l128-128A42.666667 42.666667 0 0 0 1024 426.666667v-213.333334a42.666667 42.666667 0 0 0-42.666667-42.666666h-57.045333zM640 554.666667V725.333333H85.333333v-469.333333h554.666667V554.666667z m85.333333-42.666667v-256h213.333334v153.002667L835.669333 512H725.333333zM234.666667 42.666667a64 64 0 1 1 0 128 64 64 0 0 1 0-128z m554.666666 0a64 64 0 1 1 0 128 64 64 0 0 1 0-128z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="zap-off" unicode="" d="M283.613867 552.064L12.509867 823.168A42.666667 42.666667 0 1 0 72.840533 883.498667L371.208533 585.130667l0.682667-0.682667 340.650667-340.650667 0.682666-0.682666 298.282667-298.24a42.666667 42.666667 0 0 0-60.330667-60.373334l-265.642666 265.642667-183.424-220.16c-27.264-32.682667-80.384-9.642667-75.093334 32.64l36.693334 293.376H128.008533a42.666667 42.666667 0 0 0-32.768 69.973333L283.613867 552.106667z m60.586666-60.586667L219.101867 341.333333h275.2L344.2432 491.477333z m208.810667-208.810666l-23.296-186.24 95.232 114.304-71.936 71.936zM483.805867 658.773333A42.666667 42.666667 0 1 0 418.141867 713.386667l103.68 124.586666c27.264 32.725333 80.384 9.728 75.136-32.554666l-25.173334-202.666667a42.666667 42.666667 0 1 0-84.650666 10.496l7.253333 58.282667-10.666667-12.757334zM668.168533 426.666667a42.666667 42.666667 0 0 0 0 85.333333H896.008533a42.666667 42.666667 0 0 0 32.768-70.016l-103.68-124.16a42.666667 42.666667 0 0 0-65.536 54.698667L804.7872 426.666667H668.168533z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="youtube" unicode="" d="M1003.093333 632.448l0.64-2.773333A1278.72 1278.72 0 0 0 1024 394.837333a1279.573333 1279.573333 0 0 0-20.906667-234.538666 161.536 161.536 0 0 0-113.152-116.181334c-32.426667-8.661333-95.658667-13.994667-184.618666-17.365333a5295.061333 5295.061333 0 0 0-253.781334-3.242667c-45.269333 0.554667-90.538667 1.621333-132.906666 3.242667-88.917333 3.413333-152.192 8.704-184.832 17.408-54.442667 14.933333-97.109333 57.173333-113.493334 115.498667A1278.464 1278.464 0 0 0 0 394.453333C-0.426667 472.746667 6.4 550.912 20.906667 630.741333a161.536 161.536 0 0 0 113.109333 116.181334c32.426667 8.661333 95.701333 13.994667 184.618667 17.365333a5295.061333 5295.061333 0 0 0 253.738666 3.285333c45.226667-0.512 90.496-1.450667 132.821334-2.944 88.661333-3.072 151.765333-7.936 185.344-16.170666a161.28 161.28 0 0 0 112.554666-116.053334z m-83.072-19.498667a75.392 75.392 0 0 1-51.2 53.034667c-24.064 5.845333-84.48 10.496-166.570666 13.354667a5711.914667 5711.914667 0 0 1-249.6 2.858666c-44.586667-0.554667-89.173333-1.578667-130.688-3.157333-81.792-3.114667-142.08-8.192-165.248-14.378667-26.197333-7.424-46.421333-28.245333-52.394667-51.84A1196.202667 1196.202667 0 0 1 85.333333 394.368c-0.469333-73.6 5.845333-147.072 17.962667-215.466667 7.253333-25.514667 27.392-45.397333 52.778667-52.352 23.765333-6.357333 84.053333-11.434667 165.845333-14.506666a5212.416 5212.416 0 0 1 249.429333-3.2c44.586667 0.554667 89.173333 1.578667 130.688 3.157333 81.792 3.114667 142.08 8.192 165.248 14.378667 26.197333 7.424 46.421333 28.245333 52.394667 51.84 12.885333 71.381333 19.2 143.786667 18.986667 216.746666a1194.666667 1194.666667 0 0 1-18.688 218.026667z m-482.901333-394.88a42.666667 42.666667 0 0 0-63.744 37.077334V534.186667a42.666667 42.666667 0 0 0 63.744 37.12l245.333333-139.52a42.666667 42.666667 0 0 0 0-74.24l-245.333333-139.52z m137.941333 176.597334L458.666667 460.8v-132.266667l116.352 66.133334z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
|
||||
|
||||
</font>
|
||||
</defs></svg>
|
After Width: | Height: | Size: 208 KiB |
BIN
src/@core/assets/fonts/feather/fonts/feather.ttf
Normal file
BIN
src/@core/assets/fonts/feather/fonts/feather.ttf
Normal file
Binary file not shown.
BIN
src/@core/assets/fonts/feather/fonts/feather.woff
Normal file
BIN
src/@core/assets/fonts/feather/fonts/feather.woff
Normal file
Binary file not shown.
1112
src/@core/assets/fonts/feather/iconfont.css
Normal file
1112
src/@core/assets/fonts/feather/iconfont.css
Normal file
File diff suppressed because it is too large
Load Diff
15
src/@core/auth/jwt/jwtDefaultConfig.js
Normal file
15
src/@core/auth/jwt/jwtDefaultConfig.js
Normal file
@ -0,0 +1,15 @@
|
||||
export default {
|
||||
// Endpoints
|
||||
loginEndpoint: '/jwt/login',
|
||||
registerEndpoint: '/jwt/register',
|
||||
refreshEndpoint: '/jwt/refresh-token',
|
||||
logoutEndpoint: '/jwt/logout',
|
||||
|
||||
// This will be prefixed in authorization header with token
|
||||
// e.g. Authorization: Bearer <token>
|
||||
tokenType: 'Bearer',
|
||||
|
||||
// Value of this property will be used as key to store JWT token in storage
|
||||
storageTokenKeyName: 'accessToken',
|
||||
storageRefreshTokenKeyName: 'refreshToken',
|
||||
}
|
111
src/@core/auth/jwt/jwtService.js
Normal file
111
src/@core/auth/jwt/jwtService.js
Normal file
@ -0,0 +1,111 @@
|
||||
import jwtDefaultConfig from './jwtDefaultConfig'
|
||||
|
||||
export default class JwtService {
|
||||
// Will be used by this service for making API calls
|
||||
axiosIns = null
|
||||
|
||||
// jwtConfig <= Will be used by this service
|
||||
jwtConfig = { ...jwtDefaultConfig }
|
||||
|
||||
// For Refreshing Token
|
||||
isAlreadyFetchingAccessToken = false
|
||||
|
||||
// For Refreshing Token
|
||||
subscribers = []
|
||||
|
||||
constructor(axiosIns, jwtOverrideConfig) {
|
||||
this.axiosIns = axiosIns
|
||||
this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }
|
||||
|
||||
// Request Interceptor
|
||||
this.axiosIns.interceptors.request.use(
|
||||
config => {
|
||||
// Get token from localStorage
|
||||
const accessToken = this.getToken()
|
||||
|
||||
// If token is present add it to request's Authorization Header
|
||||
if (accessToken) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`
|
||||
}
|
||||
return config
|
||||
},
|
||||
error => Promise.reject(error),
|
||||
)
|
||||
|
||||
// Add request/response interceptor
|
||||
this.axiosIns.interceptors.response.use(
|
||||
response => response,
|
||||
error => {
|
||||
// const { config, response: { status } } = error
|
||||
const { config, response } = error
|
||||
const originalRequest = config
|
||||
|
||||
// if (status === 401) {
|
||||
if (response && response.status === 401) {
|
||||
if (!this.isAlreadyFetchingAccessToken) {
|
||||
this.isAlreadyFetchingAccessToken = true
|
||||
this.refreshToken().then(r => {
|
||||
this.isAlreadyFetchingAccessToken = false
|
||||
|
||||
// Update accessToken in localStorage
|
||||
this.setToken(r.data.accessToken)
|
||||
this.setRefreshToken(r.data.refreshToken)
|
||||
|
||||
this.onAccessTokenFetched(r.data.accessToken)
|
||||
})
|
||||
}
|
||||
const retryOriginalRequest = new Promise(resolve => {
|
||||
this.addSubscriber(accessToken => {
|
||||
// Make sure to assign accessToken according to your response.
|
||||
// Check: https://pixinvent.ticksy.com/ticket/2413870
|
||||
// Change Authorization header
|
||||
originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`
|
||||
resolve(this.axiosIns(originalRequest))
|
||||
})
|
||||
})
|
||||
return retryOriginalRequest
|
||||
}
|
||||
return Promise.reject(error)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
onAccessTokenFetched(accessToken) {
|
||||
this.subscribers = this.subscribers.filter(callback => callback(accessToken))
|
||||
}
|
||||
|
||||
addSubscriber(callback) {
|
||||
this.subscribers.push(callback)
|
||||
}
|
||||
|
||||
getToken() {
|
||||
return localStorage.getItem(this.jwtConfig.storageTokenKeyName)
|
||||
}
|
||||
|
||||
getRefreshToken() {
|
||||
return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)
|
||||
}
|
||||
|
||||
setToken(value) {
|
||||
localStorage.setItem(this.jwtConfig.storageTokenKeyName, value)
|
||||
}
|
||||
|
||||
setRefreshToken(value) {
|
||||
localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)
|
||||
}
|
||||
|
||||
login(...args) {
|
||||
return this.axiosIns.post(this.jwtConfig.loginEndpoint, ...args)
|
||||
}
|
||||
|
||||
register(...args) {
|
||||
return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)
|
||||
}
|
||||
|
||||
refreshToken() {
|
||||
return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {
|
||||
refreshToken: this.getRefreshToken(),
|
||||
})
|
||||
}
|
||||
}
|
9
src/@core/auth/jwt/useJwt.js
Normal file
9
src/@core/auth/jwt/useJwt.js
Normal file
@ -0,0 +1,9 @@
|
||||
import JwtService from './jwtService'
|
||||
|
||||
export default function useJwt(axiosIns, jwtOverrideConfig) {
|
||||
const jwt = new JwtService(axiosIns, jwtOverrideConfig)
|
||||
|
||||
return {
|
||||
jwt,
|
||||
}
|
||||
}
|
23
src/@core/comp-functions/forms/form-utils.js
Normal file
23
src/@core/comp-functions/forms/form-utils.js
Normal file
@ -0,0 +1,23 @@
|
||||
export const useInputImageRenderer = (inputEl, callback) => {
|
||||
const inputImageRenderer = () => {
|
||||
const file = inputEl.value.files[0]
|
||||
const reader = new FileReader()
|
||||
|
||||
reader.addEventListener(
|
||||
'load',
|
||||
() => {
|
||||
callback(reader.result)
|
||||
},
|
||||
false,
|
||||
)
|
||||
|
||||
if (file) {
|
||||
reader.readAsDataURL(file)
|
||||
}
|
||||
}
|
||||
return {
|
||||
inputImageRenderer,
|
||||
}
|
||||
}
|
||||
|
||||
export const _ = null
|
66
src/@core/comp-functions/forms/form-validation.js
Normal file
66
src/@core/comp-functions/forms/form-validation.js
Normal file
@ -0,0 +1,66 @@
|
||||
import { ref, nextTick } from '@vue/composition-api'
|
||||
|
||||
// ===========================================================
|
||||
// ! This is coupled with "veeValidate" plugin
|
||||
// ===========================================================
|
||||
|
||||
export default function formValidation(resetFormData, clearFormData = () => {}) {
|
||||
// ------------------------------------------------
|
||||
// refFormObserver
|
||||
// ! This is for veeValidate Observer
|
||||
// * Used for veeValidate form observer
|
||||
// ------------------------------------------------
|
||||
const refFormObserver = ref(null)
|
||||
|
||||
// ------------------------------------------------
|
||||
// resetObserver
|
||||
// ! This function is coupled with veeValidate
|
||||
// * It resets form observer
|
||||
// ------------------------------------------------
|
||||
const resetObserver = () => {
|
||||
refFormObserver.value.reset()
|
||||
}
|
||||
|
||||
// ------------------------------------------------
|
||||
// getValidationState
|
||||
// ! This function is coupled with veeValidate
|
||||
// * It returns true/false based on validation
|
||||
// ------------------------------------------------
|
||||
// eslint-disable-next-line object-curly-newline
|
||||
const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {
|
||||
const result = dirty || validated ? valid : null
|
||||
return !fieldRequired && !changed ? null : result
|
||||
}
|
||||
|
||||
// ------------------------------------------------
|
||||
// resetForm
|
||||
// ! This function is coupled with veeValidate
|
||||
// * This uses resetFormData arg to reset form data
|
||||
// ------------------------------------------------
|
||||
const resetForm = () => {
|
||||
resetFormData()
|
||||
nextTick(() => {
|
||||
resetObserver()
|
||||
})
|
||||
}
|
||||
|
||||
// ------------------------------------------------
|
||||
// clearForm
|
||||
// ! This function is coupled with veeValidate
|
||||
// * This uses clearFormData arg to reset form data
|
||||
// ------------------------------------------------
|
||||
const clearForm = () => {
|
||||
clearFormData()
|
||||
nextTick(() => {
|
||||
resetObserver()
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
refFormObserver,
|
||||
resetObserver,
|
||||
getValidationState,
|
||||
resetForm,
|
||||
clearForm,
|
||||
}
|
||||
}
|
20
src/@core/comp-functions/misc/event-listeners.js
Normal file
20
src/@core/comp-functions/misc/event-listeners.js
Normal file
@ -0,0 +1,20 @@
|
||||
import { ref, onUnmounted } from '@vue/composition-api'
|
||||
|
||||
export const useScrollListener = () => {
|
||||
const scrolledTo = ref(null)
|
||||
|
||||
const scrollHandler = () => {
|
||||
scrolledTo.value = window.scrollY
|
||||
}
|
||||
|
||||
window.addEventListener('scroll', scrollHandler)
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener('scroll', scrollHandler)
|
||||
})
|
||||
|
||||
return {
|
||||
scrolledTo,
|
||||
}
|
||||
}
|
||||
|
||||
export const _ = null
|
18
src/@core/comp-functions/ui/app.js
Normal file
18
src/@core/comp-functions/ui/app.js
Normal file
@ -0,0 +1,18 @@
|
||||
import store from '@/store'
|
||||
import { ref, watch, computed } from '@vue/composition-api'
|
||||
|
||||
export const useResponsiveAppLeftSidebarVisibility = () => {
|
||||
const mqShallShowLeftSidebar = ref(false)
|
||||
// Close Active Sidebars and other stuff when going in large device
|
||||
const currentBreakPoint = computed(() => store.getters['app/currentBreakPoint'])
|
||||
watch(currentBreakPoint, (val, oldVal) => {
|
||||
// Reset chats & contacts left sidebar
|
||||
if (oldVal === 'md' && val === 'lg') mqShallShowLeftSidebar.value = false
|
||||
})
|
||||
|
||||
return {
|
||||
mqShallShowLeftSidebar,
|
||||
}
|
||||
}
|
||||
|
||||
export const _ = {}
|
21
src/@core/comp-functions/ui/vertical-menu.js
Normal file
21
src/@core/comp-functions/ui/vertical-menu.js
Normal file
@ -0,0 +1,21 @@
|
||||
import { onBeforeUnmount } from '@vue/composition-api'
|
||||
import userAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
/**
|
||||
* Collapse vertical menu when route is visited and restore the state on route leave
|
||||
*/
|
||||
export const useCollapseMenuOnVisit = () => {
|
||||
const { isVerticalMenuCollapsed } = userAppConfig()
|
||||
const wasVerticalMenuCollapsed = isVerticalMenuCollapsed.value
|
||||
|
||||
if (!wasVerticalMenuCollapsed.value) {
|
||||
isVerticalMenuCollapsed.value = true
|
||||
}
|
||||
|
||||
// Restore the original collapse value
|
||||
onBeforeUnmount(() => {
|
||||
isVerticalMenuCollapsed.value = wasVerticalMenuCollapsed
|
||||
})
|
||||
}
|
||||
|
||||
export const _ = null
|
128
src/@core/components/app-auto-suggest/AppAutoSuggest.vue
Normal file
128
src/@core/components/app-auto-suggest/AppAutoSuggest.vue
Normal file
@ -0,0 +1,128 @@
|
||||
<template>
|
||||
<div class="app-auto-suggest">
|
||||
<input
|
||||
v-model="searchQuery"
|
||||
type="text"
|
||||
v-bind="inputProps"
|
||||
>
|
||||
<ul class="auto-suggest-suggestions-list">
|
||||
<li
|
||||
v-for="(suggestion_list, grp_name, grp_index) in filteredData"
|
||||
:key="grp_index"
|
||||
class="suggestions-groups-list"
|
||||
>
|
||||
|
||||
<!-- Group Header -->
|
||||
<p class="suggestion-group-title">
|
||||
<slot
|
||||
name="group"
|
||||
:group_name="grp_name"
|
||||
>
|
||||
<span>
|
||||
{{ grp_name }}
|
||||
</span>
|
||||
</slot>
|
||||
</p>
|
||||
|
||||
<!-- Suggestion List of each group -->
|
||||
<ul>
|
||||
<li
|
||||
v-for="(suggestion, index) in suggestion_list"
|
||||
:key="index"
|
||||
class="suggestion-group-suggestion cursor-pointer"
|
||||
@click="suggestionSelected(suggestion)"
|
||||
>
|
||||
<slot
|
||||
:name="grp_name"
|
||||
:suggestion="suggestion"
|
||||
>
|
||||
<span>{{ suggestion[data[grp_name].key] }}</span>
|
||||
</slot>
|
||||
</li>
|
||||
|
||||
<li
|
||||
v-if="!suggestion_list.length && searchQuery"
|
||||
class="suggestion-group-suggestion no-results"
|
||||
>
|
||||
<slot
|
||||
name="noResult"
|
||||
:group_name="grp_name"
|
||||
>
|
||||
<p>No Results Found.</p>
|
||||
</slot>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useAutoSuggest from './useAutoSuggest'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
inputProps: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
data: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
searchLimit: {
|
||||
type: Number,
|
||||
default: 4,
|
||||
},
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn('This component is still in Development. Please do not use it.')
|
||||
|
||||
const { searchQuery, filteredData, resetsearchQuery } = useAutoSuggest(props)
|
||||
|
||||
const suggestionSelected = suggestion => {
|
||||
resetsearchQuery()
|
||||
emit('suggestion-selected', suggestion)
|
||||
}
|
||||
|
||||
return {
|
||||
searchQuery, filteredData, suggestionSelected,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
ul
|
||||
{
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-auto-suggest {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.auto-suggest-suggestions-list {
|
||||
box-shadow: 0 4px 24px 0 rgba(34, 41, 47, 0.1);
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: calc(100% + 1rem);
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.suggestion-group-title {
|
||||
font-weight: 500;
|
||||
padding: .75rem 1rem .25rem;
|
||||
}
|
||||
|
||||
.suggestion-group-suggestion {
|
||||
padding: .75rem 1rem
|
||||
}
|
||||
</style>
|
55
src/@core/components/app-auto-suggest/useAutoSuggest.js
Normal file
55
src/@core/components/app-auto-suggest/useAutoSuggest.js
Normal file
@ -0,0 +1,55 @@
|
||||
import { ref, watch } from '@vue/composition-api'
|
||||
|
||||
export default function useAutoSuggest(props) {
|
||||
const filteredData = ref({})
|
||||
|
||||
/**
|
||||
* Filter group against provided query
|
||||
* Grp Structure:
|
||||
* {
|
||||
* key: 'title',
|
||||
* data: [
|
||||
* title: 'Admin', img: 'someImage.png',
|
||||
* title: 'Template', img: 'otherImage.png',
|
||||
* ]
|
||||
* }
|
||||
* @param {Object} grp Group object to perform filter on
|
||||
* @param {String} query Query string to filter
|
||||
*/
|
||||
const filterGrp = (grp, query) => {
|
||||
const exactEle = grp.data.filter(item => item[grp.key].toLowerCase().startsWith(query.toLowerCase()))
|
||||
const containEle = grp.data.filter(
|
||||
// prettier-ignore
|
||||
item => !item[grp.key].toLowerCase().startsWith(query.toLowerCase()) && item[grp.key].toLowerCase().indexOf(query.toLowerCase()) > -1,
|
||||
)
|
||||
return exactEle.concat(containEle).slice(0, props.searchLimit)
|
||||
}
|
||||
|
||||
const searchQuery = ref('')
|
||||
const resetsearchQuery = () => {
|
||||
searchQuery.value = ''
|
||||
}
|
||||
|
||||
const handleSearchQueryUpdate = val => {
|
||||
if (val === '') {
|
||||
filteredData.value = {}
|
||||
} else {
|
||||
const queriedData = {}
|
||||
const dataGrps = Object.keys(props.data)
|
||||
|
||||
dataGrps.forEach((grp, i) => {
|
||||
queriedData[dataGrps[i]] = filterGrp(props.data[grp], val)
|
||||
})
|
||||
|
||||
filteredData.value = queriedData
|
||||
}
|
||||
}
|
||||
|
||||
watch(searchQuery, val => handleSearchQueryUpdate(val))
|
||||
|
||||
return {
|
||||
searchQuery,
|
||||
resetsearchQuery,
|
||||
filteredData,
|
||||
}
|
||||
}
|
54
src/@core/components/app-collapse/AppCollapse.vue
Normal file
54
src/@core/components/app-collapse/AppCollapse.vue
Normal file
@ -0,0 +1,54 @@
|
||||
<template>
|
||||
<div
|
||||
role="tablist"
|
||||
class="collapse-icon"
|
||||
:class="collapseClasses"
|
||||
>
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
accordion: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
hover: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'default',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
collapseID: '',
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
collapseClasses() {
|
||||
const classes = []
|
||||
|
||||
// Collapse Type
|
||||
const collapseVariants = {
|
||||
default: 'collapse-default',
|
||||
border: 'collapse-border',
|
||||
shadow: 'collapse-shadow',
|
||||
margin: 'collapse-margin',
|
||||
}
|
||||
classes.push(collapseVariants[this.type])
|
||||
|
||||
return classes
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.collapseID = uuidv4()
|
||||
},
|
||||
}
|
||||
</script>
|
87
src/@core/components/app-collapse/AppCollapseItem.vue
Normal file
87
src/@core/components/app-collapse/AppCollapseItem.vue
Normal file
@ -0,0 +1,87 @@
|
||||
<template>
|
||||
<b-card
|
||||
no-body
|
||||
:class="{'open': visible}"
|
||||
@mouseenter="collapseOpen"
|
||||
@mouseleave="collapseClose"
|
||||
>
|
||||
<b-card-header
|
||||
|
||||
:class="{'collapsed': !visible}"
|
||||
:aria-expanded="visible ? 'true' : 'false'"
|
||||
:aria-controls="collapseItemID"
|
||||
role="tab"
|
||||
data-toggle="collapse"
|
||||
@click="updateVisible(!visible)"
|
||||
>
|
||||
<slot name="header">
|
||||
<span class="lead collapse-title">{{ title }}</span>
|
||||
</slot>
|
||||
</b-card-header>
|
||||
|
||||
<b-collapse
|
||||
:id="collapseItemID"
|
||||
v-model="visible"
|
||||
:accordion="accordion"
|
||||
role="tabpanel"
|
||||
>
|
||||
<b-card-body>
|
||||
<slot />
|
||||
</b-card-body>
|
||||
</b-collapse>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BCard, BCardHeader, BCardBody, BCollapse,
|
||||
} from 'bootstrap-vue'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BCard,
|
||||
BCardHeader,
|
||||
BCardBody,
|
||||
BCollapse,
|
||||
},
|
||||
props: {
|
||||
isVisible: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
collapseItemID: '',
|
||||
openOnHover: this.$parent.hover,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
accordion() {
|
||||
return this.$parent.accordion ? `accordion-${this.$parent.collapseID}` : null
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.collapseItemID = uuidv4()
|
||||
this.visible = this.isVisible
|
||||
},
|
||||
methods: {
|
||||
updateVisible(val = true) {
|
||||
this.visible = val
|
||||
this.$emit('visible', val)
|
||||
},
|
||||
collapseOpen() {
|
||||
if (this.openOnHover) this.updateVisible(true)
|
||||
},
|
||||
collapseClose() {
|
||||
if (this.openOnHover) this.updateVisible(false)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
23
src/@core/components/app-timeline/AppTimeline.vue
Normal file
23
src/@core/components/app-timeline/AppTimeline.vue
Normal file
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<ul
|
||||
v-bind="$attrs"
|
||||
class="app-timeline"
|
||||
v-on="$listeners"
|
||||
>
|
||||
<slot />
|
||||
</ul>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.app-timeline {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
</style>
|
182
src/@core/components/app-timeline/AppTimelineItem.vue
Normal file
182
src/@core/components/app-timeline/AppTimelineItem.vue
Normal file
@ -0,0 +1,182 @@
|
||||
<template>
|
||||
<li
|
||||
v-bind="$attrs"
|
||||
class="timeline-item"
|
||||
:class="[`timeline-variant-${variant}`, fillBorder ? `timeline-item-fill-border-${variant}` : null]"
|
||||
v-on="$listeners"
|
||||
>
|
||||
<div
|
||||
v-if="!icon"
|
||||
class="timeline-item-point"
|
||||
/>
|
||||
<div
|
||||
v-else
|
||||
class="timeline-item-icon d-flex align-items-center justify-content-center rounded-circle"
|
||||
>
|
||||
<feather-icon :icon="icon" />
|
||||
</div>
|
||||
|
||||
<slot>
|
||||
<div class="d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0">
|
||||
<h6 v-text="title" />
|
||||
<small
|
||||
class="timeline-item-time text-nowrap text-muted"
|
||||
v-text="time"
|
||||
/>
|
||||
</div>
|
||||
<p
|
||||
class="mb-0"
|
||||
v-text="subtitle"
|
||||
/>
|
||||
</slot>
|
||||
</li>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
variant: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
subtitle: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
time: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
icon: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
fillBorder: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~@core/scss/base/bootstrap-extended/include'; // Bootstrap includes
|
||||
@import '~@core/scss/base/components/include'; // Components includes
|
||||
|
||||
// Color palettes
|
||||
@import '~@core/scss/base/core/colors/palette-variables.scss';
|
||||
|
||||
$timeline-border-color: $border-color;
|
||||
|
||||
/* Generate:
|
||||
* Apply background color to dot
|
||||
*/
|
||||
@each $color_name, $color in $colors {
|
||||
@each $color_type, $color_value in $color {
|
||||
@if $color_type== 'base' {
|
||||
.timeline-variant-#{$color_name} {
|
||||
&.timeline-item-fill-border-#{$color_name} {
|
||||
border-color: $color_value !important;
|
||||
&:last-of-type {
|
||||
&:after {
|
||||
background: linear-gradient($color_value, $white);
|
||||
}
|
||||
}
|
||||
}
|
||||
.timeline-item-point {
|
||||
background-color: $color_value;
|
||||
|
||||
&:before {
|
||||
background-color: rgba($color_value, 0.12);
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-item-icon {
|
||||
color: $color_value;
|
||||
border: 1px solid $color_value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
padding-left: 2.5rem;
|
||||
position: relative;
|
||||
&:not(:last-of-type) {
|
||||
padding-bottom: 2rem;
|
||||
border-left: 1px solid $timeline-border-color;
|
||||
}
|
||||
|
||||
// This gives shade to last timeline-item but isn't that revolutionary
|
||||
&:last-of-type {
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
background: linear-gradient($timeline-border-color, $white);
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-item-point {
|
||||
position: absolute;
|
||||
left: -6px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
top: 0;
|
||||
border-radius: 50%;
|
||||
z-index: 1;
|
||||
|
||||
&:before {
|
||||
content: '';
|
||||
z-index: 1;
|
||||
border-radius: 50%;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -4px;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-item-icon {
|
||||
position: absolute;
|
||||
left: -12px;
|
||||
top: 0;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-color: $white;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
// *===============================================---*
|
||||
// *--------- Dark Layout ---------------------------------------*
|
||||
// *===============================================---*
|
||||
|
||||
.dark-layout {
|
||||
.timeline-item {
|
||||
&:last-of-type {
|
||||
&:after {
|
||||
background: linear-gradient($theme-dark-border-color, $theme-dark-card-bg);
|
||||
}
|
||||
}
|
||||
&:not(:last-of-type) {
|
||||
border-left-color: $theme-dark-border-color;
|
||||
}
|
||||
|
||||
.timeline-item-icon {
|
||||
background-color: $theme-dark-card-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
117
src/@core/components/app-tour/AppTour.vue
Normal file
117
src/@core/components/app-tour/AppTour.vue
Normal file
@ -0,0 +1,117 @@
|
||||
<!-- =========================================================================================
|
||||
File Name: VxTour.vue
|
||||
Description: Tour Component
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
========================================================================================== -->
|
||||
|
||||
<template>
|
||||
<v-tour
|
||||
name="vuexyTour"
|
||||
:steps="steps"
|
||||
>
|
||||
<template slot-scope="tour">
|
||||
<transition name="fade">
|
||||
<!-- eslint-disable vue/no-use-v-if-with-v-for -->
|
||||
<v-step
|
||||
v-for="(step, index) of tour.steps"
|
||||
v-if="tour.currentStep === index"
|
||||
:key="index"
|
||||
:step="step"
|
||||
:previous-step="tour.previousStep"
|
||||
:next-step="tour.nextStep"
|
||||
:stop="tour.stop"
|
||||
:is-first="tour.isFirst"
|
||||
:is-last="tour.isLast"
|
||||
:labels="tour.labels"
|
||||
>
|
||||
|
||||
<div
|
||||
slot="actions"
|
||||
class="tour-actions d-flex justify-content-between"
|
||||
>
|
||||
<!-- Skip Button -->
|
||||
<b-button
|
||||
v-if="tour.currentStep != tour.steps.length - 1"
|
||||
size="sm"
|
||||
variant="outline-primary"
|
||||
class="btn-tour-skip mr-1"
|
||||
@click="tour.stop"
|
||||
>
|
||||
<span class="mr-25 align-middle">Skip</span>
|
||||
<feather-icon
|
||||
icon="XIcon"
|
||||
size="12"
|
||||
/>
|
||||
</b-button>
|
||||
|
||||
<!-- Previous Button -->
|
||||
<b-button
|
||||
v-if="tour.currentStep"
|
||||
size="sm"
|
||||
variant="outline-primary mr-1"
|
||||
@click="tour.previousStep"
|
||||
>
|
||||
<feather-icon
|
||||
icon="ChevronLeftIcon"
|
||||
size="12"
|
||||
/>
|
||||
<span class="ml-25 align-middle">Previous</span>
|
||||
</b-button>
|
||||
|
||||
<!-- Next Button -->
|
||||
<b-button
|
||||
v-if="tour.currentStep != tour.steps.length - 1"
|
||||
size="sm"
|
||||
variant="primary"
|
||||
class="btn-tour-next"
|
||||
@click="tour.nextStep"
|
||||
>
|
||||
<span class="mr-25 align-middle">Next</span>
|
||||
<feather-icon
|
||||
icon="ChevronRightIcon"
|
||||
size="12"
|
||||
/>
|
||||
</b-button>
|
||||
|
||||
<!-- Finish Button -->
|
||||
<b-button
|
||||
v-if="tour.currentStep == tour.steps.length - 1"
|
||||
size="sm"
|
||||
variant="primary"
|
||||
class="btn-tour-finish"
|
||||
@click="tour.stop"
|
||||
>
|
||||
<span class="mr-25 align-middle">Finish</span>
|
||||
<feather-icon
|
||||
icon="CheckCircleIcon"
|
||||
size="12"
|
||||
/>
|
||||
</b-button>
|
||||
</div>
|
||||
|
||||
</v-step>
|
||||
<!-- eslint-enable vue/no-use-v-if-with-v-for -->
|
||||
</transition>
|
||||
</template>
|
||||
</v-tour>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BButton } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
name: 'VxTour',
|
||||
components: {
|
||||
BButton,
|
||||
},
|
||||
props: {
|
||||
steps: {
|
||||
required: true,
|
||||
type: Array,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
195
src/@core/components/b-card-actions/BCardActions.vue
Normal file
195
src/@core/components/b-card-actions/BCardActions.vue
Normal file
@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<b-overlay
|
||||
v-if="!cardClosed"
|
||||
variant="white"
|
||||
:show="showLoading"
|
||||
spinner-variant="primary"
|
||||
blur="0"
|
||||
opacity=".75"
|
||||
rounded="sm"
|
||||
>
|
||||
<b-card
|
||||
ref="bCard"
|
||||
v-bind="cardAttrs"
|
||||
no-body
|
||||
:aria-expanded="!content_visible ? 'true' : 'false'"
|
||||
:aria-controls="parentID"
|
||||
:style="cardStyles"
|
||||
v-on="$listeners"
|
||||
>
|
||||
<div
|
||||
v-if="showHeader"
|
||||
class="card-header"
|
||||
>
|
||||
<!-- Title & SubTitle -->
|
||||
<div>
|
||||
<b-card-title>{{ $attrs.title }}</b-card-title>
|
||||
<b-card-sub-title v-if="$attrs['sub-title']">
|
||||
{{ $attrs['sub-title'] }}
|
||||
</b-card-sub-title>
|
||||
</div>
|
||||
|
||||
<!-- Card Actions -->
|
||||
<b-card-actions-container
|
||||
v-if="showActions"
|
||||
:available-actions="availableActions"
|
||||
:is-collapsed="!content_visible"
|
||||
@collapse="triggerCollapse"
|
||||
@refresh="triggerRefresh"
|
||||
@close="triggerClose"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Collapsible Content -->
|
||||
<b-collapse
|
||||
:id="parentID"
|
||||
v-model="content_visible"
|
||||
:visible="content_visible"
|
||||
class="card-content"
|
||||
>
|
||||
<!-- Handle no-body -->
|
||||
<slot v-if="$attrs['no-body'] !== undefined" />
|
||||
<b-card-body v-else>
|
||||
<slot />
|
||||
</b-card-body>
|
||||
</b-collapse>
|
||||
</b-card>
|
||||
</b-overlay>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BCard, BCardTitle, BCardSubTitle, BCardBody, BCollapse, BOverlay,
|
||||
} from 'bootstrap-vue'
|
||||
import BCardActionsContainer from './BCardActionsContainer.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BCardActionsContainer,
|
||||
BCard,
|
||||
BCardTitle,
|
||||
BCardSubTitle,
|
||||
BCardBody,
|
||||
BCollapse,
|
||||
BOverlay,
|
||||
},
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
collapsed: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
noActions: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
actionCollapse: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
actionRefresh: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
actionClose: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
parentID: '',
|
||||
content_visible: !this.collapsed,
|
||||
showLoading: false,
|
||||
cardClosed: false,
|
||||
cardStyles: {},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cardAttrs() {
|
||||
const cardAttrs = JSON.parse(JSON.stringify(this.$attrs))
|
||||
delete cardAttrs.title
|
||||
delete cardAttrs['sub-title']
|
||||
return cardAttrs
|
||||
},
|
||||
showHeader() {
|
||||
return this.$attrs.title || this.$attrs['sub-title'] || !this.noActions
|
||||
},
|
||||
showActions() {
|
||||
if (this.noActions) return false
|
||||
return true
|
||||
},
|
||||
availableActions() {
|
||||
const actions = []
|
||||
const allFalse = (this.actionCollapse || this.actionRefresh || this.actionClose) === false
|
||||
|
||||
if (this.actionCollapse || allFalse) actions.push('collapse')
|
||||
if (this.actionRefresh || allFalse) actions.push('refresh')
|
||||
if (this.actionClose || allFalse) actions.push('close')
|
||||
return actions
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.parentID = String(Math.floor(Math.random() * 10) + 1)
|
||||
},
|
||||
methods: {
|
||||
removeCard() {
|
||||
this.$set(this.cardStyles, 'maxHeight', `${this.$refs.bCard.clientHeight}px`)
|
||||
setTimeout(() => {
|
||||
this.$set(this.cardStyles, 'maxHeight', '0px')
|
||||
this.$set(this.cardStyles, 'overflow', 'hidden')
|
||||
// this.$set(this.cardStyles, 'marginBottom', '0')
|
||||
}, 10)
|
||||
},
|
||||
triggerCollapse() {
|
||||
this.content_visible = !this.content_visible
|
||||
this.$emit('collapse')
|
||||
},
|
||||
triggerRefresh() {
|
||||
this.showLoading = true
|
||||
this.$emit('refresh')
|
||||
},
|
||||
triggerClose() {
|
||||
this.removeCard()
|
||||
this.$emit('close')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~@core/scss/base/bootstrap-extended/include';
|
||||
@import '~@core/scss/base/components/variables-dark';
|
||||
|
||||
.card {
|
||||
::v-deep .card-header {
|
||||
.heading-elements {
|
||||
position: static;
|
||||
cursor: inherit;
|
||||
|
||||
.list-inline {
|
||||
display: block;
|
||||
|
||||
li {
|
||||
a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dark-layout {
|
||||
.b-overlay-wrap ::v-deep .b-overlay {
|
||||
// border: 10px solid red;
|
||||
.bg-white {
|
||||
background-color: $theme-dark-body-bg !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div class="heading-elements">
|
||||
<ul class="list-inline mb-0">
|
||||
<li v-if="availableActions.includes('collapse')">
|
||||
<a
|
||||
data-action="collapse"
|
||||
:class="{ rotate: isCollapsed }"
|
||||
@click="$emit('collapse')"
|
||||
>
|
||||
<feather-icon
|
||||
icon="ChevronDownIcon"
|
||||
size="16"
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
<li v-if="availableActions.includes('refresh')">
|
||||
<a
|
||||
data-action="reload"
|
||||
@click="$emit('refresh')"
|
||||
>
|
||||
<feather-icon
|
||||
icon="RotateCwIcon"
|
||||
size="14"
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
<li v-if="availableActions.includes('close')">
|
||||
<a
|
||||
data-action="close"
|
||||
@click="$emit('close')"
|
||||
>
|
||||
<feather-icon
|
||||
icon="XIcon"
|
||||
size="14"
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
isCollapsed: {
|
||||
type: Boolean,
|
||||
requried: true,
|
||||
},
|
||||
availableActions: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
2
src/@core/components/b-card-actions/index.js
Normal file
2
src/@core/components/b-card-actions/index.js
Normal file
@ -0,0 +1,2 @@
|
||||
export { default as BCardActions } from './BCardActions.vue'
|
||||
export { default as BCardActionsContainer } from './BCardActionsContainer.vue'
|
166
src/@core/components/b-card-code/BCardCode.vue
Normal file
166
src/@core/components/b-card-code/BCardCode.vue
Normal file
@ -0,0 +1,166 @@
|
||||
<template>
|
||||
<b-card
|
||||
v-bind="cardAttrs"
|
||||
no-body
|
||||
v-on="$listeners"
|
||||
>
|
||||
<div class="card-header">
|
||||
<!-- Title & SubTitle -->
|
||||
<div>
|
||||
<b-card-title>{{ $attrs.title }}</b-card-title>
|
||||
<b-card-sub-title v-if="$attrs['sub-title']">
|
||||
{{ $attrs['sub-title'] }}
|
||||
</b-card-sub-title>
|
||||
</div>
|
||||
|
||||
<i
|
||||
class="code-toggler feather icon-code cursor-pointer"
|
||||
:aria-expanded="!code_visible ? 'true' : 'false'"
|
||||
:aria-controls="parentID"
|
||||
@click="code_visible = !code_visible"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<template v-if="$attrs['no-body'] !== undefined">
|
||||
<slot />
|
||||
|
||||
<!-- Code Content -->
|
||||
<b-collapse
|
||||
:id="parentID"
|
||||
v-model="code_visible"
|
||||
class="card-code"
|
||||
:visible="code_visible"
|
||||
>
|
||||
<b-card-body>
|
||||
<prism :language="codeLanguage">
|
||||
<slot name="code" />
|
||||
</prism>
|
||||
</b-card-body>
|
||||
</b-collapse>
|
||||
</template>
|
||||
|
||||
<b-card-body v-else>
|
||||
<!-- Card Content -->
|
||||
<slot />
|
||||
|
||||
<!-- Code Content -->
|
||||
<b-collapse
|
||||
:id="parentID"
|
||||
v-model="code_visible"
|
||||
class="card-code"
|
||||
:visible="code_visible"
|
||||
>
|
||||
<div class="p-1" />
|
||||
<prism :language="codeLanguage">
|
||||
<slot name="code" />
|
||||
</prism>
|
||||
</b-collapse>
|
||||
</b-card-body>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BCard, BCardTitle, BCardSubTitle, BCardBody, BCollapse,
|
||||
} from 'bootstrap-vue'
|
||||
import 'prismjs'
|
||||
import 'prismjs/themes/prism-tomorrow.css'
|
||||
import Prism from 'vue-prism-component'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BCard,
|
||||
BCardTitle,
|
||||
BCardSubTitle,
|
||||
BCardBody,
|
||||
BCollapse,
|
||||
Prism,
|
||||
},
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
codeLanguage: {
|
||||
default: 'markup',
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
parentID: '',
|
||||
code_visible: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
cardAttrs() {
|
||||
const cardAttrs = JSON.parse(JSON.stringify(this.$attrs))
|
||||
delete cardAttrs.title
|
||||
delete cardAttrs['sub-title']
|
||||
return cardAttrs
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.parentID = String(Math.floor(Math.random() * 10) + 1)
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import 'bootstrap/scss/functions';
|
||||
@import '~@core/scss/base/bootstrap-extended/variables';
|
||||
@import 'bootstrap/scss/variables';
|
||||
@import '~@core/scss/base/components/variables-dark';
|
||||
|
||||
.card-code {
|
||||
pre[class*='language-'] {
|
||||
margin: 0;
|
||||
max-height: 350px;
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
/* width */
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #2d2d2d;
|
||||
border-radius: 100%;
|
||||
|
||||
.dark-layout & {
|
||||
background-color: $theme-dark-body-bg !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Track */
|
||||
::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* Handle */
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 0.5rem;
|
||||
background: rgba(241,241,241,.4);
|
||||
}
|
||||
|
||||
/* Handle on hover */
|
||||
// ::-webkit-scrollbar-thumb:hover {
|
||||
// }
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.code-toggler {
|
||||
border-bottom: 1px solid transparent;
|
||||
|
||||
&[aria-expanded='false'] {
|
||||
border-bottom-color: $primary;
|
||||
}
|
||||
}
|
||||
|
||||
// HTML
|
||||
.card {
|
||||
.card-header .heading-elements {
|
||||
position: static;
|
||||
background: red;
|
||||
}
|
||||
}
|
||||
</style>
|
3
src/@core/components/b-card-code/index.js
Normal file
3
src/@core/components/b-card-code/index.js
Normal file
@ -0,0 +1,3 @@
|
||||
import BCardCode from './BCardCode.vue'
|
||||
|
||||
export default BCardCode
|
50
src/@core/components/charts/echart/AppEchartBar.vue
Normal file
50
src/@core/components/charts/echart/AppEchartBar.vue
Normal file
@ -0,0 +1,50 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
autoresize
|
||||
:options="option"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/bar'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
optionData: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
option: {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow',
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
left: 0,
|
||||
},
|
||||
grid: this.optionData.grid,
|
||||
xAxis: this.optionData.xAxis,
|
||||
yAxis: this.optionData.yAxis,
|
||||
series: this.optionData.series,
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
46
src/@core/components/charts/echart/AppEchartDoughnut.vue
Normal file
46
src/@core/components/charts/echart/AppEchartDoughnut.vue
Normal file
@ -0,0 +1,46 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
autoresize
|
||||
:options="option"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/pie'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
series: {
|
||||
type: Array,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
option: {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b}: {c} ({d}%)',
|
||||
},
|
||||
legend: {
|
||||
left: 10,
|
||||
bottom: '0',
|
||||
},
|
||||
series: this.series,
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
72
src/@core/components/charts/echart/AppEchartLine.vue
Normal file
72
src/@core/components/charts/echart/AppEchartLine.vue
Normal file
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
autoresize
|
||||
:options="line"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/line'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
optionData: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
line: {
|
||||
// Make gradient line here
|
||||
visualMap: [{
|
||||
show: true,
|
||||
type: 'continuous',
|
||||
min: 0,
|
||||
max: 400,
|
||||
}],
|
||||
grid: {
|
||||
width: '96%',
|
||||
left: '30px',
|
||||
top: '10px',
|
||||
show: false,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
},
|
||||
xAxis: [{
|
||||
boundaryGap: false,
|
||||
data: this.optionData.xAxisData,
|
||||
}],
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
splitLine: { show: false },
|
||||
},
|
||||
series: {
|
||||
type: 'line',
|
||||
showSymbol: false,
|
||||
data: this.optionData.series,
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.echarts {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
73
src/@core/components/charts/echart/AppEchartRadar.vue
Normal file
73
src/@core/components/charts/echart/AppEchartRadar.vue
Normal file
@ -0,0 +1,73 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
autoresize
|
||||
:options="option"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/radar'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
optionData: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
option: {
|
||||
title: {
|
||||
text: 'Basic radar chart',
|
||||
},
|
||||
tooltip: {},
|
||||
legend: {
|
||||
data: ['Point One', 'Point Two'],
|
||||
bottom: '0',
|
||||
left: '0',
|
||||
},
|
||||
radar: {
|
||||
name: {
|
||||
textStyle: {
|
||||
color: '#626262',
|
||||
fontWeight: 'bold',
|
||||
borderRadius: 3,
|
||||
padding: [3, 5],
|
||||
},
|
||||
},
|
||||
indicator: this.optionData.indicator,
|
||||
splitArea: {
|
||||
show: false,
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: [
|
||||
'#eeeeee',
|
||||
],
|
||||
},
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#eeeeee',
|
||||
},
|
||||
},
|
||||
},
|
||||
series: this.optionData.series,
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
66
src/@core/components/charts/echart/AppEchartScatter.vue
Normal file
66
src/@core/components/charts/echart/AppEchartScatter.vue
Normal file
@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
:options="option"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/scatter'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
optionData: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
option: {
|
||||
grid: {
|
||||
width: '95%',
|
||||
left: '30px',
|
||||
right: '40px',
|
||||
containLabel: false,
|
||||
},
|
||||
legend: {
|
||||
enable: true,
|
||||
left: '0',
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
label: {
|
||||
backgroundColor: '#6a7985',
|
||||
},
|
||||
},
|
||||
},
|
||||
xAxis: {
|
||||
boundaryGap: false,
|
||||
scale: true,
|
||||
splitNumber: 10,
|
||||
min: 0,
|
||||
},
|
||||
yAxis: {
|
||||
splitLine: { show: false },
|
||||
scale: true,
|
||||
},
|
||||
series: this.optionData.series,
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
72
src/@core/components/charts/echart/AppEchartStackedArea.vue
Normal file
72
src/@core/components/charts/echart/AppEchartStackedArea.vue
Normal file
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<e-charts
|
||||
ref="line"
|
||||
autoresize
|
||||
:options="option"
|
||||
theme="theme-color"
|
||||
auto-resize
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ECharts from 'vue-echarts'
|
||||
import 'echarts/lib/component/tooltip'
|
||||
import 'echarts/lib/component/legend'
|
||||
import 'echarts/lib/chart/line'
|
||||
import theme from './theme.json'
|
||||
|
||||
ECharts.registerTheme('theme-color', theme)
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ECharts,
|
||||
},
|
||||
props: {
|
||||
optionData: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
option: {
|
||||
title: {
|
||||
text: 'Stacked area chart',
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
label: {
|
||||
backgroundColor: '#6a7985',
|
||||
},
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
left: '0',
|
||||
},
|
||||
grid: {
|
||||
width: '95%',
|
||||
left: '40px',
|
||||
right: '4%',
|
||||
containLabel: false,
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: this.optionData.xAxisData,
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
splitLine: { show: false },
|
||||
},
|
||||
],
|
||||
series: this.optionData.series,
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
475
src/@core/components/charts/echart/theme.json
Normal file
475
src/@core/components/charts/echart/theme.json
Normal file
@ -0,0 +1,475 @@
|
||||
{
|
||||
"color": [
|
||||
"#826AF9",
|
||||
"#9F87FF",
|
||||
"#D2B0FF",
|
||||
"#F8D3FF"
|
||||
],
|
||||
"backgroundColor": "rgba(0,0,0,0)",
|
||||
"textStyle": {},
|
||||
"title": {
|
||||
"textStyle": {
|
||||
"color": "#666666"
|
||||
},
|
||||
"subtextStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"line": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "1"
|
||||
}
|
||||
},
|
||||
"lineStyle": {
|
||||
"normal": {
|
||||
"width": "1"
|
||||
}
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": false
|
||||
},
|
||||
"radar": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "2"
|
||||
}
|
||||
},
|
||||
"lineStyle": {
|
||||
"normal": {
|
||||
"width": "3"
|
||||
}
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": true
|
||||
},
|
||||
"bar": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"barBorderWidth": "0",
|
||||
"barBorderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"barBorderWidth": "0",
|
||||
"barBorderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"pie": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scatter": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"boxplot": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parallel": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sankey": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"funnel": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"gauge": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
}
|
||||
},
|
||||
"candlestick": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"color": "#d0648a",
|
||||
"color0": "#ffffff",
|
||||
"borderColor": "#d0648a",
|
||||
"borderColor0": "#22c3aa",
|
||||
"borderWidth": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"graph": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"borderWidth": "0",
|
||||
"borderColor": "#444444"
|
||||
}
|
||||
},
|
||||
"lineStyle": {
|
||||
"normal": {
|
||||
"width": 1,
|
||||
"color": "#aaa"
|
||||
}
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": true,
|
||||
"color": [
|
||||
"#4ea397",
|
||||
"#22c3aa",
|
||||
"#7bd9a5"
|
||||
],
|
||||
"label": {
|
||||
"normal": {
|
||||
"textStyle": {
|
||||
"color": "#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"map": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"areaColor": "#eeeeee",
|
||||
"borderColor": "#999999",
|
||||
"borderWidth": "0.5"
|
||||
},
|
||||
"emphasis": {
|
||||
"areaColor": "rgba(34,195,170,0.25)",
|
||||
"borderColor": "#22c3aa",
|
||||
"borderWidth": "0.5"
|
||||
}
|
||||
},
|
||||
"label": {
|
||||
"normal": {
|
||||
"textStyle": {
|
||||
"color": "#28544e"
|
||||
}
|
||||
},
|
||||
"emphasis": {
|
||||
"textStyle": {
|
||||
"color": "rgb(52,158,142)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"geo": {
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"areaColor": "#eeeeee",
|
||||
"borderColor": "#999999",
|
||||
"borderWidth": "0.5"
|
||||
},
|
||||
"emphasis": {
|
||||
"areaColor": "rgba(34,195,170,0.25)",
|
||||
"borderColor": "#22c3aa",
|
||||
"borderWidth": "0.5"
|
||||
}
|
||||
},
|
||||
"label": {
|
||||
"normal": {
|
||||
"textStyle": {
|
||||
"color": "#28544e"
|
||||
}
|
||||
},
|
||||
"emphasis": {
|
||||
"textStyle": {
|
||||
"color": "rgb(52,158,142)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"categoryAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.3)",
|
||||
"rgba(200,200,200,0.3)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"valueAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.3)",
|
||||
"rgba(200,200,200,0.3)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"logAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.3)",
|
||||
"rgba(200,200,200,0.3)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.3)",
|
||||
"rgba(200,200,200,0.3)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"toolbox": {
|
||||
"iconStyle": {
|
||||
"normal": {
|
||||
"borderColor": "#aaaaaa"
|
||||
},
|
||||
"emphasis": {
|
||||
"borderColor": "#666"
|
||||
}
|
||||
}
|
||||
},
|
||||
"legend": {
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"tooltip": {
|
||||
"axisPointer": {
|
||||
"lineStyle": {
|
||||
"color": "#ccc",
|
||||
"width": 1
|
||||
},
|
||||
"crossStyle": {
|
||||
"color": "#ccc",
|
||||
"width": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"lineStyle": {
|
||||
"color": "#349e8e",
|
||||
"width": 1
|
||||
},
|
||||
"itemStyle": {
|
||||
"normal": {
|
||||
"color": "#349e8e",
|
||||
"borderWidth": "1"
|
||||
},
|
||||
"emphasis": {
|
||||
"color": "#57e8d2"
|
||||
}
|
||||
},
|
||||
"controlStyle": {
|
||||
"normal": {
|
||||
"color": "#349e8e",
|
||||
"borderColor": "#349e8e",
|
||||
"borderWidth": "0"
|
||||
}
|
||||
},
|
||||
"checkpointStyle": {
|
||||
"color": "#22c3aa",
|
||||
"borderColor": "rgba(34,195,170,0.25)"
|
||||
},
|
||||
"label": {
|
||||
"normal": {
|
||||
"textStyle": {
|
||||
"color": "#349e8e"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"visualMap": {
|
||||
"color": [
|
||||
"#d0648a",
|
||||
"#22c3aa",
|
||||
"rgba(123,217,165,0.2)"
|
||||
]
|
||||
},
|
||||
"dataZoom": {
|
||||
"backgroundColor": "#fff",
|
||||
"dataBackgroundColor": "#dedede",
|
||||
"fillerColor": "rgba(34,195,170,0.25)",
|
||||
"handleColor": "#dddddd",
|
||||
"handleSize": "100%",
|
||||
"textStyle": {
|
||||
"color": "#999"
|
||||
}
|
||||
},
|
||||
"markPoint": {
|
||||
"label": {
|
||||
"normal": {
|
||||
"textStyle": {
|
||||
"color": "#ffffff"
|
||||
}
|
||||
},
|
||||
"emphasis": {
|
||||
"textStyle": {
|
||||
"color": "#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
45
src/@core/components/feather-icon/FeatherIcon.vue
Normal file
45
src/@core/components/feather-icon/FeatherIcon.vue
Normal file
@ -0,0 +1,45 @@
|
||||
<script>
|
||||
import * as icons from 'vue-feather-icons'
|
||||
|
||||
export default {
|
||||
name: 'FeatherIcon',
|
||||
functional: true,
|
||||
props: {
|
||||
icon: {
|
||||
required: true,
|
||||
type: [String, Object],
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
default: '14',
|
||||
},
|
||||
badge: {
|
||||
type: [String, Object, Number],
|
||||
default: null,
|
||||
},
|
||||
badgeClasses: {
|
||||
type: [String, Object, Array],
|
||||
default: 'badge-primary',
|
||||
},
|
||||
},
|
||||
render(h, { props, data }) {
|
||||
// Create Feather Icon
|
||||
const svg = h(icons[props.icon], { props: { size: props.size }, ...data })
|
||||
|
||||
// If no badge is provided => Render just SVG
|
||||
if (!props.badge) return svg
|
||||
|
||||
// Badge
|
||||
const badgeEl = h('span', { staticClass: 'badge badge-up badge-pill', class: props.badgeClasses }, [props.badge])
|
||||
|
||||
// Return span with children
|
||||
return h('span', { staticClass: 'feather-icon position-relative' }, [svg, badgeEl])
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
svg.feather {
|
||||
outline: none
|
||||
}
|
||||
</style>
|
67
src/@core/components/scroll-to-top/ScrollToTop.vue
Normal file
67
src/@core/components/scroll-to-top/ScrollToTop.vue
Normal file
@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<div
|
||||
class="btn-scroll-to-top"
|
||||
:class="{'show': y > 250}"
|
||||
>
|
||||
<!-- We have wrapper because ripple effect give position relative to this absolute positioned btn -->
|
||||
<!-- Hence due to that our btn get lost -->
|
||||
<b-button
|
||||
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
||||
variant="primary"
|
||||
class="btn-icon"
|
||||
@click="scrollToTop"
|
||||
>
|
||||
<feather-icon
|
||||
icon="ArrowUpIcon"
|
||||
size="16"
|
||||
/>
|
||||
</b-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { useWindowScroll } from '@vueuse/core'
|
||||
import { BButton } from 'bootstrap-vue'
|
||||
import Ripple from 'vue-ripple-directive'
|
||||
|
||||
export default {
|
||||
directives: {
|
||||
Ripple,
|
||||
},
|
||||
components: {
|
||||
BButton,
|
||||
},
|
||||
setup() {
|
||||
const { y } = useWindowScroll()
|
||||
|
||||
const scrollToTop = () => {
|
||||
const rootEle = document.documentElement
|
||||
rootEle.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth',
|
||||
})
|
||||
}
|
||||
|
||||
return { y, scrollToTop }
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.btn-scroll-to-top {
|
||||
position: fixed;
|
||||
bottom: 5%;
|
||||
right: 30px;
|
||||
z-index: 99;
|
||||
|
||||
opacity: 0;
|
||||
// transform: translateY(100px);
|
||||
transition: all .5s ease;
|
||||
|
||||
&.show {
|
||||
opacity: 1;
|
||||
// transform: translateY(0)
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,51 @@
|
||||
<template>
|
||||
<b-card no-body>
|
||||
<b-card-body class="d-flex justify-content-between align-items-center">
|
||||
<div class="truncate">
|
||||
<h2 class="mb-25 font-weight-bolder">
|
||||
{{ statistic }}
|
||||
</h2>
|
||||
<span>{{ statisticTitle }}</span>
|
||||
</div>
|
||||
<b-avatar
|
||||
:variant="`light-${color}`"
|
||||
size="45"
|
||||
>
|
||||
<feather-icon
|
||||
size="21"
|
||||
:icon="icon"
|
||||
/>
|
||||
</b-avatar>
|
||||
</b-card-body>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BCard, BCardBody, BAvatar } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BCard,
|
||||
BCardBody,
|
||||
BAvatar,
|
||||
},
|
||||
props: {
|
||||
icon: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
statistic: {
|
||||
type: [Number, String],
|
||||
required: true,
|
||||
},
|
||||
statisticTitle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -0,0 +1,49 @@
|
||||
<template>
|
||||
<b-card class="text-center">
|
||||
<b-avatar
|
||||
class="mb-1"
|
||||
:variant="`light-${color}`"
|
||||
size="45"
|
||||
>
|
||||
<feather-icon
|
||||
size="21"
|
||||
:icon="icon"
|
||||
/>
|
||||
</b-avatar>
|
||||
<div class="truncate">
|
||||
<h2 class="mb-25 font-weight-bolder">
|
||||
{{ statistic }}
|
||||
</h2>
|
||||
<span>{{ statisticTitle }}</span>
|
||||
</div>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BCard, BAvatar } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BCard,
|
||||
BAvatar,
|
||||
},
|
||||
props: {
|
||||
icon: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
statistic: {
|
||||
type: [Number, String],
|
||||
required: true,
|
||||
},
|
||||
statisticTitle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<b-card no-body>
|
||||
<b-card-body class="pb-0">
|
||||
<b-avatar
|
||||
class="mb-1"
|
||||
:variant="`light-${color}`"
|
||||
size="45"
|
||||
>
|
||||
<feather-icon
|
||||
size="21"
|
||||
:icon="icon"
|
||||
/>
|
||||
</b-avatar>
|
||||
<div class="truncate">
|
||||
<h2 class="mb-25 font-weight-bolder">
|
||||
{{ statistic }}
|
||||
</h2>
|
||||
<span>{{ statisticTitle }}</span>
|
||||
</div>
|
||||
</b-card-body>
|
||||
|
||||
<vue-apex-charts
|
||||
type="area"
|
||||
height="100"
|
||||
width="100%"
|
||||
:options="chartOptionsComputed"
|
||||
:series="chartData"
|
||||
/>
|
||||
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BCard, BCardBody, BAvatar } from 'bootstrap-vue'
|
||||
import VueApexCharts from 'vue-apexcharts'
|
||||
import { $themeColors } from '@themeConfig'
|
||||
import { areaChartOptions } from './chartOptions'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
VueApexCharts,
|
||||
BCard,
|
||||
BCardBody,
|
||||
BAvatar,
|
||||
},
|
||||
props: {
|
||||
icon: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
statistic: {
|
||||
type: [Number, String],
|
||||
required: true,
|
||||
},
|
||||
statisticTitle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
chartData: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
chartOptions: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
chartOptionsComputed() {
|
||||
if (this.chartOptions === null) {
|
||||
const options = JSON.parse(JSON.stringify(areaChartOptions))
|
||||
options.theme.monochrome.color = $themeColors[this.color]
|
||||
return options
|
||||
}
|
||||
return this.chartOptions
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -0,0 +1,101 @@
|
||||
<template>
|
||||
<b-card no-body>
|
||||
<b-card-body class="d-flex justify-content-between align-items-center pb-0">
|
||||
<div class="truncate">
|
||||
<h2 class="font-weight-bolder">
|
||||
{{ statistic }}
|
||||
</h2>
|
||||
<span>{{ statisticTitle }}</span>
|
||||
</div>
|
||||
<b-avatar
|
||||
:variant="`light-${color}`"
|
||||
size="45"
|
||||
>
|
||||
<feather-icon
|
||||
size="21"
|
||||
:icon="icon"
|
||||
/>
|
||||
</b-avatar>
|
||||
</b-card-body>
|
||||
|
||||
<vue-apex-charts
|
||||
type="line"
|
||||
height="100"
|
||||
width="100%"
|
||||
:options="chartOptionsComputed"
|
||||
:series="chartData"
|
||||
/>
|
||||
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BCard, BCardBody, BAvatar } from 'bootstrap-vue'
|
||||
import VueApexCharts from 'vue-apexcharts'
|
||||
import { $themeColors } from '@themeConfig'
|
||||
import { lineChartOptions } from './chartOptions'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
VueApexCharts,
|
||||
BCard,
|
||||
BCardBody,
|
||||
BAvatar,
|
||||
},
|
||||
props: {
|
||||
icon: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
statistic: {
|
||||
type: [Number, String],
|
||||
required: true,
|
||||
},
|
||||
statisticTitle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
chartData: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
chartOptions: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
chartOptionsComputed() {
|
||||
if (this.chartOptions === null) {
|
||||
const options = JSON.parse(JSON.stringify(lineChartOptions))
|
||||
|
||||
options.fill.gradient.gradientToColors = [this.gradientToColor(this.color)]
|
||||
options.colors = [$themeColors[this.color]]
|
||||
|
||||
return options
|
||||
}
|
||||
return this.chartOptions
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
gradientToColor(color) {
|
||||
const gradientToColors = {
|
||||
primary: '#A9A2F6',
|
||||
success: '#55DD92',
|
||||
warning: '#ffc085',
|
||||
danger: '#F97794',
|
||||
info: '#59E0F0',
|
||||
secondary: '#B4B9BF',
|
||||
light: '#D0D4DB',
|
||||
dark: '#919191',
|
||||
}
|
||||
|
||||
return gradientToColors[color]
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
122
src/@core/components/statistics-cards/chartOptions.js
Normal file
122
src/@core/components/statistics-cards/chartOptions.js
Normal file
@ -0,0 +1,122 @@
|
||||
import { $themeColors } from '@themeConfig'
|
||||
|
||||
export const areaChartOptions = {
|
||||
grid: {
|
||||
show: false,
|
||||
padding: {
|
||||
left: 0,
|
||||
right: 0,
|
||||
},
|
||||
},
|
||||
chart: {
|
||||
toolbar: {
|
||||
show: false,
|
||||
},
|
||||
sparkline: {
|
||||
enabled: true,
|
||||
},
|
||||
},
|
||||
dataLabels: {
|
||||
enabled: false,
|
||||
},
|
||||
stroke: {
|
||||
curve: 'smooth',
|
||||
width: 2.5,
|
||||
},
|
||||
fill: {
|
||||
type: 'gradient',
|
||||
gradient: {
|
||||
shadeIntensity: 0.9,
|
||||
opacityFrom: 0.5,
|
||||
opacityTo: 0.2,
|
||||
stops: [0, 80, 100],
|
||||
},
|
||||
},
|
||||
xaxis: {
|
||||
type: 'numeric',
|
||||
lines: {
|
||||
show: false,
|
||||
},
|
||||
axisBorder: {
|
||||
show: false,
|
||||
},
|
||||
labels: { show: false },
|
||||
},
|
||||
yaxis: [
|
||||
{
|
||||
y: 0,
|
||||
offsetX: 0,
|
||||
offsetY: 0,
|
||||
padding: {
|
||||
left: 0,
|
||||
right: 0,
|
||||
},
|
||||
},
|
||||
],
|
||||
tooltip: {
|
||||
x: { show: false },
|
||||
},
|
||||
theme: {
|
||||
monochrome: {
|
||||
enabled: true,
|
||||
color: $themeColors.primary,
|
||||
shadeTo: 'light',
|
||||
shadeIntensity: 0.65,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export const lineChartOptions = {
|
||||
grid: {
|
||||
show: false,
|
||||
padding: {
|
||||
left: 0,
|
||||
right: 0,
|
||||
},
|
||||
},
|
||||
chart: {
|
||||
type: 'line',
|
||||
dropShadow: {
|
||||
enabled: true,
|
||||
top: 5,
|
||||
left: 0,
|
||||
blur: 4,
|
||||
opacity: 0.1,
|
||||
},
|
||||
toolbar: {
|
||||
show: false,
|
||||
},
|
||||
sparkline: {
|
||||
enabled: true,
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
width: 5,
|
||||
curve: 'smooth',
|
||||
},
|
||||
xaxis: {
|
||||
type: 'numeric',
|
||||
},
|
||||
colors: [$themeColors.primary],
|
||||
fill: {
|
||||
type: 'gradient',
|
||||
gradient: {
|
||||
shade: 'dark',
|
||||
gradientToColors: ['#A9A2F6'],
|
||||
shadeIntensity: 1,
|
||||
type: 'horizontal',
|
||||
opacityFrom: 1,
|
||||
opacityTo: 1,
|
||||
stops: [0, 100, 100, 100],
|
||||
},
|
||||
},
|
||||
markers: {
|
||||
size: 0,
|
||||
hover: {
|
||||
size: 5,
|
||||
},
|
||||
},
|
||||
tooltip: {
|
||||
x: { show: false },
|
||||
},
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
<template>
|
||||
<div class="toastification">
|
||||
<div class="d-flex align-items-start">
|
||||
<b-avatar
|
||||
:variant="variant"
|
||||
size="1.8rem"
|
||||
class="mr-75 flex-shrink-0"
|
||||
>
|
||||
<feather-icon
|
||||
:icon="icon"
|
||||
size="15"
|
||||
/>
|
||||
</b-avatar>
|
||||
<div class="d-flex flex-grow-1">
|
||||
<div>
|
||||
<h5
|
||||
v-if="title"
|
||||
class="mb-0 font-weight-bolder toastification-title"
|
||||
:class="`text-${variant}`"
|
||||
v-text="title"
|
||||
/>
|
||||
<small
|
||||
v-if="text"
|
||||
class="d-inline-block text-body"
|
||||
v-text="text"
|
||||
/>
|
||||
</div>
|
||||
<span
|
||||
class="cursor-pointer toastification-close-icon ml-auto "
|
||||
@click="$emit('close-toast')"
|
||||
>
|
||||
<feather-icon
|
||||
v-if="!hideClose"
|
||||
icon="XIcon"
|
||||
class="text-body"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BAvatar } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BAvatar,
|
||||
},
|
||||
props: {
|
||||
variant: {
|
||||
type: String,
|
||||
default: 'primary',
|
||||
},
|
||||
icon: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
text: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
hideClose: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.toastification-close-icon,
|
||||
.toastification-title {
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.toastification-title {
|
||||
color: inherit;
|
||||
}
|
||||
</style>
|
32
src/@core/directives/animations.js
Normal file
32
src/@core/directives/animations.js
Normal file
@ -0,0 +1,32 @@
|
||||
export const heightFade = {
|
||||
/* eslint-disable no-param-reassign */
|
||||
inserted(el, binding) {
|
||||
const height = `${el.offsetHeight}px`
|
||||
|
||||
if (binding.modifiers.appear) {
|
||||
el.style.overflow = 'hidden'
|
||||
el.style.maxHeight = '0px'
|
||||
el.style.opacity = 0
|
||||
|
||||
// Focus the element
|
||||
setTimeout(() => {
|
||||
el.style.maxHeight = height
|
||||
el.style.opacity = 1
|
||||
setTimeout(() => {
|
||||
el.style.overflow = 'unset'
|
||||
}, 300)
|
||||
}, 100)
|
||||
} else {
|
||||
el.style.maxHeight = height
|
||||
}
|
||||
},
|
||||
unbind(el) {
|
||||
if (el.style === undefined) return
|
||||
el.style.overflow = 'hidden'
|
||||
el.style.maxHeight = '0px'
|
||||
el.style.opacity = 0
|
||||
},
|
||||
/* eslint-enable no-param-reassign */
|
||||
}
|
||||
|
||||
export const temp = 2
|
69
src/@core/layouts/components/AppBreadcrumb.vue
Normal file
69
src/@core/layouts/components/AppBreadcrumb.vue
Normal file
@ -0,0 +1,69 @@
|
||||
<template>
|
||||
<b-row
|
||||
v-if="$route.meta.breadcrumb || $route.meta.pageTitle"
|
||||
class="content-header"
|
||||
>
|
||||
|
||||
<!-- Content Left -->
|
||||
<b-col
|
||||
class="content-header-left mb-2"
|
||||
cols="12"
|
||||
md="9"
|
||||
>
|
||||
<b-row class="breadcrumbs-top">
|
||||
<b-col cols="12">
|
||||
<h2 class="content-header-title float-left pr-1 mb-0">
|
||||
{{ $route.meta.pageTitle }}
|
||||
</h2>
|
||||
<div class="breadcrumb-wrapper">
|
||||
<b-breadcrumb>
|
||||
<b-breadcrumb-item to="/">
|
||||
<feather-icon
|
||||
icon="HomeIcon"
|
||||
size="16"
|
||||
class="align-text-top"
|
||||
/>
|
||||
</b-breadcrumb-item>
|
||||
<b-breadcrumb-item
|
||||
v-for="item in $route.meta.breadcrumb"
|
||||
:key="item.text"
|
||||
:active="item.active"
|
||||
:to="item.to"
|
||||
>
|
||||
{{ item.text }}
|
||||
</b-breadcrumb-item>
|
||||
</b-breadcrumb>
|
||||
</div>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-col>
|
||||
|
||||
<!-- Content Right -->
|
||||
<b-col
|
||||
class="content-header-right text-md-right d-md-block d-none mb-1"
|
||||
md="3"
|
||||
cols="12"
|
||||
>
|
||||
|
||||
</b-col>
|
||||
</b-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BBreadcrumb, BBreadcrumbItem, BRow, BCol,
|
||||
} from 'bootstrap-vue'
|
||||
import Ripple from 'vue-ripple-directive'
|
||||
|
||||
export default {
|
||||
directives: {
|
||||
Ripple,
|
||||
},
|
||||
components: {
|
||||
BBreadcrumb,
|
||||
BBreadcrumbItem,
|
||||
BRow,
|
||||
BCol,
|
||||
},
|
||||
}
|
||||
</script>
|
43
src/@core/layouts/components/AppFooter.vue
Normal file
43
src/@core/layouts/components/AppFooter.vue
Normal file
@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<p class="clearfix mb-0">
|
||||
<span class="float-md-left d-block d-md-inline-block mt-25">
|
||||
Powered By
|
||||
<b-link
|
||||
class="ml-25 font-weight-bolder"
|
||||
href="#"
|
||||
target="_blank"
|
||||
>Ping.pub</b-link>
|
||||
</span>
|
||||
|
||||
<span class="float-md-right d-none d-md-block">Buy me a cup of coffee.
|
||||
<span
|
||||
v-b-popover.hover.topleft="'Atom: cosmos1ev0vtddkl7jlwfawlk06yzncapw2x9quyxx75u'"
|
||||
v-ripple.400="'rgba(113, 102, 240, 0.15)'"
|
||||
title="Thanks for your donation!"
|
||||
variant="outline-primary"
|
||||
>
|
||||
<feather-icon
|
||||
icon="HeartIcon"
|
||||
size="21"
|
||||
class="text-danger stroke-current"
|
||||
/>
|
||||
</span>
|
||||
</span>
|
||||
</p>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BLink, VBPopover } from 'bootstrap-vue'
|
||||
import Ripple from 'vue-ripple-directive'
|
||||
|
||||
export default {
|
||||
name: 'AppFooter',
|
||||
components: {
|
||||
BLink,
|
||||
},
|
||||
directives: {
|
||||
'b-popover': VBPopover,
|
||||
Ripple,
|
||||
},
|
||||
}
|
||||
</script>
|
188
src/@core/layouts/components/Logo.vue
Normal file
188
src/@core/layouts/components/Logo.vue
Normal file
@ -0,0 +1,188 @@
|
||||
<template>
|
||||
<svg
|
||||
id="Layer_1"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="150px"
|
||||
height="150px"
|
||||
viewBox="0 0 150 150"
|
||||
enable-background="new 0 0 150 150"
|
||||
xml:space="preserve"
|
||||
> <image
|
||||
id="image0"
|
||||
width="150"
|
||||
height="150"
|
||||
x="0"
|
||||
y="0"
|
||||
href="data:image/png;base64,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"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
344
src/@core/layouts/components/app-customizer/AppCustomizer.vue
Normal file
344
src/@core/layouts/components/app-customizer/AppCustomizer.vue
Normal file
@ -0,0 +1,344 @@
|
||||
<template>
|
||||
<div
|
||||
class="customizer d-none d-md-block"
|
||||
:class="{'open': isCustomizerOpen}"
|
||||
>
|
||||
<!-- Toggler -->
|
||||
<b-link
|
||||
class="customizer-toggle d-flex align-items-center justify-content-center"
|
||||
@click="isCustomizerOpen = !isCustomizerOpen"
|
||||
>
|
||||
<feather-icon
|
||||
icon="SettingsIcon"
|
||||
size="15"
|
||||
class="spinner"
|
||||
/>
|
||||
</b-link>
|
||||
<!-- /Toggler -->
|
||||
|
||||
<!-- Header -->
|
||||
<div class="customizer-section d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h4 class="text-uppercase mb-0">
|
||||
Theme Customizer
|
||||
</h4>
|
||||
<small>Customize & Preview in Real Time</small>
|
||||
</div>
|
||||
<feather-icon
|
||||
icon="XIcon"
|
||||
size="18"
|
||||
class="cursor-pointer"
|
||||
@click="isCustomizerOpen = !isCustomizerOpen"
|
||||
/>
|
||||
</div>
|
||||
<!-- Header -->
|
||||
|
||||
<vue-perfect-scrollbar
|
||||
:settings="perfectScrollbarSettings"
|
||||
class="ps-customizer-area scroll-area"
|
||||
>
|
||||
<!-- Skin, RTL, Router Animation -->
|
||||
<div class="customizer-section">
|
||||
|
||||
<!-- Skin -->
|
||||
<b-form-group label="Skin">
|
||||
<b-form-radio-group
|
||||
id="skin-radio-group"
|
||||
v-model="skin"
|
||||
name="skin"
|
||||
:options="skinOptions"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<!-- Skin -->
|
||||
<b-form-group label="Content Width">
|
||||
<b-form-radio-group
|
||||
id="content-width-radio-group"
|
||||
v-model="contentWidth"
|
||||
name="content-width"
|
||||
:options="contentWidthOptions"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<!-- RTL -->
|
||||
<b-form-group
|
||||
label="RTL"
|
||||
label-cols="10"
|
||||
>
|
||||
<b-form-checkbox
|
||||
v-model="isRTL"
|
||||
class="mr-0 mt-50"
|
||||
name="is-rtl"
|
||||
switch
|
||||
inline
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<!-- Router Transition -->
|
||||
<b-form-group
|
||||
label="Router Transition"
|
||||
label-cols="6"
|
||||
>
|
||||
<v-select
|
||||
v-model="routerTransition"
|
||||
:dir="$store.state.appConfig.isRTL ? 'rtl' : 'ltr'"
|
||||
:clearable="false"
|
||||
label="title"
|
||||
:options="routerTransitionOptions"
|
||||
:reduce="option => option.value"
|
||||
/>
|
||||
</b-form-group>
|
||||
</div>
|
||||
<!-- /Skin, RTL, Router Animation -->
|
||||
|
||||
<!-- SECTION: Menu -->
|
||||
<div class="customizer-section">
|
||||
|
||||
<!-- Layout Type -->
|
||||
<b-form-group
|
||||
label="Menu Layout"
|
||||
>
|
||||
<b-form-radio-group
|
||||
v-model="layoutType"
|
||||
name="layout-type"
|
||||
:options="layoutTypeOptions"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<!-- Collapsible -->
|
||||
<div
|
||||
v-if="layoutType === 'vertical'"
|
||||
class="d-flex justify-content-between align-items-center mt-2"
|
||||
>
|
||||
<span class="font-weight-bold">Menu Collapsed</span>
|
||||
<b-form-checkbox
|
||||
v-model="isVerticalMenuCollapsed"
|
||||
name="is-vertical-menu-collapsed"
|
||||
class="mr-0"
|
||||
switch
|
||||
inline
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Menu Visiblity -->
|
||||
<div class="d-flex justify-content-between align-items-center mt-2">
|
||||
<span class="font-weight-bold">Menu Hidden</span>
|
||||
<b-form-checkbox
|
||||
v-model="isNavMenuHidden"
|
||||
name="is-menu-visible"
|
||||
class="mr-0"
|
||||
switch
|
||||
inline
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- SECTION: Navbar -->
|
||||
<div class="customizer-section">
|
||||
|
||||
<!-- Navbar Color -->
|
||||
<b-form-group
|
||||
v-show="layoutType === 'vertical'"
|
||||
label="Navbar Color"
|
||||
>
|
||||
<div
|
||||
v-for="(color, index) in navbarColors"
|
||||
:key="color"
|
||||
class="p-1 d-inline-block rounded mr-1 cursor-pointer"
|
||||
:class="[`bg-${color}`, {'border border-light': !index}, {'mark-active': navbarBackgroundColor === color}]"
|
||||
@click="navbarBackgroundColor = color"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<!-- Navbar Type -->
|
||||
<b-form-group :label="layoutType === 'vertical' ? 'Navbar Type' : 'Menu Type'">
|
||||
<b-form-radio-group
|
||||
v-model="navbarType"
|
||||
name="navbar-type"
|
||||
:options="navbarTypes"
|
||||
/>
|
||||
</b-form-group>
|
||||
</div>
|
||||
|
||||
<!-- SECTION: Footer -->
|
||||
<div class="customizer-section">
|
||||
|
||||
<!-- Footer Type -->
|
||||
<b-form-group label="Footer Type">
|
||||
<b-form-radio-group
|
||||
v-model="footerType"
|
||||
name="footer-type"
|
||||
:options="footerTypes"
|
||||
/>
|
||||
</b-form-group>
|
||||
</div>
|
||||
</vue-perfect-scrollbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BLink, BFormRadioGroup, BFormGroup, BFormCheckbox,
|
||||
} from 'bootstrap-vue'
|
||||
import vSelect from 'vue-select'
|
||||
import VuePerfectScrollbar from 'vue-perfect-scrollbar'
|
||||
import useAppCustomizer from './useAppCustomizer'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
// BSV
|
||||
BLink,
|
||||
BFormRadioGroup,
|
||||
BFormCheckbox,
|
||||
BFormGroup,
|
||||
|
||||
// 3rd party
|
||||
vSelect,
|
||||
VuePerfectScrollbar,
|
||||
|
||||
},
|
||||
setup() {
|
||||
const {
|
||||
// Vertical Menu
|
||||
isVerticalMenuCollapsed,
|
||||
|
||||
// Customizer
|
||||
isCustomizerOpen,
|
||||
|
||||
// Skin
|
||||
skin,
|
||||
skinOptions,
|
||||
|
||||
// Content Width
|
||||
contentWidth,
|
||||
contentWidthOptions,
|
||||
|
||||
// RTL
|
||||
isRTL,
|
||||
|
||||
// routerTransition
|
||||
routerTransition,
|
||||
routerTransitionOptions,
|
||||
|
||||
// Layout Type
|
||||
layoutType,
|
||||
layoutTypeOptions,
|
||||
|
||||
// NavMenu Hidden
|
||||
isNavMenuHidden,
|
||||
|
||||
// Navbar
|
||||
navbarColors,
|
||||
navbarTypes,
|
||||
navbarBackgroundColor,
|
||||
navbarType,
|
||||
|
||||
// Footer
|
||||
footerTypes,
|
||||
footerType,
|
||||
} = useAppCustomizer()
|
||||
|
||||
if (layoutType.value === 'horizontal') {
|
||||
// Remove semi-dark skin option in horizontal layout
|
||||
const skinSemiDarkIndex = skinOptions.findIndex(s => s.value === 'semi-dark')
|
||||
delete skinOptions[skinSemiDarkIndex]
|
||||
|
||||
// Remove menu hidden radio in horizontal layout => As we already have switch for it
|
||||
const menuHiddneIndex = navbarTypes.findIndex(t => t.value === 'hidden')
|
||||
delete navbarTypes[menuHiddneIndex]
|
||||
}
|
||||
|
||||
// Perfect Scrollbar
|
||||
const perfectScrollbarSettings = {
|
||||
maxScrollbarLength: 60,
|
||||
wheelPropagation: false,
|
||||
}
|
||||
|
||||
return {
|
||||
// Vertical Menu
|
||||
isVerticalMenuCollapsed,
|
||||
|
||||
// Customizer
|
||||
isCustomizerOpen,
|
||||
|
||||
// Skin
|
||||
skin,
|
||||
skinOptions,
|
||||
|
||||
// Content Width
|
||||
contentWidth,
|
||||
contentWidthOptions,
|
||||
|
||||
// RTL
|
||||
isRTL,
|
||||
|
||||
// routerTransition
|
||||
routerTransition,
|
||||
routerTransitionOptions,
|
||||
|
||||
// Layout Type
|
||||
layoutType,
|
||||
layoutTypeOptions,
|
||||
|
||||
// NavMenu Hidden
|
||||
isNavMenuHidden,
|
||||
|
||||
// Navbar
|
||||
navbarColors,
|
||||
navbarTypes,
|
||||
navbarBackgroundColor,
|
||||
navbarType,
|
||||
|
||||
// Footer
|
||||
footerTypes,
|
||||
footerType,
|
||||
|
||||
// Perfect Scrollbar
|
||||
perfectScrollbarSettings,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '@core/scss/vue/libs/vue-select.scss';
|
||||
</style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~@core/scss/base/bootstrap-extended/include';
|
||||
@import '~@core/scss/base/components/variables-dark';
|
||||
|
||||
.customizer-section {
|
||||
padding: 1.5rem;
|
||||
border-bottom: 1px solid #ebe9f1;
|
||||
|
||||
.dark-layout & {
|
||||
border-color: $theme-dark-border-color;
|
||||
}
|
||||
|
||||
#skin-radio-group ::v-deep {
|
||||
.custom-control-inline {
|
||||
margin-right: 0.7rem;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 1.5rem;;
|
||||
&:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
::v-deep legend {
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mark-active {
|
||||
box-shadow: 0 0 0 0.2rem rgba(38,143,255,.5);
|
||||
}
|
||||
|
||||
.ps-customizer-area {
|
||||
height: calc(100% - 83px)
|
||||
}
|
||||
</style>
|
109
src/@core/layouts/components/app-customizer/useAppCustomizer.js
Normal file
109
src/@core/layouts/components/app-customizer/useAppCustomizer.js
Normal file
@ -0,0 +1,109 @@
|
||||
import { ref } from '@vue/composition-api'
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
export default function useAppCustomizer() {
|
||||
// Customizer
|
||||
const isCustomizerOpen = ref(false)
|
||||
|
||||
// Skin
|
||||
const skinOptions = [
|
||||
{ text: 'Light', value: 'light' },
|
||||
{ text: 'Bordered', value: 'bordered' },
|
||||
{ text: 'Dark', value: 'dark' },
|
||||
{ text: 'Semi Dark', value: 'semi-dark' },
|
||||
]
|
||||
|
||||
// Content Width Options
|
||||
const contentWidthOptions = [
|
||||
{ text: 'Full Width', value: 'full' },
|
||||
{ text: 'Boxed', value: 'boxed' },
|
||||
]
|
||||
|
||||
// Router Transition
|
||||
const routerTransitionOptions = [
|
||||
{ title: 'Zoom Fade', value: 'zoom-fade' },
|
||||
{ title: 'Fade', value: 'fade' },
|
||||
{ title: 'Fade Bottom', value: 'fade-bottom' },
|
||||
{ title: 'Slide Fade', value: 'slide-fade' },
|
||||
{ title: 'Zoom Out', value: 'zoom-out' },
|
||||
{ title: 'None', value: 'none' },
|
||||
]
|
||||
|
||||
// Router Transition
|
||||
const layoutTypeOptions = [
|
||||
{ text: 'Vertical', value: 'vertical' },
|
||||
{ text: 'Horizontal', value: 'horizontal' },
|
||||
]
|
||||
|
||||
// Navbar
|
||||
const navbarColors = ['', 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark']
|
||||
|
||||
// Navbar Types
|
||||
const navbarTypes = [
|
||||
{ text: 'Floating', value: 'floating' },
|
||||
{ text: 'Sticky', value: 'sticky' },
|
||||
{ text: 'Static', value: 'static' },
|
||||
{ text: 'Hidden', value: 'hidden' },
|
||||
]
|
||||
|
||||
// Footer Types
|
||||
const footerTypes = [
|
||||
{ text: 'Sticky', value: 'sticky' },
|
||||
{ text: 'Static', value: 'static' },
|
||||
{ text: 'Hidden', value: 'hidden' },
|
||||
]
|
||||
|
||||
// eslint-disable-next-line object-curly-newline
|
||||
const {
|
||||
isRTL,
|
||||
skin,
|
||||
contentWidth,
|
||||
routerTransition,
|
||||
layoutType,
|
||||
isNavMenuHidden,
|
||||
isVerticalMenuCollapsed,
|
||||
navbarBackgroundColor,
|
||||
navbarType,
|
||||
footerType,
|
||||
} = useAppConfig()
|
||||
|
||||
return {
|
||||
// Customizer
|
||||
isCustomizerOpen,
|
||||
|
||||
// Vertical Menu
|
||||
isVerticalMenuCollapsed,
|
||||
|
||||
// Skin
|
||||
skin,
|
||||
skinOptions,
|
||||
|
||||
// Content Width
|
||||
contentWidth,
|
||||
contentWidthOptions,
|
||||
|
||||
// RTL
|
||||
isRTL,
|
||||
|
||||
// routerTransition
|
||||
routerTransition,
|
||||
routerTransitionOptions,
|
||||
|
||||
// Layout Type
|
||||
layoutType,
|
||||
layoutTypeOptions,
|
||||
|
||||
// NavMenu Hidden
|
||||
isNavMenuHidden,
|
||||
|
||||
// Navbar
|
||||
navbarColors,
|
||||
navbarTypes,
|
||||
navbarBackgroundColor,
|
||||
navbarType,
|
||||
|
||||
// Footer
|
||||
footerTypes,
|
||||
footerType,
|
||||
}
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<div class="navbar-container d-flex content align-items-center">
|
||||
|
||||
<!-- Nav Menu Toggler -->
|
||||
<ul class="nav navbar-nav d-xl-none">
|
||||
<li class="nav-item">
|
||||
<b-link
|
||||
class="nav-link"
|
||||
@click="toggleVerticalMenuActive"
|
||||
>
|
||||
<feather-icon
|
||||
icon="MenuIcon"
|
||||
size="21"
|
||||
/>
|
||||
</b-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Left Col -->
|
||||
<div class="bookmark-wrapper align-items-center flex-grow-1 d-none d-lg-flex">
|
||||
<bookmarks />
|
||||
</div>
|
||||
|
||||
<!-- Right Col -->
|
||||
<b-navbar-nav class="nav align-items-center ml-auto">
|
||||
<dark-Toggler class="d-none d-lg-block" />
|
||||
<search-bar />
|
||||
<notification-dropdown />
|
||||
<template #button-content>
|
||||
<b-button
|
||||
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
||||
variant="primary"
|
||||
class="btn-icon"
|
||||
>
|
||||
<feather-icon icon="SettingsIcon" />
|
||||
</b-button>
|
||||
</template>
|
||||
</b-navbar-nav>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BLink, BNavbarNav, BButton,
|
||||
} from 'bootstrap-vue'
|
||||
import Bookmarks from './components/Bookmarks.vue'
|
||||
// import Locale from './components/Locale.vue'
|
||||
import DarkToggler from './components/DarkToggler.vue'
|
||||
import SearchBar from './components/SearchBar.vue'
|
||||
import NotificationDropdown from './components/NotificationDropdown.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BLink,
|
||||
|
||||
// Navbar Components
|
||||
BNavbarNav,
|
||||
Bookmarks,
|
||||
DarkToggler,
|
||||
SearchBar,
|
||||
NotificationDropdown,
|
||||
BButton,
|
||||
},
|
||||
props: {
|
||||
toggleVerticalMenuActive: {
|
||||
type: Function,
|
||||
default: () => {},
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
@ -0,0 +1,46 @@
|
||||
<template>
|
||||
<div class="navbar-header d-xl-block d-none">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="nav-item">
|
||||
<b-link
|
||||
class="navbar-brand"
|
||||
to="/"
|
||||
>
|
||||
<span class="brand-logo">
|
||||
<b-img
|
||||
:src="appLogoImage"
|
||||
alt="logo"
|
||||
/>
|
||||
</span>
|
||||
<h2 class="brand-text mb-0">
|
||||
{{ appName }}
|
||||
</h2>
|
||||
</b-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BLink, BImg } from 'bootstrap-vue'
|
||||
import { $themeConfig } from '@themeConfig'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BLink,
|
||||
BImg,
|
||||
},
|
||||
setup() {
|
||||
// App Name
|
||||
const { appName, appLogoImage } = $themeConfig.app
|
||||
return {
|
||||
appName,
|
||||
appLogoImage,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<div class="navbar-container d-flex content align-items-center">
|
||||
|
||||
<!-- Nav Menu Toggler -->
|
||||
<ul class="nav navbar-nav d-xl-none">
|
||||
<li class="nav-item">
|
||||
<b-link
|
||||
class="nav-link"
|
||||
@click="toggleVerticalMenuActive"
|
||||
>
|
||||
<feather-icon
|
||||
icon="MenuIcon"
|
||||
size="21"
|
||||
/>
|
||||
</b-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Left Col -->
|
||||
<div class="bookmark-wrapper align-items-center flex-grow-1 d-none d-lg-flex">
|
||||
|
||||
<!-- Bookmarks Container -->
|
||||
<bookmarks />
|
||||
</div>
|
||||
|
||||
<b-navbar-nav class="nav align-items-center ml-auto">
|
||||
<dark-Toggler class="d-none d-lg-block" />
|
||||
<search-bar />
|
||||
<notification-dropdown />
|
||||
</b-navbar-nav>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BLink, BNavbarNav,
|
||||
} from 'bootstrap-vue'
|
||||
import Bookmarks from './components/Bookmarks.vue'
|
||||
import SearchBar from './components/SearchBar.vue'
|
||||
import DarkToggler from './components/DarkToggler.vue'
|
||||
import NotificationDropdown from './components/NotificationDropdown.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BLink,
|
||||
|
||||
// Navbar Components
|
||||
BNavbarNav,
|
||||
Bookmarks,
|
||||
SearchBar,
|
||||
DarkToggler,
|
||||
NotificationDropdown,
|
||||
},
|
||||
props: {
|
||||
toggleVerticalMenuActive: {
|
||||
type: Function,
|
||||
default: () => {},
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
196
src/@core/layouts/components/app-navbar/components/Bookmarks.vue
Normal file
196
src/@core/layouts/components/app-navbar/components/Bookmarks.vue
Normal file
@ -0,0 +1,196 @@
|
||||
<template>
|
||||
<b-navbar-nav class="nav">
|
||||
<b-nav-item
|
||||
v-for="(bookmark, index) in bookmarks"
|
||||
:id="`bookmark-${index}`"
|
||||
:key="index"
|
||||
:to="bookmark.route"
|
||||
>
|
||||
<feather-icon
|
||||
:icon="bookmark.icon"
|
||||
size="21"
|
||||
/>
|
||||
<b-tooltip
|
||||
triggers="hover"
|
||||
:target="`bookmark-${index}`"
|
||||
:title="bookmark.title"
|
||||
:delay="{ show: 1000, hide: 50 }"
|
||||
/>
|
||||
</b-nav-item>
|
||||
<b-nav-item-dropdown
|
||||
link-classes="bookmark-star"
|
||||
lazy
|
||||
@hidden="resetsearchQuery"
|
||||
>
|
||||
<feather-icon
|
||||
slot="button-content"
|
||||
icon="StarIcon"
|
||||
size="21"
|
||||
class="text-warning"
|
||||
/>
|
||||
|
||||
<!-- Dropdown Content -->
|
||||
<li style="min-width:300px">
|
||||
<div class="p-1">
|
||||
<b-form-input
|
||||
id="boomark-search-input"
|
||||
v-model="searchQuery"
|
||||
placeholder="Explore Vuexy..."
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
<vue-perfect-scrollbar
|
||||
:settings="perfectScrollbarSettings"
|
||||
class="search-list search-list-bookmark scroll-area"
|
||||
:class="{'show': filteredData.pages && filteredData.pages.length }"
|
||||
tagname="ul"
|
||||
>
|
||||
|
||||
<b-dropdown-item
|
||||
v-for="(suggestion, index) in filteredData.pages || bookmarks"
|
||||
:key="index"
|
||||
class="suggestion-group-suggestion cursor-pointer"
|
||||
link-class="d-flex align-items-center"
|
||||
:to="suggestion.route"
|
||||
@mouseenter="currentSelected = index"
|
||||
>
|
||||
<feather-icon
|
||||
:icon="suggestion.icon"
|
||||
class="mr-75"
|
||||
size="18"
|
||||
/>
|
||||
<span class="align-middle">{{ suggestion.title }}</span>
|
||||
<feather-icon
|
||||
icon="StarIcon"
|
||||
class="ml-auto"
|
||||
size="16"
|
||||
:class="{'text-warning': suggestion.isBookmarked}"
|
||||
@click.stop.prevent="toggleBookmarked(suggestion)"
|
||||
/>
|
||||
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
v-show="!(filteredData.pages && filteredData.pages.length) && searchQuery"
|
||||
disabled
|
||||
>
|
||||
No Results Found.
|
||||
</b-dropdown-item></vue-perfect-scrollbar>
|
||||
</li>
|
||||
</b-nav-item-dropdown>
|
||||
|
||||
</b-navbar-nav>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BNavbarNav, BNavItem, BTooltip, BNavItemDropdown, BFormInput, BDropdownItem,
|
||||
} from 'bootstrap-vue'
|
||||
import VuePerfectScrollbar from 'vue-perfect-scrollbar'
|
||||
import useAutoSuggest from '@core/components/app-auto-suggest/useAutoSuggest'
|
||||
import { ref, watch } from '@vue/composition-api'
|
||||
import router from '@/router'
|
||||
import store from '@/store'
|
||||
import searchAndBookmarkData from '../search-and-bookmark-data'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BNavbarNav, BNavItem, BTooltip, BNavItemDropdown, BFormInput, VuePerfectScrollbar, BDropdownItem,
|
||||
},
|
||||
setup() {
|
||||
const searchAndBookmarkDataPages = ref(searchAndBookmarkData.pages)
|
||||
const bookmarks = ref(searchAndBookmarkData.pages.data.filter(page => page.isBookmarked))
|
||||
const currentSelected = ref(-1)
|
||||
|
||||
const perfectScrollbarSettings = {
|
||||
maxScrollbarLength: 60,
|
||||
}
|
||||
|
||||
const {
|
||||
searchQuery,
|
||||
resetsearchQuery,
|
||||
filteredData,
|
||||
} = useAutoSuggest({ data: { pages: searchAndBookmarkDataPages.value }, searchLimit: 6 })
|
||||
|
||||
watch(searchQuery, val => {
|
||||
store.commit('app/TOGGLE_OVERLAY', Boolean(val))
|
||||
})
|
||||
|
||||
watch(filteredData, val => {
|
||||
currentSelected.value = val.pages && !val.pages.length ? -1 : 0
|
||||
})
|
||||
|
||||
const suggestionSelected = () => {
|
||||
const suggestion = filteredData.value.pages[currentSelected.value]
|
||||
router.push(suggestion.route).catch(() => {})
|
||||
resetsearchQuery()
|
||||
}
|
||||
|
||||
const toggleBookmarked = item => {
|
||||
// Find Index of item/page in bookmarks' array
|
||||
const pageIndexInBookmarks = bookmarks.value.findIndex(i => i.route === item.route)
|
||||
|
||||
// If index is > -1 => Item is bookmarked => Remove item from bookmarks array using index
|
||||
// Else => Item is not bookmarked => Add item to bookmarks' array
|
||||
if (pageIndexInBookmarks > -1) {
|
||||
bookmarks.value[pageIndexInBookmarks].isBookmarked = false
|
||||
bookmarks.value.splice(pageIndexInBookmarks, 1)
|
||||
} else {
|
||||
bookmarks.value.push(item)
|
||||
bookmarks.value[bookmarks.value.length - 1].isBookmarked = true
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
bookmarks,
|
||||
perfectScrollbarSettings,
|
||||
currentSelected,
|
||||
suggestionSelected,
|
||||
toggleBookmarked,
|
||||
|
||||
// AutoSuggest
|
||||
searchQuery,
|
||||
resetsearchQuery,
|
||||
filteredData,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~@core/scss/base/bootstrap-extended/include';
|
||||
|
||||
ul
|
||||
{
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.nav-bookmar-content-overlay {
|
||||
position: fixed;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
-webkit-transition: all 0.7s;
|
||||
transition: all 0.7s;
|
||||
z-index: -1;
|
||||
|
||||
&:not(.show) {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
&.show {
|
||||
cursor: pointer;
|
||||
z-index: 10;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,177 @@
|
||||
<template>
|
||||
<b-nav-item-dropdown
|
||||
class="dropdown-cart mr-25"
|
||||
menu-class="dropdown-menu-media"
|
||||
right
|
||||
@show="fetchItems"
|
||||
>
|
||||
<template #button-content>
|
||||
<feather-icon
|
||||
:badge="$store.state['app-ecommerce'].cartItemsCount"
|
||||
class="text-body"
|
||||
icon="ShoppingCartIcon"
|
||||
size="21"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<!-- Header -->
|
||||
<li class="dropdown-menu-header">
|
||||
<div class="dropdown-header d-flex">
|
||||
<h4 class="notification-title mb-0 mr-auto">
|
||||
My Cart
|
||||
</h4>
|
||||
<b-badge
|
||||
pill
|
||||
variant="light-primary"
|
||||
>
|
||||
{{ $store.state['app-ecommerce'].cartItemsCount }} Items
|
||||
</b-badge>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Cart Items -->
|
||||
<vue-perfect-scrollbar
|
||||
v-if="items.length"
|
||||
:settings="perfectScrollbarSettings"
|
||||
class="scrollable-container media-list scroll-area"
|
||||
tagname="li"
|
||||
>
|
||||
<b-media
|
||||
v-for="item in items"
|
||||
:key="item.name"
|
||||
>
|
||||
<template #aside>
|
||||
<b-img
|
||||
:src="item.image"
|
||||
:alt="item.name"
|
||||
rounded
|
||||
width="62px"
|
||||
/>
|
||||
</template>
|
||||
<feather-icon
|
||||
icon="XIcon"
|
||||
class="cart-item-remove cursor-pointer"
|
||||
@click.stop="removeItemFromCart(item.id)"
|
||||
/>
|
||||
<div class="media-heading">
|
||||
<h6 class="cart-item-title">
|
||||
<b-link class="text-body">
|
||||
{{ item.name }}
|
||||
</b-link>
|
||||
</h6>
|
||||
<small class="cart-item-by">By {{ item.brand }}</small>
|
||||
</div>
|
||||
|
||||
<div class="cart-item-qty ml-1">
|
||||
<b-form-spinbutton
|
||||
v-model="item.qty"
|
||||
min="1"
|
||||
size="sm"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<h5 class="cart-item-price">
|
||||
${{ item.price }}
|
||||
</h5>
|
||||
</b-media>
|
||||
</vue-perfect-scrollbar>
|
||||
|
||||
<!-- Cart Footer -->
|
||||
<li
|
||||
v-if="items.length"
|
||||
class="dropdown-menu-footer"
|
||||
>
|
||||
<div class="d-flex justify-content-between mb-1">
|
||||
<h6 class="font-weight-bolder mb-0">
|
||||
Total:
|
||||
</h6>
|
||||
<h6 class="text-primary font-weight-bolder mb-0">
|
||||
${{ totalAmount }}
|
||||
</h6>
|
||||
</div>
|
||||
<b-button
|
||||
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
||||
variant="primary"
|
||||
block
|
||||
:to="{ name: 'apps-e-commerce-checkout' }"
|
||||
>
|
||||
Checkout
|
||||
</b-button>
|
||||
</li>
|
||||
|
||||
<p
|
||||
v-if="!items.length"
|
||||
class="m-0 p-1 text-center"
|
||||
>
|
||||
Your cart is empty
|
||||
</p>
|
||||
</b-nav-item-dropdown>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import {
|
||||
// BNavItemDropdown, BBadge, BMedia, BLink, BImg, BFormSpinbutton, BButton,
|
||||
// } from 'bootstrap-vue'
|
||||
// import VuePerfectScrollbar from 'vue-perfect-scrollbar'
|
||||
// import Ripple from 'vue-ripple-directive'
|
||||
|
||||
// export default {
|
||||
// components: {
|
||||
// BNavItemDropdown,
|
||||
// BBadge,
|
||||
// BMedia,
|
||||
// BLink,
|
||||
// BImg,
|
||||
// BFormSpinbutton,
|
||||
// VuePerfectScrollbar,
|
||||
// BButton,
|
||||
// },
|
||||
// directives: {
|
||||
// Ripple,
|
||||
// },
|
||||
// data() {
|
||||
// return {
|
||||
// items: [],
|
||||
// perfectScrollbarSettings: {
|
||||
// maxScrollbarLength: 60,
|
||||
// wheelPropagation: false,
|
||||
// },
|
||||
// }
|
||||
// },
|
||||
// computed: {
|
||||
// totalAmount() {
|
||||
// let total = 0
|
||||
// this.items.forEach(i => { total += i.price })
|
||||
// return total
|
||||
// },
|
||||
// },
|
||||
// methods: {
|
||||
// fetchItems() {
|
||||
// this.$store.dispatch('app-ecommerce/fetchCartProducts')
|
||||
// .then(response => {
|
||||
// this.items = response.data.products
|
||||
// })
|
||||
// },
|
||||
// removeItemFromCart(productId) {
|
||||
// this.$store.dispatch('app-ecommerce/removeProductFromCart', { productId })
|
||||
// .then(() => {
|
||||
// const itemIndex = this.items.findIndex(p => p.id === productId)
|
||||
// this.items.splice(itemIndex, 1)
|
||||
|
||||
// // Update count in cart items state
|
||||
// this.$store.commit('app-ecommerce/UPDATE_CART_ITEMS_COUNT', this.items.length)
|
||||
// })
|
||||
// },
|
||||
// },
|
||||
// }
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.dropdown-cart {
|
||||
.media {
|
||||
.media-aside {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<b-nav-item @click="skin = isDark ? 'light' : 'dark'">
|
||||
<feather-icon
|
||||
size="21"
|
||||
:icon="`${isDark ? 'Sun' : 'Moon'}Icon`"
|
||||
/>
|
||||
</b-nav-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
import { computed } from '@vue/composition-api'
|
||||
import { BNavItem } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BNavItem,
|
||||
},
|
||||
setup() {
|
||||
const { skin } = useAppConfig()
|
||||
|
||||
const isDark = computed(() => skin.value === 'dark')
|
||||
|
||||
return { skin, isDark }
|
||||
},
|
||||
}
|
||||
</script>
|
@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<b-nav-item-dropdown
|
||||
id="dropdown-grouped"
|
||||
variant="link"
|
||||
class="dropdown-language"
|
||||
right
|
||||
>
|
||||
<template #button-content>
|
||||
<b-img
|
||||
:src="currentLocale.img"
|
||||
height="14px"
|
||||
width="22px"
|
||||
:alt="currentLocale.locale"
|
||||
/>
|
||||
<span class="ml-50 text-body d-none">{{ currentLocale.name }}</span>
|
||||
</template>
|
||||
<b-dropdown-item
|
||||
v-for="localeObj in locales"
|
||||
:key="localeObj.locale"
|
||||
@click="$i18n.locale = localeObj.locale"
|
||||
>
|
||||
<b-img
|
||||
:src="localeObj.img"
|
||||
height="14px"
|
||||
width="22px"
|
||||
:alt="localeObj.locale"
|
||||
/>
|
||||
<span class="ml-50">{{ localeObj.name }}</span>
|
||||
</b-dropdown-item>
|
||||
</b-nav-item-dropdown>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BNavItemDropdown, BDropdownItem, BImg } from 'bootstrap-vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BNavItemDropdown,
|
||||
BDropdownItem,
|
||||
BImg,
|
||||
},
|
||||
// ! Need to move this computed property to comp function once we get to Vue 3
|
||||
computed: {
|
||||
currentLocale() {
|
||||
return this.locales.find(l => l.locale === this.$i18n.locale)
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
/* eslint-disable global-require */
|
||||
const locales = [
|
||||
{
|
||||
locale: 'en',
|
||||
img: require('@/assets/images/flags/en.png'),
|
||||
name: 'English',
|
||||
},
|
||||
{
|
||||
locale: 'fr',
|
||||
img: require('@/assets/images/flags/fr.png'),
|
||||
name: 'French',
|
||||
},
|
||||
{
|
||||
locale: 'de',
|
||||
img: require('@/assets/images/flags/de.png'),
|
||||
name: 'German',
|
||||
},
|
||||
{
|
||||
locale: 'pt',
|
||||
img: require('@/assets/images/flags/pt.png'),
|
||||
name: 'Portuguese',
|
||||
},
|
||||
]
|
||||
/* eslint-disable global-require */
|
||||
|
||||
return {
|
||||
locales,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<b-nav-item-dropdown
|
||||
class="dropdown-notification mr-25"
|
||||
menu-class="dropdown-menu-media"
|
||||
right
|
||||
>
|
||||
<template #button-content>
|
||||
<feather-icon
|
||||
badge="6"
|
||||
badge-classes="bg-danger"
|
||||
class="text-body"
|
||||
icon="BellIcon"
|
||||
size="21"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<!-- Header -->
|
||||
<li class="dropdown-menu-header">
|
||||
<div class="dropdown-header d-flex">
|
||||
<h4 class="notification-title mb-0 mr-auto">
|
||||
Notifications
|
||||
</h4>
|
||||
<b-badge
|
||||
pill
|
||||
variant="light-primary"
|
||||
>
|
||||
6 New
|
||||
</b-badge>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Notifications -->
|
||||
<vue-perfect-scrollbar
|
||||
v-once
|
||||
:settings="perfectScrollbarSettings"
|
||||
class="scrollable-container media-list scroll-area"
|
||||
tagname="li"
|
||||
>
|
||||
<!-- Account Notification -->
|
||||
<b-link
|
||||
v-for="notification in notifications"
|
||||
:key="notification.subtitle"
|
||||
>
|
||||
<b-media>
|
||||
<template #aside>
|
||||
<b-avatar
|
||||
size="32"
|
||||
:src="notification.avatar"
|
||||
:text="notification.avatar"
|
||||
:variant="notification.type"
|
||||
/>
|
||||
</template>
|
||||
<p class="media-heading">
|
||||
<span class="font-weight-bolder">
|
||||
{{ notification.title }}
|
||||
</span>
|
||||
</p>
|
||||
<small class="notification-text">{{ notification.subtitle }}</small>
|
||||
</b-media>
|
||||
</b-link>
|
||||
|
||||
<!-- System Notification Toggler -->
|
||||
<div class="media d-flex align-items-center">
|
||||
<h6 class="font-weight-bolder mr-auto mb-0">
|
||||
System Notifications
|
||||
</h6>
|
||||
<b-form-checkbox
|
||||
:checked="true"
|
||||
switch
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- System Notifications -->
|
||||
<b-link
|
||||
v-for="notification in systemNotifications"
|
||||
:key="notification.subtitle"
|
||||
>
|
||||
<b-media>
|
||||
<template #aside>
|
||||
<b-avatar
|
||||
size="32"
|
||||
:variant="notification.type"
|
||||
>
|
||||
<feather-icon :icon="notification.icon" />
|
||||
</b-avatar>
|
||||
</template>
|
||||
<p class="media-heading">
|
||||
<span class="font-weight-bolder">
|
||||
{{ notification.title }}
|
||||
</span>
|
||||
</p>
|
||||
<small class="notification-text">{{ notification.subtitle }}</small>
|
||||
</b-media>
|
||||
</b-link>
|
||||
</vue-perfect-scrollbar>
|
||||
|
||||
<!-- Cart Footer -->
|
||||
<li class="dropdown-menu-footer"><b-button
|
||||
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
||||
variant="primary"
|
||||
block
|
||||
>Read all notifications</b-button>
|
||||
</li>
|
||||
</b-nav-item-dropdown>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BNavItemDropdown, BBadge, BMedia, BLink, BAvatar, BButton, BFormCheckbox,
|
||||
} from 'bootstrap-vue'
|
||||
import VuePerfectScrollbar from 'vue-perfect-scrollbar'
|
||||
import Ripple from 'vue-ripple-directive'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BNavItemDropdown,
|
||||
BBadge,
|
||||
BMedia,
|
||||
BLink,
|
||||
BAvatar,
|
||||
VuePerfectScrollbar,
|
||||
BButton,
|
||||
BFormCheckbox,
|
||||
},
|
||||
directives: {
|
||||
Ripple,
|
||||
},
|
||||
setup() {
|
||||
/* eslint-disable global-require */
|
||||
const notifications = [
|
||||
{
|
||||
title: 'Congratulation Sam 🎉',
|
||||
avatar: require('@/assets/images/avatars/6-small.png'),
|
||||
subtitle: 'Won the monthly best seller badge',
|
||||
type: 'light-success',
|
||||
},
|
||||
{
|
||||
title: 'New message received',
|
||||
avatar: require('@/assets/images/avatars/9-small.png'),
|
||||
subtitle: 'You have 10 unread messages',
|
||||
type: 'light-info',
|
||||
},
|
||||
{
|
||||
title: 'Revised Order 👋',
|
||||
avatar: 'MD',
|
||||
subtitle: 'MD Inc. order updated',
|
||||
type: 'light-danger',
|
||||
},
|
||||
]
|
||||
/* eslint-disable global-require */
|
||||
|
||||
const systemNotifications = [
|
||||
{
|
||||
title: 'Server down',
|
||||
subtitle: 'USA Server is down due to hight CPU usage',
|
||||
type: 'light-danger',
|
||||
icon: 'XIcon',
|
||||
},
|
||||
{
|
||||
title: 'Sales report generated',
|
||||
subtitle: 'Last month sales report generated',
|
||||
type: 'light-success',
|
||||
icon: 'CheckIcon',
|
||||
},
|
||||
{
|
||||
title: 'High memory usage',
|
||||
subtitle: 'BLR Server using high memory',
|
||||
type: 'light-warning',
|
||||
icon: 'AlertTriangleIcon',
|
||||
},
|
||||
]
|
||||
|
||||
const perfectScrollbarSettings = {
|
||||
maxScrollbarLength: 60,
|
||||
wheelPropagation: false,
|
||||
}
|
||||
|
||||
return {
|
||||
notifications,
|
||||
systemNotifications,
|
||||
perfectScrollbarSettings,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
140
src/@core/layouts/components/app-navbar/components/SearchBar.vue
Normal file
140
src/@core/layouts/components/app-navbar/components/SearchBar.vue
Normal file
@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<li class="nav-item nav-search">
|
||||
|
||||
<!-- Icon -->
|
||||
<a
|
||||
href="javascript:void(0)"
|
||||
class="nav-link nav-link-search"
|
||||
@click="showSearchBar = true"
|
||||
>
|
||||
<feather-icon
|
||||
icon="SearchIcon"
|
||||
size="21"
|
||||
/>
|
||||
</a>
|
||||
|
||||
<!-- Input -->
|
||||
<div
|
||||
class="search-input"
|
||||
:class="{'open': showSearchBar}"
|
||||
>
|
||||
<div class="search-input-icon">
|
||||
<feather-icon icon="SearchIcon" />
|
||||
</div>
|
||||
<!-- <input type="text" placeholder="Explore Vuexy...." class="form-control-input"> -->
|
||||
<!-- @keyup.esc="escPressed" -->
|
||||
<!-- @keyup.enter="suggestionSelected" -->
|
||||
<b-form-input
|
||||
v-if="showSearchBar"
|
||||
v-model="searchQuery"
|
||||
placeholder="Search Height/Transaction/Address"
|
||||
autofocus
|
||||
autocomplete="off"
|
||||
@keyup.enter="doQuery"
|
||||
/>
|
||||
<div
|
||||
class="search-input-close"
|
||||
@click="showSearchBar = false;"
|
||||
>
|
||||
<feather-icon icon="XIcon" />
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BFormInput } from 'bootstrap-vue'
|
||||
import { ref } from '@vue/composition-api'
|
||||
import { title } from '@core/utils/filter'
|
||||
import store from '@/store'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BFormInput,
|
||||
},
|
||||
setup() {
|
||||
const showSearchBar = ref(false)
|
||||
|
||||
const perfectScrollbarSettings = {
|
||||
maxScrollbarLength: 60,
|
||||
}
|
||||
|
||||
return {
|
||||
showSearchBar,
|
||||
perfectScrollbarSettings,
|
||||
title,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
searchQuery: null,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doQuery() {
|
||||
const height = /^\d+$/
|
||||
const txhash = /^[A-Z\d]{64}$/
|
||||
const addr = /^[a-z]{2,6}1[a-z\d]{38}$/
|
||||
const key = this.searchQuery
|
||||
|
||||
const c = store.state.chains.selected
|
||||
if (!Object.values(this.$route.params).includes(key)) {
|
||||
if (height.test(key)) {
|
||||
this.$router.push({ name: 'block', params: { chain: c.chain_name, height: key } })
|
||||
} else if (txhash.test(key)) {
|
||||
this.$router.push({ name: 'transaction', params: { chain: c.chain_name, hash: key } })
|
||||
} else if (addr.test(key)) {
|
||||
this.$router.push({ name: 'chain-account', params: { chain: c.chain_name, address: key } })
|
||||
// console.log('address', key)
|
||||
}
|
||||
}
|
||||
// this.$router.push('/')
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~@core/scss/base/bootstrap-extended/include';
|
||||
@import '~@core/scss/base/components/variables-dark';
|
||||
|
||||
ul
|
||||
{
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* .app-auto-suggest {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.auto-suggest-suggestions-list {
|
||||
box-shadow: 0 4px 24px 0 rgba(34, 41, 47, 0.1);
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: calc(100% + 1rem);
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
} */
|
||||
|
||||
.suggestion-group-title {
|
||||
font-weight: 500;
|
||||
padding: .75rem 1rem .25rem;
|
||||
}
|
||||
|
||||
.suggestion-group-suggestion {
|
||||
padding: .75rem 1rem
|
||||
}
|
||||
|
||||
.suggestion-current-selected {
|
||||
background-color: $body-bg;
|
||||
|
||||
.dark-layout & {
|
||||
background-color: $theme-dark-body-bg;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,162 @@
|
||||
<template>
|
||||
<b-nav-item-dropdown
|
||||
right
|
||||
toggle-class="d-flex align-items-center dropdown-user-link"
|
||||
class="dropdown-user"
|
||||
>
|
||||
<template #button-content>
|
||||
<div class="d-sm-flex d-none user-nav">
|
||||
<p class="user-name font-weight-bolder mb-0">
|
||||
{{ userData.fullName || userData.username }}
|
||||
</p>
|
||||
<span class="user-status">{{ userData.role }}</span>
|
||||
</div>
|
||||
<b-avatar
|
||||
size="40"
|
||||
:src="userData.avatar"
|
||||
variant="light-primary"
|
||||
badge
|
||||
class="badge-minimal"
|
||||
badge-variant="success"
|
||||
>
|
||||
<feather-icon
|
||||
v-if="!userData.fullName"
|
||||
icon="UserIcon"
|
||||
size="22"
|
||||
/>
|
||||
</b-avatar>
|
||||
</template>
|
||||
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'pages-profile'}"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="UserIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Profile</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'apps-email' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="MailIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Inbox</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'apps-todo' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="CheckSquareIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Task</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'apps-chat' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="MessageSquareIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Chat</span>
|
||||
</b-dropdown-item>
|
||||
|
||||
<b-dropdown-divider />
|
||||
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'pages-account-setting' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="SettingsIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Settings</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'pages-pricing' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="CreditCardIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Pricing</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
:to="{ name: 'pages-faq' }"
|
||||
link-class="d-flex align-items-center"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="HelpCircleIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>FAQ</span>
|
||||
</b-dropdown-item>
|
||||
<b-dropdown-item
|
||||
link-class="d-flex align-items-center"
|
||||
@click="logout"
|
||||
>
|
||||
<feather-icon
|
||||
size="16"
|
||||
icon="LogOutIcon"
|
||||
class="mr-50"
|
||||
/>
|
||||
<span>Logout</span>
|
||||
</b-dropdown-item></b-nav-item-dropdown>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
BNavItemDropdown, BDropdownItem, BDropdownDivider, BAvatar,
|
||||
} from 'bootstrap-vue'
|
||||
import { initialAbility } from '@/libs/acl/config'
|
||||
import useJwt from '@/auth/jwt/useJwt'
|
||||
import { avatarText } from '@core/utils/filter'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
BNavItemDropdown,
|
||||
BDropdownItem,
|
||||
BDropdownDivider,
|
||||
BAvatar,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
userData: JSON.parse(localStorage.getItem('userData')),
|
||||
avatarText,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
logout() {
|
||||
// Remove userData from localStorage
|
||||
// ? You just removed token from localStorage. If you like, you can also make API call to backend to blacklist used token
|
||||
localStorage.removeItem(useJwt.jwtConfig.storageTokenKeyName)
|
||||
localStorage.removeItem(useJwt.jwtConfig.storageRefreshTokenKeyName)
|
||||
|
||||
// Remove userData from localStorage
|
||||
localStorage.removeItem('userData')
|
||||
|
||||
// Reset ability
|
||||
this.$ability.update(initialAbility)
|
||||
|
||||
// Redirect to login page
|
||||
this.$router.push({ name: 'auth-login' })
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -0,0 +1,295 @@
|
||||
/* eslint-disable */
|
||||
// prettier-ignore
|
||||
export default {
|
||||
pages: {
|
||||
key: 'title',
|
||||
data: [
|
||||
{ title: 'Access Control', route: { name: 'access-control' }, icon: 'ShieldIcon', isBookmarked: false },
|
||||
{ title: 'Account Settings', route: { name: 'pages-account-setting' }, icon: 'SettingsIcon', isBookmarked: false },
|
||||
{ title: 'Advance Card', route: { name: 'card-advance' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Alerts', route: { name: 'components-alert' }, icon: 'AlertTriangleIcon', isBookmarked: false },
|
||||
{ title: 'Analytics Cards', route: { name: 'card-analytic' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Apex Chart', route: { name: 'charts-apex-chart' }, icon: 'PieChartIcon', isBookmarked: false },
|
||||
{ title: 'Aspect', route: { name: 'components-aspect' }, icon: 'AirplayIcon', isBookmarked: false },
|
||||
{ title: 'Auto Suggest', route: { name: 'extensions-auto-suggest' }, icon: 'AlignLeftIcon', isBookmarked: false },
|
||||
{ title: 'Avatar', route: { name: 'components-avatar' }, icon: 'UserIcon', isBookmarked: false },
|
||||
{ title: 'Badge', route: { name: 'components-badge' }, icon: 'TagIcon', isBookmarked: false },
|
||||
{ title: 'Basic Card', route: { name: 'card-basic' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Blog Detail', route: { name: 'pages-blog-detail', params: { id: 1 } }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Blog Edit', route: { name: 'pages-blog-edit', params: { id: 1 } }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Blog List', route: { name: 'pages-blog-list' }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Breadcrumb', route: { name: 'components-breadcrumb' }, icon: 'HomeIcon', isBookmarked: false },
|
||||
{ title: 'BS Table', route: { name: 'table-bs-table' }, icon: 'GridIcon', isBookmarked: false },
|
||||
{ title: 'Button Group', route: { name: 'components-button-group' }, icon: 'BoldIcon', isBookmarked: false },
|
||||
{ title: 'Button Toolbar', route: { name: 'components-button-toolbar' }, icon: 'BoldIcon', isBookmarked: false },
|
||||
{ title: 'Button', route: { name: 'components-button' }, icon: 'BoldIcon', isBookmarked: false },
|
||||
{ title: 'Calendar App', route: { name: 'apps-calendar' }, icon: 'CalendarIcon', isBookmarked: true },
|
||||
{ title: 'Calendar Component', route: { name: 'components-calendar' }, icon: 'CalendarIcon', isBookmarked: false },
|
||||
{ title: 'Card Actions', route: { name: 'card-action' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Carousel', route: { name: 'components-carousel' }, icon: 'CopyIcon', isBookmarked: false },
|
||||
{ title: 'Chartjs', route: { name: 'charts-chartjs' }, icon: 'PieChartIcon', isBookmarked: false },
|
||||
{ title: 'Chat', route: { name: 'apps-chat' }, icon: 'MessageSquareIcon', isBookmarked: true },
|
||||
{ title: 'Checkbox', route: { name: 'forms-element-checkbox' }, icon: 'CheckSquareIcon', isBookmarked: false },
|
||||
{ title: 'Checkout', route: { name: 'apps-e-commerce-checkout' }, icon: 'DollarSignIcon', isBookmarked: false },
|
||||
{ title: 'Clipboard', route: { name: 'extensions-clipboard' }, icon: 'ClipboardIcon', isBookmarked: false },
|
||||
{ title: 'Collapse', route: { name: 'components-collapse' }, icon: 'PlusIcon', isBookmarked: false },
|
||||
{ title: 'Colors', route: { name: 'ui-colors' }, icon: 'DropletIcon', isBookmarked: false },
|
||||
{ title: 'Coming Soon', route: { name: 'misc-coming-soon' }, icon: 'ClockIcon', isBookmarked: false },
|
||||
{ title: 'Context Menu', route: { name: 'extensions-context-menu' }, icon: 'MoreVerticalIcon', isBookmarked: false },
|
||||
{ title: 'Dashboard Analytics', route: { name: 'dashboard-analytics' }, icon: 'ActivityIcon', isBookmarked: false },
|
||||
{ title: 'Dashboard ECommerce', route: { name: 'dashboard-ecommerce' }, icon: 'ShoppingCartIcon', isBookmarked: false },
|
||||
{ title: 'Date Time Picker', route: { name: 'extensions-date-time-picker' }, icon: 'ClockIcon', isBookmarked: false },
|
||||
{ title: 'Drag & Drop', route: { name: 'extensions-drag-and-drop' }, icon: 'CopyIcon', isBookmarked: false },
|
||||
{ title: 'Dropdown', route: { name: 'components-dropdown' }, icon: 'MoreHorizontalIcon', isBookmarked: false },
|
||||
{ title: 'Echart', route: { name: 'charts-echart' }, icon: 'PieChartIcon', isBookmarked: false },
|
||||
{ title: 'Email', route: { name: 'apps-email' }, icon: 'MailIcon', isBookmarked: true },
|
||||
{ title: 'Embed', route: { name: 'components-embed' }, icon: 'TvIcon', isBookmarked: false },
|
||||
{ title: 'Error 404', route: { name: 'error-404' }, icon: 'AlertTriangleIcon', isBookmarked: false },
|
||||
{ title: 'Error', route: { name: 'misc-error' }, icon: 'AlertTriangleIcon', isBookmarked: false },
|
||||
{ title: 'FAQ', route: { name: 'pages-faq' }, icon: 'HelpCircleIcon', isBookmarked: false },
|
||||
{ title: 'Feather', route: { name: 'ui-feather' }, icon: 'FeatherIcon', isBookmarked: false },
|
||||
{ title: 'File Input', route: { name: 'forms-element-file-input' }, icon: 'FileIcon', isBookmarked: false },
|
||||
{ title: 'Forgot Password V1', route: { name: 'auth-forgot-password-v1' }, icon: 'KeyIcon', isBookmarked: false },
|
||||
{ title: 'Forgot Password V2', route: { name: 'auth-forgot-password-v2' }, icon: 'KeyIcon', isBookmarked: false },
|
||||
{ title: 'Form Datepicker', route: { name: 'forms-element-datepicker' }, icon: 'ClockIcon', isBookmarked: false },
|
||||
{ title: 'Form Layout', route: { name: 'form-layout' }, icon: 'GridIcon', isBookmarked: false },
|
||||
{ title: 'Form Rating', route: { name: 'forms-element-rating' }, icon: 'StarIcon', isBookmarked: false },
|
||||
{ title: 'Form Repeater', route: { name: 'form-repeater' }, icon: 'StarIcon', isBookmarked: false },
|
||||
{ title: 'Form Tag', route: { name: 'forms-element-tag' }, icon: 'TagIcon', isBookmarked: false },
|
||||
{ title: 'Form Timepicker', route: { name: 'forms-element-timepicker' }, icon: 'ClockIcon', isBookmarked: false },
|
||||
{ title: 'Form Validation', route: { name: 'form-validation' }, icon: 'CheckCircleIcon', isBookmarked: false },
|
||||
{ title: 'Form Wizard', route: { name: 'form-wizard' }, icon: 'GitCommitIcon', isBookmarked: false },
|
||||
{ title: 'Good Table', route: { name: 'table-good-table' }, icon: 'GridIcon', isBookmarked: false },
|
||||
{ title: 'I18n', route: { name: 'extensions-i18n' }, icon: 'GlobeIcon', isBookmarked: false },
|
||||
{ title: 'Image', route: { name: 'components-image' }, icon: 'ImageIcon', isBookmarked: false },
|
||||
{ title: 'Input Group', route: { name: 'forms-element-input-group' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Input Mask', route: { name: 'forms-element-input-mask' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Input', route: { name: 'forms-element-input' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Invoice Add', route: { name: 'apps-invoice-add' }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Invoice Edit', route: { name: 'apps-invoice-edit', params: { id: 4987 } }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Invoice List', route: { name: 'apps-invoice-list' }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Invoice Preview', route: { name: 'apps-invoice-preview', params: { id: 4987 } }, icon: 'FileTextIcon', isBookmarked: false },
|
||||
{ title: 'Knowledge Base Category', route: { name: 'pages-knowledge-base-category' }, icon: 'InfoIcon', isBookmarked: false, },
|
||||
{ title: 'Knowledge Base Question', route: { name: 'pages-knowledge-base-question' }, icon: 'InfoIcon', isBookmarked: false, },
|
||||
{ title: 'Knowledge Base', route: { name: 'pages-knowledge-base' }, icon: 'InfoIcon', isBookmarked: false },
|
||||
{ title: 'Leaflet', route: { name: 'maps-leaflet' }, icon: 'MapPinIcon', isBookmarked: false },
|
||||
{ title: 'List Group', route: { name: 'components-list-group' }, icon: 'ListIcon', isBookmarked: false },
|
||||
{ title: 'Login V1', route: { name: 'auth-login-v1' }, icon: 'LogInIcon', isBookmarked: false },
|
||||
{ title: 'Login V2', route: { name: 'auth-login-v2' }, icon: 'LogInIcon', isBookmarked: false },
|
||||
{ title: 'Media Objects', route: { name: 'components-media' }, icon: 'ImageIcon', isBookmarked: false },
|
||||
{ title: 'Modal', route: { name: 'components-modal' }, icon: 'CopyIcon', isBookmarked: false },
|
||||
{ title: 'Nav', route: { name: 'components-nav' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Not Authorized', route: { name: 'misc-not-authorized' }, icon: 'XOctagonIcon', isBookmarked: false },
|
||||
{ title: 'Overlay', route: { name: 'components-overlay' }, icon: 'CopyIcon', isBookmarked: false },
|
||||
{ title: 'Pagination Nav', route: { name: 'components-pagination-nav' }, icon: 'HashIcon', isBookmarked: false },
|
||||
{ title: 'Pagination', route: { name: 'components-pagination' }, icon: 'HashIcon', isBookmarked: false },
|
||||
{ title: 'Pill Badge', route: { name: 'components-pill-badge' }, icon: 'TagIcon', isBookmarked: false },
|
||||
{ title: 'Pill', route: { name: 'components-pill' }, icon: 'TagIcon', isBookmarked: false },
|
||||
{ title: 'Popover', route: { name: 'components-popover' }, icon: 'TagIcon', isBookmarked: false },
|
||||
{ title: 'Pricing', route: { name: 'pages-pricing' }, icon: 'DollarSignIcon', isBookmarked: false },
|
||||
{ title: 'Product Details', route: { name: 'apps-e-commerce-product-details', params: { slug: 'apple-watch-series-5-27' } }, icon: 'BoxIcon', isBookmarked: false, },
|
||||
{ title: 'Profile', route: { name: 'pages-profile' }, icon: 'UserIcon', isBookmarked: false },
|
||||
{ title: 'Progress', route: { name: 'components-progress' }, icon: 'ChevronsRightIcon', isBookmarked: false },
|
||||
{ title: 'Quill Editor', route: { name: 'extensions-quill-editor' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Radio', route: { name: 'forms-element-radio' }, icon: 'DiscIcon', isBookmarked: false },
|
||||
{ title: 'Register V1', route: { name: 'auth-register-v1' }, icon: 'UserPlusIcon', isBookmarked: false },
|
||||
{ title: 'Register V2', route: { name: 'auth-register-v2' }, icon: 'UserPlusIcon', isBookmarked: false },
|
||||
{ title: 'Reset Password V1', route: { name: 'auth-reset-password-v1' }, icon: 'KeyIcon', isBookmarked: false },
|
||||
{ title: 'Reset Password V2', route: { name: 'auth-reset-password-v2' }, icon: 'KeyIcon', isBookmarked: false },
|
||||
{ title: 'Select', route: { name: 'forms-element-select' }, icon: 'AlignCenterIcon', isBookmarked: false },
|
||||
{ title: 'Shop', route: { name: 'apps-e-commerce-shop' }, icon: 'ArchiveIcon', isBookmarked: false },
|
||||
{ title: 'Sidebar', route: { name: 'components-sidebar' }, icon: 'SidebarIcon', isBookmarked: false },
|
||||
{ title: 'Slider', route: { name: 'extensions-slider' }, icon: 'GitCommitIcon', isBookmarked: false },
|
||||
{ title: 'Spinbutton', route: { name: 'forms-element-spinbutton' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Spinner', route: { name: 'components-spinner' }, icon: 'LoaderIcon', isBookmarked: false },
|
||||
{ title: 'Statistics Cards', route: { name: 'card-statistic' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Sweet Alert', route: { name: 'extensions-sweet-alert' }, icon: 'BellIcon', isBookmarked: false },
|
||||
{ title: 'Swiper', route: { name: 'extensions-swiper' }, icon: 'ImageIcon', isBookmarked: false },
|
||||
{ title: 'Switch', route: { name: 'forms-element-switch' }, icon: 'ToggleRightIcon', isBookmarked: false },
|
||||
{ title: 'Tab', route: { name: 'components-tab' }, icon: 'CreditCardIcon', isBookmarked: false },
|
||||
{ title: 'Textarea', route: { name: 'forms-element-textarea' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Time', route: { name: 'components-time' }, icon: 'ClockIcon', isBookmarked: false },
|
||||
{ title: 'Timeline', route: { name: 'components-timeline' }, icon: 'GitCommitIcon', isBookmarked: false },
|
||||
{ title: 'Toastification', route: { name: 'extensions-toastification' }, icon: 'BellIcon', isBookmarked: false },
|
||||
{ title: 'Toasts', route: { name: 'components-toasts' }, icon: 'BellIcon', isBookmarked: false },
|
||||
{ title: 'Todo', route: { name: 'apps-todo' }, icon: 'CheckSquareIcon', isBookmarked: true },
|
||||
{ title: 'Tooltip', route: { name: 'components-tooltip' }, icon: 'CopyIcon', isBookmarked: false },
|
||||
{ title: 'Tour', route: { name: 'extensions-tour' }, icon: 'GlobeIcon', isBookmarked: false },
|
||||
// { title: 'Tree', route: { name: 'extensions-tree' }, icon: 'GitCommitIcon', isBookmarked: false },
|
||||
{ title: 'Typography', route: { name: 'ui-typography' }, icon: 'TypeIcon', isBookmarked: false },
|
||||
{ title: 'Under Maintenance', route: { name: 'misc-under-maintenance' }, icon: 'MonitorIcon', isBookmarked: false },
|
||||
{ title: 'Users Edit', route: { name: 'apps-users-edit', params: { id: 21 } }, icon: 'UserIcon', isBookmarked: false },
|
||||
{ title: 'Users List', route: { name: 'apps-users-list' }, icon: 'UserIcon', isBookmarked: false },
|
||||
{ title: 'Users View', route: { name: 'apps-users-view', params: { id: 21 } }, icon: 'UserIcon', isBookmarked: false },
|
||||
{ title: 'Vue Select', route: { name: 'extensions-vue-select' }, icon: 'AlignCenterIcon', isBookmarked: false },
|
||||
{ title: 'Wishlist', route: { name: 'apps-e-commerce-wishlist' }, icon: 'HeartIcon', isBookmarked: false },
|
||||
],
|
||||
},
|
||||
files: {
|
||||
key: 'file_name',
|
||||
data: [
|
||||
{
|
||||
file_name: "Joe's CV",
|
||||
from: 'Stacy Watson',
|
||||
icon: require('@/assets/images/icons/doc.png'),
|
||||
size: '1.7 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Passport Image',
|
||||
from: 'Ben Sinitiere',
|
||||
icon: require('@/assets/images/icons/jpg.png'),
|
||||
size: ' 52 kb',
|
||||
},
|
||||
{
|
||||
file_name: 'Questions',
|
||||
from: 'Charleen Patti',
|
||||
icon: require('@/assets/images/icons/doc.png'),
|
||||
size: '1.5 gb',
|
||||
},
|
||||
{
|
||||
file_name: 'Parenting Guide',
|
||||
from: 'Doyle Blatteau',
|
||||
icon: require('@/assets/images/icons/doc.png'),
|
||||
size: '2.3 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Class Notes',
|
||||
from: 'Gwen Greenlow',
|
||||
icon: require('@/assets/images/icons/doc.png'),
|
||||
size: ' 30 kb',
|
||||
},
|
||||
{
|
||||
file_name: 'Class Attendance',
|
||||
from: 'Tom Alred',
|
||||
icon: require('@/assets/images/icons/xls.png'),
|
||||
size: '52 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Company Salary',
|
||||
from: 'Nellie Dezan',
|
||||
icon: require('@/assets/images/icons/xls.png'),
|
||||
size: '29 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Company Logo',
|
||||
from: 'Steve Sheldon',
|
||||
icon: require('@/assets/images/icons/jpg.png'),
|
||||
size: '1.3 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Crime Rates',
|
||||
from: 'Sherlock Holmes',
|
||||
icon: require('@/assets/images/icons/xls.png'),
|
||||
size: '37 kb',
|
||||
},
|
||||
{
|
||||
file_name: 'Ulysses',
|
||||
from: 'Theresia Wrenne',
|
||||
icon: require('@/assets/images/icons/pdf.png'),
|
||||
size: '7.2 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'War and Peace',
|
||||
from: 'Goldie Highnote',
|
||||
icon: require('@/assets/images/icons/pdf.png'),
|
||||
size: '10.5 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'Vedas',
|
||||
from: 'Ajay Patel',
|
||||
icon: require('@/assets/images/icons/pdf.png'),
|
||||
size: '8.3 mb',
|
||||
},
|
||||
{
|
||||
file_name: 'The Trial',
|
||||
from: 'Sirena Linkert',
|
||||
icon: require('@/assets/images/icons/pdf.png'),
|
||||
size: '1.5 mb',
|
||||
},
|
||||
],
|
||||
},
|
||||
contacts: {
|
||||
key: 'name',
|
||||
data: [
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-4.jpg'),
|
||||
name: 'Rena Brant',
|
||||
email: 'nephrod@preany.co.uk',
|
||||
time: '21/05/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-2.jpg'),
|
||||
name: 'Mariano Packard',
|
||||
email: 'seek@sparaxis.org',
|
||||
time: '14/01/2018',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-24.jpg'),
|
||||
name: 'Risa Montufar',
|
||||
email: 'vagary@unblist.org',
|
||||
time: '10/08/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-15.jpg'),
|
||||
name: 'Maragaret Cimo',
|
||||
email: 'designed@insanely.net',
|
||||
time: '01/12/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-7.jpg'),
|
||||
name: 'Jona Prattis',
|
||||
email: 'unwieldable@unblist.org',
|
||||
time: '21/05/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-5.jpg'),
|
||||
name: 'Edmond Chicon',
|
||||
email: 'museist@anaphyte.co.uk',
|
||||
time: '15/11/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-25.jpg'),
|
||||
name: 'Abbey Darden',
|
||||
email: 'astema@defectively.co.uk',
|
||||
time: '07/05/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-10.jpg'),
|
||||
name: 'Seema Moallankamp',
|
||||
email: 'fernando@storkish.co.uk',
|
||||
time: '13/08/2017',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-2.jpg'),
|
||||
name: 'Charleen Warmington',
|
||||
email: 'furphy@cannibal.net',
|
||||
time: '11/08/1891',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-25.jpg'),
|
||||
name: 'Geri Linch',
|
||||
email: 'insignia@markab.org',
|
||||
time: '18/01/2015',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-23.jpg'),
|
||||
name: 'Shellie Muster',
|
||||
email: 'maxillary@equalize.co.uk',
|
||||
time: '26/07/2019',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-20.jpg'),
|
||||
name: 'Jesenia Vanbramer',
|
||||
email: 'hypotony@phonetist.net',
|
||||
time: '12/09/2017',
|
||||
},
|
||||
{
|
||||
img: require('@/assets/images/portrait/small/avatar-s-23.jpg'),
|
||||
name: 'Mardell Channey',
|
||||
email: 'peseta@myrica.com',
|
||||
time: '11/11/2019',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
/* eslint-enable */
|
@ -0,0 +1,52 @@
|
||||
<template>
|
||||
<div class="cws-container cws-sidebar-right">
|
||||
|
||||
<!-- content -->
|
||||
<div class="cws-content">
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
<!-- Sidebar -->
|
||||
<div class="cws-sidebar">
|
||||
<slot name="sidebar" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '~@core/scss/base/bootstrap-extended/include';
|
||||
|
||||
$cws-sidebar-width: 260px;
|
||||
$gap: 2rem;
|
||||
|
||||
.cws-container {
|
||||
position: relative;
|
||||
|
||||
.cws-content {
|
||||
width: calc(100% - #{$cws-sidebar-width} - #{$gap});
|
||||
|
||||
@media (max-width: (map-get($grid-breakpoints, lg))) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.cws-sidebar {
|
||||
width: 260px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
|
||||
@media (max-width: (map-get($grid-breakpoints, lg))) {
|
||||
margin-top: $gap;
|
||||
position: static;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div
|
||||
class="app-content content"
|
||||
:class="[{'show-overlay': $store.state.app.shallShowOverlay}, $route.meta.contentClass]"
|
||||
>
|
||||
<div class="content-overlay" />
|
||||
<div class="header-navbar-shadow" />
|
||||
<div
|
||||
class="content-wrapper"
|
||||
:class="contentWidth === 'boxed' ? 'container p-0' : null"
|
||||
>
|
||||
<slot name="breadcrumb">
|
||||
<app-breadcrumb />
|
||||
</slot>
|
||||
<div class="content-body">
|
||||
<transition
|
||||
:name="routerTransition"
|
||||
mode="out-in"
|
||||
>
|
||||
<slot />
|
||||
</transition>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AppBreadcrumb from '@core/layouts/components/AppBreadcrumb.vue'
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AppBreadcrumb,
|
||||
},
|
||||
setup() {
|
||||
const { routerTransition, contentWidth } = useAppConfig()
|
||||
|
||||
return {
|
||||
routerTransition, contentWidth,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div
|
||||
class="app-content content"
|
||||
:class="[{'show-overlay': $store.state.app.shallShowOverlay}, $route.meta.contentClass]"
|
||||
>
|
||||
<div class="content-overlay" />
|
||||
<div class="header-navbar-shadow" />
|
||||
<transition
|
||||
:name="routerTransition"
|
||||
mode="out-in"
|
||||
>
|
||||
<div
|
||||
class="content-area-wrapper"
|
||||
:class="contentWidth === 'boxed' ? 'container p-0' : null"
|
||||
>
|
||||
<slot name="breadcrumb">
|
||||
<app-breadcrumb />
|
||||
</slot>
|
||||
<portal-target
|
||||
name="content-renderer-sidebar-left"
|
||||
slim
|
||||
/>
|
||||
<div class="content-right">
|
||||
<div class="content-wrapper">
|
||||
<div class="content-body">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AppBreadcrumb from '@core/layouts/components/AppBreadcrumb.vue'
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AppBreadcrumb,
|
||||
},
|
||||
setup() {
|
||||
const { routerTransition, contentWidth } = useAppConfig()
|
||||
|
||||
return {
|
||||
routerTransition, contentWidth,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div
|
||||
class="app-content content"
|
||||
:class="[{'show-overlay': $store.state.app.shallShowOverlay}, $route.meta.contentClass]"
|
||||
>
|
||||
<div class="content-overlay" />
|
||||
<div class="header-navbar-shadow" />
|
||||
<transition
|
||||
:name="routerTransition"
|
||||
mode="out-in"
|
||||
>
|
||||
<div
|
||||
class="content-wrapper clearfix"
|
||||
:class="contentWidth === 'boxed' ? 'container p-0' : null"
|
||||
>
|
||||
<slot name="breadcrumb">
|
||||
<app-breadcrumb />
|
||||
</slot>
|
||||
<div class="content-detached content-right">
|
||||
<div class="content-wrapper">
|
||||
<div class="content-body">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<portal-target
|
||||
name="content-renderer-sidebar-detached-left"
|
||||
slim
|
||||
/>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AppBreadcrumb from '@core/layouts/components/AppBreadcrumb.vue'
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AppBreadcrumb,
|
||||
},
|
||||
setup() {
|
||||
const { routerTransition, contentWidth } = useAppConfig()
|
||||
|
||||
return {
|
||||
routerTransition, contentWidth,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
16
src/@core/layouts/layout-full/LayoutFull.vue
Normal file
16
src/@core/layouts/layout-full/LayoutFull.vue
Normal file
@ -0,0 +1,16 @@
|
||||
<template>
|
||||
<div :class="contentWidth === 'boxed' ? 'container p-0' : null">
|
||||
<router-view />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const { contentWidth } = useAppConfig()
|
||||
return { contentWidth }
|
||||
},
|
||||
}
|
||||
</script>
|
216
src/@core/layouts/layout-horizontal/LayoutHorizontal.vue
Normal file
216
src/@core/layouts/layout-horizontal/LayoutHorizontal.vue
Normal file
@ -0,0 +1,216 @@
|
||||
<template>
|
||||
<div
|
||||
class="horizontal-layout"
|
||||
:class="[layoutClasses]"
|
||||
:data-col="isNavMenuHidden ? '1-column' : null"
|
||||
style="height:inherit"
|
||||
>
|
||||
|
||||
<!-- NAVBAR -->
|
||||
<b-navbar
|
||||
:style="{
|
||||
backgroundColor: navbarType === 'static' && scrolledTo && skin === 'light' ? 'white' : null,
|
||||
boxShadow: navbarType === 'static' && scrolledTo ? 'rgba(0, 0, 0, 0.05) 0px 4px 20px 0px' : null,
|
||||
}"
|
||||
:toggleable="false"
|
||||
class="header-navbar navbar-shadow align-items-center navbar-brand-center navbar-fixed"
|
||||
:class="{'fixed-top': $store.getters['app/currentBreakPoint'] !== 'xl'}"
|
||||
>
|
||||
<slot
|
||||
name="navbar"
|
||||
:toggleVerticalMenuActive="toggleVerticalMenuActive"
|
||||
>
|
||||
<app-navbar-horizontal-layout-brand />
|
||||
<app-navbar-horizontal-layout :toggle-vertical-menu-active="toggleVerticalMenuActive" />
|
||||
</slot>
|
||||
</b-navbar>
|
||||
<!--/ NAVBAR -->
|
||||
|
||||
<div class="horizontal-menu-wrapper">
|
||||
<div
|
||||
v-if="!isNavMenuHidden"
|
||||
class="header-navbar navbar-expand-sm navbar navbar-horizontal navbar-light navbar-shadow menu-border d-none d-xl-block"
|
||||
:class="[navbarMenuTypeClass]"
|
||||
>
|
||||
<horizontal-nav-menu />
|
||||
</div>
|
||||
|
||||
<!-- Vertical Nav Menu -->
|
||||
<vertical-nav-menu
|
||||
:is-vertical-menu-active="isVerticalMenuActive"
|
||||
:toggle-vertical-menu-active="toggleVerticalMenuActive"
|
||||
class="d-block d-xl-none"
|
||||
>
|
||||
<template #header="slotProps">
|
||||
<slot
|
||||
name="vertical-menu-header"
|
||||
v-bind="slotProps"
|
||||
/>
|
||||
</template>
|
||||
</vertical-nav-menu>
|
||||
<!-- /Vertical Nav Menu -->
|
||||
</div>
|
||||
|
||||
<!-- Vertical Nav Menu Overlay -->
|
||||
<div
|
||||
class="sidenav-overlay"
|
||||
:class="overlayClasses"
|
||||
@click="isVerticalMenuActive = false"
|
||||
/>
|
||||
<!-- /Vertical Nav Menu Overlay -->
|
||||
|
||||
<!-- CONTENT -->
|
||||
<!-- CONTENT TYPE: Left -->
|
||||
<transition
|
||||
:name="routerTransition"
|
||||
mode="out-in"
|
||||
>
|
||||
<component
|
||||
:is="layoutContentRenderer"
|
||||
:key="layoutContentRenderer === 'layout-content-renderer-left' ? $route.meta.navActiveLink || $route.name : null"
|
||||
>
|
||||
<template
|
||||
v-for="(index, name) in $scopedSlots"
|
||||
v-slot:[name]="data"
|
||||
>
|
||||
<slot
|
||||
:name="name"
|
||||
v-bind="data"
|
||||
/>
|
||||
</template>
|
||||
</component>
|
||||
</transition>
|
||||
<!--/ Content -->
|
||||
<!--/ CONTENT -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer
|
||||
class="footer footer-light"
|
||||
:class="[footerTypeClass]"
|
||||
>
|
||||
<slot name="footer">
|
||||
<app-footer />
|
||||
</slot>
|
||||
</footer>
|
||||
|
||||
<slot name="customizer" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AppBreadcrumb from '@core/layouts/components/AppBreadcrumb.vue'
|
||||
import AppNavbarHorizontalLayout from '@core/layouts/components/app-navbar/AppNavbarHorizontalLayout.vue'
|
||||
import AppNavbarHorizontalLayoutBrand from '@core/layouts/components/app-navbar/AppNavbarHorizontalLayoutBrand.vue'
|
||||
import AppFooter from '@core/layouts/components/AppFooter.vue'
|
||||
import useAppConfig from '@core/app-config/useAppConfig'
|
||||
import { BNavbar } from 'bootstrap-vue'
|
||||
import { useScrollListener } from '@core/comp-functions/misc/event-listeners'
|
||||
|
||||
import { onUnmounted } from '@vue/composition-api'
|
||||
|
||||
// Content Renderer
|
||||
import LayoutContentRendererDefault from '@core/layouts/components/layout-content-renderer/LayoutContentRendererDefault.vue'
|
||||
import LayoutContentRendererLeft from '@core/layouts/components/layout-content-renderer/LayoutContentRendererLeft.vue'
|
||||
import LayoutContentRendererLeftDetached from '@core/layouts/components/layout-content-renderer/LayoutContentRendererLeftDetached.vue'
|
||||
import useLayoutHorizontal from './useLayoutHorizontal'
|
||||
import HorizontalNavMenu from './components/horizontal-nav-menu/HorizontalNavMenu.vue'
|
||||
|
||||
// Vertical Menu
|
||||
/* eslint-disable import/order */
|
||||
import VerticalNavMenu from '@core/layouts/layout-vertical/components/vertical-nav-menu/VerticalNavMenu.vue'
|
||||
import useVerticalLayout from '@core/layouts/layout-vertical/useVerticalLayout'
|
||||
import mixinLayoutHorizontal from './mixinLayoutHorizontal'
|
||||
/* eslint-enable import/order */
|
||||
|
||||
export default {
|
||||
components: {
|
||||
AppBreadcrumb,
|
||||
AppNavbarHorizontalLayout,
|
||||
AppNavbarHorizontalLayoutBrand,
|
||||
AppFooter,
|
||||
HorizontalNavMenu,
|
||||
|
||||
BNavbar,
|
||||
|
||||
// Content Renderer
|
||||
LayoutContentRendererDefault,
|
||||
LayoutContentRendererLeft,
|
||||
LayoutContentRendererLeftDetached,
|
||||
|
||||
// Vertical Menu
|
||||
VerticalNavMenu,
|
||||
},
|
||||
mixins: [mixinLayoutHorizontal],
|
||||
computed: {
|
||||
layoutContentRenderer() {
|
||||
const rendererType = this.$route.meta.contentRenderer
|
||||
if (rendererType === 'sidebar-left') return 'layout-content-renderer-left'
|
||||
if (rendererType === 'sidebar-left-detached') return 'layout-content-renderer-left-detached'
|
||||
return 'layout-content-renderer-default'
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
const {
|
||||
skin,
|
||||
navbarType,
|
||||
footerType,
|
||||
routerTransition,
|
||||
isNavMenuHidden,
|
||||
} = useAppConfig()
|
||||
|
||||
// Vertical Menu
|
||||
const {
|
||||
isVerticalMenuActive, toggleVerticalMenuActive, overlayClasses, resizeHandler,
|
||||
} = useVerticalLayout(navbarType, footerType)
|
||||
|
||||
// Resize handler
|
||||
resizeHandler()
|
||||
window.addEventListener('resize', resizeHandler)
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener('resize', resizeHandler)
|
||||
})
|
||||
|
||||
const {
|
||||
navbarMenuTypeClass,
|
||||
layoutClasses,
|
||||
footerTypeClass,
|
||||
} = useLayoutHorizontal(navbarType, footerType, isVerticalMenuActive)
|
||||
|
||||
// Scroll Listener
|
||||
const { scrolledTo } = useScrollListener()
|
||||
|
||||
return {
|
||||
// skin
|
||||
skin,
|
||||
|
||||
// Layout
|
||||
layoutClasses,
|
||||
|
||||
// Navbar
|
||||
navbarType,
|
||||
navbarMenuTypeClass,
|
||||
|
||||
// Menu Hidden
|
||||
isNavMenuHidden,
|
||||
|
||||
// Router Transition
|
||||
routerTransition,
|
||||
|
||||
// Footer
|
||||
footerTypeClass,
|
||||
|
||||
// Scroll Listeners
|
||||
scrolledTo,
|
||||
|
||||
// Vertical Menu
|
||||
isVerticalMenuActive,
|
||||
toggleVerticalMenuActive,
|
||||
overlayClasses,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "~@core/scss/base/themes/bordered-layout.scss";
|
||||
</style>
|
@ -0,0 +1,25 @@
|
||||
<template>
|
||||
<div class="navbar-container main-menu-content">
|
||||
<horizontal-nav-menu-items :items="navMenuItems" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import navMenuItems from '@/navigation/horizontal'
|
||||
import HorizontalNavMenuItems from './components/horizontal-nav-menu-items/HorizontalNavMenuItems.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
HorizontalNavMenuItems,
|
||||
},
|
||||
setup() {
|
||||
return {
|
||||
navMenuItems,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "~@core/scss/base/core/menu/menu-types/horizontal-menu.scss";
|
||||
</style>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user