initial commit
|
@ -0,0 +1,674 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. 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
|
||||||
|
them 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 prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. 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.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey 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;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If 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 convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU 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 that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
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.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
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
|
||||||
|
state 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
{project} Copyright (C) {year} {fullname}
|
||||||
|
This program 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, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU 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. But first, please read
|
||||||
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
@ -0,0 +1,4 @@
|
||||||
|
chaos-game
|
||||||
|
==========
|
||||||
|
|
||||||
|
Javascript implementation of chaos game - used for plotting fractals
|
|
@ -0,0 +1,30 @@
|
||||||
|
.com { color: #93a1a1; }
|
||||||
|
.lit { color: #195f91; }
|
||||||
|
.pun, .opn, .clo { color: #93a1a1; }
|
||||||
|
.fun { color: #dc322f; }
|
||||||
|
.str, .atv { color: #D14; }
|
||||||
|
.kwd, .prettyprint .tag { color: #1e347b; }
|
||||||
|
.typ, .atn, .dec, .var { color: teal; }
|
||||||
|
.pln { color: #48484c; }
|
||||||
|
|
||||||
|
.prettyprint {
|
||||||
|
padding: 8px;
|
||||||
|
background-color: #f7f7f9;
|
||||||
|
border: 1px solid #e1e1e8;
|
||||||
|
}
|
||||||
|
.prettyprint.linenums {
|
||||||
|
-webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
-moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Specify class=linenums on a pre to get line numbering */
|
||||||
|
ol.linenums {
|
||||||
|
margin: 0 0 0 33px; /* IE indents via margin-left */
|
||||||
|
}
|
||||||
|
ol.linenums li {
|
||||||
|
padding-left: 12px;
|
||||||
|
color: #bebec5;
|
||||||
|
line-height: 20px;
|
||||||
|
text-shadow: 0 1px 0 #fff;
|
||||||
|
}
|
|
@ -0,0 +1,228 @@
|
||||||
|
<?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" >
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata></metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||||
|
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||||
|
<missing-glyph horiz-adv-x="500" />
|
||||||
|
<glyph />
|
||||||
|
<glyph />
|
||||||
|
<glyph unicode=" " />
|
||||||
|
<glyph unicode="*" d="M1100 500h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200z" />
|
||||||
|
<glyph unicode="+" d="M1100 400h-400v-400h-300v400h-400v300h400v400h300v-400h400v-300z" />
|
||||||
|
<glyph unicode=" " />
|
||||||
|
<glyph unicode=" " horiz-adv-x="652" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="1304" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="652" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="1304" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="434" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="326" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="217" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="217" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="163" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="260" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="72" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="260" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="326" />
|
||||||
|
<glyph unicode="€" d="M800 500h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257 q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406z" />
|
||||||
|
<glyph unicode="−" d="M1100 700h-900v-300h900v300z" />
|
||||||
|
<glyph unicode="☁" d="M178 300h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57z" />
|
||||||
|
<glyph unicode="✉" d="M1200 1100h-1200l600 -603zM300 600l-300 -300v600zM1200 900v-600l-300 300zM800 500l400 -400h-1200l400 400l200 -200z" />
|
||||||
|
<glyph unicode="✏" d="M1101 889l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13l-94 -97zM401 189l614 614l-214 214l-614 -614zM-13 -13l333 112l-223 223z" />
|
||||||
|
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
||||||
|
<glyph unicode="" d="M700 100h300v-100h-800v100h300v550l-500 550h1200l-500 -550v-550z" />
|
||||||
|
<glyph unicode="" d="M1000 934v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7q-79 -25 -122.5 -82t-25.5 -112t86 -75.5t147 5.5 q65 21 109 69t44 90v606z" />
|
||||||
|
<glyph unicode="" d="M913 432l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -142 -78 -261zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||||
|
<glyph unicode="" d="M649 949q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5t-94 124.5t-33.5 117.5q0 64 28 123t73 100.5t104.5 64t119 20.5 t120 -38.5t104.5 -104.5z" />
|
||||||
|
<glyph unicode="" d="M791 522l145 -449l-384 275l-382 -275l146 447l-388 280h479l146 400h2l146 -400h472zM168 71l2 1z" />
|
||||||
|
<glyph unicode="" d="M791 522l145 -449l-384 275l-382 -275l146 447l-388 280h479l146 400h2l146 -400h472zM747 331l-74 229l193 140h-235l-77 211l-78 -211h-239l196 -142l-73 -226l192 140zM168 71l2 1z" />
|
||||||
|
<glyph unicode="" d="M1200 143v-143h-1200v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100z" />
|
||||||
|
<glyph unicode="" d="M1200 1100v-1100h-1200v1100h1200zM200 1000h-100v-100h100v100zM900 1000h-600v-400h600v400zM1100 1000h-100v-100h100v100zM200 800h-100v-100h100v100zM1100 800h-100v-100h100v100zM200 600h-100v-100h100v100zM1100 600h-100v-100h100v100zM900 500h-600v-400h600 v400zM200 400h-100v-100h100v100zM1100 400h-100v-100h100v100zM200 200h-100v-100h100v100zM1100 200h-100v-100h100v100z" />
|
||||||
|
<glyph unicode="" d="M500 1050v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5zM1100 1050v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400 q21 0 35.5 -14.5t14.5 -35.5zM500 450v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5zM1100 450v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||||
|
<glyph unicode="" d="M300 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5zM1100 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM300 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1100 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM300 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 250v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1100 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5 t14.5 -35.5z" />
|
||||||
|
<glyph unicode="" d="M300 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1200 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h700 q21 0 35.5 -14.5t14.5 -35.5zM300 450v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-200q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM1200 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5zM300 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1200 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||||
|
<glyph unicode="" d="M448 34l818 820l-212 212l-607 -607l-206 207l-212 -212z" />
|
||||||
|
<glyph unicode="" d="M882 106l-282 282l-282 -282l-212 212l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282z" />
|
||||||
|
<glyph unicode="" d="M913 432l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -142 -78 -261zM507 363q137 0 233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5t-234 -97t-97 -233 t97 -233t234 -97zM600 800h100v-200h-100v-100h-200v100h-100v200h100v100h200v-100z" />
|
||||||
|
<glyph unicode="" d="M913 432l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -141 -78 -262zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 801v-200h400v200h-400z" />
|
||||||
|
<glyph unicode="" d="M700 750v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5zM800 975v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123 t-123 184t-45.5 224.5q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155z" />
|
||||||
|
<glyph unicode="" d="M1200 1h-200v1200h200v-1200zM900 1h-200v800h200v-800zM600 1h-200v500h200v-500zM300 301h-200v-300h200v300z" />
|
||||||
|
<glyph unicode="" d="M488 183l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5 q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39zM600 815q89 0 152 -63 t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152q0 88 63 151t152 63z" />
|
||||||
|
<glyph unicode="" d="M900 1100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100zM800 1100v100h-300v-100h300zM200 900h900v-800q0 -41 -29.5 -71 t-70.5 -30h-700q-41 0 -70.5 30t-29.5 71v800zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||||
|
<glyph unicode="" d="M1301 601h-200v-600h-300v400h-300v-400h-300v600h-200l656 644z" />
|
||||||
|
<glyph unicode="" d="M600 700h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18v1150q0 11 7 18t18 7h475v-500zM1000 800h-300v300z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM600 600h200 v-100h-300v400h100v-300z" />
|
||||||
|
<glyph unicode="" d="M721 400h-242l-40 -400h-539l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538zM712 500l-27 300h-170l-27 -300h224z" />
|
||||||
|
<glyph unicode="" d="M1100 400v-400h-1100v400h490l-290 300h200v500h300v-500h200l-290 -300h490zM988 300h-175v-100h175v100z" />
|
||||||
|
<glyph unicode="" d="M600 1199q122 0 233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233t47.5 233t127.5 191t191 127.5t233 47.5zM600 1012q-170 0 -291 -121t-121 -291t121 -291t291 -121t291 121 t121 291t-121 291t-291 121zM700 600h150l-250 -300l-250 300h150v300h200v-300z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM850 600h-150 v-300h-200v300h-150l250 300z" />
|
||||||
|
<glyph unicode="" d="M0 500l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18v475zM903 1000h-606l-97 -500h200l50 -200h300l50 200h200z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5zM797 598 l-297 -201v401z" />
|
||||||
|
<glyph unicode="" d="M1177 600h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123t-123 -184t-45.5 -224.5t45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123 t123 184t45.5 224.5z" />
|
||||||
|
<glyph unicode="" d="M700 800l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400zM500 400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122l-145 -145v400h400z" />
|
||||||
|
<glyph unicode="" d="M100 1200v-1200h1100v1200h-1100zM1100 100h-900v900h900v-900zM400 800h-100v100h100v-100zM1000 800h-500v100h500v-100zM400 600h-100v100h100v-100zM1000 600h-500v100h500v-100zM400 400h-100v100h100v-100zM1000 400h-500v100h500v-100zM400 200h-100v100h100v-100 zM1000 300h-500v-100h500v100z" />
|
||||||
|
<glyph unicode="" d="M200 0h-100v1100h100v-1100zM1100 600v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5z" />
|
||||||
|
<glyph unicode="" d="M1200 275v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5t-49.5 -227v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50 q11 0 18 7t7 18zM400 480v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14zM1000 480v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14z" />
|
||||||
|
<glyph unicode="" d="M0 800v-400h300l300 -200v800l-300 -200h-300zM971 600l141 -141l-71 -71l-141 141l-141 -141l-71 71l141 141l-141 141l71 71l141 -141l141 141l71 -71z" />
|
||||||
|
<glyph unicode="" d="M0 800v-400h300l300 -200v800l-300 -200h-300zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||||
|
<glyph unicode="" d="M974 186l6 8q142 178 142 405q0 230 -144 408l-6 8l-83 -64l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8zM300 801l300 200v-800l-300 200h-300v400h300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257z" />
|
||||||
|
<glyph unicode="" d="M100 700h400v100h100v100h-100v300h-500v-600h100v100zM1200 700v500h-600v-200h100v-300h200v-300h300v200h-200v100h200zM100 1100h300v-300h-300v300zM800 800v300h300v-300h-300zM200 900h100v100h-100v-100zM900 1000h100v-100h-100v100zM300 600h-100v-100h-200 v-500h500v500h-200v100zM900 200v-100h-200v100h-100v100h100v200h-200v100h300v-300h200v-100h-100zM400 400v-300h-300v300h300zM300 200h-100v100h100v-100zM1100 300h100v-100h-100v100zM600 100h100v-100h-100v100zM1200 100v-100h-300v100h300z" />
|
||||||
|
<glyph unicode="" d="M100 1200h-100v-1000h100v1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 1200v-1000h-200v1000h200zM400 100v-100h-300v100h300zM500 91h100v-91h-100v91zM700 91h100v-91h-100v91zM1100 91v-91h-200v91h200z " />
|
||||||
|
<glyph unicode="" d="M1200 500l-500 -500l-699 700v475q0 10 7.5 17.5t17.5 7.5h474zM320 882q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71t29 -71q30 -30 71.5 -30t71.5 30z" />
|
||||||
|
<glyph unicode="" d="M1201 500l-500 -500l-699 700v475q0 11 7 18t18 7h474zM1501 500l-500 -500l-50 50l450 450l-700 700h100zM320 882q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71t30 -71q29 -30 71 -30t71 30z" />
|
||||||
|
<glyph unicode="" d="M1200 1200v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900v1025l175 175h925z" />
|
||||||
|
<glyph unicode="" d="M947 829l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18l-94 -346l40 -124h592zM1200 800v-700h-200v200h-800v-200h-200v700h200l100 -200h600l100 200h200zM881 176l38 -152q2 -10 -3.5 -17t-15.5 -7h-600q-10 0 -15.5 7t-3.5 17l38 152q2 10 11.5 17t19.5 7 h500q10 0 19.5 -7t11.5 -17z" />
|
||||||
|
<glyph unicode="" d="M1200 0v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417zM416 521l178 457l46 -140l116 -317 h-340z" />
|
||||||
|
<glyph unicode="" d="M100 1199h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111t-162 -38.5h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21 t-29 14t-49 14.5v70zM400 1079v-379h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400z" />
|
||||||
|
<glyph unicode="" d="M877 1200l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425z" />
|
||||||
|
<glyph unicode="" d="M1150 1200h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49v300h150h700zM100 1000v-800h75l-125 -167l-125 167h75v800h-75l125 167 l125 -167h-75z" />
|
||||||
|
<glyph unicode="" d="M950 1201h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50v300h150h700zM200 101h800v75l167 -125l-167 -125v75h-800v-75l-167 125l167 125 v-75z" />
|
||||||
|
<glyph unicode="" d="M700 950v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35zM1100 650v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h1000 q21 0 35.5 15t14.5 35zM900 350v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35zM1200 50v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35 t35.5 -15h1100q21 0 35.5 15t14.5 35z" />
|
||||||
|
<glyph unicode="" d="M1000 950v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35zM1200 650v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h1100 q21 0 35.5 15t14.5 35zM1000 350v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35zM1200 50v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35 t35.5 -15h1100q21 0 35.5 15t14.5 35z" />
|
||||||
|
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||||
|
<glyph unicode="" d="M0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||||
|
<glyph unicode="" d="M0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||||
|
<glyph unicode="" d="M400 1100h-100v-1100h100v1100zM700 950v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35zM1100 650v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15 h500q20 0 35 15t15 35zM100 425v75h-201v100h201v75l166 -125zM900 350v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35zM1200 50v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5 v-100q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35z" />
|
||||||
|
<glyph unicode="" d="M201 950v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35zM801 1100h100v-1100h-100v1100zM601 650v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15 h500q20 0 35 15t15 35zM1101 425v75h200v100h-200v75l-167 -125zM401 350v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35zM701 50v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5 v-100q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35z" />
|
||||||
|
<glyph unicode="" d="M900 925v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53zM1200 300l-300 300l300 300v-600z" />
|
||||||
|
<glyph unicode="" d="M1200 1056v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31zM1100 1000h-1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500zM476 750q0 -56 -39 -95t-95 -39t-95 39t-39 95t39 95t95 39t95 -39 t39 -95z" />
|
||||||
|
<glyph unicode="" d="M600 1213q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262q0 124 60.5 231.5t165 172t226.5 64.5zM599 514q107 0 182.5 75.5t75.5 182.5t-75.5 182 t-182.5 75t-182 -75.5t-75 -181.5q0 -107 75.5 -182.5t181.5 -75.5z" />
|
||||||
|
<glyph unicode="" d="M600 1199q122 0 233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233t47.5 233t127.5 191t191 127.5t233 47.5zM600 173v854q-176 0 -301.5 -125t-125.5 -302t125.5 -302t301.5 -125z " />
|
||||||
|
<glyph unicode="" d="M554 1295q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5zM455 296q-7 6 -18 17 t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156q14 -82 59.5 -136t136.5 -80z" />
|
||||||
|
<glyph unicode="" d="M1108 902l113 113l-21 85l-92 28l-113 -113zM1100 625v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125zM436 341l161 50l412 412l-114 113l-405 -405z" />
|
||||||
|
<glyph unicode="" d="M1100 453v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5z M813 431l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209z" />
|
||||||
|
<glyph unicode="" d="M1100 569v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69z M625 348l566 567l-136 137l-430 -431l-147 147l-136 -136z" />
|
||||||
|
<glyph unicode="" d="M900 303v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198l-300 300l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296z" />
|
||||||
|
<glyph unicode="" d="M900 0l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100z" />
|
||||||
|
<glyph unicode="" d="M1200 0l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100z" />
|
||||||
|
<glyph unicode="" d="M1200 0l-500 488v-488l-564 550l564 550v-487l500 487v-1100z" />
|
||||||
|
<glyph unicode="" d="M1100 550l-900 550v-1100z" />
|
||||||
|
<glyph unicode="" d="M500 150v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM900 150v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -21 14.5 -35.5t35.5 -14.5h200 q21 0 35.5 14.5t14.5 35.5z" />
|
||||||
|
<glyph unicode="" d="M1100 150v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35z" />
|
||||||
|
<glyph unicode="" d="M500 0v488l-500 -488v1100l500 -487v487l564 -550z" />
|
||||||
|
<glyph unicode="" d="M1050 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488l-500 -488v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5z" />
|
||||||
|
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5z" />
|
||||||
|
<glyph unicode="" d="M650 1064l-550 -564h1100zM1200 350v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||||
|
<glyph unicode="" d="M777 7l240 240l-353 353l353 353l-240 240l-592 -594z" />
|
||||||
|
<glyph unicode="" d="M513 -46l-241 240l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 900v-200h-200v-200h200v-200h200v200h200v200h-200v200h-200z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM300 700v-200h600v200h-600z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM247 741l141 -141l-142 -141l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141 l-141 142z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM546 623l-102 102l-174 -174l276 -277l411 411l-175 174z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 500h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3 q-105 0 -172 -56t-67 -183h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5zM500 400v-100h200v100h-200z" />
|
||||||
|
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 900v-100h200v100h-200zM400 700v-100h100v-200h-100v-100h400v100h-100v300h-300z" />
|
||||||
|
<glyph unicode="" d="M1200 700v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203zM700 500v-206q149 48 201 206h-201v200h200 q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210q24 -73 79.5 -127.5t130.5 -78.5v206h200z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM844 735 l-135 -135l135 -135l-109 -109l-135 135l-135 -135l-109 109l135 135l-135 135l109 109l135 -135l135 135z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM896 654 l-346 -345l-228 228l141 141l87 -87l204 205z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM248 385l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5q0 -115 62 -215zM955 809l-564 -564q97 -59 209 -59q171 0 292.5 121.5 t121.5 292.5q0 112 -59 209z" />
|
||||||
|
<glyph unicode="" d="M1200 400h-600v-301l-600 448l600 453v-300h600v-300z" />
|
||||||
|
<glyph unicode="" d="M600 400h-600v300h600v300l600 -453l-600 -448v301z" />
|
||||||
|
<glyph unicode="" d="M1098 600h-298v-600h-300v600h-296l450 600z" />
|
||||||
|
<glyph unicode="" d="M998 600l-449 -600l-445 600h296v600h300v-600h298z" />
|
||||||
|
<glyph unicode="" d="M600 199v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453z" />
|
||||||
|
<glyph unicode="" d="M1200 1200h-400l129 -129l-294 -294l142 -142l294 294l129 -129v400zM565 423l-294 -294l129 -129h-400v400l129 -129l294 294z" />
|
||||||
|
<glyph unicode="" d="M871 730l129 -130h-400v400l129 -129l295 295l142 -141zM200 600h400v-400l-129 130l-295 -295l-142 141l295 295z" />
|
||||||
|
<glyph unicode="" d="M600 1177q118 0 224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5t45.5 224.5t123 184t184 123t224.5 45.5zM686 549l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5 l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5zM700 400h-200v-100h200v100z" />
|
||||||
|
<glyph unicode="" d="M1200 900h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100h100v-200h400v300h200v-300h400v200h100v100z M731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269zM481 900h-281q-3 0 14 48t35 96l18 47zM100 0h400v400h-400v-400zM700 400h400v-400h-400v400z" />
|
||||||
|
<glyph unicode="" d="M0 121l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55l-201 -202 v143zM692 611q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5t86.5 76.5q55 66 367 234z" />
|
||||||
|
<glyph unicode="" d="M1261 600l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30l-26 40l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5 t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30zM600 240q64 0 123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212 q0 85 46 158q-102 -87 -226 -258q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5zM484 762l-107 -106q49 -124 154 -191l105 105q-37 24 -75 72t-57 84z" />
|
||||||
|
<glyph unicode="" d="M906 1200l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43l-26 40l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148zM1261 600l-26 -40q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5 t-124 -100t-146.5 -79l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52zM513 264l37 141q-107 18 -178.5 101.5t-71.5 193.5q0 85 46 158q-102 -87 -226 -258q210 -282 393 -336z M484 762l-107 -106q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68z" />
|
||||||
|
<glyph unicode="" d="M-47 0h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66t50.5 -34zM700 200v100h-200v-100h-345l445 723l445 -723h-345zM700 700h-200v-100l100 -300l100 300v100z" />
|
||||||
|
<glyph unicode="" d="M800 711l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41q0 20 11 44.5t26 38.5 l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339z" />
|
||||||
|
<glyph unicode="" d="M941 800l-600 -600h-341v200h259l600 600h241v198l300 -295l-300 -300v197h-159zM381 678l141 142l-181 180h-341v-200h259zM1100 598l300 -295l-300 -300v197h-241l-181 181l141 142l122 -123h159v198z" />
|
||||||
|
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
||||||
|
<glyph unicode="" d="M400 900h-300v300h300v-300zM1100 900h-300v300h300v-300zM1100 800v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5t-58 109.5t-31.5 116t-15 104t-3 83v200h300v-250q0 -113 6 -145 q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300z" />
|
||||||
|
<glyph unicode="" d="M902 184l226 227l-578 579l-580 -579l227 -227l352 353z" />
|
||||||
|
<glyph unicode="" d="M650 218l578 579l-226 227l-353 -353l-352 353l-227 -227z" />
|
||||||
|
<glyph unicode="" d="M1198 400v600h-796l215 -200h381v-400h-198l299 -283l299 283h-200zM-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196z" />
|
||||||
|
<glyph unicode="" d="M1050 1200h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35 q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43l-100 475q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5z" />
|
||||||
|
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
||||||
|
<glyph unicode="" d="M201 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000zM1501 700l-300 -700h-1200l300 700h1200z" />
|
||||||
|
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||||
|
<glyph unicode="" d="M900 303v197h-600v-197l-300 297l300 298v-198h600v198l300 -298z" />
|
||||||
|
<glyph unicode="" d="M31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM100 300h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM900 200h-100v-100h100v100z M1100 200h-100v-100h100v100z" />
|
||||||
|
<glyph unicode="" d="M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35zM325 800l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351v250v5 q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200zM-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5z" />
|
||||||
|
<glyph unicode="" d="M445 1180l-45 -233l-224 78l78 -225l-233 -44l179 -156l-179 -155l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180z" />
|
||||||
|
<glyph unicode="" d="M700 1200h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5zM700 925l-50 -225h450 v-125l-250 -375h-214l-136 100h-100v375l150 212l100 213h50v-175zM0 800v-600h200v600h-200z" />
|
||||||
|
<glyph unicode="" d="M700 0h-50q-27 0 -51 20t-38 48l-96 198l-145 196q-20 26 -20 63v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5zM200 400h-200v600h200 v-600zM700 275l-50 225h450v125l-250 375h-214l-136 -100h-100v-375l150 -212l100 -213h50v175z" />
|
||||||
|
<glyph unicode="" d="M364 873l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM408 792v-503 l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83zM208 200h-200v600h200v-600z" />
|
||||||
|
<glyph unicode="" d="M475 1104l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111t54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6zM370 946 l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100h222q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237zM1199 201h-200v600h200v-600z" />
|
||||||
|
<glyph unicode="" d="M1100 473v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90zM911 400h-503l-236 339 l83 86l183 -146q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294zM1000 200v-200h-600v200h600z" />
|
||||||
|
<glyph unicode="" d="M305 1104v200h600v-200h-600zM605 310l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15l-230 -362q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106z M905 804v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146l-83 86l237 339h503z" />
|
||||||
|
<glyph unicode="" d="M603 1195q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM598 701h-298v-201h300l-2 -194l402 294l-402 298v-197z" />
|
||||||
|
<glyph unicode="" d="M597 1195q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5zM200 600l400 -294v194h302v201h-300v197z" />
|
||||||
|
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||||
|
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM500 900v-300h-200l300 -400l300 400h-200v300h-200z" />
|
||||||
|
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM627 1101q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6 q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55 t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q102 -2 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7 q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5 t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23q-19 -3 -37 0zM613 994q0 -18 8 -42.5t16.5 -44t9.5 -23.5q-9 2 -31 5t-36 5t-32 8t-30 14q3 12 16 30t16 25q10 -10 18.5 -10 t14 6t14.5 14.5t16 12.5z" />
|
||||||
|
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
||||||
|
<glyph unicode="" d="M1100 1200v-100h-1000v100h1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||||
|
<glyph unicode="" d="M329 729l142 142l-200 200l129 129h-400v-400l129 129zM1200 1200v-400l-129 129l-200 -200l-142 142l200 200l-129 129h400zM271 129l129 -129h-400v400l129 -129l200 200l142 -142zM1071 271l129 129v-400h-400l129 129l-200 200l142 142z" />
|
||||||
|
<glyph unicode="" d="M596 1192q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM596 1010q-171 0 -292.5 -121.5t-121.5 -292.5q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5zM455 905 q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5t16 38.5t39 16.5zM708 821l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5 q0 32 20.5 56.5t51.5 29.5zM855 709q23 0 38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39q0 22 16 38t39 16zM345 709q23 0 39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39t15.5 38.5t38.5 15.5z" />
|
||||||
|
<glyph unicode="" d="M649 54l-16 22q-90 125 -293 323q-71 70 -104.5 105.5t-77 89.5t-61 99t-17.5 91q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-203 -198 -293 -323zM844 524l12 12 q64 62 97.5 97t64.5 79t31 72q0 71 -48 119t-105 48q-74 0 -132 -82l-118 -171l-114 174q-51 79 -123 79q-60 0 -109.5 -49t-49.5 -118q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203z" />
|
||||||
|
<glyph unicode="" d="M476 406l19 -17l105 105l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159q0 -93 66 -159zM123 193l141 -141q66 -66 159 -66q95 0 159 66 l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159q0 -94 66 -160z" />
|
||||||
|
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM900 1000h-600v-700h600v700zM600 46q43 0 73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5t-73.5 -30.5t-30.5 -73.5 t30.5 -73.5t73.5 -30.5z" />
|
||||||
|
<glyph unicode="" d="M700 1029v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5 t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5zM600 755v274q-61 -8 -97.5 -37.5t-36.5 -102.5q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3zM700 548 v-311q170 18 170 151q0 64 -44 99.5t-126 60.5z" />
|
||||||
|
<glyph unicode="" d="M866 300l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5 t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94 q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30z" />
|
||||||
|
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1200l298 -300h-198v-900h-200v900h-198z" />
|
||||||
|
<glyph unicode="" d="M400 300h198l-298 -300l-298 300h198v900h200v-900zM1000 1200v-500h-100v100h-100v-100h-100v500h300zM901 1100h-100v-200h100v200zM700 500h300v-200h-99v-100h-100v100h99v100h-200v100zM800 100h200v-100h-300v200h100v-100z" />
|
||||||
|
<glyph unicode="" d="M400 300h198l-298 -300l-298 300h198v900h200v-900zM1000 1200v-200h-99v-100h-100v100h99v100h-200v100h300zM800 800h200v-100h-300v200h100v-100zM700 500h300v-500h-100v100h-100v-100h-100v500zM801 200h100v200h-100v-200z" />
|
||||||
|
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1100h-100v100h200v-500h-100v400zM1100 500v-500h-100v100h-200v400h300zM1001 400h-100v-200h100v200z" />
|
||||||
|
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM1100 1200v-500h-100v100h-200v400h300zM1001 1100h-100v-200h100v200zM900 400h-100v100h200v-500h-100v400z" />
|
||||||
|
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
||||||
|
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
||||||
|
<glyph unicode="" d="M400 1100h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5 t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
||||||
|
<glyph unicode="" d="M700 0h-300q-163 0 -281.5 117.5t-118.5 282.5v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5 t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5zM400 800v-500l333 250z" />
|
||||||
|
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM900 300v500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5zM800 700h-500l250 -333z" />
|
||||||
|
<glyph unicode="" d="M1100 700v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5zM900 300v500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5zM550 733l-250 -333h500z" />
|
||||||
|
<glyph unicode="" d="M500 1100h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200zM700 550l-400 -350v200h-300v300h300v200z" />
|
||||||
|
<glyph unicode="" d="M403 2l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32z" />
|
||||||
|
<glyph unicode="" d="M800 200h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185zM900 200v200h-300v300h300v200l400 -350z" />
|
||||||
|
<glyph unicode="" d="M1200 700l-149 149l-342 -353l-213 213l353 342l-149 149h500v-500zM1022 571l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5v-300 q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM600 794 q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
||||||
|
<glyph unicode="" d="M700 800v400h-300v-400h-300l445 -500l450 500h-295zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||||
|
<glyph unicode="" d="M400 700v-300h300v300h295l-445 500l-450 -500h300zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||||
|
<glyph unicode="" d="M405 400l596 596l-154 155l-442 -442l-150 151l-155 -155zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||||
|
<glyph unicode="" d="M409 1103l-97 97l-212 -212l97 -98zM650 861l-149 149l-212 -212l149 -149l-238 -248h700v699zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||||
|
<glyph unicode="" d="M539 950l-149 -149l212 -212l149 148l248 -237v700h-699zM297 709l-97 -97l212 -212l98 97zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||||
|
<glyph unicode="" d="M1200 1199v-1079l-475 272l-310 -393v416h-392zM1166 1148l-672 -712v-226z" />
|
||||||
|
<glyph unicode="" d="M1100 1000v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1200h-100v-200h100v200z" />
|
||||||
|
<glyph unicode="" d="M578 500h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120zM700 1200h-100v-200h100v200zM1300 538l-475 -476l-244 244l123 123l120 -120l353 352z" />
|
||||||
|
<glyph unicode="" d="M529 500h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170zM700 1200h-100v-200h100v200zM1167 6l-170 170l-170 -170l-127 127l170 170l-170 170l127 127l170 -170l170 170l127 -128 l-170 -169l170 -170z" />
|
||||||
|
<glyph unicode="" d="M700 500h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200zM700 1000h-100v200h100v-200zM1000 600h-200v-300h-200l300 -300l300 300h-200v300z" />
|
||||||
|
<glyph unicode="" d="M602 500h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200zM700 1000h-100v200h100v-200zM1000 300h200l-300 300l-300 -300h200v-300h200v300z" />
|
||||||
|
<glyph unicode="" d="M1200 900v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h1200zM0 800v-550q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200zM100 500h400v-200h-400v200z" />
|
||||||
|
<glyph unicode="" d="M500 1000h400v198l300 -298l-300 -298v198h-400v200zM100 800v200h100v-200h-100zM400 800h-100v200h100v-200zM700 300h-400v-198l-300 298l300 298v-198h400v-200zM800 500h100v-200h-100v200zM1000 500v-200h100v200h-100z" />
|
||||||
|
<glyph unicode="" d="M1200 50v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM550 1200l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447l-100 203v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300z" />
|
||||||
|
<glyph unicode="" d="M1100 106v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394 q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5z" />
|
||||||
|
<glyph unicode="" d="M675 1000l-100 100h-375l-100 -100h400l200 -200v-98l295 98h105v200h-425zM500 300v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5zM100 800h300v-200h-300v200zM700 565l400 133 v-163l-400 -133v163zM100 500h300v-200h-300v200zM805 300l295 98v-298h-425l-100 -100h-375l-100 100h400l200 200h105z" />
|
||||||
|
<glyph unicode="" d="M179 1169l-162 -162q-1 -11 -0.5 -32.5t16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118 q17 17 20 41.5t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14z" />
|
||||||
|
<glyph unicode="" d="M1200 712v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40t-53.5 -36.5t-31 -27.5l-9 -10v-200q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38 t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5zM800 650l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5 t30 -27.5t12 -24l1 -10v-50z" />
|
||||||
|
<glyph unicode="" d="M175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250zM1200 100v-100h-1100v100h1100z" />
|
||||||
|
<glyph unicode="" d="M600 1100h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300v1000q0 41 29.5 70.5t70.5 29.5zM1000 800h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300v700q0 41 29.5 70.5t70.5 29.5zM400 0v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400h300z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-300h200v-100h-200v-100h300v300h-200v100h200v100h-300zM800 800h-200v-500h200v100h100v300h-100 v100zM800 700v-300h-100v300h100z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM400 600h-100v200h-100v-500h100v200h100v-200h100v500h-100v-200zM800 800h-200v-500h200v100h100v300h-100 v100zM800 700v-300h-100v300h100z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-500h300v100h-200v300h200v100h-300zM600 800v-500h300v100h-200v300h200v100h-300z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM500 700l-300 -150l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM900 800v-500h-700v500h700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM800 700h-130 q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-300h200v-100h-200v-100h300v300h-200v100h200v100h-300zM800 300h100v500h-200v-100h100v-400z M601 300h100v100h-100v-100z" />
|
||||||
|
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM300 700v100h-100v-500h300v400h-200zM800 300h100v500h-200v-100h100v-400zM401 400h-100v200h100v-200z M601 300h100v100h-100v-100z" />
|
||||||
|
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM1000 900h-900v-700h900v700zM400 700h-200v100h300v-300h-99v-100h-100v100h99v200zM800 700h-100v100h200v-500h-100v400zM201 400h100v-100 h-100v100zM701 300h-100v100h100v-100z" />
|
||||||
|
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM800 700h-300 v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
||||||
|
<glyph unicode="" d="M596 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM596 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM800 700v-100 h-100v100h-200v-100h200v-100h-200v-100h-100v400h300zM800 400h-100v100h100v-100z" />
|
||||||
|
<glyph unicode="" d="M800 300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57h222v300h400v-300zM700 200h200l-300 -300 l-300 300h200v300h200v-300z" />
|
||||||
|
<glyph unicode="" d="M600 714l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57h8zM700 -100h-200v300h-200l300 300 l300 -300h-200v-300z" />
|
||||||
|
<glyph unicode="" d="M700 200h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-155l-75 -45h350l-75 45v155z" />
|
||||||
|
<glyph unicode="" d="M700 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5 q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350z" />
|
||||||
|
<glyph unicode="💼" d="M800 1000h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100zM500 1000h200v100h-200v-100zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
||||||
|
<glyph unicode="📅" d="M1100 900v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150h1100zM0 800v-750q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100zM100 600h100v-100h-100v100zM300 600h100v-100h-100v100z M500 600h100v-100h-100v100zM700 600h100v-100h-100v100zM900 600h100v-100h-100v100zM100 400h100v-100h-100v100zM300 400h100v-100h-100v100zM500 400h100v-100h-100v100zM700 400h100v-100h-100v100zM900 400h100v-100h-100v100zM100 200h100v-100h-100v100zM300 200 h100v-100h-100v100zM500 200h100v-100h-100v100zM700 200h100v-100h-100v100zM900 200h100v-100h-100v100z" />
|
||||||
|
<glyph unicode="📌" d="M902 1185l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207l-380 -303l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15z" />
|
||||||
|
<glyph unicode="📎" d="M518 119l69 -60l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163t35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84 t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348 q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256z" />
|
||||||
|
<glyph unicode="📷" d="M1200 200v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5z M1000 700h-100v100h100v-100zM844 500q0 -100 -72 -172t-172 -72t-172 72t-72 172t72 172t172 72t172 -72t72 -172zM706 500q0 44 -31 75t-75 31t-75 -31t-31 -75t31 -75t75 -31t75 31t31 75z" />
|
||||||
|
<glyph unicode="🔒" d="M900 800h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||||
|
<glyph unicode="🔔" d="M1062 400h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94 q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327zM600 104q-54 0 -103 6q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6z" />
|
||||||
|
<glyph unicode="🔖" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||||
|
<glyph unicode="🔥" d="M400 755q2 -12 8 -41.5t8 -43t6 -39.5t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85t5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5 q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129 q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5z" />
|
||||||
|
<glyph unicode="🔧" d="M948 778l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138z" />
|
||||||
|
</font>
|
||||||
|
</defs></svg>
|
After Width: | Height: | Size: 62 KiB |
|
@ -0,0 +1,156 @@
|
||||||
|
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
||||||
|
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
||||||
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
$(function(){
|
||||||
|
|
||||||
|
var $window = $(window)
|
||||||
|
|
||||||
|
// Disable certain links in docs
|
||||||
|
$('section [href^=#]').click(function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
// side bar
|
||||||
|
setTimeout(function () {
|
||||||
|
$('.bs-docs-sidenav').affix({
|
||||||
|
offset: {
|
||||||
|
top: function () { return $window.width() <= 980 ? 290 : 210 }
|
||||||
|
, bottom: 270
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
|
||||||
|
// make code pretty
|
||||||
|
window.prettyPrint && prettyPrint()
|
||||||
|
|
||||||
|
// add-ons
|
||||||
|
$('.add-on :checkbox').on('click', function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, method = $this.attr('checked') ? 'addClass' : 'removeClass'
|
||||||
|
$(this).parents('.add-on')[method]('active')
|
||||||
|
})
|
||||||
|
|
||||||
|
// add tipsies to grid for scaffolding
|
||||||
|
if ($('#gridSystem').length) {
|
||||||
|
$('#gridSystem').tooltip({
|
||||||
|
selector: '.show-grid > [class*="span"]'
|
||||||
|
, title: function () { return $(this).width() + 'px' }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// tooltip demo
|
||||||
|
$('.tooltip-demo').tooltip({
|
||||||
|
selector: "a[data-toggle=tooltip]"
|
||||||
|
})
|
||||||
|
|
||||||
|
$('.tooltip-test').tooltip()
|
||||||
|
$('.popover-test').popover()
|
||||||
|
|
||||||
|
// popover demo
|
||||||
|
$("a[data-toggle=popover]")
|
||||||
|
.popover()
|
||||||
|
.click(function(e) {
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
|
||||||
|
// button state demo
|
||||||
|
$('#fat-btn')
|
||||||
|
.click(function () {
|
||||||
|
var btn = $(this)
|
||||||
|
btn.button('loading')
|
||||||
|
setTimeout(function () {
|
||||||
|
btn.button('reset')
|
||||||
|
}, 3000)
|
||||||
|
})
|
||||||
|
|
||||||
|
// carousel demo
|
||||||
|
$('#myCarousel').carousel()
|
||||||
|
|
||||||
|
// javascript build logic
|
||||||
|
var inputsComponent = $("#components.download input")
|
||||||
|
, inputsPlugin = $("#plugins.download input")
|
||||||
|
, inputsVariables = $("#variables.download input")
|
||||||
|
|
||||||
|
// toggle all plugin checkboxes
|
||||||
|
$('#components.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsComponent.attr('checked', !inputsComponent.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#plugins.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#variables.download .toggle-all').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsVariables.val('')
|
||||||
|
})
|
||||||
|
|
||||||
|
// request built javascript
|
||||||
|
$('.download-btn .btn').on('click', function () {
|
||||||
|
|
||||||
|
var css = $("#components.download input:checked")
|
||||||
|
.map(function () { return this.value })
|
||||||
|
.toArray()
|
||||||
|
, js = $("#plugins.download input:checked")
|
||||||
|
.map(function () { return this.value })
|
||||||
|
.toArray()
|
||||||
|
, vars = {}
|
||||||
|
, img = ['glyphicons-halflings.png', 'glyphicons-halflings-white.png']
|
||||||
|
|
||||||
|
$("#variables.download input")
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST'
|
||||||
|
, url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com'
|
||||||
|
, dataType: 'jsonpi'
|
||||||
|
, params: {
|
||||||
|
js: js
|
||||||
|
, css: css
|
||||||
|
, vars: vars
|
||||||
|
, img: img
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
|
||||||
|
$.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
|
||||||
|
var url = opts.url;
|
||||||
|
|
||||||
|
return {
|
||||||
|
send: function(_, completeCallback) {
|
||||||
|
var name = 'jQuery_iframe_' + jQuery.now()
|
||||||
|
, iframe, form
|
||||||
|
|
||||||
|
iframe = $('<iframe>')
|
||||||
|
.attr('name', name)
|
||||||
|
.appendTo('head')
|
||||||
|
|
||||||
|
form = $('<form>')
|
||||||
|
.attr('method', opts.type) // GET or POST
|
||||||
|
.attr('action', url)
|
||||||
|
.attr('target', name)
|
||||||
|
|
||||||
|
$.each(opts.params, function(k, v) {
|
||||||
|
|
||||||
|
$('<input>')
|
||||||
|
.attr('type', 'hidden')
|
||||||
|
.attr('name', k)
|
||||||
|
.attr('value', typeof v == 'string' ? v : JSON.stringify(v))
|
||||||
|
.appendTo(form)
|
||||||
|
})
|
||||||
|
|
||||||
|
form.appendTo('body').submit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery)
|
|
@ -0,0 +1,28 @@
|
||||||
|
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
||||||
|
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
|
||||||
|
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
|
||||||
|
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
|
||||||
|
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
|
||||||
|
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
|
||||||
|
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
|
||||||
|
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
|
||||||
|
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
||||||
|
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
|
||||||
|
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
|
||||||
|
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
|
||||||
|
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
|
||||||
|
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
|
||||||
|
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
|
||||||
|
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
|
||||||
|
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
||||||
|
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||||
|
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||||
|
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
|
||||||
|
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
|
||||||
|
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
|
||||||
|
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
|
||||||
|
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||||
|
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
|
||||||
|
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
|
||||||
|
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
|
||||||
|
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
|
|
@ -0,0 +1,401 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Holder - 1.9 - client side image placeholders
|
||||||
|
(c) 2012-2013 Ivan Malopinsky / http://imsky.co
|
||||||
|
|
||||||
|
Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
Commercial use requires attribution.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
var Holder = Holder || {};
|
||||||
|
(function (app, win) {
|
||||||
|
|
||||||
|
var preempted = false,
|
||||||
|
fallback = false,
|
||||||
|
canvas = document.createElement('canvas');
|
||||||
|
|
||||||
|
//getElementsByClassName polyfill
|
||||||
|
document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i<n.length;i++)r.test(n[i].className)&&s.push(n[i])}return s})
|
||||||
|
|
||||||
|
//getComputedStyle polyfill
|
||||||
|
window.getComputedStyle||(window.getComputedStyle=function(e,t){return this.el=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return t=="float"&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null},this})
|
||||||
|
|
||||||
|
//http://javascript.nwbox.com/ContentLoaded by Diego Perini with modifications
|
||||||
|
function contentLoaded(n,t){var l="complete",s="readystatechange",u=!1,h=u,c=!0,i=n.document,a=i.documentElement,e=i.addEventListener?"addEventListener":"attachEvent",v=i.addEventListener?"removeEventListener":"detachEvent",f=i.addEventListener?"":"on",r=function(e){(e.type!=s||i.readyState==l)&&((e.type=="load"?n:i)[v](f+e.type,r,u),!h&&(h=!0)&&t.call(n,null))},o=function(){try{a.doScroll("left")}catch(n){setTimeout(o,50);return}r("poll")};if(i.readyState==l)t.call(n,"lazy");else{if(i.createEventObject&&a.doScroll){try{c=!n.frameElement}catch(y){}c&&o()}i[e](f+"DOMContentLoaded",r,u),i[e](f+s,r,u),n[e](f+"load",r,u)}};
|
||||||
|
|
||||||
|
//https://gist.github.com/991057 by Jed Schmidt with modifications
|
||||||
|
function selector(a){
|
||||||
|
a=a.match(/^(\W)?(.*)/);var b=document["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2]);
|
||||||
|
var ret=[]; b!=null&&(b.length?ret=b:b.length==0?ret=b:ret=[b]); return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
//shallow object property extend
|
||||||
|
function extend(a,b){var c={};for(var d in a)c[d]=a[d];for(var e in b)c[e]=b[e];return c}
|
||||||
|
|
||||||
|
//hasOwnProperty polyfill
|
||||||
|
if (!Object.prototype.hasOwnProperty)
|
||||||
|
Object.prototype.hasOwnProperty = function(prop) {
|
||||||
|
var proto = this.__proto__ || this.constructor.prototype;
|
||||||
|
return (prop in this) && (!(prop in proto) || proto[prop] !== this[prop]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function text_size(width, height, template) {
|
||||||
|
var dimension_arr = [height, width].sort();
|
||||||
|
var maxFactor = Math.round(dimension_arr[1] / 16),
|
||||||
|
minFactor = Math.round(dimension_arr[0] / 16);
|
||||||
|
var text_height = Math.max(template.size, maxFactor);
|
||||||
|
return {
|
||||||
|
height: text_height
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw(ctx, dimensions, template, ratio) {
|
||||||
|
var ts = text_size(dimensions.width, dimensions.height, template);
|
||||||
|
var text_height = ts.height;
|
||||||
|
var width = dimensions.width * ratio, height = dimensions.height * ratio;
|
||||||
|
var font = template.font ? template.font : "sans-serif";
|
||||||
|
canvas.width = width;
|
||||||
|
canvas.height = height;
|
||||||
|
ctx.textAlign = "center";
|
||||||
|
ctx.textBaseline = "middle";
|
||||||
|
ctx.fillStyle = template.background;
|
||||||
|
ctx.fillRect(0, 0, width, height);
|
||||||
|
ctx.fillStyle = template.foreground;
|
||||||
|
ctx.font = "bold " + text_height + "px "+font;
|
||||||
|
var text = template.text ? template.text : (dimensions.width + "x" + dimensions.height);
|
||||||
|
if (ctx.measureText(text).width / width > 1) {
|
||||||
|
text_height = template.size / (ctx.measureText(text).width / width);
|
||||||
|
}
|
||||||
|
//Resetting font size if necessary
|
||||||
|
ctx.font = "bold " + (text_height * ratio) + "px "+font;
|
||||||
|
ctx.fillText(text, (width / 2), (height / 2), width);
|
||||||
|
return canvas.toDataURL("image/png");
|
||||||
|
}
|
||||||
|
|
||||||
|
function render(mode, el, holder, src) {
|
||||||
|
var dimensions = holder.dimensions,
|
||||||
|
theme = holder.theme,
|
||||||
|
text = holder.text ? decodeURIComponent(holder.text) : holder.text;
|
||||||
|
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||||
|
theme = (text ? extend(theme, { text: text }) : theme);
|
||||||
|
theme = (holder.font ? extend(theme, {font: holder.font}) : theme);
|
||||||
|
|
||||||
|
var ratio = 1;
|
||||||
|
if(window.devicePixelRatio && window.devicePixelRatio > 1){
|
||||||
|
ratio = window.devicePixelRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode == "image") {
|
||||||
|
el.setAttribute("data-src", src);
|
||||||
|
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
|
||||||
|
|
||||||
|
if(fallback || !holder.auto){
|
||||||
|
el.style.width = dimensions.width + "px";
|
||||||
|
el.style.height = dimensions.height + "px";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fallback) {
|
||||||
|
el.style.backgroundColor = theme.background;
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
el.setAttribute("src", draw(ctx, dimensions, theme, ratio));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!fallback) {
|
||||||
|
el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")";
|
||||||
|
el.style.backgroundSize = dimensions.width+"px "+dimensions.height+"px";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function fluid(el, holder, src) {
|
||||||
|
var dimensions = holder.dimensions,
|
||||||
|
theme = holder.theme,
|
||||||
|
text = holder.text;
|
||||||
|
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||||
|
theme = (text ? extend(theme, {
|
||||||
|
text: text
|
||||||
|
}) : theme);
|
||||||
|
|
||||||
|
var fluid = document.createElement("div");
|
||||||
|
|
||||||
|
fluid.style.backgroundColor = theme.background;
|
||||||
|
fluid.style.color = theme.foreground;
|
||||||
|
fluid.className = el.className + " holderjs-fluid";
|
||||||
|
fluid.style.width = holder.dimensions.width + (holder.dimensions.width.indexOf("%")>0?"":"px");
|
||||||
|
fluid.style.height = holder.dimensions.height + (holder.dimensions.height.indexOf("%")>0?"":"px");
|
||||||
|
fluid.id = el.id;
|
||||||
|
|
||||||
|
el.style.width=0;
|
||||||
|
el.style.height=0;
|
||||||
|
|
||||||
|
if (theme.text) {
|
||||||
|
fluid.appendChild(document.createTextNode(theme.text))
|
||||||
|
} else {
|
||||||
|
fluid.appendChild(document.createTextNode(dimensions_caption))
|
||||||
|
fluid_images.push(fluid);
|
||||||
|
setTimeout(fluid_update, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
el.parentNode.insertBefore(fluid, el.nextSibling)
|
||||||
|
|
||||||
|
if(window.jQuery){
|
||||||
|
jQuery(function($){
|
||||||
|
$(el).on("load", function(){
|
||||||
|
el.style.width = fluid.style.width;
|
||||||
|
el.style.height = fluid.style.height;
|
||||||
|
$(el).show();
|
||||||
|
$(fluid).remove();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fluid_update() {
|
||||||
|
for (i in fluid_images) {
|
||||||
|
if(!fluid_images.hasOwnProperty(i)) continue;
|
||||||
|
var el = fluid_images[i],
|
||||||
|
label = el.firstChild;
|
||||||
|
|
||||||
|
el.style.lineHeight = el.offsetHeight+"px";
|
||||||
|
label.data = el.offsetWidth + "x" + el.offsetHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse_flags(flags, options) {
|
||||||
|
|
||||||
|
var ret = {
|
||||||
|
theme: settings.themes.gray
|
||||||
|
}, render = false;
|
||||||
|
|
||||||
|
for (sl = flags.length, j = 0; j < sl; j++) {
|
||||||
|
var flag = flags[j];
|
||||||
|
if (app.flags.dimensions.match(flag)) {
|
||||||
|
render = true;
|
||||||
|
ret.dimensions = app.flags.dimensions.output(flag);
|
||||||
|
} else if (app.flags.fluid.match(flag)) {
|
||||||
|
render = true;
|
||||||
|
ret.dimensions = app.flags.fluid.output(flag);
|
||||||
|
ret.fluid = true;
|
||||||
|
} else if (app.flags.colors.match(flag)) {
|
||||||
|
ret.theme = app.flags.colors.output(flag);
|
||||||
|
} else if (options.themes[flag]) {
|
||||||
|
//If a theme is specified, it will override custom colors
|
||||||
|
ret.theme = options.themes[flag];
|
||||||
|
} else if (app.flags.text.match(flag)) {
|
||||||
|
ret.text = app.flags.text.output(flag);
|
||||||
|
} else if(app.flags.font.match(flag)){
|
||||||
|
ret.font = app.flags.font.output(flag);
|
||||||
|
}
|
||||||
|
else if(app.flags.auto.match(flag)){
|
||||||
|
ret.auto = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return render ? ret : false;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!canvas.getContext) {
|
||||||
|
fallback = true;
|
||||||
|
} else {
|
||||||
|
if (canvas.toDataURL("image/png")
|
||||||
|
.indexOf("data:image/png") < 0) {
|
||||||
|
//Android doesn't support data URI
|
||||||
|
fallback = true;
|
||||||
|
} else {
|
||||||
|
var ctx = canvas.getContext("2d");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var fluid_images = [];
|
||||||
|
|
||||||
|
var settings = {
|
||||||
|
domain: "holder.js",
|
||||||
|
images: "img",
|
||||||
|
bgnodes: ".holderjs",
|
||||||
|
themes: {
|
||||||
|
"gray": {
|
||||||
|
background: "#eee",
|
||||||
|
foreground: "#aaa",
|
||||||
|
size: 12
|
||||||
|
},
|
||||||
|
"social": {
|
||||||
|
background: "#3a5a97",
|
||||||
|
foreground: "#fff",
|
||||||
|
size: 12
|
||||||
|
},
|
||||||
|
"industrial": {
|
||||||
|
background: "#434A52",
|
||||||
|
foreground: "#C2F200",
|
||||||
|
size: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}"
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
app.flags = {
|
||||||
|
dimensions: {
|
||||||
|
regex: /^(\d+)x(\d+)$/,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
width: +exec[1],
|
||||||
|
height: +exec[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fluid: {
|
||||||
|
regex: /^([0-9%]+)x([0-9%]+)$/,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
width: exec[1],
|
||||||
|
height: exec[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
colors: {
|
||||||
|
regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i,
|
||||||
|
output: function (val) {
|
||||||
|
var exec = this.regex.exec(val);
|
||||||
|
return {
|
||||||
|
size: settings.themes.gray.size,
|
||||||
|
foreground: "#" + exec[2],
|
||||||
|
background: "#" + exec[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
regex: /text\:(.*)/,
|
||||||
|
output: function (val) {
|
||||||
|
return this.regex.exec(val)[1];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
font: {
|
||||||
|
regex: /font\:(.*)/,
|
||||||
|
output: function(val){
|
||||||
|
return this.regex.exec(val)[1];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
auto: {
|
||||||
|
regex: /^auto$/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var flag in app.flags) {
|
||||||
|
if(!app.flags.hasOwnProperty(flag)) continue;
|
||||||
|
app.flags[flag].match = function (val) {
|
||||||
|
return val.match(this.regex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
app.add_theme = function (name, theme) {
|
||||||
|
name != null && theme != null && (settings.themes[name] = theme);
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
app.add_image = function (src, el) {
|
||||||
|
var node = selector(el);
|
||||||
|
if (node.length) {
|
||||||
|
for (var i = 0, l = node.length; i < l; i++) {
|
||||||
|
var img = document.createElement("img")
|
||||||
|
img.setAttribute("data-src", src);
|
||||||
|
node[i].appendChild(img);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
app.run = function (o) {
|
||||||
|
var options = extend(settings, o), images = [];
|
||||||
|
|
||||||
|
if(options.images instanceof window.NodeList){
|
||||||
|
imageNodes = options.images;
|
||||||
|
}
|
||||||
|
else if(options.images instanceof window.Node){
|
||||||
|
imageNodes = [options.images];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
imageNodes = selector(options.images);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(options.elements instanceof window.NodeList){
|
||||||
|
bgnodes = options.bgnodes;
|
||||||
|
}
|
||||||
|
else if(options.bgnodes instanceof window.Node){
|
||||||
|
bgnodes = [options.bgnodes];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
bgnodes = selector(options.bgnodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
preempted = true;
|
||||||
|
|
||||||
|
for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]);
|
||||||
|
|
||||||
|
var holdercss = document.getElementById("holderjs-style");
|
||||||
|
|
||||||
|
if(!holdercss){
|
||||||
|
holdercss = document.createElement("style");
|
||||||
|
holdercss.setAttribute("id", "holderjs-style");
|
||||||
|
holdercss.type = "text/css";
|
||||||
|
document.getElementsByTagName("head")[0].appendChild(holdercss);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(holdercss.styleSheet){
|
||||||
|
holdercss.styleSheet += options.stylesheet;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
holdercss.textContent+= options.stylesheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
|
||||||
|
|
||||||
|
for (var l = bgnodes.length, i = 0; i < l; i++) {
|
||||||
|
var src = window.getComputedStyle(bgnodes[i], null)
|
||||||
|
.getPropertyValue("background-image");
|
||||||
|
var flags = src.match(cssregex);
|
||||||
|
if (flags) {
|
||||||
|
var holder = parse_flags(flags[1].split("/"), options);
|
||||||
|
if (holder) {
|
||||||
|
render("background", bgnodes[i], holder, src);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var l = images.length, i = 0; i < l; i++) {
|
||||||
|
var src = images[i].getAttribute("src") || images[i].getAttribute("data-src");
|
||||||
|
if (src != null && src.indexOf(options.domain) >= 0) {
|
||||||
|
var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1)
|
||||||
|
.split("/"), options);
|
||||||
|
if (holder) {
|
||||||
|
if (holder.fluid) {
|
||||||
|
fluid(images[i], holder, src);
|
||||||
|
} else {
|
||||||
|
render("image", images[i], holder, src);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return app;
|
||||||
|
};
|
||||||
|
|
||||||
|
contentLoaded(win, function () {
|
||||||
|
if (window.addEventListener) {
|
||||||
|
window.addEventListener("resize", fluid_update, false);
|
||||||
|
window.addEventListener("orientationchange", fluid_update, false);
|
||||||
|
} else {
|
||||||
|
window.attachEvent("onresize", fluid_update)
|
||||||
|
}
|
||||||
|
preempted || app.run();
|
||||||
|
});
|
||||||
|
|
||||||
|
if ( typeof define === "function" && define.amd ) {
|
||||||
|
define( "Holder", [], function () { return app; } );
|
||||||
|
}
|
||||||
|
|
||||||
|
})(Holder, window);
|
|
@ -0,0 +1,275 @@
|
||||||
|
.dropdown-arrow-inverse {
|
||||||
|
border-bottom-color: #34495e !important;
|
||||||
|
border-top-color: #34495e !important;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 970px !important;
|
||||||
|
}
|
||||||
|
.demo-headline {
|
||||||
|
padding: 73px 0 110px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.demo-logo {
|
||||||
|
font: 900 90px/100px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
letter-spacing: -2px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
.demo-logo .logo {
|
||||||
|
background: url(../images/demo/logo-mask.png) center 0 no-repeat;
|
||||||
|
background-size: 236px 181px;
|
||||||
|
height: 181px;
|
||||||
|
margin: 0 auto 26px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-indent: -9999em;
|
||||||
|
width: 236px;
|
||||||
|
}
|
||||||
|
.demo-logo small {
|
||||||
|
color: rgba(52, 73, 94, 0.30000000000000004);
|
||||||
|
display: block;
|
||||||
|
font-size: 22px;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
.demo-row {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.demo-row .demo-heading-note,
|
||||||
|
.demo-row .demo-text-note {
|
||||||
|
display: block;
|
||||||
|
width: 260px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
left: 0;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 13px;
|
||||||
|
color: #c0c1c2;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-row .demo-text-note {
|
||||||
|
bottom: auto;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
.demo-row.typography-row .demo-content {
|
||||||
|
float: none;
|
||||||
|
width: auto;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.demo-row.typography-row .demo-type-example {
|
||||||
|
padding-left: 25%;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.demo-section-title {
|
||||||
|
font: 900 32px/40px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
.demo-panel-title {
|
||||||
|
padding-top: 20px;
|
||||||
|
margin: 2px 0 20px;
|
||||||
|
font: bold 23px/40px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
.demo-panel-title small {
|
||||||
|
color: #798795;
|
||||||
|
font-size: inherit;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-navigation {
|
||||||
|
margin-bottom: -4px;
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
.demo-pager {
|
||||||
|
margin-top: -20px;
|
||||||
|
}
|
||||||
|
.demo-tooltips {
|
||||||
|
height: 126px;
|
||||||
|
}
|
||||||
|
.demo-tooltips .tooltip {
|
||||||
|
left: -8px !important;
|
||||||
|
position: relative !important;
|
||||||
|
top: -8px !important;
|
||||||
|
}
|
||||||
|
.demo-headings {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.demo-tiles {
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.demo-icons {
|
||||||
|
font-size: 32px;
|
||||||
|
margin-left: -20px;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.demo-icons .demo-content {
|
||||||
|
margin: 0 0 0 -35px;
|
||||||
|
}
|
||||||
|
.demo-icons .demo-content > span {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 0 32px 35px;
|
||||||
|
width: 24px;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.demo-icons-tooltip {
|
||||||
|
bottom: 0;
|
||||||
|
color: #c2c8cf;
|
||||||
|
font-size: 12px;
|
||||||
|
left: 100%;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
position: absolute;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content {
|
||||||
|
margin: 0 0 0 -40px;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content:before,
|
||||||
|
.demo-illustrations .demo-content:after {
|
||||||
|
content: " ";
|
||||||
|
/* 1 */
|
||||||
|
|
||||||
|
display: table;
|
||||||
|
/* 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content > div {
|
||||||
|
float: left;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
margin: 0 0 40px 40px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.demo-illustrations img {
|
||||||
|
display: inline-block;
|
||||||
|
max-height: 100px;
|
||||||
|
max-width: 100px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.demo-samples {
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.demo-video {
|
||||||
|
padding-top: 95px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
.demo-download-section {
|
||||||
|
float: none;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 60px 0 90px 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.demo-download-section [class*='fui-'] {
|
||||||
|
margin: 3px 0 -3px;
|
||||||
|
}
|
||||||
|
.demo-download {
|
||||||
|
background-color: #ebedef;
|
||||||
|
height: 190px;
|
||||||
|
margin: 0 auto 32px;
|
||||||
|
padding: 40px 28px 30px 32px;
|
||||||
|
text-align: center;
|
||||||
|
width: 190px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.demo-download img {
|
||||||
|
height: 104px;
|
||||||
|
width: 82px;
|
||||||
|
}
|
||||||
|
.demo-download-text {
|
||||||
|
font-size: 15px;
|
||||||
|
padding: 20px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.demo-text-box a:hover {
|
||||||
|
color: #1abc9c;
|
||||||
|
}
|
||||||
|
.demo-browser {
|
||||||
|
background: #2c3e50 url(../images/demo/browser.png) 0 0 no-repeat;
|
||||||
|
background-size: 659px 42px;
|
||||||
|
color: #ffffff;
|
||||||
|
margin: 0 41px 140px 0;
|
||||||
|
padding-top: 42px;
|
||||||
|
border-radius: 0 0 6px 6px;
|
||||||
|
}
|
||||||
|
.demo-browser-side {
|
||||||
|
float: left;
|
||||||
|
padding: 22px 20px;
|
||||||
|
width: 151px;
|
||||||
|
}
|
||||||
|
.demo-browser-side > h5 {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 3px;
|
||||||
|
text-transform: none;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-browser-side > h6 {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 300;
|
||||||
|
line-height: 18px;
|
||||||
|
margin-top: 3px;
|
||||||
|
text-transform: none;
|
||||||
|
-webkit-font-smoothing: subpixel-antialiased;
|
||||||
|
}
|
||||||
|
.demo-browser-author {
|
||||||
|
background: url(../images/demo/browser-author.jpg) center center no-repeat;
|
||||||
|
border: 3px solid #ffffff;
|
||||||
|
display: block;
|
||||||
|
height: 84px;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 84px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.demo-browser-action {
|
||||||
|
padding: 30px 0 12px;
|
||||||
|
}
|
||||||
|
.demo-browser-action > .btn {
|
||||||
|
padding: 7px 0 8px 11px !important;
|
||||||
|
text-align: left;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.demo-browser-action > .btn:before {
|
||||||
|
color: #ffffff;
|
||||||
|
content: '\e009';
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: 'Flat-UI-Icons';
|
||||||
|
font-weight: 300;
|
||||||
|
margin-right: 12px;
|
||||||
|
position: relative;
|
||||||
|
top: 1px;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
.demo-browser-content {
|
||||||
|
background-color: #34495e;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 21px 0 0 20px;
|
||||||
|
border-radius: 0 0 6px;
|
||||||
|
}
|
||||||
|
.demo-browser-content > img {
|
||||||
|
border: 6px solid #ffffff;
|
||||||
|
float: left;
|
||||||
|
margin: 0 15px 20px 0;
|
||||||
|
width: 146px;
|
||||||
|
}
|
||||||
|
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 2) {
|
||||||
|
.logo {
|
||||||
|
background-image: url(../images/demo/logo-mask-2x.png);
|
||||||
|
}
|
||||||
|
.demo-browser {
|
||||||
|
background-image: url(../images/demo/browser-2x.png);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.demo-swatches-row [class*="col"] {
|
||||||
|
float: left;
|
||||||
|
min-height: 1px;
|
||||||
|
}
|
||||||
|
.demo-swatches-row .swatches-col {
|
||||||
|
width: 800px;
|
||||||
|
margin-left: -5px;
|
||||||
|
}
|
||||||
|
.demo-swatches-row .swatches-desc-col {
|
||||||
|
width: 140px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
|
@ -0,0 +1,358 @@
|
||||||
|
.dropdown-arrow-inverse {
|
||||||
|
border-bottom-color: #34495e !important;
|
||||||
|
border-top-color: #34495e !important;
|
||||||
|
}
|
||||||
|
.prettyprint {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.prettyprint.linenums {
|
||||||
|
overflow: visible;
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
.demo-headline {
|
||||||
|
color: #1abc9c;
|
||||||
|
font: 700 118px/1.1 "Helvetica Neue", Helvetica, Arial, sans-serif !important;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
margin-top: 2px;
|
||||||
|
padding: 40px 0;
|
||||||
|
text-align: center;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
.demo-row {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 20px 50px;
|
||||||
|
width: 940px;
|
||||||
|
}
|
||||||
|
.demo-row:before,
|
||||||
|
.demo-row:after {
|
||||||
|
content: " ";
|
||||||
|
/* 1 */
|
||||||
|
|
||||||
|
display: table;
|
||||||
|
/* 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
.demo-row:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.demo-row .demo-heading-note,
|
||||||
|
.demo-row .demo-text-note {
|
||||||
|
display: block;
|
||||||
|
width: 260px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
left: 0;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 13px;
|
||||||
|
color: #c0c1c2;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-row .demo-text-note {
|
||||||
|
bottom: auto;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
.demo-row.menu-row {
|
||||||
|
padding: 50px 20px 10px;
|
||||||
|
}
|
||||||
|
.demo-row.typography-row .demo-content {
|
||||||
|
float: none;
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-top: 0;
|
||||||
|
width: auto;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.demo-row.typography-row .demo-type-example {
|
||||||
|
padding-left: 265px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.demo-col {
|
||||||
|
float: left;
|
||||||
|
margin: 0 20px;
|
||||||
|
width: 270px;
|
||||||
|
}
|
||||||
|
.demo-content {
|
||||||
|
float: left;
|
||||||
|
margin-left: 20px;
|
||||||
|
width: 580px;
|
||||||
|
}
|
||||||
|
.demo-content.demo-content-article {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
.demo-content.demo-content-article p {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.demo-content.demo-content-article ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
.demo-content.demo-content-article li {
|
||||||
|
line-height: 35px;
|
||||||
|
padding: 0 0 5px;
|
||||||
|
}
|
||||||
|
.demo-content-wide {
|
||||||
|
clear: both;
|
||||||
|
margin: 0 20px;
|
||||||
|
}
|
||||||
|
.demo-content-wide:before,
|
||||||
|
.demo-content-wide:after {
|
||||||
|
content: " ";
|
||||||
|
/* 1 */
|
||||||
|
|
||||||
|
display: table;
|
||||||
|
/* 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
.demo-content-wide:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.demo-title {
|
||||||
|
float: left;
|
||||||
|
margin: -0.5em 20px 0;
|
||||||
|
width: 240px;
|
||||||
|
font: 700 24.5px/40px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
.demo-title h1,
|
||||||
|
.demo-title h2,
|
||||||
|
.demo-title h3,
|
||||||
|
.demo-title h4 {
|
||||||
|
margin-top: 0;
|
||||||
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
.demo-title h1,
|
||||||
|
.demo-title h2,
|
||||||
|
.demo-title h3 {
|
||||||
|
line-height: 40px !important;
|
||||||
|
}
|
||||||
|
.demo-title h3 {
|
||||||
|
font-size: 24.5px !important;
|
||||||
|
}
|
||||||
|
.demo-title small {
|
||||||
|
color: #c0c1c2;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-buttons .btn,
|
||||||
|
.demo-inputs .control-group {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.demo-navigation .demo-title {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.demo-pager {
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
.demo-tooltips {
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.demo-tooltips .tooltip {
|
||||||
|
left: -8px !important;
|
||||||
|
position: relative !important;
|
||||||
|
top: -8px !important;
|
||||||
|
}
|
||||||
|
.demo-tooltips .tooltip-inner {
|
||||||
|
max-width: 100%;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.demo-popovers .popover {
|
||||||
|
display: block;
|
||||||
|
margin: 0 13px 0 -3px;
|
||||||
|
position: relative;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.demo-social-buttons .btn {
|
||||||
|
clear: left;
|
||||||
|
float: left;
|
||||||
|
margin-bottom: 17px;
|
||||||
|
}
|
||||||
|
.demo-headings {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.demo-tiles {
|
||||||
|
margin-bottom: 46px;
|
||||||
|
}
|
||||||
|
.demo-icons {
|
||||||
|
font-size: 32px;
|
||||||
|
margin-left: -15px;
|
||||||
|
}
|
||||||
|
.demo-icons > span {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 0 32px 35px;
|
||||||
|
width: 32px;
|
||||||
|
}
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.demo-icons > span {
|
||||||
|
margin-left: 16px;
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.demo-icons-tooltip {
|
||||||
|
bottom: 0;
|
||||||
|
color: #c2c8cf;
|
||||||
|
font-size: 12px;
|
||||||
|
left: 100%;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
position: absolute;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
.demo-inline {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.demo-labels {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
.demo-labels .visible-lg {
|
||||||
|
display: inline !important;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.demo-labels .visible-lg {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.demo-illustrations {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content-wide {
|
||||||
|
margin: 0 0 0 -66px;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content-wide > div {
|
||||||
|
float: left;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
margin: 0 0 80px 87px;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.demo-illustrations img {
|
||||||
|
display: inline-block;
|
||||||
|
max-height: 100px;
|
||||||
|
max-width: 100px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.demo-dialog {
|
||||||
|
padding: 13px 20px 15px;
|
||||||
|
}
|
||||||
|
.demo-dialog .flat {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
.static-modal-backdrop {
|
||||||
|
background-color: #243342;
|
||||||
|
padding: 62px 14px;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.static-modal-backdrop .modal {
|
||||||
|
bottom: auto;
|
||||||
|
display: block;
|
||||||
|
left: auto;
|
||||||
|
position: relative;
|
||||||
|
right: auto;
|
||||||
|
top: auto;
|
||||||
|
z-index: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
.static-modal-backdrop .modal-dialog {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.components-static-modal .modal {
|
||||||
|
bottom: auto;
|
||||||
|
display: block;
|
||||||
|
left: auto;
|
||||||
|
position: relative;
|
||||||
|
right: auto;
|
||||||
|
top: auto;
|
||||||
|
z-index: 1;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.components-static-modal .modal-dialog,
|
||||||
|
.components-static-modal .modal-content {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.components-static-modal .modal-dialog {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.demo-sidebar {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.214;
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
overflow: auto;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 150px;
|
||||||
|
z-index: 10000;
|
||||||
|
background-color: #f3f4f5;
|
||||||
|
-webkit-backface-visibility: hidden;
|
||||||
|
-webkit-font-smoothing: subpixel-antialiased;
|
||||||
|
}
|
||||||
|
.demo-sidebar li:first-child a {
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.demo-sidebar a {
|
||||||
|
display: block;
|
||||||
|
padding: 7px 20px;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.demo-row {
|
||||||
|
margin-bottom: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.demo-col,
|
||||||
|
.demo-content,
|
||||||
|
.demo-content-wide,
|
||||||
|
.demo-title {
|
||||||
|
float: none;
|
||||||
|
margin: 0 0 18px !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.demo-headline {
|
||||||
|
font-size: 65px !important;
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
.demo-inline {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.demo-navigation .btn-toolbar {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.demo-navigation .pager {
|
||||||
|
display: block;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.typography-row .demo-type-example {
|
||||||
|
padding-left: 0 !important;
|
||||||
|
}
|
||||||
|
.typography-row .demo-heading-note,
|
||||||
|
.typography-row .demo-text-note {
|
||||||
|
position: static !important;
|
||||||
|
margin: 0 0 10px;
|
||||||
|
}
|
||||||
|
.demo-illustrations .demo-content-wide > div {
|
||||||
|
margin-left: 67px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 480px) {
|
||||||
|
.demo-illustrations .demo-content-wide > div {
|
||||||
|
margin-left: 23px;
|
||||||
|
}
|
||||||
|
.demo-navigation .mll.pvl {
|
||||||
|
padding: 0;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,174 @@
|
||||||
|
/** main layout **/
|
||||||
|
|
||||||
|
#parameters, #renderer {
|
||||||
|
position: fixed;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* parameters tab */
|
||||||
|
#parameters {
|
||||||
|
width: 25%;
|
||||||
|
right: 0;
|
||||||
|
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
background: #ecf0f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#parameters .bottom {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* rendering tab */
|
||||||
|
#renderer {
|
||||||
|
width: 75%;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#renderer h3 {
|
||||||
|
margin-top: 0;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
background: white;
|
||||||
|
|
||||||
|
display: inline-block;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#renderer h3:hover {
|
||||||
|
opacity: 0;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
#renderer canvas {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
|
||||||
|
-webkit-transform: translate(-50%, -50%);
|
||||||
|
-moz-transform: translate(-50%, -50%);
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
#renderer #zoomer {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
left: 20px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** individual elements **/
|
||||||
|
|
||||||
|
/* box model */
|
||||||
|
*, *:before, *:after {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-shadow: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* links in buttons (download image) */
|
||||||
|
button a, button a:hover {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* inputs */
|
||||||
|
:focus {
|
||||||
|
outline: none !important; /* fix bootstrap behaviour */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* slider */
|
||||||
|
input[type="range"].ui-slider {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
-moz-appearance: none;
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
background: white;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 10px;
|
||||||
|
|
||||||
|
border: 2px solid #bdc3c7;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="range"].ui-slider:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="range"].ui-slider::-webkit-slider-thumb {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
background-color: #16a085;
|
||||||
|
border-radius: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
|
||||||
|
-webkit-transition: background 0.25s;
|
||||||
|
-moz-transition: background 0.25s;
|
||||||
|
transition: background 0.25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fractions */
|
||||||
|
.fraction {
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
display: block;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
box-shadow: content-box;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') center center repeat-x white;
|
||||||
|
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fraction sup, .fraction sub {
|
||||||
|
font-size: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fraction sup {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fraction sub {
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fraction input {
|
||||||
|
width: 50px;
|
||||||
|
height: 22px;
|
||||||
|
border: 0;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
background: transparent;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fraction input:focus {
|
||||||
|
outline: none;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
|
@ -0,0 +1,140 @@
|
||||||
|
<?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" >
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata>
|
||||||
|
This is a custom SVG font generated by IcoMoon.
|
||||||
|
<iconset grid="16" href="http://designmodo.com/flat" name="Flat UI Icons" id="Flat-UI-Icons"></iconset><author href="http://designmodo.com" name="Sergey Shmidt"></author><license href="http://creativecommons.org/licenses/by-nc-nd/3.0/" name="Attribution-NonCommercial-NoDerivs 3.0 Unported"></license>
|
||||||
|
</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="Flat-UI-Icons" horiz-adv-x="512" >
|
||||||
|
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||||
|
<missing-glyph horiz-adv-x="512" />
|
||||||
|
<glyph unicode="" d="M 192.576-33.056l-64.096,64.128l 160.544,160.448L 128.448,350.496l 64,65.504l 223.584-223.616L 192.576-33.056z" data-tags="arrow-right" />
|
||||||
|
<glyph unicode="" d="M 96.48,192.384L 320.064,416l 64-65.504L 223.488,191.488l 160.576-160.448l-64.128-64.128L 96.48,192.384z" data-tags="arrow-left" />
|
||||||
|
<glyph unicode="" d="M 400,256c-11.488,0-29.664,0-48,0L 352,192 c 11.328,0, 22.4,0, 32,0c 6.048,0, 11.648,0, 16,0c 61.856,0, 112-50.144, 112-112S 461.856-32, 400-32
|
||||||
|
S 288,18.112, 288,80c0,11.488,0,29.632,0,48L 224,128 c0-11.328,0-22.432,0-32c0-6.048,0-11.616,0-16C 224,18.112, 173.856-32, 112-32S0,18.112,0,80
|
||||||
|
S 50.144,192, 112,192C 123.488,192, 141.664,192, 160,192L 160,256 C 148.704,256, 137.568,256, 128,256C 121.952,256, 116.384,256, 112,256C 50.144,256,0,306.112,0,368C0,429.856, 50.144,480, 112,480
|
||||||
|
S 224,429.856, 224,368C 224,356.512, 224,338.336, 224,320l 64,0 c0,11.296,0,22.432,0,32c0,6.048,0,11.616,0,16C 288,429.856, 338.144,480, 400,480S 512,429.856, 512,368
|
||||||
|
C 512,306.112, 461.856,256, 400,256z M 160,368C 160,394.496, 138.496,416, 112,416S 64,394.496, 64,368C 64,341.472, 85.504,320, 112,320C 115.872,320, 121.76,320, 128,320c 14.784,0, 32,0, 32,0
|
||||||
|
S 160,354.528, 160,368z M 160,96c0,14.752,0,32,0,32s-34.528,0-48,0C 85.504,128, 64,106.496, 64,80S 85.504,32, 112,32S 160,53.504, 160,80
|
||||||
|
C 160,83.872, 160,89.76, 160,96z M 352,80c0-26.496, 21.504-48, 48-48s 48,21.504, 48,48S 426.496,128, 400,128c-3.872,0-9.76,0-16,0
|
||||||
|
c-14.784,0-32,0-32,0S 352,93.44, 352,80z M 288,256L 224,256 L 224,192 l 64,0 L 288,256 z M 400,416C 373.504,416, 352,394.496, 352,368c0-3.872,0-9.728,0-16c0-14.816,0-32,0-32
|
||||||
|
s 34.528,0, 48,0C 426.496,320, 448,341.472, 448,368C 448,394.496, 426.496,416, 400,416z" data-tags="cmd" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.624,480,0,365.408,0,224.032C0,82.624, 114.624-32, 256-32c 141.376,0, 256,114.624, 256,256.032C 512,365.408, 397.376,480, 256,480z M 421.44,276.064
|
||||||
|
l-183.648-183.616c-3.744-3.744-9.856-3.744-13.568,0l-27.136,27.392c-3.712,3.776-9.856,9.952-13.568,13.696L 120.352,199.936
|
||||||
|
C 118.496,201.792, 117.504,204.416, 117.504,206.88c0,2.496, 0.992,4.864, 2.848,6.752l 27.68,24.96c 1.888,1.92, 4.384,2.816, 6.848,2.816
|
||||||
|
c 2.432-0.032, 4.864-0.992, 6.72-2.816l 62.624-63.936c 3.744-3.808, 9.824-3.808, 13.568,0l 142.944,142.56c 3.712,3.744, 9.856,3.744, 13.568,0
|
||||||
|
l 27.168-27.456C 425.184,286.016, 425.184,279.84, 421.44,276.064z" data-tags="check-inverted" />
|
||||||
|
<glyph unicode="" d="M 474.272,191.424c 50.24,51.392, 50.176,134.656,0,186.016c-25.696,26.24-59.488,39.072-93.12,38.496C 334.080,415.168, 256.48,351.456, 256.48,351.456
|
||||||
|
S 176.672,416.064, 128.48,416C 95.616,415.936, 62.784,403.072, 37.728,377.472c-50.208-51.392-50.24-134.624,0-186.016L 256-31.712L 474.272,191.424z" data-tags="heart" />
|
||||||
|
<glyph unicode="" d="M 272.064,216.032c-43.936,0-79.552,36.864-79.552,82.4c0,45.568, 35.616,82.432, 79.552,82.432S 351.616,344, 351.616,298.432
|
||||||
|
C 351.616,252.928, 316,216.032, 272.064,216.032 M 272.064,480.192c-97.248,0-176.064-81.664-176.064-182.4c0-95.136, 79.744-217.888, 132.992-277.632
|
||||||
|
c 19.904-22.272, 43.072-52.352, 43.072-52.352s 24.896,30.176, 46.24,53.152c 53.184,57.248, 129.824,172.224, 129.824,276.8
|
||||||
|
C 448.128,398.528, 369.312,480.192, 272.064,480.192" data-tags="location" />
|
||||||
|
<glyph unicode="" d="M 448,159.968L 288,159.968 L 288,0 c0-17.696-14.304-32-32-32L 224-32 c-17.664,0-32,14.304-32,32L 192,159.968 L 32,159.968 C 14.336,159.968,0,174.336,0,192L0,224.032
|
||||||
|
c0,17.664, 14.336,31.936, 32,31.936l 160,0 L 192,416 c0,17.664, 14.336,32, 32,32l 32,0 c 17.696,0, 32-14.336, 32-32l0-160.032 l 160,0 c 17.696,0, 32-14.272, 32-31.936L 480,192
|
||||||
|
C 480,174.336, 465.696,159.968, 448,159.968z" data-tags="plus" />
|
||||||
|
<glyph unicode="" d="M 461.568,411.296c-6.176,6.272-16.384,6.272-22.56,0l-238.080-237.248c-6.24-6.272-16.416-6.272-22.624,0L 73.984,280.416
|
||||||
|
C 70.912,283.52, 66.848,285.12, 62.816,285.152c-4.128,0-8.288-1.504-11.424-4.736l-46.080-41.504C 2.24,235.776, 0.576,231.84, 0.576,227.744
|
||||||
|
c0-4.16, 1.664-8.512, 4.736-11.616l 105.184-110.496c 6.208-6.24, 16.416-16.512, 22.624-22.816l 45.216-45.632c 6.208-6.24, 16.384-6.24, 22.624,0
|
||||||
|
l 305.856,305.664c 6.24,6.24, 6.24,16.544,0,22.816L 461.568,411.296z" data-tags="check" />
|
||||||
|
<glyph unicode="" d="M 443.904,366.016c 6.24-6.208, 6.24-16.416,0-22.624L 319.456,218.88c-6.176-6.208-6.176-16.416,0-22.656l 124.384-124.544
|
||||||
|
c 6.24-6.208, 6.24-16.416,0-22.624l-45.312-45.216c-6.176-6.208-16.384-6.208-22.624,0L 251.584,128.384c-6.208,6.208-16.416,6.208-22.624,0
|
||||||
|
l-124.448-124.448c-6.208-6.24-16.416-6.24-22.624,0l-45.248,45.312c-6.208,6.176-6.208,16.384,0,22.624l 124.48,124.448
|
||||||
|
c 6.208,6.208, 6.208,16.416,0,22.656L 36.736,343.488c-6.208,6.24-6.208,16.416,0,22.624l 45.28,45.248c 6.208,6.208, 16.416,6.208, 22.624,0
|
||||||
|
l 124.32-124.512c 6.208-6.24, 16.416-6.24, 22.624-0.032l 124.416,124.48c 6.24,6.176, 16.448,6.176, 22.624,0L 443.904,366.016z" data-tags="cross" />
|
||||||
|
<glyph unicode="" d="M 495.968,415.68L 16.032,415.68 c-8.8,0-16-7.68-16-17.088l0-62.336 c0-9.024, 7.2-16.416, 16-16.416l 479.936,0 c 8.8,0, 16,7.36, 16,16.416
|
||||||
|
L 511.968,398.592 C 511.968,408, 504.768,415.68, 495.968,415.68z M 495.968,255.68L 16.032,255.68 c-8.8,0-16-7.68-16-17.12l0-62.304
|
||||||
|
c0-9.056, 7.2-16.416, 16-16.416l 479.936,0 c 8.8,0, 16,7.36, 16,16.416L 511.968,238.592 C 511.968,248, 504.768,255.68, 495.968,255.68z M 495.968,95.68
|
||||||
|
L 16.032,95.68 c-8.8,0-16-7.68-16-17.12l0-62.304 c0-8.992, 7.2-16.384, 16-16.384l 479.936,0 c 8.8,0, 16,7.36, 16,16.384l0,62.304
|
||||||
|
C 511.968,88, 504.768,95.68, 495.968,95.68z" data-tags="list" />
|
||||||
|
<glyph unicode="" d="M 480.256,355.136c-10.88,17.984-24.288,35.584-40.672,51.904c-16.608,16.448-34.496,29.984-52.8,40.8L 418.944,480c0,0, 46.528,0, 69.824-23.264
|
||||||
|
C 512,433.44, 512,386.912, 512,386.912L 480.256,355.136z M 193.6,64.384L 96.384,64.384 L 96.384,161.6 l 11.68,11.68c 19.776-9.28, 39.392-22.464, 57.088-40.16
|
||||||
|
c 17.696-17.664, 30.848-37.344, 40.16-57.088L 193.6,64.384z M 453.376,328.256l-220-224.16c-11.36,18.816-25.344,37.152-42.496,54.176
|
||||||
|
C 173.536,175.488, 154.848,189.632, 135.712,200.928l 224.576,220.448c 18.912-8.928, 37.728-21.472, 54.656-38.432S 444.448,347.232, 453.376,328.256z M 64,416l0-383.968 l 384,0
|
||||||
|
L 448,192 l 64,63.968l0-241.44 C 512-11.168, 491.2-32, 465.472-32L 46.528-32 C 20.832-32,0-11.168,0,14.528L0,433.44 C0,459.168, 20.832,480, 46.528,480L 288,480 L 224,416L 64,416 z" data-tags="new" />
|
||||||
|
<glyph unicode="" d="M 480.128,32.032l0-0.384 L 352,159.776l0-63.744 C 352,60.672, 323.328,32, 288,32L 64,32 c-35.328,0-64,28.672-64,64.032L0,319.968 C0,355.328, 28.672,384, 64,384l 224,0
|
||||||
|
c 35.328,0, 64-28.672, 64-64.032L 352,255.68 l 128,128L 480,384 c 17.696,0, 32-14.304, 32-32l0-288 C 512,46.368, 497.728,32.096, 480.128,32.032z" data-tags="video" />
|
||||||
|
<glyph unicode="" d="M 448.512,384l-73.92,0 l-21.44,45.312C 348.256,439.968, 330.624,448, 313.472,448L 191.072,448 C 173.92,448, 156.288,439.968, 151.36,429.312L 130.432,384L 64,384 C0,384,0,352,0,352
|
||||||
|
l0-320 c0,0,0-32, 64-32l 384,0 c 64,0, 64,32, 64,32L 512,352 C 512,352, 512,384, 448.512,384z M 256,64.032c-70.688,0-128,57.248-128,127.936C 128,262.688, 185.312,320, 256,320s 128-57.312, 128-128.032
|
||||||
|
C 384,121.28, 326.688,64.032, 256,64.032z M 256,272C 211.808,272, 176,236.192, 176,192c0-44.16, 35.808-80, 80-80s 80,35.84, 80,80
|
||||||
|
C 336,236.192, 300.192,272, 256,272z" data-tags="photo" />
|
||||||
|
<glyph unicode="" d="M 246.592,448C 222.4,448, 215.072,434.080, 215.072,434.080S 123.52,325.984, 81.792,325.984c-41.088,0-40.672,0-40.672,0C 18.4,325.984,0,307.776,0,285.344
|
||||||
|
l0-122.048 c0-22.464, 18.4-40.64, 41.088-40.64c0,0, 0.672,0, 41.088,0c 40.512,0, 134.784-109.44, 134.784-109.44c 7.456-7.744, 17.952-12.576, 29.632-12.576
|
||||||
|
c 22.688,0, 41.088,18.176, 41.088,40.64L 287.68,407.328 C 287.68,429.792, 269.28,448, 246.592,448z M 421.984,408.864l-23.712-35.488
|
||||||
|
c 43.328-35.2, 71.104-88.864, 71.104-149.088s-27.744-113.92-71.104-149.056l 23.712-35.488C 476.704,82.688, 512,149.312, 512,224.288
|
||||||
|
C 512,299.296, 476.704,365.888, 421.984,408.864z M 374.4,337.664l-23.936-35.84c 20.672-19.456, 33.696-46.88, 33.696-77.536
|
||||||
|
c0-30.656-13.024-58.048-33.696-77.536l 23.936-35.808c 31.936,27.36, 52.288,68, 52.288,113.344C 426.688,269.696, 406.336,310.272, 374.4,337.664z" data-tags="volume" />
|
||||||
|
<glyph unicode="" d="M 256.032,480C 114.688,480, 0.096,365.408, 0.096,224.032c0-141.408, 114.592-255.968, 255.936-255.968c 141.376,0, 255.968,114.56, 255.968,255.968
|
||||||
|
C 512,365.408, 397.408,480, 256.032,480z M 339.488,134.24l-7.424-7.488c-6.208-6.176-16.672-6.496-23.232-0.64L 223.072,199.872
|
||||||
|
C 216.512,205.728, 211.552,217.728, 211.968,226.496l 8.928,141.536C 221.344,376.832, 228.896,384, 237.728,384l 10.528,0 c 8.8,0, 16.352-7.168, 16.768-15.968
|
||||||
|
l 7.328-115.904c 0.448-8.768, 5.6-21.344, 11.424-27.904l 56.384-66.784C 345.984,150.944, 345.728,140.448, 339.488,134.24z" data-tags="time" />
|
||||||
|
<glyph unicode="" d="M 256.032,400c-169.472,0-256.48-176.448-256.48-176.448s 65.664-176.48, 256.48-176.48c 172.736,0, 256.416,175.808, 256.416,175.808
|
||||||
|
S 428.128,400, 256.032,400z M 256.416,113.248c-61.984,0-106.752,48.288-106.752,110.304c0,62.048, 44.768,110.272, 106.752,110.272
|
||||||
|
c 61.952,0, 106.72-48.224, 106.72-110.272C 363.136,161.536, 318.336,113.248, 256.416,113.248z M 256.416,289.728c-35.392-0.064-64.064-30.72-64.064-66.176
|
||||||
|
c0-35.424, 28.672-66.176, 64.064-66.176s 64.032,30.752, 64.032,66.176C 320.448,259.008, 291.808,289.824, 256.416,289.728z" data-tags="eye" />
|
||||||
|
<glyph unicode="" d="M 228.928,84.032l 144.64-113.248c 2.368-1.888, 3.808-2.816, 5.184-2.816c 4,0, 5.248,2.752, 5.248,7.264l0,107.2
|
||||||
|
C 384,89.984, 388.992,96, 395.68,96l 52.576,0 c 63.744,0, 63.68,30.72, 63.68,30.72L 511.936,446.752 c0,0,0,33.28-63.936,33.28L 64.032,480.032 c-64,0-64-33.28-64-33.28L 0.032,126.72
|
||||||
|
c0,0-0.032-30.72, 64.224-30.72l 128,0 C 192.256,96, 219.040,95.264, 228.928,84.032z" data-tags="chat" />
|
||||||
|
<glyph unicode="" d="M 361.696,176.8c-5.664,5.728-7.552,16.352-4.192,23.648c0,0, 23.616,51.232, 23.616,88.864C 381.12,394.624, 295.904,480, 190.752,480
|
||||||
|
s-190.4-85.376-190.4-190.656c0-105.312, 85.248-190.688, 190.4-190.688c 37.6,0, 88.704,23.68, 88.704,23.68c 7.328,3.392, 17.984,1.472, 23.616-4.224
|
||||||
|
l 145.728-145.888c 5.728-5.696, 15.040-5.696, 20.672,0l 37.888,37.952c 5.728,5.728, 5.728,15.072,0,20.736L 361.696,176.8z M 190.752,186.688
|
||||||
|
c-56.544,0-102.528,46.016-102.528,102.656c0,56.608, 46.016,102.656, 102.528,102.656s 102.496-46.048, 102.496-102.656C 293.248,232.704, 247.296,186.688, 190.752,186.688z" data-tags="search" />
|
||||||
|
<glyph unicode="" d="M 256.512,298.144c 53.28,0, 96.512,40.672, 96.512,90.944C 352.992,439.296, 309.792,480, 256.512,480S 160,439.296, 160,389.088
|
||||||
|
C 160,338.848, 203.232,298.144, 256.512,298.144z M 332.16,291.84C 310.88,277.12, 284.864,268.128, 256.512,268.128c-28.48,0-54.56,9.056-75.872,23.872
|
||||||
|
C 94.016,273.344, 32,223.584, 32,164.992l0-129.44 c0-8.576, 7.2-15.552, 16-15.552l 32,0 c 8.8,0, 16,6.304, 16,14.048c0,4.48,0,100.928,0,100.928
|
||||||
|
c0,8.32, 4.768,4.992, 10.688,4.992c 5.888,0, 10.656-4.512, 10.656-9.984l 0.16-89.984c 0.448-5.184, 4.8-42.208, 10.272-43.296
|
||||||
|
c0,0, 33.28-28.672, 128.224-28.672c 95.616,0, 128.224,28.672, 128.224,28.672c 5.472,1.056, 9.856,38.080, 10.272,43.296l 0.16,89.984
|
||||||
|
c0,5.504, 4.768,9.984, 10.688,9.984c 5.888,0, 10.656-4.512, 10.656-9.984c0,0,0-91.456,0-95.936c0-7.744, 7.2-14.048, 16-14.048l 32,0
|
||||||
|
c 8.8,0, 16,7.008, 16,15.552L 480,164.992 C 480,223.424, 418.304,273.056, 332.16,291.84z" data-tags="user" />
|
||||||
|
<glyph unicode="" d="M 448,416C 422.752,416, 64,416, 64,416C 38.752,416,0,395.424,0,370.528l0-9.056 c0,0, 216.384-180.928, 256-180.928s 256,180.352, 256,180.352l0,9.6
|
||||||
|
C 512,395.424, 473.248,416, 448,416z M0,288.48l0-256.448 C0,32.032,0,0, 64,0l 384,0 c 64.096,0, 64,32.032, 64,32.032L 512,289.28 c0,0-182.080-162.496-256-162.496
|
||||||
|
C 182.848,126.784,0,288.48,0,288.48z" data-tags="mail" />
|
||||||
|
<glyph unicode="" d="M 448-32L 64-32 c-17.664,0-32,14.304-32,32.032L 32,224 c0,17.664, 14.336,32, 32,32l 32,0 L 96,320 c0,88.352, 71.616,160, 160,160s 160-71.648, 160-160l0-64 l 32,0 c 17.696,0, 32-14.336, 32-32
|
||||||
|
l0-223.968 C 480-17.696, 465.696-32, 448-32z M 352,320c0,52.992-42.976,96-96,96S 160,372.992, 160,320l0-64 l 192,0 L 352,320 z" data-tags="lock" />
|
||||||
|
<glyph unicode="" d="M 459.136,263.52c-8.672,1.28-17.984,9.152-20.672,17.504l-13.056,31.616c-4.064,7.776-3.136,19.936, 2.176,26.976l 21.056,28.096
|
||||||
|
c 5.312,7.040, 4.864,18.176-0.992,24.768L 424.512,415.68c-6.56,5.856-17.76,6.272-24.8,0.992l-28.064-21.12
|
||||||
|
c-7.072-5.248-19.2-6.24-27.008-2.144L 313.056,406.432C 304.64,409.088, 296.736,418.432, 295.552,427.168L 290.56,461.92
|
||||||
|
C 289.312,470.624, 281.152,478.496, 272.384,479.392C 272.384,479.392, 266.976,480, 256,480S 239.616,479.392, 239.616,479.392C 230.848,478.496, 222.656,470.624, 221.44,461.92
|
||||||
|
L 216.448,427.168C 215.232,418.432, 207.36,409.088, 198.944,406.432L 167.36,393.408C 159.584,389.312, 147.456,390.304, 140.416,395.552l-28.128,21.12
|
||||||
|
C 105.28,421.984, 94.080,421.536, 87.488,415.68L 64.384,392.544C 58.56,385.952, 58.112,374.784, 63.392,367.744L 84.48,339.648c 5.28-7.040, 6.24-19.2, 2.144-26.976
|
||||||
|
L 73.6,281.024C 70.912,272.672, 61.6,264.8, 52.896,263.52L 18.144,258.624C 9.408,257.344, 1.536,249.184, 0.64,240.416c0,0-0.576-5.44-0.576-16.416
|
||||||
|
c0-10.976, 0.576-16.448, 0.576-16.448c 0.928-8.736, 8.8-16.896, 17.504-18.144l 34.752-4.928C 61.6,183.232, 70.912,175.328, 73.6,166.976l 13.056-31.616
|
||||||
|
c 4.096-7.808, 3.136-19.904-2.144-26.944l-21.088-28.128c-5.28-7.072-6.56-16.64-2.816-21.248c 3.712-4.608, 14.432-16.032, 14.464-16.032
|
||||||
|
c0-0.064, 3.616-3.36, 8-7.328c 4.384-4.032, 22.24-9.6, 29.28-4.32l 28.128,21.056c 7.040,5.312, 19.168,6.272, 26.944,2.176L 198.944,41.6
|
||||||
|
c 8.416-2.72, 16.288-12, 17.504-20.736l 4.992-34.752c 1.216-8.672, 9.408-16.64, 18.144-17.536c0,0, 5.44-0.576, 16.416-0.576
|
||||||
|
s 16.384,0.576, 16.384,0.576c 8.736,0.896, 16.928,8.832, 18.176,17.536l 4.992,34.752c 1.184,8.736, 9.056,18.016, 17.504,20.736l 31.552,12.992
|
||||||
|
c 7.808,4.096, 19.936,3.136, 27.008-2.112l 28.128-21.12c 7.072-5.28, 18.176-4.832, 24.8,0.96l 23.136,23.168
|
||||||
|
c 5.824,6.592, 6.24,17.76, 0.928,24.8l-21.056,28.128c-5.312,7.040-6.24,19.136-2.176,26.944l 13.056,31.616
|
||||||
|
c 2.688,8.384, 12,16.256, 20.672,17.504l 34.752,4.928c 8.672,1.248, 16.576,9.408, 17.504,18.144c0,0, 0.576,5.44, 0.576,16.448
|
||||||
|
c0,10.976-0.576,16.416-0.576,16.416c-0.928,8.768-8.8,16.928-17.504,18.208L 459.136,263.52z M 256,160c-35.328,0-64,28.672-64,64
|
||||||
|
c0,35.36, 28.672,64, 64,64c 35.296,0, 64-28.672, 64-64C 320,188.672, 291.328,160, 256,160z" data-tags="gear" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.61,480,0,365.369,0,223.957c0-141.369, 114.61-255.979, 256-255.979c 141.39,0, 256,114.61, 256,255.979C 512,365.369, 397.39,480, 256,480z
|
||||||
|
M 256,70.379c-84.814,0-153.6,68.764-153.6,153.579c0,84.857, 68.786,153.621, 153.6,153.621c 84.836,0, 153.6-68.764, 153.6-153.621C 409.6,139.143, 340.836,70.379, 256,70.379z" data-tags="radio-unchecked" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.61,480,0,365.412,0,224.021c0-141.412, 114.61-256.043, 256-256.043c 141.39,0, 256,114.631, 256,256.043C 512,365.412, 397.39,480, 256,480z
|
||||||
|
M 256,70.4c-84.814,0-153.6,68.786-153.6,153.621c0,84.793, 68.786,153.543, 153.6,153.543c 84.836,0, 153.6-68.764, 153.6-153.543C 409.6,139.186, 340.836,70.4, 256,70.4z M 256,300.8
|
||||||
|
C 213.582,300.8, 179.2,266.418, 179.2,224.021C 179.2,181.582, 213.582,147.2, 256,147.2c 42.418,0, 76.8,34.382, 76.8,76.821C 332.8,266.418, 298.418,300.8, 256,300.8z" data-tags="radio-checked" />
|
||||||
|
<glyph unicode="" d="M 128,480l 256,0 c 70.713,0, 128-57.287, 128-128l0-256.021 c0-70.713-57.287-128-128-128L 128-32.021 c-70.677,0-128,57.287-128,128L0,352 C0,422.713, 57.323,480, 128,480z" data-tags="checkbox-unchecked" />
|
||||||
|
<glyph unicode="" d="M 384,480L 128,480 C 57.323,480,0,422.677,0,352l0-256.021 c0-70.713, 57.323-128, 128-128l 256,0 c 70.713,0, 128,57.287, 128,128L 512,352 C 512,422.677, 454.699,480, 384,480z M 421.433,276.046
|
||||||
|
l-183.652-183.652c-3.74-3.74-9.849-3.74-13.568,0l-27.157,27.371c-3.74,3.783-9.849,9.963-13.568,13.724l-63.154,66.382
|
||||||
|
c-1.849,1.892-2.837,4.473-2.837,6.933c0,2.503, 1.003,4.864, 2.837,6.756l 27.669,24.953c 1.87,1.913, 4.373,2.816, 6.855,2.816
|
||||||
|
c 2.425,0, 4.864-0.946, 6.734-2.816l 62.62-63.9c 3.705-3.819, 9.828-3.819, 13.568,0l 142.948,142.514c 3.74,3.74, 9.828,3.74, 13.547,0
|
||||||
|
l 27.157-27.392C 425.138,286.009, 425.138,279.787, 421.433,276.046z" data-tags="checkbox-checked" />
|
||||||
|
<glyph unicode="" d="M0,288.224L0,342.080 c0,22.976, 19.104,41.568, 42.656,41.568l 53.696,0 L 96.352,428.864
|
||||||
|
c0,10.528, 10.784,51.104, 24.096,51.104L 168.64,479.968 c 13.312,0, 24.096-40.576, 24.096-51.104l0-45.216 l 159.616,0 L 352.352,428.864 c0,10.528, 10.816,51.104, 24.096,51.104l 48.192,0
|
||||||
|
c 13.312,0, 24.096-40.576, 24.096-51.104l0-45.216 l 20.64,0 c 23.584,0, 42.688-18.592, 42.688-41.568l0-53.888 L0,288.192 z M 512.032,255.68l0-246.112
|
||||||
|
c0-22.976-19.104-41.6-42.688-41.6L 42.656-32.032 c-23.552,0-42.656,18.624-42.656,41.6L0,255.68 L 512.032,255.68 z" data-tags="calendar-solid" />
|
||||||
|
<glyph unicode="" d="M 128,480l-96,0 c-17.664,0-32-14.304-32-32l0-448 c0-17.696, 14.336-32, 32-32l 96,0
|
||||||
|
c 17.664,0, 32,14.304, 32,32l0,448 C 160,465.696, 145.664,480, 128,480z M 448,480l-96,0 c-17.696,0-32-14.304-32-32l0-448 c0-17.696, 14.304-32, 32-32l 96,0
|
||||||
|
c 17.696,0, 32,14.304, 32,32l0,448 C 480,465.696, 465.696,480, 448,480z" data-tags="pause" />
|
||||||
|
<glyph unicode="" d="M 440,237.888l-416,240c-4.928,2.848-11.072,2.848-16,0C 3.072,475.008, 0,469.728, 0,464l0-480
|
||||||
|
c0-5.728, 3.072-11.008, 8-13.856C 10.464-31.296, 13.248-32, 16-32s 5.536,0.704, 8,2.144l 416,240c 4.928,2.848, 8,8.128, 8,13.856
|
||||||
|
S 444.928,235.008, 440,237.888z" data-tags="play" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.624,480,0,365.408,0,224.032C0,82.624, 114.624-32, 256-32c 141.376,0, 256,114.624, 256,256.032C 512,365.408, 397.376,480, 256,480z M 421.44,276.064
|
||||||
|
l-183.648-183.616c-3.744-3.744-9.856-3.744-13.568,0l-27.136,27.392c-3.712,3.776-9.856,9.952-13.568,13.696L 120.352,199.936
|
||||||
|
C 118.496,201.792, 117.504,204.416, 117.504,206.88c0,2.496, 0.992,4.864, 2.848,6.752l 27.68,24.96c 1.888,1.92, 4.384,2.816, 6.848,2.816
|
||||||
|
c 2.432-0.032, 4.864-0.992, 6.72-2.816l 62.624-63.936c 3.744-3.808, 9.824-3.808, 13.568,0l 142.944,142.56c 3.712,3.744, 9.856,3.744, 13.568,0
|
||||||
|
l 27.168-27.456C 425.184,286.016, 425.184,279.84, 421.44,276.064z" data-tags="check-inverted" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="256" />
|
||||||
|
<glyph class="hidden" unicode="" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
|
||||||
|
</font></defs></svg>
|
After Width: | Height: | Size: 19 KiB |
|
@ -0,0 +1,140 @@
|
||||||
|
<?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" >
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata>
|
||||||
|
This is a custom SVG font generated by IcoMoon.
|
||||||
|
<iconset grid="16" href="http://designmodo.com/flat" name="Flat UI Icons" id="Flat-UI-Icons"></iconset><author href="http://designmodo.com" name="Sergey Shmidt"></author><license href="http://creativecommons.org/licenses/by-nc-nd/3.0/" name="Attribution-NonCommercial-NoDerivs 3.0 Unported"></license>
|
||||||
|
</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="Flat-UI-Icons" horiz-adv-x="512" >
|
||||||
|
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||||
|
<missing-glyph horiz-adv-x="512" />
|
||||||
|
<glyph unicode="" d="M 192.576-33.056l-64.096,64.128l 160.544,160.448L 128.448,350.496l 64,65.504l 223.584-223.616L 192.576-33.056z" />
|
||||||
|
<glyph unicode="" d="M 96.48,192.384L 320.064,416l 64-65.504L 223.488,191.488l 160.576-160.448l-64.128-64.128L 96.48,192.384z" />
|
||||||
|
<glyph unicode="" d="M 400,256c-11.488,0-29.664,0-48,0L 352,192 c 11.328,0, 22.4,0, 32,0c 6.048,0, 11.648,0, 16,0c 61.856,0, 112-50.144, 112-112S 461.856-32, 400-32
|
||||||
|
S 288,18.112, 288,80c0,11.488,0,29.632,0,48L 224,128 c0-11.328,0-22.432,0-32c0-6.048,0-11.616,0-16C 224,18.112, 173.856-32, 112-32S0,18.112,0,80
|
||||||
|
S 50.144,192, 112,192C 123.488,192, 141.664,192, 160,192L 160,256 C 148.704,256, 137.568,256, 128,256C 121.952,256, 116.384,256, 112,256C 50.144,256,0,306.112,0,368C0,429.856, 50.144,480, 112,480
|
||||||
|
S 224,429.856, 224,368C 224,356.512, 224,338.336, 224,320l 64,0 c0,11.296,0,22.432,0,32c0,6.048,0,11.616,0,16C 288,429.856, 338.144,480, 400,480S 512,429.856, 512,368
|
||||||
|
C 512,306.112, 461.856,256, 400,256z M 160,368C 160,394.496, 138.496,416, 112,416S 64,394.496, 64,368C 64,341.472, 85.504,320, 112,320C 115.872,320, 121.76,320, 128,320c 14.784,0, 32,0, 32,0
|
||||||
|
S 160,354.528, 160,368z M 160,96c0,14.752,0,32,0,32s-34.528,0-48,0C 85.504,128, 64,106.496, 64,80S 85.504,32, 112,32S 160,53.504, 160,80
|
||||||
|
C 160,83.872, 160,89.76, 160,96z M 352,80c0-26.496, 21.504-48, 48-48s 48,21.504, 48,48S 426.496,128, 400,128c-3.872,0-9.76,0-16,0
|
||||||
|
c-14.784,0-32,0-32,0S 352,93.44, 352,80z M 288,256L 224,256 L 224,192 l 64,0 L 288,256 z M 400,416C 373.504,416, 352,394.496, 352,368c0-3.872,0-9.728,0-16c0-14.816,0-32,0-32
|
||||||
|
s 34.528,0, 48,0C 426.496,320, 448,341.472, 448,368C 448,394.496, 426.496,416, 400,416z" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.624,480,0,365.408,0,224.032C0,82.624, 114.624-32, 256-32c 141.376,0, 256,114.624, 256,256.032C 512,365.408, 397.376,480, 256,480z M 421.44,276.064
|
||||||
|
l-183.648-183.616c-3.744-3.744-9.856-3.744-13.568,0l-27.136,27.392c-3.712,3.776-9.856,9.952-13.568,13.696L 120.352,199.936
|
||||||
|
C 118.496,201.792, 117.504,204.416, 117.504,206.88c0,2.496, 0.992,4.864, 2.848,6.752l 27.68,24.96c 1.888,1.92, 4.384,2.816, 6.848,2.816
|
||||||
|
c 2.432-0.032, 4.864-0.992, 6.72-2.816l 62.624-63.936c 3.744-3.808, 9.824-3.808, 13.568,0l 142.944,142.56c 3.712,3.744, 9.856,3.744, 13.568,0
|
||||||
|
l 27.168-27.456C 425.184,286.016, 425.184,279.84, 421.44,276.064z" />
|
||||||
|
<glyph unicode="" d="M 474.272,191.424c 50.24,51.392, 50.176,134.656,0,186.016c-25.696,26.24-59.488,39.072-93.12,38.496C 334.080,415.168, 256.48,351.456, 256.48,351.456
|
||||||
|
S 176.672,416.064, 128.48,416C 95.616,415.936, 62.784,403.072, 37.728,377.472c-50.208-51.392-50.24-134.624,0-186.016L 256-31.712L 474.272,191.424z" />
|
||||||
|
<glyph unicode="" d="M 272.064,216.032c-43.936,0-79.552,36.864-79.552,82.4c0,45.568, 35.616,82.432, 79.552,82.432S 351.616,344, 351.616,298.432
|
||||||
|
C 351.616,252.928, 316,216.032, 272.064,216.032 M 272.064,480.192c-97.248,0-176.064-81.664-176.064-182.4c0-95.136, 79.744-217.888, 132.992-277.632
|
||||||
|
c 19.904-22.272, 43.072-52.352, 43.072-52.352s 24.896,30.176, 46.24,53.152c 53.184,57.248, 129.824,172.224, 129.824,276.8
|
||||||
|
C 448.128,398.528, 369.312,480.192, 272.064,480.192" />
|
||||||
|
<glyph unicode="" d="M 448,159.968L 288,159.968 L 288,0 c0-17.696-14.304-32-32-32L 224-32 c-17.664,0-32,14.304-32,32L 192,159.968 L 32,159.968 C 14.336,159.968,0,174.336,0,192L0,224.032
|
||||||
|
c0,17.664, 14.336,31.936, 32,31.936l 160,0 L 192,416 c0,17.664, 14.336,32, 32,32l 32,0 c 17.696,0, 32-14.336, 32-32l0-160.032 l 160,0 c 17.696,0, 32-14.272, 32-31.936L 480,192
|
||||||
|
C 480,174.336, 465.696,159.968, 448,159.968z" />
|
||||||
|
<glyph unicode="" d="M 461.568,411.296c-6.176,6.272-16.384,6.272-22.56,0l-238.080-237.248c-6.24-6.272-16.416-6.272-22.624,0L 73.984,280.416
|
||||||
|
C 70.912,283.52, 66.848,285.12, 62.816,285.152c-4.128,0-8.288-1.504-11.424-4.736l-46.080-41.504C 2.24,235.776, 0.576,231.84, 0.576,227.744
|
||||||
|
c0-4.16, 1.664-8.512, 4.736-11.616l 105.184-110.496c 6.208-6.24, 16.416-16.512, 22.624-22.816l 45.216-45.632c 6.208-6.24, 16.384-6.24, 22.624,0
|
||||||
|
l 305.856,305.664c 6.24,6.24, 6.24,16.544,0,22.816L 461.568,411.296z" />
|
||||||
|
<glyph unicode="" d="M 443.904,366.016c 6.24-6.208, 6.24-16.416,0-22.624L 319.456,218.88c-6.176-6.208-6.176-16.416,0-22.656l 124.384-124.544
|
||||||
|
c 6.24-6.208, 6.24-16.416,0-22.624l-45.312-45.216c-6.176-6.208-16.384-6.208-22.624,0L 251.584,128.384c-6.208,6.208-16.416,6.208-22.624,0
|
||||||
|
l-124.448-124.448c-6.208-6.24-16.416-6.24-22.624,0l-45.248,45.312c-6.208,6.176-6.208,16.384,0,22.624l 124.48,124.448
|
||||||
|
c 6.208,6.208, 6.208,16.416,0,22.656L 36.736,343.488c-6.208,6.24-6.208,16.416,0,22.624l 45.28,45.248c 6.208,6.208, 16.416,6.208, 22.624,0
|
||||||
|
l 124.32-124.512c 6.208-6.24, 16.416-6.24, 22.624-0.032l 124.416,124.48c 6.24,6.176, 16.448,6.176, 22.624,0L 443.904,366.016z" />
|
||||||
|
<glyph unicode="" d="M 495.968,415.68L 16.032,415.68 c-8.8,0-16-7.68-16-17.088l0-62.336 c0-9.024, 7.2-16.416, 16-16.416l 479.936,0 c 8.8,0, 16,7.36, 16,16.416
|
||||||
|
L 511.968,398.592 C 511.968,408, 504.768,415.68, 495.968,415.68z M 495.968,255.68L 16.032,255.68 c-8.8,0-16-7.68-16-17.12l0-62.304
|
||||||
|
c0-9.056, 7.2-16.416, 16-16.416l 479.936,0 c 8.8,0, 16,7.36, 16,16.416L 511.968,238.592 C 511.968,248, 504.768,255.68, 495.968,255.68z M 495.968,95.68
|
||||||
|
L 16.032,95.68 c-8.8,0-16-7.68-16-17.12l0-62.304 c0-8.992, 7.2-16.384, 16-16.384l 479.936,0 c 8.8,0, 16,7.36, 16,16.384l0,62.304
|
||||||
|
C 511.968,88, 504.768,95.68, 495.968,95.68z" />
|
||||||
|
<glyph unicode="" d="M 480.256,355.136c-10.88,17.984-24.288,35.584-40.672,51.904c-16.608,16.448-34.496,29.984-52.8,40.8L 418.944,480c0,0, 46.528,0, 69.824-23.264
|
||||||
|
C 512,433.44, 512,386.912, 512,386.912L 480.256,355.136z M 193.6,64.384L 96.384,64.384 L 96.384,161.6 l 11.68,11.68c 19.776-9.28, 39.392-22.464, 57.088-40.16
|
||||||
|
c 17.696-17.664, 30.848-37.344, 40.16-57.088L 193.6,64.384z M 453.376,328.256l-220-224.16c-11.36,18.816-25.344,37.152-42.496,54.176
|
||||||
|
C 173.536,175.488, 154.848,189.632, 135.712,200.928l 224.576,220.448c 18.912-8.928, 37.728-21.472, 54.656-38.432S 444.448,347.232, 453.376,328.256z M 64,416l0-383.968 l 384,0
|
||||||
|
L 448,192 l 64,63.968l0-241.44 C 512-11.168, 491.2-32, 465.472-32L 46.528-32 C 20.832-32,0-11.168,0,14.528L0,433.44 C0,459.168, 20.832,480, 46.528,480L 288,480 L 224,416L 64,416 z" />
|
||||||
|
<glyph unicode="" d="M 480.128,32.032l0-0.384 L 352,159.776l0-63.744 C 352,60.672, 323.328,32, 288,32L 64,32 c-35.328,0-64,28.672-64,64.032L0,319.968 C0,355.328, 28.672,384, 64,384l 224,0
|
||||||
|
c 35.328,0, 64-28.672, 64-64.032L 352,255.68 l 128,128L 480,384 c 17.696,0, 32-14.304, 32-32l0-288 C 512,46.368, 497.728,32.096, 480.128,32.032z" />
|
||||||
|
<glyph unicode="" d="M 448.512,384l-73.92,0 l-21.44,45.312C 348.256,439.968, 330.624,448, 313.472,448L 191.072,448 C 173.92,448, 156.288,439.968, 151.36,429.312L 130.432,384L 64,384 C0,384,0,352,0,352
|
||||||
|
l0-320 c0,0,0-32, 64-32l 384,0 c 64,0, 64,32, 64,32L 512,352 C 512,352, 512,384, 448.512,384z M 256,64.032c-70.688,0-128,57.248-128,127.936C 128,262.688, 185.312,320, 256,320s 128-57.312, 128-128.032
|
||||||
|
C 384,121.28, 326.688,64.032, 256,64.032z M 256,272C 211.808,272, 176,236.192, 176,192c0-44.16, 35.808-80, 80-80s 80,35.84, 80,80
|
||||||
|
C 336,236.192, 300.192,272, 256,272z" />
|
||||||
|
<glyph unicode="" d="M 246.592,448C 222.4,448, 215.072,434.080, 215.072,434.080S 123.52,325.984, 81.792,325.984c-41.088,0-40.672,0-40.672,0C 18.4,325.984,0,307.776,0,285.344
|
||||||
|
l0-122.048 c0-22.464, 18.4-40.64, 41.088-40.64c0,0, 0.672,0, 41.088,0c 40.512,0, 134.784-109.44, 134.784-109.44c 7.456-7.744, 17.952-12.576, 29.632-12.576
|
||||||
|
c 22.688,0, 41.088,18.176, 41.088,40.64L 287.68,407.328 C 287.68,429.792, 269.28,448, 246.592,448z M 421.984,408.864l-23.712-35.488
|
||||||
|
c 43.328-35.2, 71.104-88.864, 71.104-149.088s-27.744-113.92-71.104-149.056l 23.712-35.488C 476.704,82.688, 512,149.312, 512,224.288
|
||||||
|
C 512,299.296, 476.704,365.888, 421.984,408.864z M 374.4,337.664l-23.936-35.84c 20.672-19.456, 33.696-46.88, 33.696-77.536
|
||||||
|
c0-30.656-13.024-58.048-33.696-77.536l 23.936-35.808c 31.936,27.36, 52.288,68, 52.288,113.344C 426.688,269.696, 406.336,310.272, 374.4,337.664z" />
|
||||||
|
<glyph unicode="" d="M 256.032,480C 114.688,480, 0.096,365.408, 0.096,224.032c0-141.408, 114.592-255.968, 255.936-255.968c 141.376,0, 255.968,114.56, 255.968,255.968
|
||||||
|
C 512,365.408, 397.408,480, 256.032,480z M 339.488,134.24l-7.424-7.488c-6.208-6.176-16.672-6.496-23.232-0.64L 223.072,199.872
|
||||||
|
C 216.512,205.728, 211.552,217.728, 211.968,226.496l 8.928,141.536C 221.344,376.832, 228.896,384, 237.728,384l 10.528,0 c 8.8,0, 16.352-7.168, 16.768-15.968
|
||||||
|
l 7.328-115.904c 0.448-8.768, 5.6-21.344, 11.424-27.904l 56.384-66.784C 345.984,150.944, 345.728,140.448, 339.488,134.24z" />
|
||||||
|
<glyph unicode="" d="M 256.032,400c-169.472,0-256.48-176.448-256.48-176.448s 65.664-176.48, 256.48-176.48c 172.736,0, 256.416,175.808, 256.416,175.808
|
||||||
|
S 428.128,400, 256.032,400z M 256.416,113.248c-61.984,0-106.752,48.288-106.752,110.304c0,62.048, 44.768,110.272, 106.752,110.272
|
||||||
|
c 61.952,0, 106.72-48.224, 106.72-110.272C 363.136,161.536, 318.336,113.248, 256.416,113.248z M 256.416,289.728c-35.392-0.064-64.064-30.72-64.064-66.176
|
||||||
|
c0-35.424, 28.672-66.176, 64.064-66.176s 64.032,30.752, 64.032,66.176C 320.448,259.008, 291.808,289.824, 256.416,289.728z" />
|
||||||
|
<glyph unicode="" d="M 228.928,84.032l 144.64-113.248c 2.368-1.888, 3.808-2.816, 5.184-2.816c 4,0, 5.248,2.752, 5.248,7.264l0,107.2
|
||||||
|
C 384,89.984, 388.992,96, 395.68,96l 52.576,0 c 63.744,0, 63.68,30.72, 63.68,30.72L 511.936,446.752 c0,0,0,33.28-63.936,33.28L 64.032,480.032 c-64,0-64-33.28-64-33.28L 0.032,126.72
|
||||||
|
c0,0-0.032-30.72, 64.224-30.72l 128,0 C 192.256,96, 219.040,95.264, 228.928,84.032z" />
|
||||||
|
<glyph unicode="" d="M 361.696,176.8c-5.664,5.728-7.552,16.352-4.192,23.648c0,0, 23.616,51.232, 23.616,88.864C 381.12,394.624, 295.904,480, 190.752,480
|
||||||
|
s-190.4-85.376-190.4-190.656c0-105.312, 85.248-190.688, 190.4-190.688c 37.6,0, 88.704,23.68, 88.704,23.68c 7.328,3.392, 17.984,1.472, 23.616-4.224
|
||||||
|
l 145.728-145.888c 5.728-5.696, 15.040-5.696, 20.672,0l 37.888,37.952c 5.728,5.728, 5.728,15.072,0,20.736L 361.696,176.8z M 190.752,186.688
|
||||||
|
c-56.544,0-102.528,46.016-102.528,102.656c0,56.608, 46.016,102.656, 102.528,102.656s 102.496-46.048, 102.496-102.656C 293.248,232.704, 247.296,186.688, 190.752,186.688z" />
|
||||||
|
<glyph unicode="" d="M 256.512,298.144c 53.28,0, 96.512,40.672, 96.512,90.944C 352.992,439.296, 309.792,480, 256.512,480S 160,439.296, 160,389.088
|
||||||
|
C 160,338.848, 203.232,298.144, 256.512,298.144z M 332.16,291.84C 310.88,277.12, 284.864,268.128, 256.512,268.128c-28.48,0-54.56,9.056-75.872,23.872
|
||||||
|
C 94.016,273.344, 32,223.584, 32,164.992l0-129.44 c0-8.576, 7.2-15.552, 16-15.552l 32,0 c 8.8,0, 16,6.304, 16,14.048c0,4.48,0,100.928,0,100.928
|
||||||
|
c0,8.32, 4.768,4.992, 10.688,4.992c 5.888,0, 10.656-4.512, 10.656-9.984l 0.16-89.984c 0.448-5.184, 4.8-42.208, 10.272-43.296
|
||||||
|
c0,0, 33.28-28.672, 128.224-28.672c 95.616,0, 128.224,28.672, 128.224,28.672c 5.472,1.056, 9.856,38.080, 10.272,43.296l 0.16,89.984
|
||||||
|
c0,5.504, 4.768,9.984, 10.688,9.984c 5.888,0, 10.656-4.512, 10.656-9.984c0,0,0-91.456,0-95.936c0-7.744, 7.2-14.048, 16-14.048l 32,0
|
||||||
|
c 8.8,0, 16,7.008, 16,15.552L 480,164.992 C 480,223.424, 418.304,273.056, 332.16,291.84z" />
|
||||||
|
<glyph unicode="" d="M 448,416C 422.752,416, 64,416, 64,416C 38.752,416,0,395.424,0,370.528l0-9.056 c0,0, 216.384-180.928, 256-180.928s 256,180.352, 256,180.352l0,9.6
|
||||||
|
C 512,395.424, 473.248,416, 448,416z M0,288.48l0-256.448 C0,32.032,0,0, 64,0l 384,0 c 64.096,0, 64,32.032, 64,32.032L 512,289.28 c0,0-182.080-162.496-256-162.496
|
||||||
|
C 182.848,126.784,0,288.48,0,288.48z" />
|
||||||
|
<glyph unicode="" d="M 448-32L 64-32 c-17.664,0-32,14.304-32,32.032L 32,224 c0,17.664, 14.336,32, 32,32l 32,0 L 96,320 c0,88.352, 71.616,160, 160,160s 160-71.648, 160-160l0-64 l 32,0 c 17.696,0, 32-14.336, 32-32
|
||||||
|
l0-223.968 C 480-17.696, 465.696-32, 448-32z M 352,320c0,52.992-42.976,96-96,96S 160,372.992, 160,320l0-64 l 192,0 L 352,320 z" />
|
||||||
|
<glyph unicode="" d="M 459.136,263.52c-8.672,1.28-17.984,9.152-20.672,17.504l-13.056,31.616c-4.064,7.776-3.136,19.936, 2.176,26.976l 21.056,28.096
|
||||||
|
c 5.312,7.040, 4.864,18.176-0.992,24.768L 424.512,415.68c-6.56,5.856-17.76,6.272-24.8,0.992l-28.064-21.12
|
||||||
|
c-7.072-5.248-19.2-6.24-27.008-2.144L 313.056,406.432C 304.64,409.088, 296.736,418.432, 295.552,427.168L 290.56,461.92
|
||||||
|
C 289.312,470.624, 281.152,478.496, 272.384,479.392C 272.384,479.392, 266.976,480, 256,480S 239.616,479.392, 239.616,479.392C 230.848,478.496, 222.656,470.624, 221.44,461.92
|
||||||
|
L 216.448,427.168C 215.232,418.432, 207.36,409.088, 198.944,406.432L 167.36,393.408C 159.584,389.312, 147.456,390.304, 140.416,395.552l-28.128,21.12
|
||||||
|
C 105.28,421.984, 94.080,421.536, 87.488,415.68L 64.384,392.544C 58.56,385.952, 58.112,374.784, 63.392,367.744L 84.48,339.648c 5.28-7.040, 6.24-19.2, 2.144-26.976
|
||||||
|
L 73.6,281.024C 70.912,272.672, 61.6,264.8, 52.896,263.52L 18.144,258.624C 9.408,257.344, 1.536,249.184, 0.64,240.416c0,0-0.576-5.44-0.576-16.416
|
||||||
|
c0-10.976, 0.576-16.448, 0.576-16.448c 0.928-8.736, 8.8-16.896, 17.504-18.144l 34.752-4.928C 61.6,183.232, 70.912,175.328, 73.6,166.976l 13.056-31.616
|
||||||
|
c 4.096-7.808, 3.136-19.904-2.144-26.944l-21.088-28.128c-5.28-7.072-6.56-16.64-2.816-21.248c 3.712-4.608, 14.432-16.032, 14.464-16.032
|
||||||
|
c0-0.064, 3.616-3.36, 8-7.328c 4.384-4.032, 22.24-9.6, 29.28-4.32l 28.128,21.056c 7.040,5.312, 19.168,6.272, 26.944,2.176L 198.944,41.6
|
||||||
|
c 8.416-2.72, 16.288-12, 17.504-20.736l 4.992-34.752c 1.216-8.672, 9.408-16.64, 18.144-17.536c0,0, 5.44-0.576, 16.416-0.576
|
||||||
|
s 16.384,0.576, 16.384,0.576c 8.736,0.896, 16.928,8.832, 18.176,17.536l 4.992,34.752c 1.184,8.736, 9.056,18.016, 17.504,20.736l 31.552,12.992
|
||||||
|
c 7.808,4.096, 19.936,3.136, 27.008-2.112l 28.128-21.12c 7.072-5.28, 18.176-4.832, 24.8,0.96l 23.136,23.168
|
||||||
|
c 5.824,6.592, 6.24,17.76, 0.928,24.8l-21.056,28.128c-5.312,7.040-6.24,19.136-2.176,26.944l 13.056,31.616
|
||||||
|
c 2.688,8.384, 12,16.256, 20.672,17.504l 34.752,4.928c 8.672,1.248, 16.576,9.408, 17.504,18.144c0,0, 0.576,5.44, 0.576,16.448
|
||||||
|
c0,10.976-0.576,16.416-0.576,16.416c-0.928,8.768-8.8,16.928-17.504,18.208L 459.136,263.52z M 256,160c-35.328,0-64,28.672-64,64
|
||||||
|
c0,35.36, 28.672,64, 64,64c 35.296,0, 64-28.672, 64-64C 320,188.672, 291.328,160, 256,160z" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.61,480,0,365.369,0,223.957c0-141.369, 114.61-255.979, 256-255.979c 141.39,0, 256,114.61, 256,255.979C 512,365.369, 397.39,480, 256,480z
|
||||||
|
M 256,70.379c-84.814,0-153.6,68.764-153.6,153.579c0,84.857, 68.786,153.621, 153.6,153.621c 84.836,0, 153.6-68.764, 153.6-153.621C 409.6,139.143, 340.836,70.379, 256,70.379z" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.61,480,0,365.412,0,224.021c0-141.412, 114.61-256.043, 256-256.043c 141.39,0, 256,114.631, 256,256.043C 512,365.412, 397.39,480, 256,480z
|
||||||
|
M 256,70.4c-84.814,0-153.6,68.786-153.6,153.621c0,84.793, 68.786,153.543, 153.6,153.543c 84.836,0, 153.6-68.764, 153.6-153.543C 409.6,139.186, 340.836,70.4, 256,70.4z M 256,300.8
|
||||||
|
C 213.582,300.8, 179.2,266.418, 179.2,224.021C 179.2,181.582, 213.582,147.2, 256,147.2c 42.418,0, 76.8,34.382, 76.8,76.821C 332.8,266.418, 298.418,300.8, 256,300.8z" />
|
||||||
|
<glyph unicode="" d="M 128,480l 256,0 c 70.713,0, 128-57.287, 128-128l0-256.021 c0-70.713-57.287-128-128-128L 128-32.021 c-70.677,0-128,57.287-128,128L0,352 C0,422.713, 57.323,480, 128,480z" />
|
||||||
|
<glyph unicode="" d="M 384,480L 128,480 C 57.323,480,0,422.677,0,352l0-256.021 c0-70.713, 57.323-128, 128-128l 256,0 c 70.713,0, 128,57.287, 128,128L 512,352 C 512,422.677, 454.699,480, 384,480z M 421.433,276.046
|
||||||
|
l-183.652-183.652c-3.74-3.74-9.849-3.74-13.568,0l-27.157,27.371c-3.74,3.783-9.849,9.963-13.568,13.724l-63.154,66.382
|
||||||
|
c-1.849,1.892-2.837,4.473-2.837,6.933c0,2.503, 1.003,4.864, 2.837,6.756l 27.669,24.953c 1.87,1.913, 4.373,2.816, 6.855,2.816
|
||||||
|
c 2.425,0, 4.864-0.946, 6.734-2.816l 62.62-63.9c 3.705-3.819, 9.828-3.819, 13.568,0l 142.948,142.514c 3.74,3.74, 9.828,3.74, 13.547,0
|
||||||
|
l 27.157-27.392C 425.138,286.009, 425.138,279.787, 421.433,276.046z" />
|
||||||
|
<glyph unicode="" d="M0,288.224L0,342.080 c0,22.976, 19.104,41.568, 42.656,41.568l 53.696,0 L 96.352,428.864
|
||||||
|
c0,10.528, 10.784,51.104, 24.096,51.104L 168.64,479.968 c 13.312,0, 24.096-40.576, 24.096-51.104l0-45.216 l 159.616,0 L 352.352,428.864 c0,10.528, 10.816,51.104, 24.096,51.104l 48.192,0
|
||||||
|
c 13.312,0, 24.096-40.576, 24.096-51.104l0-45.216 l 20.64,0 c 23.584,0, 42.688-18.592, 42.688-41.568l0-53.888 L0,288.192 z M 512.032,255.68l0-246.112
|
||||||
|
c0-22.976-19.104-41.6-42.688-41.6L 42.656-32.032 c-23.552,0-42.656,18.624-42.656,41.6L0,255.68 L 512.032,255.68 z" />
|
||||||
|
<glyph unicode="" d="M 128,480l-96,0 c-17.664,0-32-14.304-32-32l0-448 c0-17.696, 14.336-32, 32-32l 96,0
|
||||||
|
c 17.664,0, 32,14.304, 32,32l0,448 C 160,465.696, 145.664,480, 128,480z M 448,480l-96,0 c-17.696,0-32-14.304-32-32l0-448 c0-17.696, 14.304-32, 32-32l 96,0
|
||||||
|
c 17.696,0, 32,14.304, 32,32l0,448 C 480,465.696, 465.696,480, 448,480z" />
|
||||||
|
<glyph unicode="" d="M 440,237.888l-416,240c-4.928,2.848-11.072,2.848-16,0C 3.072,475.008, 0,469.728, 0,464l0-480
|
||||||
|
c0-5.728, 3.072-11.008, 8-13.856C 10.464-31.296, 13.248-32, 16-32s 5.536,0.704, 8,2.144l 416,240c 4.928,2.848, 8,8.128, 8,13.856
|
||||||
|
S 444.928,235.008, 440,237.888z" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.624,480,0,365.408,0,224.032C0,82.624, 114.624-32, 256-32c 141.376,0, 256,114.624, 256,256.032C 512,365.408, 397.376,480, 256,480z M 421.44,276.064
|
||||||
|
l-183.648-183.616c-3.744-3.744-9.856-3.744-13.568,0l-27.136,27.392c-3.712,3.776-9.856,9.952-13.568,13.696L 120.352,199.936
|
||||||
|
C 118.496,201.792, 117.504,204.416, 117.504,206.88c0,2.496, 0.992,4.864, 2.848,6.752l 27.68,24.96c 1.888,1.92, 4.384,2.816, 6.848,2.816
|
||||||
|
c 2.432-0.032, 4.864-0.992, 6.72-2.816l 62.624-63.936c 3.744-3.808, 9.824-3.808, 13.568,0l 142.944,142.56c 3.712,3.744, 9.856,3.744, 13.568,0
|
||||||
|
l 27.168-27.456C 425.184,286.016, 425.184,279.84, 421.44,276.064z" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="256" />
|
||||||
|
<glyph class="hidden" unicode="" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
|
||||||
|
</font></defs></svg>
|
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 264 KiB |
After Width: | Height: | Size: 278 KiB |
After Width: | Height: | Size: 261 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 261 KiB |
After Width: | Height: | Size: 262 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
|
@ -0,0 +1,106 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Chaos game</title>
|
||||||
|
|
||||||
|
<!-- Loading Bootstrap -->
|
||||||
|
<link href="bootstrap/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="bootstrap/css/prettify.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Loading Flat UI -->
|
||||||
|
<link href="css/flat-ui.css" rel="stylesheet">
|
||||||
|
<link href="css/docs.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Site styles -->
|
||||||
|
<link href="css/main.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="js/html5shiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<section id="renderer">
|
||||||
|
<h3>Render</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<canvas width="500" height="500" id="canvas">
|
||||||
|
Please update to newer version of your browser in order to view this page!
|
||||||
|
</canvas>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul class="pager" id="zoomer">
|
||||||
|
<li>
|
||||||
|
<a href="#" id="zoom-in"><span>
|
||||||
|
<i class="fui-plus"></i>
|
||||||
|
Zoom
|
||||||
|
</span></a>
|
||||||
|
</li>
|
||||||
|
<li><a href="#" id="zoom-out">—</a></li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="parameters">
|
||||||
|
<form>
|
||||||
|
<fieldset>
|
||||||
|
<legend>Parameters</legend>
|
||||||
|
<p>
|
||||||
|
<label for="pt-num">Precision :</label>
|
||||||
|
<input type="range" class="ui-slider" min="1" max="500" step="1" value="25000" id="pt-num" />
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="pt-width">Size :</label>
|
||||||
|
<input type="number" class="form-control" min="50" max="5000" step="50" value="500" id="pt-size" />
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="pt-vertices">Vertices :</label>
|
||||||
|
<input type="number" class="form-control" min="3" value="3" step="1" id="pt-vertices" />
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="pt-frac-top">Factor :</label>
|
||||||
|
<span class="fraction form-control">
|
||||||
|
<sup><input type="number" class="form-control flat" min="1" value="1" step="1" id="pt-frac-top" /></sup>
|
||||||
|
<sub><input type="number" class="form-control flat" min="1" value="2" step="1" id="pt-frac-bottom" /></sub>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset>
|
||||||
|
<legend>Presets</legend>
|
||||||
|
<p>
|
||||||
|
<img src="images/setting1.png" class="setting" data-setting-id="1"
|
||||||
|
alt="Sierpinski's triangle" title="Sierpinski's triangle" />
|
||||||
|
<img src="images/setting2.png" class="setting" data-setting-id="2"
|
||||||
|
alt="Fractal no. 1" title="Fractal no. 1" />
|
||||||
|
<img src="images/setting3.png" class="setting" data-setting-id="3"
|
||||||
|
alt="Fractal no. 2" title="Fractal no. 2" />
|
||||||
|
<img src="images/setting4.png" class="setting" data-setting-id="4"
|
||||||
|
alt="Fractal no. 3" title="Fractal no. 3" />
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
||||||
|
<p class="bottom">
|
||||||
|
<button class="btn btn-primary" id="pt-gen">Plot</button>
|
||||||
|
<button class="btn btn-primary" id="pt-render">
|
||||||
|
<a href="#" download="chaos-game-result.png">Download result</a>
|
||||||
|
</button>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<script src="js/lib/jquery-1.8.3.min.js"></script>
|
||||||
|
<script src="js/lib/jquery-ui-1.10.3.custom.min.js"></script>
|
||||||
|
<script src="js/lib/jquery.ui.touch-punch.min.js"></script>
|
||||||
|
<script src="js/lib/bootstrap.min.js"></script>
|
||||||
|
<script src="js/lib/bootstrap-select.js"></script>
|
||||||
|
<script src="js/lib/bootstrap-switch.js"></script>
|
||||||
|
<script src="js/lib/flatui-checkbox.js"></script>
|
||||||
|
<script src="js/lib/flatui-radio.js"></script>
|
||||||
|
<script src="js/lib/jquery.tagsinput.js"></script>
|
||||||
|
<script src="js/lib/jquery.placeholder.js"></script>
|
||||||
|
<script src="bootstrap/js/google-code-prettify/prettify.js"></script>
|
||||||
|
<script src="js/lib/application.js"></script>
|
||||||
|
|
||||||
|
<script src="js/utils.js"></script>
|
||||||
|
<script src="js/script.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*jslint plusplus: true */
|
||||||
|
/*globals self, importScripts, utils */
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
importScripts('utils.js');
|
||||||
|
|
||||||
|
function getRandomPoint(w, h) {
|
||||||
|
return [utils.getRandomArbitary(0, 1) * w, utils.getRandomArbitary(0, 1) * h];
|
||||||
|
}
|
||||||
|
|
||||||
|
self.addEventListener('message', function (e) {
|
||||||
|
var points = [], vertices = e.data[2], size = e.data[1], point, pointSkip = 100,
|
||||||
|
i = parseInt(e.data[0], 10) + pointSkip, j, length = vertices.length,
|
||||||
|
frac = e.data[3], cvert, numvertex, correction;
|
||||||
|
|
||||||
|
correction = 1 / frac - 1; // make points fit in the container
|
||||||
|
point = getRandomPoint(size[0], size[1]);
|
||||||
|
|
||||||
|
do {
|
||||||
|
numvertex = utils.getRandomInt(0, vertices.length - 1);
|
||||||
|
cvert = vertices[numvertex];
|
||||||
|
point = [(cvert[0] + point[0]) * (frac), (cvert[1] + point[1]) * (frac)];
|
||||||
|
|
||||||
|
if (i > pointSkip) { // skip the first few points
|
||||||
|
points.push([
|
||||||
|
[
|
||||||
|
point[0] * correction,
|
||||||
|
point[1] * correction
|
||||||
|
], numvertex
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
} while (i--);
|
||||||
|
|
||||||
|
self.postMessage(points);
|
||||||
|
}, false);
|
||||||
|
}());
|
|
@ -0,0 +1,70 @@
|
||||||
|
// Some general UI pack related JS
|
||||||
|
// Extend JS String with repeat method
|
||||||
|
String.prototype.repeat = function(num) {
|
||||||
|
return new Array(num + 1).join(this);
|
||||||
|
};
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
|
||||||
|
// Add segments to a slider
|
||||||
|
$.fn.addSliderSegments = function (amount) {
|
||||||
|
return this.each(function () {
|
||||||
|
var segmentGap = 100 / (amount - 1) + "%"
|
||||||
|
, segment = "<div class='ui-slider-segment' style='margin-left: " + segmentGap + ";'></div>";
|
||||||
|
$(this).prepend(segment.repeat(amount - 2));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
|
||||||
|
// Todo list
|
||||||
|
$(".todo li").click(function() {
|
||||||
|
$(this).toggleClass("todo-done");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Custom Selects
|
||||||
|
$("select[name='huge']").selectpicker({style: 'btn-hg btn-primary', menuStyle: 'dropdown-inverse'});
|
||||||
|
$("select[name='herolist']").selectpicker({style: 'btn-primary', menuStyle: 'dropdown-inverse'});
|
||||||
|
$("select[name='info']").selectpicker({style: 'btn-info'});
|
||||||
|
|
||||||
|
// Tooltips
|
||||||
|
$("[data-toggle=tooltip]").tooltip("show");
|
||||||
|
|
||||||
|
// Tags Input
|
||||||
|
$(".tagsinput").tagsInput();
|
||||||
|
|
||||||
|
// jQuery UI Sliders
|
||||||
|
var $slider = $("#slider");
|
||||||
|
if ($slider.length) {
|
||||||
|
$slider.slider({
|
||||||
|
min: 1,
|
||||||
|
max: 5,
|
||||||
|
value: 2,
|
||||||
|
orientation: "horizontal",
|
||||||
|
range: "min"
|
||||||
|
}).addSliderSegments($slider.slider("option").max);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Placeholders for input/textarea
|
||||||
|
$("input, textarea").placeholder();
|
||||||
|
|
||||||
|
// Make pagination demo work
|
||||||
|
$(".pagination a").on('click', function() {
|
||||||
|
$(this).parent().siblings("li").removeClass("active").end().addClass("active");
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".btn-group a").on('click', function() {
|
||||||
|
$(this).siblings().removeClass("active").end().addClass("active");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Disable link clicks to prevent page scrolling
|
||||||
|
$('a[href="#fakelink"]').on('click', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Switch
|
||||||
|
$("[data-toggle='switch']").wrap('<div class="switch" />').parent().bootstrapSwitch();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
})(jQuery);
|
|
@ -0,0 +1,412 @@
|
||||||
|
!function($) {
|
||||||
|
var Selectpicker = function(element, options, e) {
|
||||||
|
if (e ) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
this.$element = $(element);
|
||||||
|
this.$newElement = null;
|
||||||
|
this.button = null;
|
||||||
|
|
||||||
|
//Merge defaults, options and data-attributes to make our options
|
||||||
|
this.options = $.extend({}, $.fn.selectpicker.defaults, this.$element.data(), typeof options == 'object' && options);
|
||||||
|
|
||||||
|
//If we have no title yet, check the attribute 'title' (this is missed by jq as its not a data-attribute
|
||||||
|
if(this.options.title==null)
|
||||||
|
this.options.title = this.$element.attr('title');
|
||||||
|
|
||||||
|
//Expose public methods
|
||||||
|
this.val = Selectpicker.prototype.val;
|
||||||
|
this.render = Selectpicker.prototype.render;
|
||||||
|
this.init();
|
||||||
|
};
|
||||||
|
|
||||||
|
Selectpicker.prototype = {
|
||||||
|
|
||||||
|
constructor: Selectpicker,
|
||||||
|
|
||||||
|
init: function (e) {
|
||||||
|
var _this = this;
|
||||||
|
this.$element.hide();
|
||||||
|
this.multiple = this.$element.prop('multiple');
|
||||||
|
|
||||||
|
|
||||||
|
var classList = this.$element.attr('class') !== undefined ? this.$element.attr('class').split(/\s+/) : '';
|
||||||
|
var id = this.$element.attr('id');
|
||||||
|
this.$element.after( this.createView() );
|
||||||
|
this.$newElement = this.$element.next('.select');
|
||||||
|
var select = this.$newElement;
|
||||||
|
var menu = this.$newElement.find('.dropdown-menu');
|
||||||
|
var menuArrow = this.$newElement.find('.dropdown-arrow');
|
||||||
|
var menuA = menu.find('li > a');
|
||||||
|
var liHeight = select.addClass('open').find('.dropdown-menu li > a').outerHeight();
|
||||||
|
select.removeClass('open');
|
||||||
|
var divHeight = menu.find('li .divider').outerHeight(true);
|
||||||
|
var selectOffset_top = this.$newElement.offset().top;
|
||||||
|
var size = 0;
|
||||||
|
var menuHeight = 0;
|
||||||
|
var selectHeight = this.$newElement.outerHeight();
|
||||||
|
this.button = this.$newElement.find('> button');
|
||||||
|
if (id !== undefined) {
|
||||||
|
this.button.attr('id', id);
|
||||||
|
$('label[for="' + id + '"]').click(function(){ select.find('button#'+id).focus(); })
|
||||||
|
}
|
||||||
|
for (var i = 0; i < classList.length; i++) {
|
||||||
|
if(classList[i] != 'selectpicker') {
|
||||||
|
this.$newElement.addClass(classList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//If we are multiple, then add the show-tick class by default
|
||||||
|
if(this.multiple) {
|
||||||
|
this.$newElement.addClass('select-multiple');
|
||||||
|
}
|
||||||
|
this.button.addClass(this.options.style);
|
||||||
|
menu.addClass(this.options.menuStyle);
|
||||||
|
menuArrow.addClass(function() {
|
||||||
|
if (_this.options.menuStyle) {
|
||||||
|
return _this.options.menuStyle.replace('dropdown-', 'dropdown-arrow-');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.checkDisabled();
|
||||||
|
this.checkTabIndex();
|
||||||
|
this.clickListener();
|
||||||
|
var menuPadding = parseInt(menu.css('padding-top')) + parseInt(menu.css('padding-bottom')) + parseInt(menu.css('border-top-width')) + parseInt(menu.css('border-bottom-width'));
|
||||||
|
if (this.options.size == 'auto') {
|
||||||
|
function getSize() {
|
||||||
|
var selectOffset_top_scroll = selectOffset_top - $(window).scrollTop();
|
||||||
|
var windowHeight = $(window).innerHeight;
|
||||||
|
var menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2;
|
||||||
|
var selectOffset_bot = windowHeight - selectOffset_top_scroll - selectHeight - menuExtras;
|
||||||
|
menuHeight = selectOffset_bot;
|
||||||
|
if (select.hasClass('dropup')) {
|
||||||
|
menuHeight = selectOffset_top_scroll - menuExtras;
|
||||||
|
}
|
||||||
|
menu.css({'max-height' : menuHeight + 'px', 'overflow-y' : 'auto', 'min-height' : liHeight*3 + 'px'});
|
||||||
|
}
|
||||||
|
getSize();
|
||||||
|
$(window).resize(getSize);
|
||||||
|
$(window).scroll(getSize);
|
||||||
|
this.$element.bind('DOMNodeInserted', getSize);
|
||||||
|
} else if (this.options.size && this.options.size != 'auto' && menu.find('li').length > this.options.size) {
|
||||||
|
var optIndex = menu.find("li > *").filter(':not(.divider)').slice(0,this.options.size).last().parent().index();
|
||||||
|
var divLength = menu.find("li").slice(0,optIndex + 1).find('.divider').length;
|
||||||
|
menuHeight = liHeight*this.options.size + divLength*divHeight + menuPadding;
|
||||||
|
menu.css({'max-height' : menuHeight + 'px', 'overflow-y' : 'scroll'});
|
||||||
|
}
|
||||||
|
|
||||||
|
//Listen for updates to the DOM and re render...
|
||||||
|
this.$element.bind('DOMNodeInserted', $.proxy(this.reloadLi, this));
|
||||||
|
|
||||||
|
this.render();
|
||||||
|
},
|
||||||
|
|
||||||
|
createDropdown: function() {
|
||||||
|
var drop =
|
||||||
|
"<div class='btn-group select'>" +
|
||||||
|
"<button class='btn dropdown-toggle clearfix' data-toggle='dropdown'>" +
|
||||||
|
"<span class='filter-option pull-left'></span> " +
|
||||||
|
"<span class='caret'></span>" +
|
||||||
|
"</button>" +
|
||||||
|
"<span class='dropdown-arrow'></span>" +
|
||||||
|
"<ul class='dropdown-menu' role='menu'>" +
|
||||||
|
"</ul>" +
|
||||||
|
"</div>";
|
||||||
|
|
||||||
|
return $(drop);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
createView: function() {
|
||||||
|
var $drop = this.createDropdown();
|
||||||
|
var $li = this.createLi();
|
||||||
|
$drop.find('ul').append($li);
|
||||||
|
return $drop;
|
||||||
|
},
|
||||||
|
|
||||||
|
reloadLi: function() {
|
||||||
|
//Remove all children.
|
||||||
|
this.destroyLi();
|
||||||
|
//Re build
|
||||||
|
$li = this.createLi();
|
||||||
|
this.$newElement.find('ul').append( $li );
|
||||||
|
//render view
|
||||||
|
this.render();
|
||||||
|
},
|
||||||
|
|
||||||
|
destroyLi:function() {
|
||||||
|
this.$newElement.find('li').remove();
|
||||||
|
},
|
||||||
|
|
||||||
|
createLi: function() {
|
||||||
|
|
||||||
|
var _this = this;
|
||||||
|
var _li = [];
|
||||||
|
var _liA = [];
|
||||||
|
var _liHtml = '';
|
||||||
|
|
||||||
|
this.$element.find('option').each(function(){
|
||||||
|
_li.push($(this).text());
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$element.find('option').each(function(index) {
|
||||||
|
//Get the class and text for the option
|
||||||
|
var optionClass = $(this).attr("class") !== undefined ? $(this).attr("class") : '';
|
||||||
|
var text = $(this).text();
|
||||||
|
var subtext = $(this).data('subtext') !== undefined ? '<small class="muted">'+$(this).data('subtext')+'</small>' : '';
|
||||||
|
|
||||||
|
//Append any subtext to the main text.
|
||||||
|
text+=subtext;
|
||||||
|
|
||||||
|
if ($(this).parent().is('optgroup') && $(this).data('divider') != true) {
|
||||||
|
if ($(this).index() == 0) {
|
||||||
|
//Get the opt group label
|
||||||
|
var label = $(this).parent().attr('label');
|
||||||
|
var labelSubtext = $(this).parent().data('subtext') !== undefined ? '<small class="muted">'+$(this).parent().data('subtext')+'</small>' : '';
|
||||||
|
label += labelSubtext;
|
||||||
|
|
||||||
|
if ($(this)[0].index != 0) {
|
||||||
|
_liA.push(
|
||||||
|
'<div class="divider"></div>'+
|
||||||
|
'<dt>'+label+'</dt>'+
|
||||||
|
_this.createA(text, "opt " + optionClass )
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
_liA.push(
|
||||||
|
'<dt>'+label+'</dt>'+
|
||||||
|
_this.createA(text, "opt " + optionClass ));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_liA.push( _this.createA(text, "opt " + optionClass ) );
|
||||||
|
}
|
||||||
|
} else if ($(this).data('divider') == true) {
|
||||||
|
_liA.push('<div class="divider"></div>');
|
||||||
|
} else {
|
||||||
|
_liA.push( _this.createA(text, optionClass ) );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (_li.length > 0) {
|
||||||
|
for (var i = 0; i < _li.length; i++) {
|
||||||
|
var $option = this.$element.find('option').eq(i);
|
||||||
|
_liHtml += "<li rel=" + i + ">" + _liA[i] + "</li>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//If we dont have a selected item, and we dont have a title, select the first element so something is set in the button
|
||||||
|
if(this.$element.find('option:selected').length==0 && !_this.options.title) {
|
||||||
|
this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $(_liHtml);
|
||||||
|
},
|
||||||
|
|
||||||
|
createA:function(test, classes) {
|
||||||
|
return '<a tabindex="-1" href="#" class="'+classes+'">' +
|
||||||
|
'<span class="pull-left">' + test + '</span>' +
|
||||||
|
'</a>';
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
render:function() {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
|
//Set width of select
|
||||||
|
if (this.options.width == 'auto') {
|
||||||
|
var ulWidth = this.$newElement.find('.dropdown-menu').css('width');
|
||||||
|
this.$newElement.css('width',ulWidth);
|
||||||
|
} else if (this.options.width && this.options.width != 'auto') {
|
||||||
|
this.$newElement.css('width',this.options.width);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Update the LI to match the SELECT
|
||||||
|
this.$element.find('option').each(function(index) {
|
||||||
|
_this.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled') );
|
||||||
|
_this.setSelected(index, $(this).is(':selected') );
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var selectedItems = this.$element.find('option:selected').map(function(index,value) {
|
||||||
|
if($(this).attr('title')!=undefined) {
|
||||||
|
return $(this).attr('title');
|
||||||
|
} else {
|
||||||
|
return $(this).text();
|
||||||
|
}
|
||||||
|
}).toArray();
|
||||||
|
|
||||||
|
//Convert all the values into a comma delimited string
|
||||||
|
var title = selectedItems.join(", ");
|
||||||
|
|
||||||
|
//If this is multi select, and the selectText type is count, the show 1 of 2 selected etc..
|
||||||
|
if(_this.multiple && _this.options.selectedTextFormat.indexOf('count') > -1) {
|
||||||
|
var max = _this.options.selectedTextFormat.split(">");
|
||||||
|
if( (max.length>1 && selectedItems.length > max[1]) || (max.length==1 && selectedItems.length>=2)) {
|
||||||
|
title = selectedItems.length +' of ' + this.$element.find('option').length + ' selected';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//If we dont have a title, then use the default, or if nothing is set at all, use the not selected text
|
||||||
|
if(!title) {
|
||||||
|
title = _this.options.title != undefined ? _this.options.title : _this.options.noneSelectedText;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$element.next('.select').find('.filter-option').html( title );
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
setSelected:function(index, selected) {
|
||||||
|
if(selected) {
|
||||||
|
this.$newElement.find('li').eq(index).addClass('selected');
|
||||||
|
} else {
|
||||||
|
this.$newElement.find('li').eq(index).removeClass('selected');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setDisabled:function(index, disabled) {
|
||||||
|
if(disabled) {
|
||||||
|
this.$newElement.find('li').eq(index).addClass('disabled');
|
||||||
|
} else {
|
||||||
|
this.$newElement.find('li').eq(index).removeClass('disabled');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
checkDisabled: function() {
|
||||||
|
if (this.$element.is(':disabled')) {
|
||||||
|
this.button.addClass('disabled');
|
||||||
|
this.button.click(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
checkTabIndex: function() {
|
||||||
|
if (this.$element.is('[tabindex]')) {
|
||||||
|
var tabindex = this.$element.attr("tabindex");
|
||||||
|
this.button.attr('tabindex', tabindex);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
clickListener: function() {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
|
$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
this.$newElement.on('click', 'li a', function(e){
|
||||||
|
var clickedIndex = $(this).parent().index(),
|
||||||
|
$this = $(this).parent(),
|
||||||
|
$select = $this.parents('.select');
|
||||||
|
|
||||||
|
|
||||||
|
//Dont close on multi choice menu
|
||||||
|
if(_this.multiple) {
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
//Dont run if we have been disabled
|
||||||
|
if ($select.prev('select').not(':disabled') && !$(this).parent().hasClass('disabled')){
|
||||||
|
//Deselect all others if not multi select box
|
||||||
|
if (!_this.multiple) {
|
||||||
|
$select.prev('select').find('option').removeAttr('selected');
|
||||||
|
$select.prev('select').find('option').eq(clickedIndex).prop('selected', true).attr('selected', 'selected');
|
||||||
|
}
|
||||||
|
//Else toggle the one we have chosen if we are multi selet.
|
||||||
|
else {
|
||||||
|
var selected = $select.prev('select').find('option').eq(clickedIndex).prop('selected');
|
||||||
|
|
||||||
|
if(selected) {
|
||||||
|
$select.prev('select').find('option').eq(clickedIndex).removeAttr('selected');
|
||||||
|
} else {
|
||||||
|
$select.prev('select').find('option').eq(clickedIndex).prop('selected', true).attr('selected', 'selected');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$select.find('.filter-option').html($this.text());
|
||||||
|
$select.find('button').focus();
|
||||||
|
|
||||||
|
// Trigger select 'change'
|
||||||
|
$select.prev('select').trigger('change');
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$newElement.on('click', 'li.disabled a, li dt, li .divider', function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
$select = $(this).parent().parents('.select');
|
||||||
|
$select.find('button').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$element.on('change', function(e) {
|
||||||
|
_this.render();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
val:function(value) {
|
||||||
|
|
||||||
|
if(value!=undefined) {
|
||||||
|
this.$element.val( value );
|
||||||
|
|
||||||
|
this.$element.trigger('change');
|
||||||
|
return this.$element;
|
||||||
|
} else {
|
||||||
|
return this.$element.val();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.selectpicker = function(option, event) {
|
||||||
|
//get the args of the outer function..
|
||||||
|
var args = arguments;
|
||||||
|
var value;
|
||||||
|
var chain = this.each(function () {
|
||||||
|
var $this = $(this),
|
||||||
|
data = $this.data('selectpicker'),
|
||||||
|
options = typeof option == 'object' && option;
|
||||||
|
|
||||||
|
if (!data) {
|
||||||
|
$this.data('selectpicker', (data = new Selectpicker(this, options, event)));
|
||||||
|
} else {
|
||||||
|
for(var i in option) {
|
||||||
|
data[i]=option[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof option == 'string') {
|
||||||
|
//Copy the value of option, as once we shift the arguments
|
||||||
|
//it also shifts the value of option.
|
||||||
|
property = option;
|
||||||
|
if(data[property] instanceof Function) {
|
||||||
|
[].shift.apply(args);
|
||||||
|
value = data[property].apply(data, args);
|
||||||
|
} else {
|
||||||
|
value = data[property];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if(value!=undefined) {
|
||||||
|
return value;
|
||||||
|
} else {
|
||||||
|
return chain;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.selectpicker.defaults = {
|
||||||
|
style: null,
|
||||||
|
size: 'auto',
|
||||||
|
title: null,
|
||||||
|
selectedTextFormat : 'values',
|
||||||
|
noneSelectedText : 'Nothing selected',
|
||||||
|
width: null,
|
||||||
|
menuStyle: null,
|
||||||
|
toggleSize: null
|
||||||
|
}
|
||||||
|
|
||||||
|
}(window.jQuery);
|
|
@ -0,0 +1,251 @@
|
||||||
|
/* ============================================================
|
||||||
|
* bootstrapSwitch v1.3 by Larentis Mattia @spiritualGuru
|
||||||
|
* http://www.larentis.eu/switch/
|
||||||
|
* ============================================================
|
||||||
|
* Licensed under the Apache License, Version 2.0
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
$.fn['bootstrapSwitch'] = function (method) {
|
||||||
|
var methods = {
|
||||||
|
init: function () {
|
||||||
|
return this.each(function () {
|
||||||
|
var $element = $(this)
|
||||||
|
, $div
|
||||||
|
, $switchLeft
|
||||||
|
, $switchRight
|
||||||
|
, $label
|
||||||
|
, myClasses = ""
|
||||||
|
, classes = $element.attr('class')
|
||||||
|
, color
|
||||||
|
, moving
|
||||||
|
, onLabel = "ON"
|
||||||
|
, offLabel = "OFF"
|
||||||
|
, icon = false;
|
||||||
|
|
||||||
|
$.each(['switch-mini', 'switch-small', 'switch-large'], function (i, el) {
|
||||||
|
if (classes.indexOf(el) >= 0)
|
||||||
|
myClasses = el;
|
||||||
|
});
|
||||||
|
|
||||||
|
$element.addClass('has-switch');
|
||||||
|
|
||||||
|
if ($element.data('on') !== undefined)
|
||||||
|
color = "switch-" + $element.data('on');
|
||||||
|
|
||||||
|
if ($element.data('on-label') !== undefined)
|
||||||
|
onLabel = $element.data('on-label');
|
||||||
|
|
||||||
|
if ($element.data('off-label') !== undefined)
|
||||||
|
offLabel = $element.data('off-label');
|
||||||
|
|
||||||
|
if ($element.data('icon') !== undefined)
|
||||||
|
icon = $element.data('icon');
|
||||||
|
|
||||||
|
$switchLeft = $('<span>')
|
||||||
|
.addClass("switch-left")
|
||||||
|
.addClass(myClasses)
|
||||||
|
.addClass(color)
|
||||||
|
.html(onLabel);
|
||||||
|
|
||||||
|
color = '';
|
||||||
|
if ($element.data('off') !== undefined)
|
||||||
|
color = "switch-" + $element.data('off');
|
||||||
|
|
||||||
|
$switchRight = $('<span>')
|
||||||
|
.addClass("switch-right")
|
||||||
|
.addClass(myClasses)
|
||||||
|
.addClass(color)
|
||||||
|
.html(offLabel);
|
||||||
|
|
||||||
|
$label = $('<label>')
|
||||||
|
.html(" ")
|
||||||
|
.addClass(myClasses)
|
||||||
|
.attr('for', $element.find('input').attr('id'));
|
||||||
|
|
||||||
|
if (icon) {
|
||||||
|
$label.html('<i class="' + icon + '"></i>');
|
||||||
|
}
|
||||||
|
|
||||||
|
$div = $element.find(':checkbox').wrap($('<div>')).parent().data('animated', false);
|
||||||
|
|
||||||
|
if ($element.data('animated') !== false)
|
||||||
|
$div.addClass('switch-animate').data('animated', true);
|
||||||
|
|
||||||
|
$div
|
||||||
|
.append($switchLeft)
|
||||||
|
.append($label)
|
||||||
|
.append($switchRight);
|
||||||
|
|
||||||
|
$element.find('>div').addClass(
|
||||||
|
$element.find('input').is(':checked') ? 'switch-on' : 'switch-off'
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($element.find('input').is(':disabled'))
|
||||||
|
$(this).addClass('deactivate');
|
||||||
|
|
||||||
|
var changeStatus = function ($this) {
|
||||||
|
$this.siblings('label').trigger('mousedown').trigger('mouseup').trigger('click');
|
||||||
|
};
|
||||||
|
|
||||||
|
$element.on('keydown', function (e) {
|
||||||
|
if (e.keyCode === 32) {
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
changeStatus($(e.target).find('span:first'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$switchLeft.on('click', function (e) {
|
||||||
|
changeStatus($(this));
|
||||||
|
});
|
||||||
|
|
||||||
|
$switchRight.on('click', function (e) {
|
||||||
|
changeStatus($(this));
|
||||||
|
});
|
||||||
|
|
||||||
|
$element.find('input').on('change', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, $element = $this.parent()
|
||||||
|
, thisState = $this.is(':checked')
|
||||||
|
, state = $element.is('.switch-off');
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
$element.css('left', '');
|
||||||
|
|
||||||
|
if (state === thisState) {
|
||||||
|
|
||||||
|
if (thisState)
|
||||||
|
$element.removeClass('switch-off').addClass('switch-on');
|
||||||
|
else $element.removeClass('switch-on').addClass('switch-off');
|
||||||
|
|
||||||
|
if ($element.data('animated') !== false)
|
||||||
|
$element.addClass("switch-animate");
|
||||||
|
|
||||||
|
$element.parent().trigger('switch-change', {'el': $this, 'value': thisState})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$element.find('label').on('mousedown touchstart', function (e) {
|
||||||
|
var $this = $(this);
|
||||||
|
moving = false;
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
|
||||||
|
$this.closest('div').removeClass('switch-animate');
|
||||||
|
|
||||||
|
if ($this.closest('.has-switch').is('.deactivate'))
|
||||||
|
$this.unbind('click');
|
||||||
|
else {
|
||||||
|
$this.on('mousemove touchmove', function (e) {
|
||||||
|
var $element = $(this).closest('.switch')
|
||||||
|
, relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left
|
||||||
|
, percent = (relativeX / $element.width()) * 100
|
||||||
|
, left = 25
|
||||||
|
, right = 75;
|
||||||
|
|
||||||
|
moving = true;
|
||||||
|
|
||||||
|
if (percent < left)
|
||||||
|
percent = left;
|
||||||
|
else if (percent > right)
|
||||||
|
percent = right;
|
||||||
|
|
||||||
|
$element.find('>div').css('left', (percent - right) + "%")
|
||||||
|
});
|
||||||
|
|
||||||
|
$this.on('click touchend', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, $target = $(e.target)
|
||||||
|
, $myCheckBox = $target.siblings('input');
|
||||||
|
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
$this.unbind('mouseleave');
|
||||||
|
|
||||||
|
if (moving)
|
||||||
|
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25));
|
||||||
|
else $myCheckBox.prop("checked", !$myCheckBox.is(":checked"));
|
||||||
|
|
||||||
|
moving = false;
|
||||||
|
$myCheckBox.trigger('change');
|
||||||
|
});
|
||||||
|
|
||||||
|
$this.on('mouseleave', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
, $myCheckBox = $this.siblings('input');
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
|
||||||
|
$this.unbind('mouseleave');
|
||||||
|
$this.trigger('mouseup');
|
||||||
|
|
||||||
|
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25)).trigger('change');
|
||||||
|
});
|
||||||
|
|
||||||
|
$this.on('mouseup', function (e) {
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
$(this).unbind('mousemove');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
toggleActivation: function () {
|
||||||
|
$(this).toggleClass('deactivate');
|
||||||
|
},
|
||||||
|
isActive: function () {
|
||||||
|
return !$(this).hasClass('deactivate');
|
||||||
|
},
|
||||||
|
setActive: function (active) {
|
||||||
|
if (active)
|
||||||
|
$(this).removeClass('deactivate');
|
||||||
|
else $(this).addClass('deactivate');
|
||||||
|
},
|
||||||
|
toggleState: function (skipOnChange) {
|
||||||
|
var $input = $(this).find('input:checkbox');
|
||||||
|
$input.prop('checked', !$input.is(':checked')).trigger('change', skipOnChange);
|
||||||
|
},
|
||||||
|
setState: function (value, skipOnChange) {
|
||||||
|
$(this).find('input:checkbox').prop('checked', value).trigger('change', skipOnChange);
|
||||||
|
},
|
||||||
|
status: function () {
|
||||||
|
return $(this).find('input:checkbox').is(':checked');
|
||||||
|
},
|
||||||
|
destroy: function () {
|
||||||
|
var $div = $(this).find('div')
|
||||||
|
, $checkbox;
|
||||||
|
|
||||||
|
$div.find(':not(input:checkbox)').remove();
|
||||||
|
|
||||||
|
$checkbox = $div.children();
|
||||||
|
$checkbox.unwrap().unwrap();
|
||||||
|
|
||||||
|
$checkbox.unbind('change');
|
||||||
|
|
||||||
|
return $checkbox;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (methods[method])
|
||||||
|
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
||||||
|
else if (typeof method === 'object' || !method)
|
||||||
|
return methods.init.apply(this, arguments);
|
||||||
|
else
|
||||||
|
$.error('Method ' + method + ' does not exist!');
|
||||||
|
};
|
||||||
|
}(jQuery);
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
$('.switch')['bootstrapSwitch']();
|
||||||
|
});
|
|
@ -0,0 +1,335 @@
|
||||||
|
/* =============================================================
|
||||||
|
* bootstrap-typeahead.js v2.3.2
|
||||||
|
* http://getbootstrap.com/2.3.2/javascript.html#typeahead
|
||||||
|
* =============================================================
|
||||||
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
|
||||||
|
!function($){
|
||||||
|
|
||||||
|
"use strict"; // jshint ;_;
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
||||||
|
* ================================= */
|
||||||
|
|
||||||
|
var Typeahead = function (element, options) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
||||||
|
this.matcher = this.options.matcher || this.matcher
|
||||||
|
this.sorter = this.options.sorter || this.sorter
|
||||||
|
this.highlighter = this.options.highlighter || this.highlighter
|
||||||
|
this.updater = this.options.updater || this.updater
|
||||||
|
this.source = this.options.source
|
||||||
|
this.$menu = $(this.options.menu)
|
||||||
|
this.shown = false
|
||||||
|
this.listen()
|
||||||
|
}
|
||||||
|
|
||||||
|
Typeahead.prototype = {
|
||||||
|
|
||||||
|
constructor: Typeahead
|
||||||
|
|
||||||
|
, select: function () {
|
||||||
|
var val = this.$menu.find('.active').attr('data-value')
|
||||||
|
this.$element
|
||||||
|
.val(this.updater(val))
|
||||||
|
.change()
|
||||||
|
return this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
, updater: function (item) {
|
||||||
|
return item
|
||||||
|
}
|
||||||
|
|
||||||
|
, show: function () {
|
||||||
|
var pos = $.extend({}, this.$element.position(), {
|
||||||
|
height: this.$element[0].offsetHeight
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$menu
|
||||||
|
.insertAfter(this.$element)
|
||||||
|
.css({
|
||||||
|
top: pos.top + pos.height
|
||||||
|
, left: pos.left
|
||||||
|
})
|
||||||
|
.show()
|
||||||
|
|
||||||
|
this.shown = true
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, hide: function () {
|
||||||
|
this.$menu.hide()
|
||||||
|
this.shown = false
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, lookup: function (event) {
|
||||||
|
var items
|
||||||
|
|
||||||
|
this.query = this.$element.val()
|
||||||
|
|
||||||
|
if (!this.query || this.query.length < this.options.minLength) {
|
||||||
|
return this.shown ? this.hide() : this
|
||||||
|
}
|
||||||
|
|
||||||
|
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
|
||||||
|
|
||||||
|
return items ? this.process(items) : this
|
||||||
|
}
|
||||||
|
|
||||||
|
, process: function (items) {
|
||||||
|
var that = this
|
||||||
|
|
||||||
|
items = $.grep(items, function (item) {
|
||||||
|
return that.matcher(item)
|
||||||
|
})
|
||||||
|
|
||||||
|
items = this.sorter(items)
|
||||||
|
|
||||||
|
if (!items.length) {
|
||||||
|
return this.shown ? this.hide() : this
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.render(items.slice(0, this.options.items)).show()
|
||||||
|
}
|
||||||
|
|
||||||
|
, matcher: function (item) {
|
||||||
|
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
|
||||||
|
}
|
||||||
|
|
||||||
|
, sorter: function (items) {
|
||||||
|
var beginswith = []
|
||||||
|
, caseSensitive = []
|
||||||
|
, caseInsensitive = []
|
||||||
|
, item
|
||||||
|
|
||||||
|
while (item = items.shift()) {
|
||||||
|
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
|
||||||
|
else if (~item.indexOf(this.query)) caseSensitive.push(item)
|
||||||
|
else caseInsensitive.push(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
return beginswith.concat(caseSensitive, caseInsensitive)
|
||||||
|
}
|
||||||
|
|
||||||
|
, highlighter: function (item) {
|
||||||
|
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
||||||
|
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||||
|
return '<strong>' + match + '</strong>'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
, render: function (items) {
|
||||||
|
var that = this
|
||||||
|
|
||||||
|
items = $(items).map(function (i, item) {
|
||||||
|
i = $(that.options.item).attr('data-value', item)
|
||||||
|
i.find('a').html(that.highlighter(item))
|
||||||
|
return i[0]
|
||||||
|
})
|
||||||
|
|
||||||
|
items.first().addClass('active')
|
||||||
|
this.$menu.html(items)
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
, next: function (event) {
|
||||||
|
var active = this.$menu.find('.active').removeClass('active')
|
||||||
|
, next = active.next()
|
||||||
|
|
||||||
|
if (!next.length) {
|
||||||
|
next = $(this.$menu.find('li')[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
next.addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, prev: function (event) {
|
||||||
|
var active = this.$menu.find('.active').removeClass('active')
|
||||||
|
, prev = active.prev()
|
||||||
|
|
||||||
|
if (!prev.length) {
|
||||||
|
prev = this.$menu.find('li').last()
|
||||||
|
}
|
||||||
|
|
||||||
|
prev.addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, listen: function () {
|
||||||
|
this.$element
|
||||||
|
.on('focus', $.proxy(this.focus, this))
|
||||||
|
.on('blur', $.proxy(this.blur, this))
|
||||||
|
.on('keypress', $.proxy(this.keypress, this))
|
||||||
|
.on('keyup', $.proxy(this.keyup, this))
|
||||||
|
|
||||||
|
if (this.eventSupported('keydown')) {
|
||||||
|
this.$element.on('keydown', $.proxy(this.keydown, this))
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$menu
|
||||||
|
.on('click', $.proxy(this.click, this))
|
||||||
|
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
||||||
|
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
|
||||||
|
}
|
||||||
|
|
||||||
|
, eventSupported: function(eventName) {
|
||||||
|
var isSupported = eventName in this.$element
|
||||||
|
if (!isSupported) {
|
||||||
|
this.$element.setAttribute(eventName, 'return;')
|
||||||
|
isSupported = typeof this.$element[eventName] === 'function'
|
||||||
|
}
|
||||||
|
return isSupported
|
||||||
|
}
|
||||||
|
|
||||||
|
, move: function (e) {
|
||||||
|
if (!this.shown) return
|
||||||
|
|
||||||
|
switch(e.keyCode) {
|
||||||
|
case 9: // tab
|
||||||
|
case 13: // enter
|
||||||
|
case 27: // escape
|
||||||
|
e.preventDefault()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 38: // up arrow
|
||||||
|
e.preventDefault()
|
||||||
|
this.prev()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 40: // down arrow
|
||||||
|
e.preventDefault()
|
||||||
|
this.next()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
e.stopPropagation()
|
||||||
|
}
|
||||||
|
|
||||||
|
, keydown: function (e) {
|
||||||
|
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
|
||||||
|
this.move(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
, keypress: function (e) {
|
||||||
|
if (this.suppressKeyPressRepeat) return
|
||||||
|
this.move(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
, keyup: function (e) {
|
||||||
|
switch(e.keyCode) {
|
||||||
|
case 40: // down arrow
|
||||||
|
case 38: // up arrow
|
||||||
|
case 16: // shift
|
||||||
|
case 17: // ctrl
|
||||||
|
case 18: // alt
|
||||||
|
break
|
||||||
|
|
||||||
|
case 9: // tab
|
||||||
|
case 13: // enter
|
||||||
|
if (!this.shown) return
|
||||||
|
this.select()
|
||||||
|
break
|
||||||
|
|
||||||
|
case 27: // escape
|
||||||
|
if (!this.shown) return
|
||||||
|
this.hide()
|
||||||
|
break
|
||||||
|
|
||||||
|
default:
|
||||||
|
this.lookup()
|
||||||
|
}
|
||||||
|
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
}
|
||||||
|
|
||||||
|
, focus: function (e) {
|
||||||
|
this.focused = true
|
||||||
|
}
|
||||||
|
|
||||||
|
, blur: function (e) {
|
||||||
|
this.focused = false
|
||||||
|
if (!this.mousedover && this.shown) this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
, click: function (e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
this.select()
|
||||||
|
this.$element.focus()
|
||||||
|
}
|
||||||
|
|
||||||
|
, mouseenter: function (e) {
|
||||||
|
this.mousedover = true
|
||||||
|
this.$menu.find('.active').removeClass('active')
|
||||||
|
$(e.currentTarget).addClass('active')
|
||||||
|
}
|
||||||
|
|
||||||
|
, mouseleave: function (e) {
|
||||||
|
this.mousedover = false
|
||||||
|
if (!this.focused && this.shown) this.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD PLUGIN DEFINITION
|
||||||
|
* =========================== */
|
||||||
|
|
||||||
|
var old = $.fn.typeahead
|
||||||
|
|
||||||
|
$.fn.typeahead = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('typeahead')
|
||||||
|
, options = typeof option == 'object' && option
|
||||||
|
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
|
||||||
|
if (typeof option == 'string') data[option]()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.typeahead.defaults = {
|
||||||
|
source: []
|
||||||
|
, items: 8
|
||||||
|
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
||||||
|
, item: '<li><a href="#"></a></li>'
|
||||||
|
, minLength: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.typeahead.Constructor = Typeahead
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD NO CONFLICT
|
||||||
|
* =================== */
|
||||||
|
|
||||||
|
$.fn.typeahead.noConflict = function () {
|
||||||
|
$.fn.typeahead = old
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* TYPEAHEAD DATA-API
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
||||||
|
var $this = $(this)
|
||||||
|
if ($this.data('typeahead')) return
|
||||||
|
$this.typeahead($this.data())
|
||||||
|
})
|
||||||
|
|
||||||
|
}(window.jQuery);
|
|
@ -0,0 +1,112 @@
|
||||||
|
/* =============================================================
|
||||||
|
* flatui-checkbox.js v0.0.3
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
/* CHECKBOX PUBLIC CLASS DEFINITION
|
||||||
|
* ============================== */
|
||||||
|
|
||||||
|
var Checkbox = function (element, options) {
|
||||||
|
this.init(element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Checkbox.prototype = {
|
||||||
|
|
||||||
|
constructor: Checkbox
|
||||||
|
|
||||||
|
, init: function (element, options) {
|
||||||
|
var $el = this.$element = $(element)
|
||||||
|
|
||||||
|
this.options = $.extend({}, $.fn.checkbox.defaults, options);
|
||||||
|
$el.before(this.options.template);
|
||||||
|
this.setState();
|
||||||
|
}
|
||||||
|
|
||||||
|
, setState: function () {
|
||||||
|
var $el = this.$element
|
||||||
|
, $parent = $el.closest('.checkbox');
|
||||||
|
|
||||||
|
$el.prop('disabled') && $parent.addClass('disabled');
|
||||||
|
$el.prop('checked') && $parent.addClass('checked');
|
||||||
|
}
|
||||||
|
|
||||||
|
, toggle: function () {
|
||||||
|
var ch = 'checked'
|
||||||
|
, $el = this.$element
|
||||||
|
, $parent = $el.closest('.checkbox')
|
||||||
|
, checked = $el.prop(ch)
|
||||||
|
, e = $.Event('toggle')
|
||||||
|
|
||||||
|
if ($el.prop('disabled') == false) {
|
||||||
|
$parent.toggleClass(ch) && checked ? $el.removeAttr(ch) : $el.prop(ch, ch);
|
||||||
|
$el.trigger(e).trigger('change');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, setCheck: function (option) {
|
||||||
|
var d = 'disabled'
|
||||||
|
, ch = 'checked'
|
||||||
|
, $el = this.$element
|
||||||
|
, $parent = $el.closest('.checkbox')
|
||||||
|
, checkAction = option == 'check' ? true : false
|
||||||
|
, e = $.Event(option)
|
||||||
|
|
||||||
|
$parent[checkAction ? 'addClass' : 'removeClass' ](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
||||||
|
$el.trigger(e).trigger('change');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CHECKBOX PLUGIN DEFINITION
|
||||||
|
* ======================== */
|
||||||
|
|
||||||
|
var old = $.fn.checkbox
|
||||||
|
|
||||||
|
$.fn.checkbox = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('checkbox')
|
||||||
|
, options = $.extend({}, $.fn.checkbox.defaults, $this.data(), typeof option == 'object' && option);
|
||||||
|
if (!data) $this.data('checkbox', (data = new Checkbox(this, options)));
|
||||||
|
if (option == 'toggle') data.toggle()
|
||||||
|
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
||||||
|
else if (option) data.setState();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.checkbox.defaults = {
|
||||||
|
template: '<span class="icons"><span class="first-icon fui-checkbox-unchecked"></span><span class="second-icon fui-checkbox-checked"></span></span>'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CHECKBOX NO CONFLICT
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$.fn.checkbox.noConflict = function () {
|
||||||
|
$.fn.checkbox = old;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CHECKBOX DATA-API
|
||||||
|
* =============== */
|
||||||
|
|
||||||
|
$(document).on('click.checkbox.data-api', '[data-toggle^=checkbox], .checkbox', function (e) {
|
||||||
|
var $checkbox = $(e.target);
|
||||||
|
if (e.target.tagName != "A") {
|
||||||
|
e && e.preventDefault() && e.stopPropagation();
|
||||||
|
if (!$checkbox.hasClass('checkbox')) $checkbox = $checkbox.closest('.checkbox');
|
||||||
|
$checkbox.find(':checkbox').checkbox('toggle');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
$('[data-toggle="checkbox"]').each(function () {
|
||||||
|
var $checkbox = $(this);
|
||||||
|
$checkbox.checkbox();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}(window.jQuery);
|
|
@ -0,0 +1,141 @@
|
||||||
|
/* =============================================================
|
||||||
|
* flatui-radio.js v0.0.3
|
||||||
|
* ============================================================ */
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
|
||||||
|
/* RADIO PUBLIC CLASS DEFINITION
|
||||||
|
* ============================== */
|
||||||
|
|
||||||
|
var Radio = function (element, options) {
|
||||||
|
this.init(element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Radio.prototype = {
|
||||||
|
|
||||||
|
constructor: Radio
|
||||||
|
|
||||||
|
, init: function (element, options) {
|
||||||
|
var $el = this.$element = $(element)
|
||||||
|
|
||||||
|
this.options = $.extend({}, $.fn.radio.defaults, options);
|
||||||
|
$el.before(this.options.template);
|
||||||
|
this.setState();
|
||||||
|
}
|
||||||
|
|
||||||
|
, setState: function () {
|
||||||
|
var $el = this.$element
|
||||||
|
, $parent = $el.closest('.radio');
|
||||||
|
|
||||||
|
$el.prop('disabled') && $parent.addClass('disabled');
|
||||||
|
$el.prop('checked') && $parent.addClass('checked');
|
||||||
|
}
|
||||||
|
|
||||||
|
, toggle: function () {
|
||||||
|
var d = 'disabled'
|
||||||
|
, ch = 'checked'
|
||||||
|
, $el = this.$element
|
||||||
|
, checked = $el.prop(ch)
|
||||||
|
, $parent = $el.closest('.radio')
|
||||||
|
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
||||||
|
, $elemGroup = $parentWrap.find(':radio[name="' + $el.attr('name') + '"]')
|
||||||
|
, e = $.Event('toggle')
|
||||||
|
|
||||||
|
$elemGroup.not($el).each(function () {
|
||||||
|
var $el = $(this)
|
||||||
|
, $parent = $(this).closest('.radio');
|
||||||
|
|
||||||
|
if ($el.prop(d) == false) {
|
||||||
|
$parent.removeClass(ch) && $el.removeAttr(ch).trigger('change');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if ($el.prop(d) == false) {
|
||||||
|
if (checked == false) $parent.addClass(ch) && $el.attr(ch, true);
|
||||||
|
$el.trigger(e);
|
||||||
|
|
||||||
|
if (checked !== $el.prop(ch)) {
|
||||||
|
$el.trigger('change');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, setCheck: function (option) {
|
||||||
|
var ch = 'checked'
|
||||||
|
, $el = this.$element
|
||||||
|
, $parent = $el.closest('.radio')
|
||||||
|
, checkAction = option == 'check' ? true : false
|
||||||
|
, checked = $el.prop(ch)
|
||||||
|
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
||||||
|
, $elemGroup = $parentWrap.find(':radio[name="' + $el['attr']('name') + '"]')
|
||||||
|
, e = $.Event(option)
|
||||||
|
|
||||||
|
$elemGroup.not($el).each(function () {
|
||||||
|
var $el = $(this)
|
||||||
|
, $parent = $(this).closest('.radio');
|
||||||
|
|
||||||
|
$parent.removeClass(ch) && $el.removeAttr(ch);
|
||||||
|
});
|
||||||
|
|
||||||
|
$parent[checkAction ? 'addClass' : 'removeClass'](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
||||||
|
$el.trigger(e);
|
||||||
|
|
||||||
|
if (checked !== $el.prop(ch)) {
|
||||||
|
$el.trigger('change');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* RADIO PLUGIN DEFINITION
|
||||||
|
* ======================== */
|
||||||
|
|
||||||
|
var old = $.fn.radio
|
||||||
|
|
||||||
|
$.fn.radio = function (option) {
|
||||||
|
return this.each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
, data = $this.data('radio')
|
||||||
|
, options = $.extend({}, $.fn.radio.defaults, $this.data(), typeof option == 'object' && option);
|
||||||
|
if (!data) $this.data('radio', (data = new Radio(this, options)));
|
||||||
|
if (option == 'toggle') data.toggle()
|
||||||
|
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
||||||
|
else if (option) data.setState();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.radio.defaults = {
|
||||||
|
template: '<span class="icons"><span class="first-icon fui-radio-unchecked"></span><span class="second-icon fui-radio-checked"></span></span>'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* RADIO NO CONFLICT
|
||||||
|
* ================== */
|
||||||
|
|
||||||
|
$.fn.radio.noConflict = function () {
|
||||||
|
$.fn.radio = old;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* RADIO DATA-API
|
||||||
|
* =============== */
|
||||||
|
|
||||||
|
$(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) {
|
||||||
|
var $radio = $(e.target);
|
||||||
|
if (e.target.tagName != "A") {
|
||||||
|
e && e.preventDefault() && e.stopPropagation();
|
||||||
|
if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio');
|
||||||
|
$radio.find(':radio').radio('toggle');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
$('[data-toggle="radio"]').each(function () {
|
||||||
|
var $radio = $(this);
|
||||||
|
$radio.radio();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}(window.jQuery);
|
|
@ -0,0 +1,8 @@
|
||||||
|
/*
|
||||||
|
HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||||
|
*/
|
||||||
|
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
||||||
|
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
||||||
|
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
||||||
|
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
||||||
|
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
|
@ -0,0 +1,57 @@
|
||||||
|
/* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */
|
||||||
|
|
||||||
|
window.onload = function() {
|
||||||
|
function addIcon(el, entity) {
|
||||||
|
var html = el.innerHTML;
|
||||||
|
el.innerHTML = '<span style="font-family: \'Flat-UI-Icons\'">' + entity + '</span>' + html;
|
||||||
|
}
|
||||||
|
var icons = {
|
||||||
|
'fui-arrow-right' : '',
|
||||||
|
'fui-arrow-left' : '',
|
||||||
|
'fui-cmd' : '',
|
||||||
|
'fui-check-inverted' : '',
|
||||||
|
'fui-heart' : '',
|
||||||
|
'fui-location' : '',
|
||||||
|
'fui-plus' : '',
|
||||||
|
'fui-check' : '',
|
||||||
|
'fui-cross' : '',
|
||||||
|
'fui-list' : '',
|
||||||
|
'fui-new' : '',
|
||||||
|
'fui-video' : '',
|
||||||
|
'fui-photo' : '',
|
||||||
|
'fui-volume' : '',
|
||||||
|
'fui-time' : '',
|
||||||
|
'fui-eye' : '',
|
||||||
|
'fui-chat' : '',
|
||||||
|
'fui-search' : '',
|
||||||
|
'fui-user' : '',
|
||||||
|
'fui-mail' : '',
|
||||||
|
'fui-lock' : '',
|
||||||
|
'fui-gear' : '',
|
||||||
|
'fui-radio-unchecked' : '',
|
||||||
|
'fui-radio-checked' : '',
|
||||||
|
'fui-checkbox-unchecked' : '',
|
||||||
|
'fui-checkbox-checked' : '',
|
||||||
|
'fui-calendar-solid' : '',
|
||||||
|
'fui-pause' : '',
|
||||||
|
'fui-play' : '',
|
||||||
|
'fui-check-inverted-2' : ''
|
||||||
|
},
|
||||||
|
els = document.getElementsByTagName('*'),
|
||||||
|
i, attr, html, c, el;
|
||||||
|
for (i = 0; ; i += 1) {
|
||||||
|
el = els[i];
|
||||||
|
if(!el) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
attr = el.getAttribute('data-icon');
|
||||||
|
if (attr) {
|
||||||
|
addIcon(el, attr);
|
||||||
|
}
|
||||||
|
c = el.className;
|
||||||
|
c = c.match(/fui-[^\s'"]+/);
|
||||||
|
if (c && icons[c[0]]) {
|
||||||
|
addIcon(el, icons[c[0]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,157 @@
|
||||||
|
/*! http://mths.be/placeholder v2.0.7 by @mathias */
|
||||||
|
;(function(window, document, $) {
|
||||||
|
|
||||||
|
var isInputSupported = 'placeholder' in document.createElement('input'),
|
||||||
|
isTextareaSupported = 'placeholder' in document.createElement('textarea'),
|
||||||
|
prototype = $.fn,
|
||||||
|
valHooks = $.valHooks,
|
||||||
|
hooks,
|
||||||
|
placeholder;
|
||||||
|
|
||||||
|
if (isInputSupported && isTextareaSupported) {
|
||||||
|
|
||||||
|
placeholder = prototype.placeholder = function() {
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
placeholder.input = placeholder.textarea = true;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
placeholder = prototype.placeholder = function() {
|
||||||
|
var $this = this;
|
||||||
|
$this
|
||||||
|
.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')
|
||||||
|
.not('.placeholder')
|
||||||
|
.bind({
|
||||||
|
'focus.placeholder': clearPlaceholder,
|
||||||
|
'blur.placeholder': setPlaceholder
|
||||||
|
})
|
||||||
|
.data('placeholder-enabled', true)
|
||||||
|
.trigger('blur.placeholder');
|
||||||
|
return $this;
|
||||||
|
};
|
||||||
|
|
||||||
|
placeholder.input = isInputSupported;
|
||||||
|
placeholder.textarea = isTextareaSupported;
|
||||||
|
|
||||||
|
hooks = {
|
||||||
|
'get': function(element) {
|
||||||
|
var $element = $(element);
|
||||||
|
return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;
|
||||||
|
},
|
||||||
|
'set': function(element, value) {
|
||||||
|
var $element = $(element);
|
||||||
|
if (!$element.data('placeholder-enabled')) {
|
||||||
|
return element.value = value;
|
||||||
|
}
|
||||||
|
if (value == '') {
|
||||||
|
element.value = value;
|
||||||
|
// Issue #56: Setting the placeholder causes problems if the element continues to have focus.
|
||||||
|
if (element != document.activeElement) {
|
||||||
|
// We can't use `triggerHandler` here because of dummy text/password inputs :(
|
||||||
|
setPlaceholder.call(element);
|
||||||
|
}
|
||||||
|
} else if ($element.hasClass('placeholder')) {
|
||||||
|
clearPlaceholder.call(element, true, value) || (element.value = value);
|
||||||
|
} else {
|
||||||
|
element.value = value;
|
||||||
|
}
|
||||||
|
// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
|
||||||
|
return $element;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
isInputSupported || (valHooks.input = hooks);
|
||||||
|
isTextareaSupported || (valHooks.textarea = hooks);
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
// Look for forms
|
||||||
|
$(document).delegate('form', 'submit.placeholder', function() {
|
||||||
|
// Clear the placeholder values so they don't get submitted
|
||||||
|
var $inputs = $('.placeholder', this).each(clearPlaceholder);
|
||||||
|
setTimeout(function() {
|
||||||
|
$inputs.each(setPlaceholder);
|
||||||
|
}, 10);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Clear placeholder values upon page reload
|
||||||
|
$(window).bind('beforeunload.placeholder', function() {
|
||||||
|
$('.placeholder').each(function() {
|
||||||
|
this.value = '';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function args(elem) {
|
||||||
|
// Return an object of element attributes
|
||||||
|
var newAttrs = {},
|
||||||
|
rinlinejQuery = /^jQuery\d+$/;
|
||||||
|
$.each(elem.attributes, function(i, attr) {
|
||||||
|
if (attr.specified && !rinlinejQuery.test(attr.name)) {
|
||||||
|
newAttrs[attr.name] = attr.value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return newAttrs;
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearPlaceholder(event, value) {
|
||||||
|
var input = this,
|
||||||
|
$input = $(input);
|
||||||
|
if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {
|
||||||
|
if ($input.data('placeholder-password')) {
|
||||||
|
$input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
|
||||||
|
// If `clearPlaceholder` was called from `$.valHooks.input.set`
|
||||||
|
if (event === true) {
|
||||||
|
return $input[0].value = value;
|
||||||
|
}
|
||||||
|
$input.focus();
|
||||||
|
} else {
|
||||||
|
input.value = '';
|
||||||
|
$input.removeClass('placeholder');
|
||||||
|
input == document.activeElement && input.select();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setPlaceholder() {
|
||||||
|
var $replacement,
|
||||||
|
input = this,
|
||||||
|
$input = $(input),
|
||||||
|
$origInput = $input,
|
||||||
|
id = this.id;
|
||||||
|
if (input.value == '') {
|
||||||
|
if (input.type == 'password') {
|
||||||
|
if (!$input.data('placeholder-textinput')) {
|
||||||
|
try {
|
||||||
|
$replacement = $input.clone().attr({ 'type': 'text' });
|
||||||
|
} catch(e) {
|
||||||
|
$replacement = $('<input>').attr($.extend(args(this), { 'type': 'text' }));
|
||||||
|
}
|
||||||
|
$replacement
|
||||||
|
.removeAttr('name')
|
||||||
|
.data({
|
||||||
|
'placeholder-password': true,
|
||||||
|
'placeholder-id': id
|
||||||
|
})
|
||||||
|
.bind('focus.placeholder', clearPlaceholder);
|
||||||
|
$input
|
||||||
|
.data({
|
||||||
|
'placeholder-textinput': $replacement,
|
||||||
|
'placeholder-id': id
|
||||||
|
})
|
||||||
|
.before($replacement);
|
||||||
|
}
|
||||||
|
$input = $input.removeAttr('id').hide().prev().attr('id', id).show();
|
||||||
|
// Note: `$input[0] != input` now!
|
||||||
|
}
|
||||||
|
$input.addClass('placeholder');
|
||||||
|
$input[0].value = $input.attr('placeholder');
|
||||||
|
} else {
|
||||||
|
$input.removeClass('placeholder');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}(this, document, jQuery));
|
|
@ -0,0 +1,54 @@
|
||||||
|
/**
|
||||||
|
* MODIFIED CAUSE WE NEEDED OUR OWN MARKUP
|
||||||
|
* stacktable.js
|
||||||
|
* Author & copyright (c) 2012: John Polacek
|
||||||
|
* Dual MIT & GPL license
|
||||||
|
*
|
||||||
|
* Page: http://johnpolacek.github.com/stacktable.js
|
||||||
|
* Repo: https://github.com/johnpolacek/stacktable.js/
|
||||||
|
*
|
||||||
|
* jQuery plugin for stacking tables on small screens
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
;(function($) {
|
||||||
|
|
||||||
|
$.fn.stacktable = function(options) {
|
||||||
|
var $tables = this,
|
||||||
|
defaults = {id:'stacktable',hideOriginal:false},
|
||||||
|
settings = $.extend({}, defaults, options),
|
||||||
|
stacktable;
|
||||||
|
|
||||||
|
return $tables.each(function() {
|
||||||
|
var $stacktable = $('<table class="'+settings.id+'"><tbody></tbody></table>');
|
||||||
|
if (typeof settings.myClass !== undefined) $stacktable.addClass(settings.myClass);
|
||||||
|
var markup = '';
|
||||||
|
$table = $(this);
|
||||||
|
$topRow = $table.find('tr').eq(0);
|
||||||
|
$table.find('tr').each(function(index,value) {
|
||||||
|
var zebra = "";
|
||||||
|
if (index % 2 === 0) {
|
||||||
|
zebra = "even";
|
||||||
|
} else {
|
||||||
|
zebra = "odd";
|
||||||
|
}
|
||||||
|
markup += '<tr class="' + zebra + '">';
|
||||||
|
$(this).find('td').each(function(index,value) {
|
||||||
|
if ($(this).html() !== ''){
|
||||||
|
markup += '<tr class="' + zebra + '">';
|
||||||
|
if ($topRow.find('td,th').eq(index).html()){
|
||||||
|
markup += '<td>'+$topRow.find('td,th').eq(index).html()+'</td>';
|
||||||
|
} else {
|
||||||
|
markup += '<td></td>';
|
||||||
|
}
|
||||||
|
markup += '<td>'+$(this).html()+'</td>';
|
||||||
|
markup += '</tr>';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$stacktable.append($(markup));
|
||||||
|
$table.before($stacktable);
|
||||||
|
if (settings.hideOriginal) $table.hide();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
}(jQuery));
|
|
@ -0,0 +1,355 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
jQuery Tags Input Plugin 1.3.3
|
||||||
|
|
||||||
|
Copyright (c) 2011 XOXCO, Inc
|
||||||
|
|
||||||
|
Documentation for this plugin lives here:
|
||||||
|
http://xoxco.com/clickable/jquery-tags-input
|
||||||
|
|
||||||
|
Licensed under the MIT license:
|
||||||
|
http://www.opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
ben@xoxco.com
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
|
||||||
|
var delimiter = new Array();
|
||||||
|
var tags_callbacks = new Array();
|
||||||
|
$.fn.doAutosize = function(o){
|
||||||
|
var minWidth = $(this).data('minwidth'),
|
||||||
|
maxWidth = $(this).data('maxwidth'),
|
||||||
|
val = '',
|
||||||
|
input = $(this),
|
||||||
|
testSubject = $('#'+$(this).data('tester_id'));
|
||||||
|
|
||||||
|
if (val === (val = input.val())) {return;}
|
||||||
|
|
||||||
|
// Enter new content into testSubject
|
||||||
|
var escaped = val.replace(/&/g, '&').replace(/\s/g,' ').replace(/</g, '<').replace(/>/g, '>');
|
||||||
|
testSubject.html(escaped);
|
||||||
|
// Calculate new width + whether to change
|
||||||
|
var testerWidth = testSubject.width(),
|
||||||
|
newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth,
|
||||||
|
currentWidth = input.width(),
|
||||||
|
isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth)
|
||||||
|
|| (newWidth > minWidth && newWidth < maxWidth);
|
||||||
|
|
||||||
|
// Animate width
|
||||||
|
if (isValidWidthChange) {
|
||||||
|
input.width(newWidth);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
$.fn.resetAutosize = function(options){
|
||||||
|
// alert(JSON.stringify(options));
|
||||||
|
var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(),
|
||||||
|
maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding),
|
||||||
|
val = '',
|
||||||
|
input = $(this),
|
||||||
|
testSubject = $('<tester/>').css({
|
||||||
|
position: 'absolute',
|
||||||
|
top: -9999,
|
||||||
|
left: -9999,
|
||||||
|
width: 'auto',
|
||||||
|
fontSize: input.css('fontSize'),
|
||||||
|
fontFamily: input.css('fontFamily'),
|
||||||
|
fontWeight: input.css('fontWeight'),
|
||||||
|
letterSpacing: input.css('letterSpacing'),
|
||||||
|
whiteSpace: 'nowrap'
|
||||||
|
}),
|
||||||
|
testerId = $(this).attr('id')+'_autosize_tester';
|
||||||
|
if(! $('#'+testerId).length > 0){
|
||||||
|
testSubject.attr('id', testerId);
|
||||||
|
testSubject.appendTo('body');
|
||||||
|
}
|
||||||
|
|
||||||
|
input.data('minwidth', minWidth);
|
||||||
|
input.data('maxwidth', maxWidth);
|
||||||
|
input.data('tester_id', testerId);
|
||||||
|
input.css('width', minWidth);
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.addTag = function(value,options) {
|
||||||
|
options = jQuery.extend({focus:false,callback:true},options);
|
||||||
|
this.each(function() {
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
|
||||||
|
var tagslist = $(this).val().split(delimiter[id]);
|
||||||
|
if (tagslist[0] == '') {
|
||||||
|
tagslist = new Array();
|
||||||
|
}
|
||||||
|
|
||||||
|
value = jQuery.trim(value);
|
||||||
|
|
||||||
|
if (options.unique) {
|
||||||
|
var skipTag = $(this).tagExist(value);
|
||||||
|
if(skipTag == true) {
|
||||||
|
//Marks fake input as not_valid to let styling it
|
||||||
|
$('#'+id+'_tag').addClass('not_valid');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var skipTag = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value !='' && skipTag != true) {
|
||||||
|
$('<span>').addClass('tag').append(
|
||||||
|
$('<span>').text(value).append(' '),
|
||||||
|
$('<a class="tagsinput-remove-link">', {
|
||||||
|
href : '#',
|
||||||
|
title : 'Remove tag',
|
||||||
|
text : ''
|
||||||
|
}).click(function () {
|
||||||
|
return $('#' + id).removeTag(escape(value));
|
||||||
|
})
|
||||||
|
).insertBefore('#' + id + '_addTag');
|
||||||
|
|
||||||
|
tagslist.push(value);
|
||||||
|
|
||||||
|
$('#'+id+'_tag').val('');
|
||||||
|
if (options.focus) {
|
||||||
|
$('#'+id+'_tag').focus();
|
||||||
|
} else {
|
||||||
|
$('#'+id+'_tag').blur();
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.tagsInput.updateTagsField(this,tagslist);
|
||||||
|
|
||||||
|
if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) {
|
||||||
|
var f = tags_callbacks[id]['onAddTag'];
|
||||||
|
f.call(this, value);
|
||||||
|
}
|
||||||
|
if(tags_callbacks[id] && tags_callbacks[id]['onChange'])
|
||||||
|
{
|
||||||
|
var i = tagslist.length;
|
||||||
|
var f = tags_callbacks[id]['onChange'];
|
||||||
|
f.call(this, $(this), tagslist[i-1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.removeTag = function(value) {
|
||||||
|
value = unescape(value);
|
||||||
|
this.each(function() {
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
|
||||||
|
var old = $(this).val().split(delimiter[id]);
|
||||||
|
|
||||||
|
$('#'+id+'_tagsinput .tag').remove();
|
||||||
|
str = '';
|
||||||
|
for (i=0; i< old.length; i++) {
|
||||||
|
if (old[i]!=value) {
|
||||||
|
str = str + delimiter[id] +old[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.tagsInput.importTags(this,str);
|
||||||
|
|
||||||
|
if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) {
|
||||||
|
var f = tags_callbacks[id]['onRemoveTag'];
|
||||||
|
f.call(this, value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.tagExist = function(val) {
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
var tagslist = $(this).val().split(delimiter[id]);
|
||||||
|
return (jQuery.inArray(val, tagslist) >= 0); //true when tag exists, false when not
|
||||||
|
};
|
||||||
|
|
||||||
|
// clear all existing tags and import new ones from a string
|
||||||
|
$.fn.importTags = function(str) {
|
||||||
|
id = $(this).attr('id');
|
||||||
|
$('#'+id+'_tagsinput .tag').remove();
|
||||||
|
$.fn.tagsInput.importTags(this,str);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.tagsInput = function(options) {
|
||||||
|
var settings = jQuery.extend({
|
||||||
|
interactive:true,
|
||||||
|
defaultText:'',
|
||||||
|
minChars:0,
|
||||||
|
width:'',
|
||||||
|
height:'',
|
||||||
|
autocomplete: {selectFirst: false },
|
||||||
|
'hide':true,
|
||||||
|
'delimiter':',',
|
||||||
|
'unique':true,
|
||||||
|
removeWithBackspace:true,
|
||||||
|
placeholderColor:'#666666',
|
||||||
|
autosize: true,
|
||||||
|
comfortZone: 20,
|
||||||
|
inputPadding: 6*2
|
||||||
|
},options);
|
||||||
|
|
||||||
|
this.each(function() {
|
||||||
|
if (settings.hide) {
|
||||||
|
$(this).hide();
|
||||||
|
}
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
if (!id || delimiter[$(this).attr('id')]) {
|
||||||
|
id = $(this).attr('id', 'tags' + new Date().getTime()).attr('id');
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = jQuery.extend({
|
||||||
|
pid:id,
|
||||||
|
real_input: '#'+id,
|
||||||
|
holder: '#'+id+'_tagsinput',
|
||||||
|
input_wrapper: '#'+id+'_addTag',
|
||||||
|
fake_input: '#'+id+'_tag'
|
||||||
|
},settings);
|
||||||
|
|
||||||
|
delimiter[id] = data.delimiter;
|
||||||
|
|
||||||
|
if (settings.onAddTag || settings.onRemoveTag || settings.onChange) {
|
||||||
|
tags_callbacks[id] = new Array();
|
||||||
|
tags_callbacks[id]['onAddTag'] = settings.onAddTag;
|
||||||
|
tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag;
|
||||||
|
tags_callbacks[id]['onChange'] = settings.onChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
var containerClass = $('#'+id).attr('class').replace('tagsinput', '');
|
||||||
|
var markup = '<div id="'+id+'_tagsinput" class="tagsinput '+containerClass+'"><div class="tagsinput-add-container" id="'+id+'_addTag"><div class="tagsinput-add"></div>';
|
||||||
|
|
||||||
|
if (settings.interactive) {
|
||||||
|
markup = markup + '<input id="'+id+'_tag" value="" data-default="'+settings.defaultText+'" />';
|
||||||
|
}
|
||||||
|
|
||||||
|
markup = markup + '</div></div>';
|
||||||
|
|
||||||
|
$(markup).insertAfter(this);
|
||||||
|
|
||||||
|
$(data.holder).css('width',settings.width);
|
||||||
|
$(data.holder).css('min-height',settings.height);
|
||||||
|
$(data.holder).css('height','100%');
|
||||||
|
|
||||||
|
if ($(data.real_input).val()!='') {
|
||||||
|
$.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val());
|
||||||
|
}
|
||||||
|
if (settings.interactive) {
|
||||||
|
$(data.fake_input).val($(data.fake_input).attr('data-default'));
|
||||||
|
$(data.fake_input).css('color',settings.placeholderColor);
|
||||||
|
$(data.fake_input).resetAutosize(settings);
|
||||||
|
|
||||||
|
$(data.holder).bind('click',data,function(event) {
|
||||||
|
$(event.data.fake_input).focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(data.fake_input).bind('focus',data,function(event) {
|
||||||
|
if ($(event.data.fake_input).val()==$(event.data.fake_input).attr('data-default')) {
|
||||||
|
$(event.data.fake_input).val('');
|
||||||
|
}
|
||||||
|
$(event.data.fake_input).css('color','#000000');
|
||||||
|
});
|
||||||
|
|
||||||
|
if (settings.autocomplete_url != undefined) {
|
||||||
|
autocomplete_options = {source: settings.autocomplete_url};
|
||||||
|
for (attrname in settings.autocomplete) {
|
||||||
|
autocomplete_options[attrname] = settings.autocomplete[attrname];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (jQuery.Autocompleter !== undefined) {
|
||||||
|
$(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete);
|
||||||
|
$(data.fake_input).bind('result',data,function(event,data,formatted) {
|
||||||
|
if (data) {
|
||||||
|
$('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique)});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (jQuery.ui.autocomplete !== undefined) {
|
||||||
|
$(data.fake_input).autocomplete(autocomplete_options);
|
||||||
|
$(data.fake_input).bind('autocompleteselect',data,function(event,ui) {
|
||||||
|
$(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique)});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// if a user tabs out of the field, create a new tag
|
||||||
|
// this is only available if autocomplete is not used.
|
||||||
|
$(data.fake_input).bind('blur',data,function(event) {
|
||||||
|
var d = $(this).attr('data-default');
|
||||||
|
if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) {
|
||||||
|
if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) )
|
||||||
|
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
|
||||||
|
} else {
|
||||||
|
$(event.data.fake_input).val($(event.data.fake_input).attr('data-default'));
|
||||||
|
$(event.data.fake_input).css('color',settings.placeholderColor);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
// if user types a comma, create a new tag
|
||||||
|
$(data.fake_input).bind('keypress',data,function(event) {
|
||||||
|
if (event.which==event.data.delimiter.charCodeAt(0) || event.which==13 ) {
|
||||||
|
event.preventDefault();
|
||||||
|
if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) )
|
||||||
|
$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
|
||||||
|
$(event.data.fake_input).resetAutosize(settings);
|
||||||
|
return false;
|
||||||
|
} else if (event.data.autosize) {
|
||||||
|
$(event.data.fake_input).doAutosize(settings);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//Delete last tag on backspace
|
||||||
|
data.removeWithBackspace && $(data.fake_input).bind('keydown', function(event)
|
||||||
|
{
|
||||||
|
if(event.keyCode == 8 && $(this).val() == '')
|
||||||
|
{
|
||||||
|
event.preventDefault();
|
||||||
|
var last_tag = $(this).closest('.tagsinput').find('.tag:last').text();
|
||||||
|
var id = $(this).attr('id').replace(/_tag$/, '');
|
||||||
|
last_tag = last_tag.replace(/[\s\u00a0]+x$/, '');
|
||||||
|
$('#' + id).removeTag(escape(last_tag));
|
||||||
|
$(this).trigger('focus');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$(data.fake_input).blur();
|
||||||
|
|
||||||
|
//Removes the not_valid class when user changes the value of the fake input
|
||||||
|
if(data.unique) {
|
||||||
|
$(data.fake_input).keydown(function(event){
|
||||||
|
if(event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) {
|
||||||
|
$(this).removeClass('not_valid');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} // if settings.interactive
|
||||||
|
});
|
||||||
|
|
||||||
|
return this;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.tagsInput.updateTagsField = function(obj,tagslist) {
|
||||||
|
var id = $(obj).attr('id');
|
||||||
|
$(obj).val(tagslist.join(delimiter[id]));
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.tagsInput.importTags = function(obj,val) {
|
||||||
|
$(obj).val('');
|
||||||
|
var id = $(obj).attr('id');
|
||||||
|
var tags = val.split(delimiter[id]);
|
||||||
|
for (i=0; i<tags.length; i++) {
|
||||||
|
$(obj).addTag(tags[i],{focus:false,callback:false});
|
||||||
|
}
|
||||||
|
if(tags_callbacks[id] && tags_callbacks[id]['onChange'])
|
||||||
|
{
|
||||||
|
var f = tags_callbacks[id]['onChange'];
|
||||||
|
f.call(obj, obj, tags[i]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
})(jQuery);
|
|
@ -0,0 +1,11 @@
|
||||||
|
/*
|
||||||
|
* jQuery UI Touch Punch 0.2.2
|
||||||
|
*
|
||||||
|
* Copyright 2011, Dave Furfero
|
||||||
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||||
|
*
|
||||||
|
* Depends:
|
||||||
|
* jquery.ui.widget.js
|
||||||
|
* jquery.ui.mouse.js
|
||||||
|
*/
|
||||||
|
(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return;}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return;}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f);}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return;}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown");};c._touchMove=function(f){if(!a){return;}this._touchMoved=true;d(f,"mousemove");};c._touchEnd=function(f){if(!a){return;}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click");}a=false;};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f);};})(jQuery);
|
|
@ -0,0 +1,212 @@
|
||||||
|
/*jslint browser:true, nomen:true, plusplus:true, devel:true */
|
||||||
|
/*globals $, utils */
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var jCanvas = $('#canvas'), canvas = jCanvas[0], context = canvas.getContext('2d'),
|
||||||
|
chaos = new window.Worker('js/chaos.js'), button = $('#pt-gen'), count = $('#pt-num'),
|
||||||
|
size_input = $('#pt-size'), render = $('#pt-render'), render_link = render.find('a'),
|
||||||
|
vertices_count = $('#pt-vertices'), factor_top = $('#pt-frac-top'), factor_bottom = $('#pt-frac-bottom'),
|
||||||
|
form_inputs = $('#parameters form p :input'), padding = 10, verticesColors = [],
|
||||||
|
zoom = 1, zoom_out = $('#zoom-out'), zoom_in = $('#zoom-in');
|
||||||
|
|
||||||
|
// presets
|
||||||
|
$('.setting').click(function (e) {
|
||||||
|
var id = parseInt($(this).attr('data-setting-id'), 10);
|
||||||
|
|
||||||
|
if ($('#parameters form').prop('disabled')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (id) {
|
||||||
|
case 1:
|
||||||
|
vertices_count.val(3);
|
||||||
|
factor_top.val(1);
|
||||||
|
factor_bottom.val(2);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
vertices_count.val(5);
|
||||||
|
factor_top.val(3);
|
||||||
|
factor_bottom.val(8);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
vertices_count.val(6);
|
||||||
|
factor_top.val(1);
|
||||||
|
factor_bottom.val(3);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
vertices_count.val(5);
|
||||||
|
factor_top.val(1);
|
||||||
|
factor_bottom.val(3);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
// zoom level
|
||||||
|
function updateZoomLevel() {
|
||||||
|
jCanvas.css({
|
||||||
|
width: canvas.width * zoom,
|
||||||
|
height: canvas.height * zoom
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setZoomLevel(level) {
|
||||||
|
zoom = level;
|
||||||
|
|
||||||
|
updateZoomLevel();
|
||||||
|
}
|
||||||
|
|
||||||
|
zoom_in.click(function () {
|
||||||
|
if (zoom < 2) {
|
||||||
|
setZoomLevel(zoom + 0.1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
zoom_out.click(function () {
|
||||||
|
if (zoom > 0.1) {
|
||||||
|
setZoomLevel(zoom - 0.1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// returns the position of the vertices of a regular polygon with n angles
|
||||||
|
// the width and height parameter specifies the radius of the inscripting circle
|
||||||
|
function getRegularVertices(width, height, vertices) {
|
||||||
|
var i = 0, shapeVerts = [], angle, x = width / 2, y = height / 2,
|
||||||
|
rx = width / 2 - padding, ry = height / 2 - padding,
|
||||||
|
frac = Math.PI * 2 / vertices;
|
||||||
|
|
||||||
|
for (i = 0; i < vertices; i++) {
|
||||||
|
angle = frac * i + Math.PI / 2;
|
||||||
|
shapeVerts.push([
|
||||||
|
Math.cos(angle) * rx + x,
|
||||||
|
Math.sin(angle) * ry + y
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return shapeVerts;
|
||||||
|
}
|
||||||
|
|
||||||
|
// updates rendering button which allows to download the image
|
||||||
|
function updateRender() {
|
||||||
|
render_link.attr('href', canvas.toDataURL());
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw the vertices of the current polygon - wth the lines
|
||||||
|
function canvasDrawVertices() {
|
||||||
|
var width = canvas.width, height = canvas.height,
|
||||||
|
vertices = getRegularVertices(width, height, parseInt(vertices_count.val(), 10)),
|
||||||
|
vertices_num = vertices.length, i, vertex,
|
||||||
|
lastVertex = vertices[vertices_num - 1];
|
||||||
|
|
||||||
|
context.clearRect(0, 0, width, height);
|
||||||
|
|
||||||
|
// one color per vertex
|
||||||
|
verticesColors = [];
|
||||||
|
|
||||||
|
for (i = 0; i < vertices_num; i++) {
|
||||||
|
verticesColors.push(utils.getRandomColor());
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw lines
|
||||||
|
context.beginPath();
|
||||||
|
context.moveTo(lastVertex[0], height - lastVertex[1]);
|
||||||
|
|
||||||
|
for (i = 0; i < vertices_num; i++) {
|
||||||
|
vertex = vertices[i];
|
||||||
|
context.lineTo(vertex[0], height - vertex[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.stroke();
|
||||||
|
|
||||||
|
// draw vertices
|
||||||
|
for (i = 0; i < vertices_num; i++) {
|
||||||
|
vertex = vertices[i];
|
||||||
|
context.fillStyle = utils.rgbToHex(verticesColors[i]);
|
||||||
|
|
||||||
|
context.beginPath();
|
||||||
|
context.arc(vertex[0], height - vertex[1], 3, 0, Math.PI * 2, true);
|
||||||
|
context.fill();
|
||||||
|
}
|
||||||
|
|
||||||
|
updateRender();
|
||||||
|
}
|
||||||
|
|
||||||
|
function enableForm(enabled) {
|
||||||
|
form_inputs.prop('disabled', !enabled);
|
||||||
|
$('#parameters form').prop('disabled', !enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
// on generate response from the worker
|
||||||
|
$(chaos).on('message', function (e) {
|
||||||
|
var points = e.originalEvent.data, length = points.length, i,
|
||||||
|
data, pdata, point, index, width = canvas.width,
|
||||||
|
vertexColor, height = canvas.height,
|
||||||
|
vertices = parseInt(vertices_count.val(), 10);
|
||||||
|
|
||||||
|
if (!Array.isArray(points[0])) {
|
||||||
|
console.error('Error: ' + points);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// about the fastest way to draw points array on a canvas:
|
||||||
|
// http://jsperf.com/filling-a-bunch-of-points-in-canvas
|
||||||
|
data = context.getImageData(0, 0, width, height);
|
||||||
|
|
||||||
|
for (i = 0; i < length; i++) {
|
||||||
|
point = points[i];
|
||||||
|
pdata = point[0];
|
||||||
|
vertexColor = verticesColors[point[1]];
|
||||||
|
|
||||||
|
index = (parseInt(pdata[0], 10) + (height - parseInt(pdata[1], 10)) * width) * 4;
|
||||||
|
|
||||||
|
data.data[index] = vertexColor[0];
|
||||||
|
data.data[index + 1] = vertexColor[1];
|
||||||
|
data.data[index + 2] = vertexColor[2];
|
||||||
|
data.data[index + 3] = 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
context.putImageData(data, 0, 0);
|
||||||
|
enableForm(true);
|
||||||
|
updateRender();
|
||||||
|
});
|
||||||
|
|
||||||
|
// set input size
|
||||||
|
size_input.change(function () {
|
||||||
|
var size = parseInt($(this).val(), 10);
|
||||||
|
|
||||||
|
canvas.width = size + 2 * padding;
|
||||||
|
canvas.height = size + 2 * padding;
|
||||||
|
|
||||||
|
canvasDrawVertices();
|
||||||
|
updateZoomLevel();
|
||||||
|
});
|
||||||
|
|
||||||
|
// generate
|
||||||
|
button.click(function (e) {
|
||||||
|
var width = canvas.width, height = canvas.height, shape,
|
||||||
|
vertices = parseInt(vertices_count.val(), 10),
|
||||||
|
frac = parseInt(factor_top.val(), 10) / parseInt(factor_bottom.val(), 10);
|
||||||
|
|
||||||
|
// reset environment
|
||||||
|
enableForm(false);
|
||||||
|
canvasDrawVertices();
|
||||||
|
|
||||||
|
// regular polygon
|
||||||
|
shape = getRegularVertices(width, height, vertices);
|
||||||
|
|
||||||
|
chaos.postMessage([
|
||||||
|
parseInt(count.val(), 10) * width,
|
||||||
|
[width, height],
|
||||||
|
shape,
|
||||||
|
frac
|
||||||
|
]);
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
vertices_count.change(canvasDrawVertices);
|
||||||
|
canvasDrawVertices();
|
||||||
|
}());
|
|
@ -0,0 +1,43 @@
|
||||||
|
/*jslint browser:true, plusplus:true */
|
||||||
|
/*globals self */
|
||||||
|
|
||||||
|
(function (self) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var utils = {};
|
||||||
|
|
||||||
|
// random utils
|
||||||
|
utils.getRandomArbitary = function (min, max) {
|
||||||
|
return Math.random() * (max - min) + min;
|
||||||
|
};
|
||||||
|
|
||||||
|
utils.getRandomInt = function (min, max) {
|
||||||
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||||
|
};
|
||||||
|
|
||||||
|
utils.getRandomColor = function () {
|
||||||
|
var color = [], i;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; i++) {
|
||||||
|
color.push(parseFloat(
|
||||||
|
utils.getRandomArbitary(0, 1).toFixed(2)
|
||||||
|
) * 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
return color;
|
||||||
|
};
|
||||||
|
|
||||||
|
// colors utils
|
||||||
|
function componentToHex(c) {
|
||||||
|
var hex = parseInt(c, 10).toString(16);
|
||||||
|
return hex.length === 1 ? '0' + hex : hex;
|
||||||
|
}
|
||||||
|
|
||||||
|
utils.rgbToHex = function (c) {
|
||||||
|
console.log(c);
|
||||||
|
return '#' + componentToHex(c[0]) + componentToHex(c[1]) + componentToHex(c[2]);
|
||||||
|
};
|
||||||
|
|
||||||
|
// exports
|
||||||
|
self.utils = utils;
|
||||||
|
}(self));
|