update values with svg animation
This commit is contained in:
parent
b3e9b832ff
commit
e08196e0fd
7
docs/assets/css/bootstrap.min.css
vendored
Executable file
7
docs/assets/css/bootstrap.min.css
vendored
Executable file
File diff suppressed because one or more lines are too long
99
docs/assets/css/default.css
Executable file
99
docs/assets/css/default.css
Executable file
@ -0,0 +1,99 @@
|
||||
/*
|
||||
|
||||
Original highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 0.5em;
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
|
||||
/* Base color: saturation 0; */
|
||||
|
||||
.hljs,
|
||||
.hljs-subst {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.hljs-comment {
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-attribute,
|
||||
.hljs-selector-tag,
|
||||
.hljs-meta-keyword,
|
||||
.hljs-doctag,
|
||||
.hljs-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/* User color: hue: 0 */
|
||||
|
||||
.hljs-type,
|
||||
.hljs-string,
|
||||
.hljs-number,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-quote,
|
||||
.hljs-template-tag,
|
||||
.hljs-deletion {
|
||||
color: #880000;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-section {
|
||||
color: #880000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-regexp,
|
||||
.hljs-symbol,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-link,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #BC6060;
|
||||
}
|
||||
|
||||
|
||||
/* Language color: hue: 90; */
|
||||
|
||||
.hljs-literal {
|
||||
color: #78A960;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-bullet,
|
||||
.hljs-code,
|
||||
.hljs-addition {
|
||||
color: #397300;
|
||||
}
|
||||
|
||||
|
||||
/* Meta color: hue: 200 */
|
||||
|
||||
.hljs-meta {
|
||||
color: #1f7199;
|
||||
}
|
||||
|
||||
.hljs-meta-string {
|
||||
color: #4d99bf;
|
||||
}
|
||||
|
||||
|
||||
/* Misc effects */
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
693
docs/assets/css/frappe_theme.css
Executable file
693
docs/assets/css/frappe_theme.css
Executable file
@ -0,0 +1,693 @@
|
||||
/*-------------------------------------
|
||||
|
||||
Custom CSS
|
||||
|
||||
---------------------------------------*/
|
||||
body {
|
||||
font-family: "proxima-nova", sans-serif;
|
||||
font-size: 15px;
|
||||
color: #6c7680;
|
||||
text-rendering: optimizeLegibility !important;
|
||||
line-height: 1.5em;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
p.lead {
|
||||
font-family: "proxima-nova", sans-serif;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.lead,
|
||||
.page-sidebar,
|
||||
.breadcrumb,
|
||||
.label,
|
||||
.h6,
|
||||
.sans,
|
||||
blockquote {
|
||||
font-family: "proxima-nova", sans-serif;
|
||||
color: #36414C;
|
||||
}
|
||||
button,
|
||||
.button,
|
||||
.btn {
|
||||
font-family: "proxima-nova", sans-serif;
|
||||
}
|
||||
.page-header-block,
|
||||
.page-header-actions {
|
||||
display: none;
|
||||
}
|
||||
.btn-primary {
|
||||
background-color: #7575ff;
|
||||
border-color: #7575ff;
|
||||
}
|
||||
.btn-primary :hover {
|
||||
background-color: #5b5be5;
|
||||
}
|
||||
article button,
|
||||
article .button,
|
||||
article .btn,
|
||||
blockquote {
|
||||
font-size: 0.93em;
|
||||
}
|
||||
article ul > li,
|
||||
article ol > li {
|
||||
margin: 10px 0px;
|
||||
}
|
||||
figcaption {
|
||||
font-size: 0.8em;
|
||||
color: #B8C2CC;
|
||||
padding: 10px 0px;
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.text-extra-muted {
|
||||
color: #B8C2CC !important;
|
||||
}
|
||||
.page-sidebar,
|
||||
.breadcrumb {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
.breadcrumb {
|
||||
background-color: transparent;
|
||||
padding: 10px 0px;
|
||||
}
|
||||
.breadcrumb a,
|
||||
.breadcrumb a:hover,
|
||||
.breadcrumb a:focus,
|
||||
.breadcrumb a:visited {
|
||||
color: inherit;
|
||||
}
|
||||
.container,
|
||||
.navbar,
|
||||
footer {
|
||||
max-width: 900px;
|
||||
margin: auto;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.narrow {
|
||||
max-width: 75%;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 700;
|
||||
}
|
||||
p.description,
|
||||
p.description a {
|
||||
color: #B8C2CC;
|
||||
font-size: 1.06em;
|
||||
margin: 12px 0 0;
|
||||
text-decoration: none;
|
||||
}
|
||||
p.description a:focus,
|
||||
p.description a:active,
|
||||
p.description a:hover {
|
||||
color: #36414C;
|
||||
}
|
||||
.hero-content p.description,
|
||||
.page-hero p.description,
|
||||
.hero-content p.description a,
|
||||
.page-hero p.description a {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.hero-content .x-large.button,
|
||||
.page-hero .x-large.button {
|
||||
font-size: 1em;
|
||||
}
|
||||
a {
|
||||
color: #5E64FF;
|
||||
}
|
||||
a,
|
||||
a:focus,
|
||||
a:hover {
|
||||
transition: color 0.3s, border 0.3s, background-color 0.3s;
|
||||
}
|
||||
a.grey {
|
||||
color: #36414C;
|
||||
}
|
||||
a.close,
|
||||
a.btn {
|
||||
text-decoration: none;
|
||||
}
|
||||
.navbar a,
|
||||
.sidebar-navbar-items a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
border-color: inherit;
|
||||
}
|
||||
.page-padding,
|
||||
.page-content {
|
||||
padding-top: 30px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
.page-title {
|
||||
text-align: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.page-sub-title {
|
||||
color: #8D99A6;
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 45px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.btn-white {
|
||||
background-color: #fff;
|
||||
color: #36414C;
|
||||
border-color: #d1d8dd;
|
||||
}
|
||||
.btn-white:hover {
|
||||
background-color: #fafbfc;
|
||||
}
|
||||
.screenshot {
|
||||
border: 2px solid #d1d8dd;
|
||||
box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.15);
|
||||
margin: 15px 0px;
|
||||
}
|
||||
blockquote {
|
||||
border-left: 5px solid #F0F4F7;
|
||||
background-color: #fafbfc;
|
||||
margin-top: 15px;
|
||||
}
|
||||
blockquote p {
|
||||
margin: 0px;
|
||||
}
|
||||
.page-hero {
|
||||
padding: 130px 0px 100px;
|
||||
margin-top: -60px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2.13em;
|
||||
}
|
||||
.navbar {
|
||||
background-color: transparent;
|
||||
}
|
||||
.button {
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
padding: 7px 12px 9px;
|
||||
line-height: 1;
|
||||
text-decoration: none;
|
||||
}
|
||||
.button:hover,
|
||||
.button:active,
|
||||
.button:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
.large.button {
|
||||
font-size: 1.33em;
|
||||
padding: 12px 24px 10px;
|
||||
border-bottom: 3px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.x-large.button {
|
||||
font-size: 1.6em;
|
||||
padding: 16px 40px;
|
||||
border-bottom: 3px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.small.button {
|
||||
padding-top: 11px;
|
||||
}
|
||||
.blue.button {
|
||||
color: #fff;
|
||||
background: #7575ff;
|
||||
border: 0px;
|
||||
border-bottom: 3px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.blue.button:hover {
|
||||
background: #5b5be5;
|
||||
}
|
||||
.white.button {
|
||||
color: #6C7680;
|
||||
border: 1px solid #d1d8dd;
|
||||
}
|
||||
.white.button:hover {
|
||||
background: #fafbfc;
|
||||
}
|
||||
.navbar {
|
||||
padding: 10px 0px;
|
||||
border-bottom: 1px solid #d1d8dd;
|
||||
}
|
||||
.navbar-brand,
|
||||
.navbar-brand:hover,
|
||||
.navbar-brand:visited,
|
||||
.navbar-brand:focus {
|
||||
font-size: 1.2em;
|
||||
text-decoration: none;
|
||||
color: #36414C;
|
||||
}
|
||||
.hero {
|
||||
padding: 70px 0;
|
||||
font-size: 1.6em;
|
||||
font-weight: 300;
|
||||
text-align: center;
|
||||
}
|
||||
.hero-content {
|
||||
font-weight: 300;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.hero-content h1 {
|
||||
padding-top: 24px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.hero-content p {
|
||||
width: 80%;
|
||||
margin: 0 auto 24px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.hero-content p.description {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.group,
|
||||
.border-bottom {
|
||||
border-bottom: 1px solid #d1d8dd;
|
||||
}
|
||||
.row.section,
|
||||
section {
|
||||
padding: 70px 0 70px;
|
||||
}
|
||||
.row.section p,
|
||||
section p {
|
||||
color: #6c7680;
|
||||
}
|
||||
.content {
|
||||
padding: 24px 40px 0;
|
||||
}
|
||||
.small-content {
|
||||
text-align: center;
|
||||
padding: 0 32px;
|
||||
}
|
||||
.small-content img {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
}
|
||||
.small-content h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.tiny-content {
|
||||
margin-bottom: 40px;
|
||||
font-size: 1em;
|
||||
}
|
||||
.tiny-content h1 {
|
||||
color: #36414c;
|
||||
}
|
||||
.tiny-content p {
|
||||
margin: 6px 0 0;
|
||||
color: #858d95;
|
||||
}
|
||||
.tiny-content h1 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
footer {
|
||||
color: #8D99A6;
|
||||
padding: 3px 0;
|
||||
border-top: 1px solid #d1d8dd;
|
||||
}
|
||||
footer h1 {
|
||||
color: #36414C;
|
||||
font-size: 1.42em;
|
||||
margin: 0;
|
||||
}
|
||||
footer p {
|
||||
margin: 0;
|
||||
padding: 2px 0 10px;
|
||||
color: #6c7680;
|
||||
}
|
||||
footer ul,
|
||||
footer ul li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
text-align: center;
|
||||
}
|
||||
footer li a {
|
||||
text-decoration: none;
|
||||
color: #6c7680;
|
||||
}
|
||||
footer li a:hover,
|
||||
footer li a:active,
|
||||
footer li a:focus {
|
||||
color: #36414C;
|
||||
text-decoration: none;
|
||||
}
|
||||
.footer-list {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-top: 50px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.footer-list ul {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.footer-list li {
|
||||
margin: 0px 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
.footer-link {
|
||||
color: #B8C2CC;
|
||||
}
|
||||
.footer-link:hover,
|
||||
.footer-link:focus {
|
||||
color: #8D99A6;
|
||||
}
|
||||
.copyright {
|
||||
font-size: 0.8em;
|
||||
text-align: center;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
.copyright p {
|
||||
padding-bottom: 0px;
|
||||
color: #B8C2CC;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
/*-------------------------------------
|
||||
|
||||
ERPNext
|
||||
|
||||
---------------------------------------*/
|
||||
.erp-next-logo {
|
||||
margin: 8px 0;
|
||||
height: 14px;
|
||||
width: 76px;
|
||||
}
|
||||
.erp-hero {
|
||||
width: 500px;
|
||||
margin: auto;
|
||||
}
|
||||
.tabs {
|
||||
text-align: center;
|
||||
}
|
||||
.tabs ul,
|
||||
.tabs li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
display: inline-block;
|
||||
}
|
||||
.tabs ul {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.tabs li {
|
||||
width: 64px;
|
||||
text-align: center;
|
||||
margin: 0 16px;
|
||||
}
|
||||
.tabs li input {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
color: #8d99a6;
|
||||
padding-bottom: 8px;
|
||||
transition: 0.5s;
|
||||
border-bottom: 2px solid transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tabs li input:focus {
|
||||
outline: none;
|
||||
}
|
||||
.tabs li input:hover {
|
||||
color: #36414c;
|
||||
}
|
||||
.tabs li input.active {
|
||||
color: #36414c;
|
||||
border-bottom: 2px solid #7575ff;
|
||||
}
|
||||
.feature {
|
||||
text-align: center;
|
||||
display: none;
|
||||
}
|
||||
.feature p,
|
||||
.feature h1 {
|
||||
width: 65%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.feature h1 {
|
||||
padding: 40px 0 16px;
|
||||
}
|
||||
.feature p {
|
||||
font-size: 1.13em;
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
/*-------------------------------------
|
||||
|
||||
Frappé for Developers
|
||||
|
||||
---------------------------------------*/
|
||||
.developers-hero {
|
||||
width: 313px;
|
||||
}
|
||||
.developers-logo {
|
||||
height: 19px;
|
||||
}
|
||||
.erp-framework {
|
||||
width: 80%;
|
||||
margin: 30px auto;
|
||||
}
|
||||
.get-involved {
|
||||
color: #36414c;
|
||||
font-size: 1.2em;
|
||||
text-align: center;
|
||||
}
|
||||
.get-involved p {
|
||||
margin-top: 0;
|
||||
}
|
||||
.get-involved img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: -3px 10px 0 -5px;
|
||||
}
|
||||
.get-involved .button {
|
||||
margin: 0 4px;
|
||||
}
|
||||
/*-------------------------------------
|
||||
|
||||
Frappé
|
||||
|
||||
---------------------------------------*/
|
||||
.frappe-hero {
|
||||
width: 385px;
|
||||
}
|
||||
.frappe-logo {
|
||||
height: 19px;
|
||||
}
|
||||
.open-source {
|
||||
text-align: center;
|
||||
}
|
||||
.open-source img {
|
||||
width: 325px;
|
||||
}
|
||||
.team-picture {
|
||||
text-align: center;
|
||||
}
|
||||
.team-picture h1 {
|
||||
margin: 0 0 40px;
|
||||
}
|
||||
.team-description {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.team-description a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.input-label {
|
||||
margin: 16px 0 3px;
|
||||
color: #8d99a6;
|
||||
font-size: 0.93em;
|
||||
}
|
||||
#message {
|
||||
height: 150px;
|
||||
}
|
||||
#send {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin-top: 16px;
|
||||
}
|
||||
.office-map {
|
||||
width: 394px;
|
||||
margin-top: 40px;
|
||||
}
|
||||
.contact .content {
|
||||
margin-top: -40px;
|
||||
}
|
||||
.page-breadcrumbs {
|
||||
display: none !important;
|
||||
}
|
||||
.half-width {
|
||||
max-width: 50%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.width-75 {
|
||||
max-width: 75%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.media-object {
|
||||
max-width: 120px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.browser-image {
|
||||
border: 1px solid #d1d8dd;
|
||||
}
|
||||
.fake-browser-frame {
|
||||
position: relative;
|
||||
margin: 40px auto;
|
||||
max-width: 600px;
|
||||
}
|
||||
.fake-browser-frame::before {
|
||||
content: "";
|
||||
height: 24px;
|
||||
position: absolute;
|
||||
top: -24px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
border: 1px solid #d1d8dd;
|
||||
border-bottom: none;
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
.fake-browser-frame::after {
|
||||
content: '\f052 \f052 \f052';
|
||||
position: absolute;
|
||||
color: #d1d8dd;
|
||||
top: -17px;
|
||||
left: 8px;
|
||||
/* octicon */
|
||||
font: normal normal 12px octicons;
|
||||
line-height: 1;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.fake-iphone-frame {
|
||||
position: relative;
|
||||
padding: 40px 8px;
|
||||
border: 1px solid #d1d8dd;
|
||||
border-radius: 15px;
|
||||
}
|
||||
.fake-ipad-frame {
|
||||
position: relative;
|
||||
padding: 8px 40px;
|
||||
border: 1px solid #d1d8dd;
|
||||
border-radius: 15px;
|
||||
}
|
||||
.cover {
|
||||
width: 100%;
|
||||
}
|
||||
.underline {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.underline:hover,
|
||||
.underline:focus,
|
||||
.underline:active {
|
||||
color: #36414C;
|
||||
}
|
||||
.spacer {
|
||||
margin-top: 40px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
article h3 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
article hr + h3 {
|
||||
margin-top: 0px;
|
||||
}
|
||||
.negative-margin {
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
.navbar-icon {
|
||||
width: 24px;
|
||||
margin-right: 7px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
.large-description {
|
||||
line-height: 1.5;
|
||||
font-size: 1.5em;
|
||||
font-weight: 200;
|
||||
display: inline-block;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar {
|
||||
height: auto;
|
||||
}
|
||||
.hero {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.large-description {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.hero-content h1 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.hero-content p {
|
||||
width: 100%;
|
||||
}
|
||||
.small-content {
|
||||
padding-top: 70px;
|
||||
}
|
||||
.small-content:first-child {
|
||||
padding-top: 0px;
|
||||
}
|
||||
.page-content {
|
||||
padding-top: 0px;
|
||||
}
|
||||
.footer-list {
|
||||
margin-top: 40px;
|
||||
}
|
||||
.footer-list li {
|
||||
margin: 15px 0px;
|
||||
display: block;
|
||||
text-align: left;
|
||||
}
|
||||
.copyright {
|
||||
text-align: left;
|
||||
padding-bottom: 55px;
|
||||
}
|
||||
.half-width {
|
||||
max-width: 90%;
|
||||
}
|
||||
.width-75 {
|
||||
max-width: 100%;
|
||||
}
|
||||
.fake-iphone-frame {
|
||||
display: inline-block;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
.erp-hero {
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
}
|
||||
.website-list .result {
|
||||
border: none;
|
||||
}
|
||||
.page-container {
|
||||
max-width: 970px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.jumbotron {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
59
docs/assets/css/index.css
Executable file
59
docs/assets/css/index.css
Executable file
@ -0,0 +1,59 @@
|
||||
.page-header {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
padding: 2em 0;
|
||||
}
|
||||
|
||||
.project-name {
|
||||
padding-top: 1.8em;
|
||||
font-size: 2.5em;
|
||||
}
|
||||
.project-tagline {
|
||||
font-size: 1em;
|
||||
opacity: 0.7;
|
||||
padding: 2em;
|
||||
}
|
||||
.btn-transparent {
|
||||
margin: 0 0.5em;
|
||||
color: #fff;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border: 1px solid rgba(255, 255, 255, 0.4)
|
||||
}
|
||||
.btn-transparent:hover {
|
||||
color: #fff;
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.main-content {
|
||||
padding: 2em;
|
||||
}
|
||||
|
||||
.main-content .row {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.chart-container {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
pre.highlight {
|
||||
background: #f7f7f7;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.btn-group>.btn {
|
||||
outline: none !important;
|
||||
}
|
||||
.dashboard-section h1 {
|
||||
margin-left: -2px;
|
||||
}
|
||||
|
||||
.hero .gantt-container {
|
||||
text-align: left;
|
||||
}
|
||||
424
docs/assets/css/normalize.css
vendored
Executable file
424
docs/assets/css/normalize.css
vendored
Executable file
@ -0,0 +1,424 @@
|
||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
||||
|
||||
/**
|
||||
* 1. Set default font family to sans-serif.
|
||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default margin.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct `block` display not defined for any HTML5 element in IE 8/9.
|
||||
* Correct `block` display not defined for `details` or `summary` in IE 10/11
|
||||
* and Firefox.
|
||||
* Correct `block` display not defined for `main` in IE 11.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
||||
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `[hidden]` styling not present in IE 8/9/10.
|
||||
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
||||
*/
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background color from active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in Safari and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address variable `h1` font-size and margin within `section` and `article`
|
||||
* contexts in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove border when inside `a` element in IE 8/9/10.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct overflow not hidden in IE 9/10/11.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margin not present in IE 8/9 and Safari.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address differences between Firefox and other browsers.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contain overflow in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address odd `em`-unit font size rendering in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
||||
* styling of `select`, unless a `border` property is set.
|
||||
*/
|
||||
|
||||
/**
|
||||
* 1. Correct color not being inherited.
|
||||
* Known issue: affects color of disabled elements.
|
||||
* 2. Correct font properties not being inherited.
|
||||
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
margin: 0; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||
* All other form control elements do not inherit `text-transform` values.
|
||||
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
|
||||
* Correct `select` style inheritance in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and border in Firefox 4+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* It's recommended that you don't attempt to style these elements.
|
||||
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
||||
*
|
||||
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
||||
* 2. Remove excess padding in IE 8/9/10.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
||||
* `font-size` values of the `input`, it causes the cursor style of the
|
||||
* decrement button to change from `default` to `text`.
|
||||
*/
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
||||
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */ /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
||||
* Safari (but not Chrome) clips the cancel button when the search input has
|
||||
* padding (and `textfield` appearance).
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default vertical scrollbar in IE 8/9/10/11.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Don't inherit the `font-weight` (applied by a rule above).
|
||||
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
||||
*/
|
||||
|
||||
optgroup {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Tables
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0;
|
||||
}
|
||||
2
docs/assets/js/highlight.pack.js
Executable file
2
docs/assets/js/highlight.pack.js
Executable file
File diff suppressed because one or more lines are too long
84
docs/assets/js/index.js
Executable file
84
docs/assets/js/index.js
Executable file
@ -0,0 +1,84 @@
|
||||
let bar_data = {
|
||||
"labels": ["Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"],
|
||||
"datasets": [{
|
||||
"color": "orange",
|
||||
"values": [50804, 10000, 20000, 61500, 82936.88, 24010, 4000, 6000, 25840, 50804.82, 116820, 6000],
|
||||
"formatted": ["₹ 0.00", "₹ 0.00", "₹ 0.00", "₹ 61,500.00", "₹ 82,936.88", "₹ 24,010.00", "₹ 0.00", "₹ 0.00", "₹ 25,840.00", "₹ 5,08,048.82", "₹ 1,16,820.00", "₹ 0.00"],
|
||||
},
|
||||
// {
|
||||
// "color": "blue",
|
||||
// "values": [108048, 0, 0, 101500, 50000.88, 24010, 0, 0, 25840, 108048.82, 51682, 0],
|
||||
// "formatted": ["₹ 0.00", "₹ 0.00", "₹ 0.00", "₹ 61,500.00", "₹ 82,936.88", "₹ 24,010.00", "₹ 0.00", "₹ 0.00", "₹ 25,840.00", "₹ 5,08,048.82", "₹ 1,16,820.00", "₹ 0.00"],
|
||||
// }
|
||||
]
|
||||
}
|
||||
|
||||
let line_data = {
|
||||
"labels": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
||||
"datasets": [{
|
||||
"color": "green",
|
||||
"values": [25, 40, 30, 35, 48, 52, 17]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
let more_line_data = {
|
||||
0: {
|
||||
values: [25, 40, 30, 35, 48, 52, 17]
|
||||
},
|
||||
1: {
|
||||
values: [35, 48, 40, 30, 52, 17, 25]
|
||||
},
|
||||
2: {
|
||||
values: [5, 48, 52, 17, 25, 40, 30]
|
||||
},
|
||||
3: {
|
||||
values: [25, 40, 30, 35, 48, 52, 17]
|
||||
},
|
||||
4: {
|
||||
values: [35, 48, 40, 30, 52, 17, 72]
|
||||
},
|
||||
5: {
|
||||
values: [5, 48, 52, 17, 72, 40, 30]
|
||||
},
|
||||
6: {
|
||||
values: [72, 40, 30, 35, 48, 52, 17]
|
||||
},
|
||||
7: {
|
||||
values: [35, 48, 40, 30, 52, 17, 25]
|
||||
},
|
||||
8: {
|
||||
values: [5, 48, 52, 17, 25, 40, 30]
|
||||
},
|
||||
9: {
|
||||
values: [25, 40, 30, 35, 48, 52, 17]
|
||||
},
|
||||
10: {
|
||||
values: [35, 48, 40, 30, 52, 17, 25]
|
||||
},
|
||||
11: {
|
||||
values: [5, 48, 52, 17, 25, 40, 30]
|
||||
}
|
||||
}
|
||||
|
||||
let bar_chart = new FrappeChart ({
|
||||
parent: "#charts-1",
|
||||
data: bar_data,
|
||||
type: 'bar',
|
||||
height: 140,
|
||||
is_navigable: 1
|
||||
})
|
||||
|
||||
let line_chart = new FrappeChart ({
|
||||
parent: "#charts-2",
|
||||
data: line_data,
|
||||
type: 'line',
|
||||
height: 140,
|
||||
is_navigable: 0
|
||||
})
|
||||
|
||||
bar_chart.parent.addEventListener('data-select', (e) => {
|
||||
line_chart.update_values([more_line_data[e.index]]);
|
||||
});
|
||||
|
||||
console.log("chart", bar_chart);
|
||||
193
docs/index.html
Normal file
193
docs/index.html
Normal file
@ -0,0 +1,193 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Frappe Charts</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="keywords" content="open source javascript js charts library svg zero-dependency interactive data visualization beautiful drag resize">
|
||||
<meta name="description" content="A simple, responsive, modern charts library for the web.">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/normalize.css" media="screen">
|
||||
<!--<link href='https://fonts.googleapis.com/css?family=Roboto:400,700' rel='stylesheet' type='text/css'>-->
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/frappe_theme.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/index.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/default.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="../src/charts.css" media="screen">
|
||||
<script src="assets/js/highlight.pack.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
|
||||
<!--<link rel="shortcut icon" href="https://frappe.github.io/frappe/assets/img/favicon.png" type="image/x-icon">
|
||||
<link rel="icon" href="https://frappe.github.io/frappe/assets/img/favicon.png" type="image/x-icon">-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row hero" style="padding-top: 30px; padding-bottom: 0px;">
|
||||
<div class="jumbotron" style="background: transparent;">
|
||||
<h1>Frappé Charts</h1>
|
||||
<p class="mt-2">GitHub-style simple and modern charts for the web</p>
|
||||
<p class="mt-2">with zero dependencies.</p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-10 push-sm-1 later" style="font-size: 14px;">
|
||||
<div id="charts-1" class="chart-container"></div>
|
||||
<p class="mt-1"><strong>Try it!</strong> Use arrow keys to navigate data points</p>
|
||||
</div>
|
||||
<div class="col-sm-10 push-sm-1 later" style="font-size: 14px;">
|
||||
<div id="charts-2" class="chart-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group later">
|
||||
<div class="row section">
|
||||
<div class="col-sm-10 push-sm-1">
|
||||
<div class="dashboard-section">
|
||||
<h1>Installation</h1>
|
||||
<pre>
|
||||
<code class="hljs">npm install frappe-charts</code>
|
||||
</pre>
|
||||
<svg class="chart" width="720" height="140">
|
||||
|
||||
<rect class="bar mini fill green" x="449.99999999999994" y="15.32519666666667" width="23.076923076923077" height="10">
|
||||
</rect>
|
||||
<!--<animate
|
||||
attributeName="height"
|
||||
from="10"
|
||||
to="110"
|
||||
begin="0.2s"
|
||||
dur="2s"
|
||||
values="10;110"
|
||||
keySplines="0 0 1 1"
|
||||
keyTimes="
|
||||
0;1"
|
||||
calcMode="spline"
|
||||
|
||||
|
||||
/>-->
|
||||
|
||||
<!--<animate
|
||||
attributeName="height"
|
||||
from="10"
|
||||
to="110"
|
||||
begin="0s"
|
||||
dur="1s"
|
||||
values="10;110"
|
||||
keySplines="0.1 0.8 0.2 1"
|
||||
keyTimes="
|
||||
0;1"
|
||||
calcMode="spline"
|
||||
|
||||
|
||||
/>
|
||||
<animate
|
||||
attributeName="y"
|
||||
from="15"
|
||||
to="50"
|
||||
begin="0s"
|
||||
dur="1s"
|
||||
values="15;50"
|
||||
keySplines="0.1 0.8 0.2 1"
|
||||
keyTimes="
|
||||
0;1"
|
||||
calcMode="spline"
|
||||
|
||||
|
||||
/>-->
|
||||
|
||||
<path class="stroke green"
|
||||
d="M0,100L54.55,100L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,100L381.82,100L436.36,95.69L490.91,15.33L545.45,80.53L600,100">
|
||||
<animate
|
||||
attributeName="d"
|
||||
from="M0,100L54.55,100L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,100L381.82,100L436.36,95.69L490.91,15.33L545.45,80.53L600,100"
|
||||
to="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L222.73,96L267.27,32L381.82,45L436.36,95.69L490.91,65.33L545.45,80.53L600,100"
|
||||
begin="1s"
|
||||
dur="1s"
|
||||
values="M0,100L54.55,100L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,100L381.82,100L436.36,95.69L490.91,15.33L545.45,80.53L600,100;
|
||||
M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L222.73,96L267.27,32L381.82,45L436.36,95.69L490.91,65.33L545.45,80.53L600,100"
|
||||
keySplines="0.1 0.8 0.2 1"
|
||||
keyTimes="
|
||||
0;1"
|
||||
calcMode="spline"
|
||||
repeatCount="indefinite"
|
||||
/>
|
||||
</path>
|
||||
<!--<path class="stroke green"
|
||||
d="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20">
|
||||
<animate
|
||||
attributeName="d"
|
||||
from="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20"
|
||||
to="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20L560,80L600,50"
|
||||
begin="0s"
|
||||
dur="6s"
|
||||
values="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20;
|
||||
M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20L560,80L600,50"
|
||||
keySplines="0.1 0.8 0.2 1"
|
||||
keyTimes="
|
||||
0;1"
|
||||
calcMode="spline"
|
||||
repeatCount="indefinite"
|
||||
/>
|
||||
</path>-->
|
||||
|
||||
<!--<path class="stroke green" d="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L600,100"></path>-->
|
||||
</svg>
|
||||
<!--<svg class="chart" width="720" height="140">
|
||||
<path class="stroke green" d="M0,100L54.55,35L109.09,100L163.64,89.75L218.18,86.18L272.73,96L327.27,32L381.82,45L436.36,95.69L490.91,65.33L500.45,80.53L530,20L560,80L600,50"></path>
|
||||
</svg>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-10 push-sm-1">
|
||||
<div class="dashboard-section">
|
||||
<h1>Usage</h1>
|
||||
<h6 style="margin:2em 0 0 0">
|
||||
Include it in your html
|
||||
</h6>
|
||||
<pre>
|
||||
<code class="hljs html"><script src="frappe-charts.min.js" /></code>
|
||||
</pre>
|
||||
<h6 style="margin:0">Create an svg element</h6>
|
||||
<pre>
|
||||
<code class="hljs html"><svg id="chart"></svg></code>
|
||||
</pre>
|
||||
<h6 style="margin:0">Initiliaze a new Chart object</h6>
|
||||
<pre>
|
||||
<code class="hljs javascript">var tasks = [
|
||||
{
|
||||
id: 'Task 1',
|
||||
name: 'Redesign website',
|
||||
start: '2016-12-28',
|
||||
end: '2016-12-31',
|
||||
progress: 20,
|
||||
dependencies: 'Task 2, Task 3'
|
||||
},
|
||||
...
|
||||
]
|
||||
var chart = new Chart;
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-10 push-sm-1">
|
||||
<div class="dashboard-section">
|
||||
<h1>Examples</h1>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Closing -->
|
||||
<div class="text-center" style="margin-top: 70px">
|
||||
<a href=""><button class="large blue button">Download</button></a>
|
||||
<p class="mt-2"><a href="https://github.com/frappe" target="_blank">View on GitHub</a></p>
|
||||
<p>License: MIT</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="../src/charts.js"></script>
|
||||
<script src="assets/js/index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
10
docs/test_data.json
Normal file
10
docs/test_data.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"labels": ["Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"],
|
||||
"datasets": [{
|
||||
"color": "green",
|
||||
"values": [0, 0, 0, 61500, 82936.88, 24010, 0, 0, 25840, 508048.82, 116820, 0],
|
||||
"formatted": ["₹ 0.00", "₹ 0.00", "₹ 0.00", "₹ 61,500.00", "₹ 82,936.88", "₹ 24,010.00", "₹ 0.00", "₹ 0.00", "₹ 25,840.00", "₹ 5,08,048.82", "₹ 1,16,820.00", "₹ 0.00"],
|
||||
"y_tops": [100, 100, 100, 89.75, 86.17718666666667, 95.99833333333333, 100, 100, 95.69333333333333, 15.32519666666667, 80.53, 100],
|
||||
"data_units": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}]
|
||||
}]
|
||||
}
|
||||
272
src/charts.css
Normal file
272
src/charts.css
Normal file
@ -0,0 +1,272 @@
|
||||
/* graphs */
|
||||
.graph-container .graph-focus-margin {
|
||||
margin: 0px 5%;
|
||||
}
|
||||
.graph-container .graphics {
|
||||
margin-top: 10px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
.graph-container .graph-stats-group {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
flex: 1;
|
||||
}
|
||||
.graph-container .graph-stats-container {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.graph-container .graph-stats-container .stats {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.graph-container .graph-stats-container .stats-title {
|
||||
color: #8D99A6;
|
||||
}
|
||||
.graph-container .graph-stats-container .stats-value {
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.graph-container .graph-stats-container .stats-description {
|
||||
font-size: 12px;
|
||||
color: #8D99A6;
|
||||
}
|
||||
.graph-container .graph-stats-container .graph-data .stats-value {
|
||||
color: #98d85b;
|
||||
}
|
||||
.graph-container .axis,
|
||||
.graph-container .chart-label {
|
||||
font-size: 10px;
|
||||
fill: #959ba1;
|
||||
}
|
||||
.graph-container .axis line,
|
||||
.graph-container .chart-label line {
|
||||
stroke: rgba(27, 31, 35, 0.1);
|
||||
}
|
||||
.graph-container .percentage-graph .progress {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.graph-container .data-points circle {
|
||||
stroke: #fff;
|
||||
stroke-width: 2;
|
||||
}
|
||||
.graph-container .data-points path {
|
||||
fill: none;
|
||||
stroke-opacity: 1;
|
||||
stroke-width: 2px;
|
||||
}
|
||||
.graph-container line.dashed {
|
||||
stroke-dasharray: 5,3;
|
||||
}
|
||||
.graph-container .tick.x-axis-label {
|
||||
display: block;
|
||||
}
|
||||
.graph-container .tick .specific-value {
|
||||
text-anchor: start;
|
||||
}
|
||||
.graph-container .tick .y-value-text {
|
||||
text-anchor: end;
|
||||
}
|
||||
.graph-container .tick .x-value-text {
|
||||
text-anchor: middle;
|
||||
}
|
||||
.graph-svg-tip {
|
||||
position: absolute;
|
||||
z-index: 99999;
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
color: #959da5;
|
||||
text-align: center;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
border-radius: 3px;
|
||||
}
|
||||
.graph-svg-tip.comparison {
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
pointer-events: none;
|
||||
}
|
||||
.graph-svg-tip.comparison .title {
|
||||
display: block;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
.graph-svg-tip.comparison ul {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
list-style: none;
|
||||
}
|
||||
.graph-svg-tip.comparison li {
|
||||
display: inline-block;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.graph-svg-tip ul,
|
||||
.graph-svg-tip ol {
|
||||
padding-left: 0;
|
||||
display: flex;
|
||||
}
|
||||
.graph-svg-tip ul.data-point-list li {
|
||||
min-width: 90px;
|
||||
flex: 1;
|
||||
}
|
||||
.graph-svg-tip strong {
|
||||
color: #dfe2e5;
|
||||
}
|
||||
.graph-svg-tip .svg-pointer {
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
left: 50%;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
margin: 0 0 0 -5px;
|
||||
content: " ";
|
||||
border: 5px solid transparent;
|
||||
border-top-color: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
.stroke.grey {
|
||||
stroke: #F0F4F7;
|
||||
}
|
||||
.stroke.blue {
|
||||
stroke: #5e64ff;
|
||||
}
|
||||
.stroke.red {
|
||||
stroke: #ff5858;
|
||||
}
|
||||
.stroke.light-green {
|
||||
stroke: #98d85b;
|
||||
}
|
||||
.stroke.green {
|
||||
stroke: #28a745;
|
||||
}
|
||||
.stroke.orange {
|
||||
stroke: #ffa00a;
|
||||
}
|
||||
.stroke.purple {
|
||||
stroke: #743ee2;
|
||||
}
|
||||
.stroke.darkgrey {
|
||||
stroke: #b8c2cc;
|
||||
}
|
||||
.stroke.black {
|
||||
stroke: #36414C;
|
||||
}
|
||||
.stroke.yellow {
|
||||
stroke: #FEEF72;
|
||||
}
|
||||
.stroke.light-blue {
|
||||
stroke: #7CD6FD;
|
||||
}
|
||||
.stroke.lightblue {
|
||||
stroke: #7CD6FD;
|
||||
}
|
||||
.fill.grey {
|
||||
fill: #F0F4F7;
|
||||
}
|
||||
.fill.blue {
|
||||
fill: #5e64ff;
|
||||
}
|
||||
.fill.red {
|
||||
fill: #ff5858;
|
||||
}
|
||||
.fill.light-green {
|
||||
fill: #98d85b;
|
||||
}
|
||||
.fill.green {
|
||||
fill: #28a745;
|
||||
}
|
||||
.fill.orange {
|
||||
fill: #ffa00a;
|
||||
}
|
||||
.fill.purple {
|
||||
fill: #743ee2;
|
||||
}
|
||||
.fill.darkgrey {
|
||||
fill: #b8c2cc;
|
||||
}
|
||||
.fill.black {
|
||||
fill: #36414C;
|
||||
}
|
||||
.fill.yellow {
|
||||
fill: #FEEF72;
|
||||
}
|
||||
.fill.light-blue {
|
||||
fill: #7CD6FD;
|
||||
}
|
||||
.fill.lightblue {
|
||||
fill: #7CD6FD;
|
||||
}
|
||||
.background.grey {
|
||||
background: #F0F4F7;
|
||||
}
|
||||
.background.blue {
|
||||
background: #5e64ff;
|
||||
}
|
||||
.background.red {
|
||||
background: #ff5858;
|
||||
}
|
||||
.background.light-green {
|
||||
background: #98d85b;
|
||||
}
|
||||
.background.green {
|
||||
background: #28a745;
|
||||
}
|
||||
.background.orange {
|
||||
background: #ffa00a;
|
||||
}
|
||||
.background.purple {
|
||||
background: #743ee2;
|
||||
}
|
||||
.background.darkgrey {
|
||||
background: #b8c2cc;
|
||||
}
|
||||
.background.black {
|
||||
background: #36414C;
|
||||
}
|
||||
.background.yellow {
|
||||
background: #FEEF72;
|
||||
}
|
||||
.background.light-blue {
|
||||
background: #7CD6FD;
|
||||
}
|
||||
.background.lightblue {
|
||||
background: #7CD6FD;
|
||||
}
|
||||
.border-top.grey {
|
||||
border-top: 3px solid #F0F4F7;
|
||||
}
|
||||
.border-top.blue {
|
||||
border-top: 3px solid #5e64ff;
|
||||
}
|
||||
.border-top.red {
|
||||
border-top: 3px solid #ff5858;
|
||||
}
|
||||
.border-top.light-green {
|
||||
border-top: 3px solid #98d85b;
|
||||
}
|
||||
.border-top.green {
|
||||
border-top: 3px solid #28a745;
|
||||
}
|
||||
.border-top.orange {
|
||||
border-top: 3px solid #ffa00a;
|
||||
}
|
||||
.border-top.purple {
|
||||
border-top: 3px solid #743ee2;
|
||||
}
|
||||
.border-top.darkgrey {
|
||||
border-top: 3px solid #b8c2cc;
|
||||
}
|
||||
.border-top.black {
|
||||
border-top: 3px solid #36414C;
|
||||
}
|
||||
.border-top.yellow {
|
||||
border-top: 3px solid #FEEF72;
|
||||
}
|
||||
.border-top.light-blue {
|
||||
border-top: 3px solid #7CD6FD;
|
||||
}
|
||||
.border-top.lightblue {
|
||||
border-top: 3px solid #7CD6FD;
|
||||
}
|
||||
1481
src/charts.js
Normal file
1481
src/charts.js
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user