조민지

Frontend Initial Commit

Showing 94 changed files with 4921 additions and 0 deletions
This diff is collapsed. Click to expand it.
1 +{
2 + "compilerOptions": {
3 + "baseUrl": "src",
4 + "paths": {
5 + "*": ["src/*"]
6 + }
7 + }
8 +}
This diff could not be displayed because it is too large.
1 +{
2 + "name": "light-bootstrap-dashboard-react",
3 + "version": "1.3.0",
4 + "private": true,
5 + "dependencies": {
6 + "bootstrap": "3.3.7",
7 + "chartist": "0.10.1",
8 + "node-sass": "4.12.0",
9 + "react": "16.8.6",
10 + "react-bootstrap": "0.32.4",
11 + "react-chartist": "0.13.3",
12 + "react-dom": "16.8.6",
13 + "react-google-maps": "9.4.5",
14 + "react-notification-system": "0.2.17",
15 + "react-router": "5.0.0",
16 + "react-router-dom": "5.0.0",
17 + "react-scripts": "3.0.0",
18 + "react-toggle": "4.0.2"
19 + },
20 + "devDependencies": {
21 + "@types/googlemaps": "3.30.19",
22 + "@types/markerclustererplus": "2.1.33",
23 + "@types/react": "16.8.13",
24 + "typescript": "3.4.3"
25 + },
26 + "scripts": {
27 + "start": "react-scripts start",
28 + "build": "react-scripts build",
29 + "test": "react-scripts test --env=jsdom",
30 + "eject": "react-scripts eject",
31 + "install:clean": "rm -rf node_modules/ && rm -rf package-lock.json && npm install && npm start",
32 + "compile-sass": "node-sass src/assets/sass/light-bootstrap-dashboard-react.scss src/assets/css/light-bootstrap-dashboard-react.css",
33 + "minify-sass": "node-sass src/assets/sass/light-bootstrap-dashboard-react.scss src/assets/css/light-bootstrap-dashboard-react.min.css --output-style compressed",
34 + "map-sass": "node-sass src/assets/sass/light-bootstrap-dashboard-react.scss src/assets/css/light-bootstrap-dashboard-react.css --source-map true"
35 + },
36 + "browserslist": {
37 + "production": [
38 + ">0.2%",
39 + "not dead",
40 + "not op_mini all"
41 + ],
42 + "development": [
43 + "last 1 chrome version",
44 + "last 1 firefox version",
45 + "last 1 safari version"
46 + ]
47 + }
48 +}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
1 +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="white">
2 + <circle transform="translate(8 0)" cx="0" cy="16" r="0">
3 + <animate attributeName="r" values="0; 4; 0; 0" dur="1.2s" repeatCount="indefinite" begin="0"
4 + keytimes="0;0.2;0.7;1" keySplines="0.2 0.2 0.4 0.8;0.2 0.6 0.4 0.8;0.2 0.6 0.4 0.8" calcMode="spline" />
5 + </circle>
6 + <circle transform="translate(16 0)" cx="0" cy="16" r="0">
7 + <animate attributeName="r" values="0; 4; 0; 0" dur="1.2s" repeatCount="indefinite" begin="0.3"
8 + keytimes="0;0.2;0.7;1" keySplines="0.2 0.2 0.4 0.8;0.2 0.6 0.4 0.8;0.2 0.6 0.4 0.8" calcMode="spline" />
9 + </circle>
10 + <circle transform="translate(24 0)" cx="0" cy="16" r="0">
11 + <animate attributeName="r" values="0; 4; 0; 0" dur="1.2s" repeatCount="indefinite" begin="0.6"
12 + keytimes="0;0.2;0.7;1" keySplines="0.2 0.2 0.4 0.8;0.2 0.6 0.4 0.8;0.2 0.6 0.4 0.8" calcMode="spline" />
13 + </circle>
14 +</svg>
1 +.alert{
2 + border: 0;
3 + border-radius: 0;
4 + color: #FFFFFF;
5 + padding: 10px 15px;
6 + font-size: 14px;
7 +
8 + .container &{
9 + border-radius: 4px;
10 +
11 + }
12 + .navbar &{
13 + border-radius: 0;
14 + left: 0;
15 + position: absolute;
16 + right: 0;
17 + top: 85px;
18 + width: 100%;
19 + z-index: 3;
20 + }
21 + .navbar:not(.navbar-transparent) &{
22 + top: 70px;
23 + }
24 +
25 + span[data-notify="icon"]{
26 + font-size: 30px;
27 + display: block;
28 + left: 15px;
29 + position: absolute;
30 + top: 50%;
31 + margin-top: -15px;
32 + }
33 +
34 + button.close{
35 + position: absolute;
36 + right: 10px;
37 + top: 50%;
38 + margin-top: -13px;
39 + z-index: 1033;
40 + background-color: #FFFFFF;
41 + display: block;
42 + border-radius: 50%;
43 + opacity: .4;
44 + line-height: 20px;
45 + font-size: 12px;
46 + width: 25px;
47 + height: 25px;
48 + outline: 0 !important;
49 + text-align: center;
50 + padding: 3px;
51 + font-weight: 300;
52 +
53 + &:hover{
54 + opacity: .55;
55 + }
56 + }
57 +
58 + .close ~ span{
59 + display: block;
60 + max-width: 89%;
61 + }
62 +
63 + &[data-notify="container"]{
64 + padding: 10px 10px 10px 20px;
65 + border-radius: $border-radius-base;
66 + }
67 +
68 + &.alert-with-icon{
69 + padding-left: 65px;
70 + }
71 + a, a:hover, a:focus{
72 + text-decoration: underline;
73 + color: white;
74 + }
75 +}
76 +.alert-info{
77 + background-color: $azure-navbar;
78 +}
79 +.alert-success {
80 + background-color: $green-navbar;
81 +}
82 +.alert-warning {
83 + background-color: $orange-navbar;
84 +}
85 +.alert-danger {
86 + background-color: $red-navbar;
87 +}
1 +.btn{
2 + border-width: $border-thick;
3 + background-color: $transparent-bg;
4 + font-weight: $font-weight-normal;
5 +
6 + @include opacity(.8);
7 + padding: $padding-base-vertical $padding-base-horizontal;
8 +
9 + @include btn-styles($default-color, $default-states-color);
10 +
11 + &:hover,
12 + &:focus{
13 + @include opacity(1);
14 + outline: 0 !important;
15 + }
16 + &:active,
17 + &.active,
18 + .open > &.dropdown-toggle {
19 + @include box-shadow(none);
20 + outline: 0 !important;
21 + }
22 +
23 + &.btn-icon{
24 + padding: $padding-base-vertical;
25 + }
26 +
27 +}
28 +
29 +// Apply the mixin to the buttons
30 +//.btn-default { @include btn-styles($default-color, $default-states-color); }
31 +.btn-primary { @include btn-styles($primary-color, $primary-states-color); }
32 +.btn-success { @include btn-styles($success-color, $success-states-color); }
33 +.btn-info { @include btn-styles($info-color, $info-states-color); }
34 +.btn-warning { @include btn-styles($warning-color, $warning-states-color); }
35 +.btn-danger { @include btn-styles($danger-color, $danger-states-color); }
36 +.btn-neutral {
37 + @include btn-styles($white-color, $white-color);
38 +
39 + &:active,
40 + &.active,
41 + .open > &.dropdown-toggle{
42 + background-color: $white-color;
43 + color: $default-color;
44 + }
45 +
46 + &.btn-fill,
47 + &.btn-fill:hover,
48 + &.btn-fill:focus{
49 + color: $default-color;
50 + }
51 +
52 + &.btn-simple:active,
53 + &.btn-simple.active{
54 + background-color: transparent;
55 + }
56 +}
57 +
58 +.btn{
59 + &:disabled,
60 + &[disabled],
61 + &.disabled{
62 + @include opacity(.5);
63 + }
64 +}
65 +.btn-round{
66 + border-width: $border-thin;
67 + border-radius: $btn-round-radius !important;
68 + padding: $padding-round-vertical $padding-round-horizontal;
69 +
70 + &.btn-icon{
71 + padding: $padding-round-vertical;
72 + }
73 +}
74 +.btn-simple{
75 + border: $none;
76 + font-size: $font-size-medium;
77 + padding: $padding-base-vertical $padding-base-horizontal;
78 +
79 + &.btn-icon{
80 + padding: $padding-base-vertical;
81 + }
82 +}
83 +.btn-lg{
84 + @include btn-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-large);
85 + font-weight: $font-weight-normal;
86 +}
87 +.btn-sm{
88 + @include btn-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-small);
89 +}
90 +.btn-xs {
91 + @include btn-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $border-radius-small);
92 +}
93 +.btn-wd {
94 + min-width: 140px;
95 +}
96 +
97 +.btn-group.select{
98 + width: 100%;
99 +}
100 +.btn-group.select .btn{
101 + text-align: left;
102 +}
103 +.btn-group.select .caret{
104 + position: absolute;
105 + top: 50%;
106 + margin-top: -1px;
107 + right: 8px;
108 +}
1 +.card{
2 + border-radius: $border-radius-base;
3 + box-shadow: 0 1px 2px rgba(0,0,0,.05),0 0 0 1px rgba(63,63,68,.1);
4 + background-color: #FFFFFF;
5 + margin-bottom: 30px;
6 +
7 + .image{
8 + width: 100%;
9 + overflow: hidden;
10 + height: 260px;
11 + border-radius: $border-radius-base $border-radius-base 0 0;
12 + position: relative;
13 + -webkit-transform-style: preserve-3d;
14 + -moz-transform-style: preserve-3d;
15 + transform-style: preserve-3d;
16 +
17 + img {
18 + width: 100%;
19 + }
20 + }
21 + .filter{
22 + position: absolute;
23 + z-index: 2;
24 + background-color: rgba(0,0,0,.68);
25 + top: 0;
26 + left: 0;
27 + width: 100%;
28 + height: 100%;
29 + text-align: center;
30 +
31 + @include opacity(0);
32 +
33 + .btn{
34 + @include vertical-align();
35 + }
36 + }
37 + &:hover .filter{
38 + @include opacity(1);
39 + }
40 + .btn-hover{
41 + @include opacity(0);
42 + }
43 + &:hover .btn-hover{
44 + @include opacity(1);
45 + }
46 + .content{
47 + padding: 15px 15px 10px 15px;
48 + }
49 + .header{
50 + padding: 15px 15px 0;
51 + }
52 + .category,
53 + label{
54 + font-size: $font-size-base;
55 + font-weight: $font-weight-normal;
56 + color: $dark-gray;
57 + margin-bottom: 0px;
58 +
59 + i{
60 + font-size: $font-paragraph;
61 + }
62 + }
63 +
64 + label{
65 + font-size: $font-size-small;
66 + margin-bottom: 5px;
67 + text-transform: uppercase;
68 + }
69 +
70 + .title{
71 + margin: $none;
72 + color: $black-color;
73 + font-weight: $font-weight-light;
74 + }
75 + .avatar{
76 + width: 30px;
77 + height: 30px;
78 + overflow: hidden;
79 + border-radius: 50%;
80 + margin-right: 5px;
81 + }
82 + .description{
83 + font-size: $font-size-base;
84 + color: #333;
85 + }
86 + .footer{
87 + padding: 0;
88 + background-color: $transparent-bg;
89 + line-height: 30px;
90 +
91 + .legend{
92 + padding: 5px 0;
93 + }
94 +
95 + hr{
96 + margin-top: 5px;
97 + margin-bottom: 5px;
98 + }
99 + }
100 + .stats{
101 + color: #a9a9a9;
102 + }
103 + .footer div{
104 + display: inline-block;
105 + }
106 +
107 + .author{
108 + font-size: $font-size-small;
109 + font-weight: $font-weight-bold;
110 + text-transform: uppercase;
111 + }
112 + .author i{
113 + font-size: $font-size-base;
114 + }
115 + h6{
116 + font-size: $font-size-small;
117 + margin: 0;
118 + }
119 + &.card-separator:after{
120 + height: 100%;
121 + right: -15px;
122 + top: 0;
123 + width: 1px;
124 + background-color: $medium-gray;
125 + content: "";
126 + position: absolute;
127 + }
128 +
129 + .ct-chart{
130 + margin: 30px 0 30px;
131 + height: 245px;
132 + }
133 +
134 + .table{
135 + tbody td:first-child,
136 + thead th:first-child{
137 + padding-left: 15px;
138 + }
139 +
140 + tbody td:last-child,
141 + thead th:last-child{
142 + padding-right: 15px;
143 + }
144 + }
145 +
146 + .alert{
147 + border-radius: $border-radius-base;
148 + position: relative;
149 +
150 + &.alert-with-icon{
151 + padding-left: 65px;
152 + }
153 + }
154 +}
155 +.card-user{
156 + .image{
157 + height: 110px;
158 + }
159 + .image-plain{
160 + height: 0;
161 + margin-top: 110px;
162 + }
163 + .author{
164 + text-align: center;
165 + text-transform: none;
166 + margin-top: -70px;
167 + }
168 + .avatar{
169 + width: 124px;
170 + height: 124px;
171 + border: 5px solid #FFFFFF;
172 + position: relative;
173 + margin-bottom: 15px;
174 +
175 + &.border-gray{
176 + border-color: #EEEEEE;
177 + }
178 + }
179 + .title{
180 + line-height: 24px;
181 + }
182 + .content{
183 + min-height: 240px;
184 + }
185 +}
186 +
187 +.card-user,
188 +.card-price{
189 + .footer{
190 + padding: 5px 15px 10px;
191 + }
192 + hr{
193 + margin: 5px 15px;
194 + }
195 +}
196 +.card-plain{
197 + background-color: transparent;
198 + box-shadow: none;
199 + border-radius: 0;
200 +
201 + .image{
202 + border-radius: 4px;
203 + }
204 +}
205 +
206 +.card-stats{
207 + .icon-big{
208 + font-size: 3em;
209 + min-height: 64px;
210 + i{
211 + font-weight: bold;
212 + line-height: 59px;
213 + }
214 + }
215 + .numbers{
216 + font-size: 2em;
217 + text-align: right;
218 + p {
219 + margin: 0;
220 + }
221 + }
222 +}
1 +@mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) {
2 + display: block;
3 + position: relative;
4 + width: $width;
5 +
6 + &:before {
7 + display: block;
8 + float: left;
9 + content: "";
10 + width: 0;
11 + height: 0;
12 + padding-bottom: $ratio * 100%;
13 + }
14 +
15 + &:after {
16 + content: "";
17 + display: table;
18 + clear: both;
19 + }
20 +
21 + > svg {
22 + display: block;
23 + position: absolute;
24 + top: 0;
25 + left: 0;
26 + }
27 +}
28 +
29 +@mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) {
30 + -webkit-box-align: $ct-text-align;
31 + -webkit-align-items: $ct-text-align;
32 + -ms-flex-align: $ct-text-align;
33 + align-items: $ct-text-align;
34 + -webkit-box-pack: $ct-text-justify;
35 + -webkit-justify-content: $ct-text-justify;
36 + -ms-flex-pack: $ct-text-justify;
37 + justify-content: $ct-text-justify;
38 + // Fallback to text-align for non-flex browsers
39 + @if($ct-text-justify == 'flex-start') {
40 + text-align: left;
41 + } @else if ($ct-text-justify == 'flex-end') {
42 + text-align: right;
43 + } @else {
44 + text-align: center;
45 + }
46 +}
47 +
48 +@mixin ct-flex() {
49 + // Fallback to block
50 + display: block;
51 + display: -webkit-box;
52 + display: -moz-box;
53 + display: -ms-flexbox;
54 + display: -webkit-flex;
55 + display: flex;
56 +}
57 +
58 +@mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) {
59 + fill: $ct-text-color;
60 + color: $ct-text-color;
61 + font-size: $ct-text-size;
62 + line-height: $ct-text-line-height;
63 +}
64 +
65 +@mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) {
66 + stroke: $ct-grid-color;
67 + stroke-width: $ct-grid-width;
68 +
69 + @if ($ct-grid-dasharray) {
70 + stroke-dasharray: $ct-grid-dasharray;
71 + }
72 +}
73 +
74 +@mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) {
75 + stroke-width: $ct-point-size;
76 + stroke-linecap: $ct-point-shape;
77 +}
78 +
79 +@mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) {
80 + fill: none;
81 + stroke-width: $ct-line-width;
82 +
83 + @if ($ct-line-dasharray) {
84 + stroke-dasharray: $ct-line-dasharray;
85 + }
86 +}
87 +
88 +@mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) {
89 + stroke: none;
90 + fill-opacity: $ct-area-opacity;
91 +}
92 +
93 +@mixin ct-chart-bar($ct-bar-width: $ct-bar-width) {
94 + fill: none;
95 + stroke-width: $ct-bar-width;
96 +}
97 +
98 +@mixin ct-chart-donut($ct-donut-width: $ct-donut-width) {
99 + fill: none;
100 + stroke-width: $ct-donut-width;
101 +}
102 +
103 +@mixin ct-chart-series-color($color) {
104 + .#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} {
105 + stroke: $color;
106 + }
107 +
108 + .#{$ct-class-slice-pie}, .#{$ct-class-area} {
109 + fill: $color;
110 + }
111 +}
112 +
113 +@mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) {
114 +
115 + .#{$ct-class-label} {
116 + @include ct-chart-label($ct-text-color, $ct-text-size);
117 + }
118 +
119 + .#{$ct-class-chart-line} .#{$ct-class-label},
120 + .#{$ct-class-chart-bar} .#{$ct-class-label} {
121 + @include ct-flex();
122 + }
123 +
124 + .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
125 + @include ct-align-justify(flex-end, flex-start);
126 + // Fallback for browsers that don't support foreignObjects
127 + text-anchor: start;
128 + }
129 +
130 + .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
131 + @include ct-align-justify(flex-start, flex-start);
132 + // Fallback for browsers that don't support foreignObjects
133 + text-anchor: start;
134 + }
135 +
136 + .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
137 + @include ct-align-justify(flex-end, flex-end);
138 + // Fallback for browsers that don't support foreignObjects
139 + text-anchor: end;
140 + }
141 +
142 + .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
143 + @include ct-align-justify(flex-end, flex-start);
144 + // Fallback for browsers that don't support foreignObjects
145 + text-anchor: start;
146 + }
147 +
148 + .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
149 + @include ct-align-justify(flex-end, center);
150 + // Fallback for browsers that don't support foreignObjects
151 + text-anchor: start;
152 + }
153 +
154 + .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
155 + @include ct-align-justify(flex-start, center);
156 + // Fallback for browsers that don't support foreignObjects
157 + text-anchor: start;
158 + }
159 +
160 + .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
161 + @include ct-align-justify(flex-end, flex-start);
162 + // Fallback for browsers that don't support foreignObjects
163 + text-anchor: start;
164 + }
165 +
166 + .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
167 + @include ct-align-justify(flex-start, flex-start);
168 + // Fallback for browsers that don't support foreignObjects
169 + text-anchor: start;
170 + }
171 +
172 + .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
173 + //@include ct-chart-label($ct-text-color, $ct-text-size, center, $ct-vertical-text-justify);
174 + @include ct-align-justify(center, flex-end);
175 + // Fallback for browsers that don't support foreignObjects
176 + text-anchor: end;
177 + }
178 +
179 + .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
180 + @include ct-align-justify(center, flex-start);
181 + // Fallback for browsers that don't support foreignObjects
182 + text-anchor: end;
183 + }
184 +
185 + .#{$ct-class-grid} {
186 + @include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray);
187 + }
188 +
189 + .#{$ct-class-point} {
190 + @include ct-chart-point($ct-point-size, $ct-point-shape);
191 + }
192 +
193 + .#{$ct-class-line} {
194 + @include ct-chart-line($ct-line-width);
195 + }
196 +
197 + .#{$ct-class-area} {
198 + @include ct-chart-area();
199 + }
200 +
201 + .#{$ct-class-bar} {
202 + @include ct-chart-bar($ct-bar-width);
203 + }
204 +
205 + .#{$ct-class-slice-donut} {
206 + @include ct-chart-donut($ct-donut-width);
207 + }
208 +
209 + @if $ct-include-colored-series {
210 + @for $i from 0 to length($ct-series-names) {
211 + .#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} {
212 + $color: nth($ct-series-colors, $i + 1);
213 +
214 + @include ct-chart-series-color($color);
215 + }
216 + }
217 + }
218 +}
219 +
220 +@if $ct-include-classes {
221 + @include ct-chart();
222 +
223 + @if $ct-include-alternative-responsive-containers {
224 + @for $i from 0 to length($ct-scales-names) {
225 + .#{nth($ct-scales-names, $i + 1)} {
226 + @include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1));
227 + }
228 + }
229 + }
230 +}
...\ No newline at end of file ...\ No newline at end of file
1 +/* Checkbox and radio */
2 +.checkbox,
3 +.radio {
4 + margin-bottom: 12px;
5 +}
6 +
7 +.checkbox label,
8 +.radio label {
9 + display: inline-block;
10 + position: relative;
11 + cursor: pointer;
12 + padding-left: 24px;
13 + margin-bottom: 0;
14 +}
15 +
16 +.checkbox label::before,
17 +.checkbox label::after{
18 + font-family: 'FontAwesome';
19 + content: "\f096";
20 + display: inline-block;
21 + position: absolute;
22 + width: 20px;
23 + height: 20px;
24 + left: 0;
25 + cursor: pointer;
26 + line-height: 19px;
27 + font-size: 20px;
28 + -webkit-font-smoothing: antialiased;
29 + -moz-osx-font-smoothing: grayscale;
30 + top: 1px;
31 + color: $medium-gray;
32 + transition: color 0.2s linear;
33 + padding: 1px;
34 +}
35 +
36 + .checkbox label::after{
37 + content: "";
38 + text-align: center;
39 + opacity: 1;
40 + left: 1px;
41 + color: $medium-gray;
42 +}
43 +
44 +.checkbox input[type="checkbox"],
45 +.radio input[type="radio"] {
46 + opacity: 0;
47 + margin-left: 0;
48 +}
49 +
50 +.checkbox input[type="checkbox"]:checked + label::after{
51 + font-family: 'FontAwesome';
52 + content: "\f046";
53 +}
54 +
55 +.checkbox input[type="checkbox"]:checked + label::after{
56 + color: $info-color;
57 +}
58 +
59 +.checkbox input[type="checkbox"]:checked + label::before{
60 + opacity: 0;
61 +}
62 +
63 +.checkbox input[type="checkbox"]:disabled + label,
64 +.radio input[type="radio"]:disabled + label,
65 +.checkbox input[type="checkbox"]:disabled:checked + label::after {
66 + color: $medium-gray;
67 +}
68 +.checkbox input[type="checkbox"]:disabled + label::before,
69 +.checkbox input[type="checkbox"]:disabled + label::after{
70 + cursor: not-allowed;
71 +}
72 +
73 +.checkbox input[type="checkbox"]:disabled + label,
74 +.radio input[type="radio"]:disabled + label{
75 + cursor: not-allowed;
76 +}
77 +
78 +.checkbox.checkbox-circle label::before {
79 + border-radius: 50%;
80 +}
81 +
82 +.checkbox.checkbox-inline {
83 + padding-left:0;
84 +}
85 +
86 +.checkbox-primary input[type="checkbox"]:checked + label::before {
87 + background-color: #428bca;
88 + border-color: #428bca;
89 +}
90 +
91 +.checkbox-primary input[type="checkbox"]:checked + label::after {
92 + color: #fff;
93 +}
94 +
95 +.checkbox-danger input[type="checkbox"]:checked + label::before {
96 + background-color: #d9534f;
97 + border-color: #d9534f;
98 +}
99 +
100 +.checkbox-danger input[type="checkbox"]:checked + label::after {
101 + color: #fff;
102 +}
103 +
104 +.checkbox-info input[type="checkbox"]:checked + label::before {
105 + background-color: #5bc0de;
106 + border-color: #5bc0de;
107 +}
108 +
109 +.checkbox-info input[type="checkbox"]:checked + label::after {
110 + color: #fff;
111 +}
112 +
113 +.checkbox-warning input[type="checkbox"]:checked + label::before {
114 + background-color: #f0ad4e;
115 + border-color: #f0ad4e;
116 +}
117 +
118 +.checkbox-warning input[type="checkbox"]:checked + label::after {
119 + color: #fff;
120 +}
121 +
122 +.checkbox-success input[type="checkbox"]:checked + label::before {
123 + background-color: #5cb85c;
124 + border-color: #5cb85c;
125 +}
126 +
127 +.checkbox-success input[type="checkbox"]:checked + label::after {
128 + color: #fff;
129 +}
130 +
131 +.radio label::before,
132 +.radio label::after {
133 + font-family: 'FontAwesome';
134 + content: "\f10c";
135 + font-size: 20px;
136 + height: 20px;
137 + width: 20px;
138 + -webkit-font-smoothing: antialiased;
139 + -moz-osx-font-smoothing: grayscale;
140 + display: inline-block;
141 + position: absolute;
142 + line-height: 19px;
143 + left: 0;
144 + top: 0;
145 + color: $medium-gray;
146 + padding: 1px;
147 + transition: color 0.2s linear;
148 +}
149 +
150 +.radio input[type="radio"]:checked + label::after {
151 + font-family: 'FontAwesome';
152 + content: "\f192";
153 + color: $medium-gray;
154 +}
155 +
156 +.radio input[type="radio"]:checked + label::after{
157 + color: $info-color;
158 +}
159 +
160 +
161 +.radio input[type="radio"]:disabled + label {
162 + color: #ddd;
163 +}
164 +
165 +.radio input[type="radio"]:disabled + label::before,
166 +.radio input[type="radio"]:disabled + label::after {
167 + color: #ddd;
168 +}
169 +
170 +.radio.radio-inline {
171 + margin-top: 0;
172 +}
173 +
174 +
175 +
176 +
177 +/**
178 + * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
179 + *
180 + * @version v3.3.4
181 + * @homepage https://bttstrp.github.io/bootstrap-switch
182 + * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
183 + * @license Apache-2.0
184 + */
185 +
186 +.bootstrap-switch {
187 + display: inline-block;
188 + direction: ltr;
189 + cursor: pointer;
190 + border-radius: 4px;
191 + border: 1px solid;
192 + border-color: #ccc;
193 + position: relative;
194 + text-align: left;
195 + overflow: hidden;
196 + line-height: 8px;
197 + z-index: 0;
198 + -webkit-user-select: none;
199 + -moz-user-select: none;
200 + -ms-user-select: none;
201 + user-select: none;
202 + vertical-align: middle;
203 + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
204 + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
205 + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
206 +}
207 +.bootstrap-switch .bootstrap-switch-container {
208 + display: inline-block;
209 + top: 0;
210 + border-radius: 4px;
211 + -webkit-transform: translate3d(0, 0, 0);
212 + transform: translate3d(0, 0, 0);
213 +}
214 +.bootstrap-switch .bootstrap-switch-handle-on,
215 +.bootstrap-switch .bootstrap-switch-handle-off,
216 +.bootstrap-switch .bootstrap-switch-label {
217 + -webkit-box-sizing: border-box;
218 + -moz-box-sizing: border-box;
219 + box-sizing: border-box;
220 + cursor: pointer;
221 + display: table-cell;
222 + vertical-align: middle;
223 + padding: 6px 12px;
224 + font-size: 14px;
225 + line-height: 20px;
226 +}
227 +.bootstrap-switch .bootstrap-switch-handle-on,
228 +.bootstrap-switch .bootstrap-switch-handle-off {
229 + text-align: center;
230 + z-index: 1;
231 +}
232 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
233 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
234 + color: #fff;
235 + background: #337ab7;
236 +}
237 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
238 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
239 + color: #fff;
240 + background: #5bc0de;
241 +}
242 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
243 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
244 + color: #fff;
245 + background: #5cb85c;
246 +}
247 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
248 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
249 + background: #f0ad4e;
250 + color: #fff;
251 +}
252 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
253 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
254 + color: #fff;
255 + background: #d9534f;
256 +}
257 +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
258 +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
259 + color: #000;
260 + background: #eeeeee;
261 +}
262 +.bootstrap-switch .bootstrap-switch-label {
263 + text-align: center;
264 + margin-top: -1px;
265 + margin-bottom: -1px;
266 + z-index: 100;
267 + color: #333;
268 + background: #fff;
269 +}
270 +.bootstrap-switch span::before {
271 + content: "\200b";
272 +}
273 +.bootstrap-switch .bootstrap-switch-handle-on {
274 + border-bottom-left-radius: 3px;
275 + border-top-left-radius: 3px;
276 +}
277 +.bootstrap-switch .bootstrap-switch-handle-off {
278 + border-bottom-right-radius: 3px;
279 + border-top-right-radius: 3px;
280 +}
281 +.bootstrap-switch input[type='radio'],
282 +.bootstrap-switch input[type='checkbox'] {
283 + position: absolute !important;
284 + top: 0;
285 + left: 0;
286 + margin: 0;
287 + z-index: -1;
288 + opacity: 0;
289 + filter: alpha(opacity=0);
290 + visibility: hidden;
291 +}
292 +.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
293 +.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
294 +.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
295 + padding: 1px 5px;
296 + font-size: 12px;
297 + line-height: 1.5;
298 +}
299 +.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
300 +.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
301 +.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
302 + padding: 5px 10px;
303 + font-size: 12px;
304 + line-height: 1.5;
305 +}
306 +.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
307 +.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
308 +.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
309 + padding: 6px 16px;
310 + font-size: 18px;
311 + line-height: 1.3333333;
312 +}
313 +.bootstrap-switch.bootstrap-switch-disabled,
314 +.bootstrap-switch.bootstrap-switch-readonly,
315 +.bootstrap-switch.bootstrap-switch-indeterminate {
316 + cursor: default !important;
317 +}
318 +.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
319 +.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
320 +.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
321 +.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
322 +.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
323 +.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
324 +.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
325 +.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
326 +.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
327 + opacity: 0.5;
328 + filter: alpha(opacity=50);
329 + cursor: default !important;
330 +}
331 +.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
332 + -webkit-transition: margin-left 0.5s;
333 + -o-transition: margin-left 0.5s;
334 + transition: margin-left 0.5s;
335 +}
336 +.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
337 + border-bottom-left-radius: 0;
338 + border-top-left-radius: 0;
339 + border-bottom-right-radius: 3px;
340 + border-top-right-radius: 3px;
341 +}
342 +.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
343 + border-bottom-right-radius: 0;
344 + border-top-right-radius: 0;
345 + border-bottom-left-radius: 3px;
346 + border-top-left-radius: 3px;
347 +}
348 +.bootstrap-switch.bootstrap-switch-focused {
349 + border-color: #66afe9;
350 + outline: 0;
351 + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
352 + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
353 +}
354 +.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
355 +.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
356 + border-bottom-right-radius: 3px;
357 + border-top-right-radius: 3px;
358 +}
359 +.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
360 +.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
361 + border-bottom-left-radius: 3px;
362 + border-top-left-radius: 3px;
363 +}
1 +.dropdown-menu{
2 + visibility: hidden;
3 + margin: 0;
4 + padding: 0;
5 + border-radius: $border-radius-extreme;
6 + display: block;
7 + z-index: 9000;
8 + position: absolute;
9 +
10 + @include opacity(0);
11 + @include box-shadow($dropdown-shadow);
12 +
13 + .open &{
14 + @include opacity(1);
15 + visibility: visible;
16 + }
17 + .select &{
18 + border-radius: $border-radius-bottom;
19 + @include box-shadow(none);
20 + @include transform-origin($select-coordinates);
21 + @include transform-scale(1);
22 + @include transition($fast-transition-time, $transition-linear);
23 + margin-top: -20px;
24 + }
25 + .select.open &{
26 + margin-top: -1px;
27 + }
28 +
29 + > li > a {
30 + padding: $padding-base-vertical $padding-base-horizontal;
31 + color: #333333;
32 +
33 + img{
34 + margin-top: -3px;
35 + }
36 + }
37 + > li > a:focus{
38 + outline: 0 !important;
39 + }
40 +
41 + .btn-group.select &{
42 + min-width: 100%;
43 + }
44 +
45 + > li:first-child > a{
46 + border-top-left-radius: $border-radius-extreme;
47 + border-top-right-radius: $border-radius-extreme;
48 + }
49 +
50 + > li:last-child > a{
51 + border-bottom-left-radius: $border-radius-extreme;
52 + border-bottom-right-radius: $border-radius-extreme;
53 + }
54 +
55 + .select & > li:first-child > a{
56 + border-radius: 0;
57 + border-bottom: 0 none;
58 + }
59 +
60 + > li > a:hover,
61 + > li > a:focus {
62 + background-color: $smoke-bg;
63 + color: #333333;
64 + opacity: 1;
65 + text-decoration: none;
66 + }
67 +
68 + &.dropdown-blue > li > a:hover,
69 + &.dropdown-blue > li > a:focus{
70 + background-color: $light-blue;
71 + }
72 + &.dropdown-azure > li > a:hover,
73 + &.dropdown-azure > li > a:focus{
74 + background-color: $light-azure;
75 + }
76 + &.ct-green > li > a:hover,
77 + &.ct-green > li > a:focus{
78 + background-color: $light-green;
79 + }
80 + &.dropdown-orange > li > a:hover,
81 + &.dropdown-orange > li > a:focus{
82 + background-color: $light-orange;
83 + }
84 + &.dropdown-red > li > a:hover,
85 + &.dropdown-red > li > a:focus{
86 + background-color: $light-red;
87 + }
88 +
89 +}
90 +
91 +.dropdown-with-icons{
92 + > li > a{
93 + padding-left: 0px;
94 + line-height: 28px;
95 + }
96 + i{
97 + text-align: center;
98 + line-height: 28px;
99 + float: left;
100 +
101 + &[class^="pe-"]{
102 + font-size: 24px;
103 + width: 46px;
104 + }
105 + &[class^="fa"]{
106 + font-size: 14px;
107 + width: 38px;
108 + }
109 + }
110 +}
111 +
112 +//fix bug for the select items in btn-group
113 +.btn-group.select{
114 + overflow: hidden;
115 +}
116 +.btn-group.select.open{
117 + overflow: visible;
118 +}
119 +
120 +
1 +.footer{
2 + background-color: $white-color;
3 + line-height: $line-height;
4 +
5 + nav > ul{
6 + list-style: none;
7 + margin: 0;
8 + padding: 0;
9 + font-weight: normal;
10 +
11 + a:not(.btn){
12 + color: $dark-gray;
13 + display: block;
14 + margin-bottom: 3px;
15 + &:hover,
16 + &:focus{
17 + color: $default-states-color;
18 + }
19 + }
20 + }
21 + .social-area{
22 + padding: 15px 0;
23 + h5{
24 + padding-bottom: 15px;
25 + }
26 + }
27 + .social-area > a:not(.btn){
28 + color: $dark-gray;
29 + display: inline-block;
30 + vertical-align: top;
31 + padding: $padding-social-a;
32 + font-size: $font-size-large-navbar;
33 + font-weight: normal;
34 + line-height: $line-height;
35 + text-align: center;
36 + &:hover,
37 + &:focus{
38 + color: $default-states-color;
39 + }
40 + }
41 + .copyright{
42 + color: $default-states-color;
43 + padding: 10px 15px;
44 + margin: 10px 3px;
45 + line-height: 20px;
46 + font-size: $font-size-base;
47 + }
48 + hr{
49 + border-color: $medium-gray;
50 + }
51 + .title{
52 + color: $default-states-color;
53 + }
54 +}
55 +
56 +.footer-default{
57 + background-color: $smoke-bg;
58 +}
59 +
60 +.footer:not(.footer-big){
61 + nav > ul{
62 + font-size: $font-size-base;
63 + li{
64 + margin-left: 20px;
65 + float: left;
66 + }
67 + a{
68 + padding: 10px 0px;
69 + margin: 10px 10px 10px 0px;
70 + }
71 + }
72 +}
73 +
74 +
75 +
76 +
77 +
1 +.form-control::-moz-placeholder{
2 + @include placeholder($medium-gray,1);
3 +}
4 +.form-control:-moz-placeholder{
5 + @include placeholder($medium-gray,1);
6 +}
7 +.form-control::-webkit-input-placeholder{
8 + @include placeholder($medium-gray,1);
9 +}
10 +.form-control:-ms-input-placeholder{
11 + @include placeholder($medium-gray,1);
12 +}
13 +
14 +.form-control {
15 + background-color: $white-bg;
16 + border: 1px solid $light-gray;
17 + border-radius: $border-radius-base;
18 + color: #565656;
19 + @include input-size($padding-base-vertical, $padding-base-horizontal - 4, $height-base);
20 + @include box-shadow(none);
21 +
22 + &:focus{
23 + background-color: $white-bg;
24 + border: 1px solid $medium-dark-gray;
25 + @include box-shadow(none);
26 + outline: 0 !important;
27 + color: #333333;
28 + }
29 +
30 + .has-success &,
31 + .has-error &,
32 + .has-success &:focus,
33 + .has-error &:focus{
34 + border-color: $light-gray;
35 + @include box-shadow(none);
36 + }
37 +
38 + .has-success &{
39 + color: $success-color;
40 + }
41 + .has-success &:focus{
42 + border-color: $success-color;
43 + }
44 + .has-error &{
45 + color: $danger-color;
46 + }
47 + .has-error &:focus{
48 + border-color: $danger-color;
49 + }
50 +
51 + & + .form-control-feedback{
52 + border-radius: $border-radius-large;
53 + font-size: $font-size-base;
54 + margin-top: -7px;
55 + position: absolute;
56 + right: 10px;
57 + top: 50%;
58 + vertical-align: middle;
59 + }
60 +
61 + .open &{
62 + border-radius: $border-radius-base $border-radius-base 0 0;
63 + border-bottom-color: transparent;
64 + }
65 +}
66 +
67 +.input-lg{
68 + height: 55px;
69 + padding: $padding-large-vertical $padding-large-horizontal;
70 +}
71 +
72 +.has-error{
73 + .form-control-feedback{
74 + color: $danger-color;
75 + }
76 +}
77 +.has-success{
78 + .form-control-feedback{
79 + color: $success-color
80 + }
81 +}
82 +
83 +
84 +.input-group-addon {
85 + background-color: $white-color;
86 + border: 1px solid $light-gray;
87 + border-radius: $border-radius-base;
88 +
89 + .has-success &,
90 + .has-error &{
91 + background-color: $white-color;
92 + border: 1px solid $light-gray;
93 + }
94 + .has-error .form-control:focus + &{
95 + border-color: $danger-color;
96 + color: $danger-color;
97 + }
98 + .has-success .form-control:focus + &{
99 + border-color: $success-color;
100 + color: $success-color;
101 + }
102 + .form-control:focus + &,
103 + .form-control:focus ~ &{
104 + background-color: $white-color;
105 + border-color: $dark-gray;
106 + }
107 +}
108 +
109 +.input-group .form-control:first-child,
110 +.input-group-addon:first-child,
111 +.input-group-btn:first-child > .dropdown-toggle,
112 +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
113 + border-right: 0 none;
114 +}
115 +.input-group .form-control:last-child,
116 +.input-group-addon:last-child,
117 +.input-group-btn:last-child > .dropdown-toggle,
118 +.input-group-btn:first-child > .btn:not(:first-child) {
119 + border-left: 0 none;
120 +}
121 +.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
122 + background-color: $smoke-bg;
123 + color: $default-color;
124 + cursor: not-allowed;
125 +}
126 +
127 +.input-group-btn .btn{
128 + border-width: $border-thin;
129 + padding: $padding-round-vertical $padding-base-horizontal;
130 +}
131 +.input-group-btn .btn-default:not(.btn-fill){
132 + border-color: $medium-gray;
133 +}
134 +
135 +.input-group-btn:last-child > .btn{
136 + margin-left: 0;
137 +}
138 +
139 +.input-group-focus .input-group-addon{
140 + border-color: $dark-gray;
141 +}
1 +/* General overwrite */
2 +body,
3 +.wrapper{
4 + min-height: 100vh;
5 + position: relative;
6 + background-color: white;
7 +}
8 +a{
9 + color: $info-color;
10 +
11 + &:hover, &:focus{
12 + color: $info-states-color;
13 + text-decoration: none;
14 + }
15 +}
16 +
17 +a:focus, a:active,
18 +button::-moz-focus-inner,
19 +input::-moz-focus-inner,
20 +input[type="reset"]::-moz-focus-inner,
21 +input[type="button"]::-moz-focus-inner,
22 +input[type="submit"]::-moz-focus-inner,
23 +select::-moz-focus-inner,
24 +input[type="file"] > input[type="button"]::-moz-focus-inner{
25 + outline:0;
26 +}
27 +.ui-slider-handle:focus,
28 +.navbar-toggle,
29 +input:focus {
30 + outline : 0 !important;
31 +}
32 +
33 +/* Animations */
34 +.form-control,
35 +.input-group-addon,
36 +.tagsinput,
37 +.navbar,
38 +.navbar .alert{
39 + @include transition($general-transition-time, $transition-linear);
40 +}
41 +
42 +.sidebar .nav a,
43 +.table > tbody > tr .td-actions .btn{
44 + @include transition($fast-transition-time, $transition-ease-in);
45 +}
46 +
47 +.btn{
48 + @include transition($ultra-fast-transition-time, $transition-ease-in);
49 +}
50 +.fa{
51 + width: 18px;
52 + text-align: center;
53 +}
54 +.margin-top{
55 + margin-top: 50px;
56 +}
57 +
58 +.wrapper{
59 + position: relative;
60 + top: 0;
61 + height: 100vh;
62 +}
1 +//Utilities
2 +
3 +@import "mixins/transparency";
4 +@import "mixins/vendor-prefixes";
5 +
6 +
7 +//Components
8 +
9 +@import "mixins/buttons";
10 +@import "mixins/inputs";
11 +@import "mixins/labels";
12 +@import "mixins/tabs";
13 +
14 +@import "mixins/navbars";
15 +@import "mixins/icons";
16 +@import "mixins/social-buttons";
17 +
18 +@import "mixins/morphing-buttons";
19 +
20 +@import "mixins/cards";
21 +
22 +@import "mixins/chartist";
...\ No newline at end of file ...\ No newline at end of file
1 +.nav {
2 + > li{
3 + > a:hover,
4 + > a:focus{
5 + background-color: transparent;
6 + }
7 + }
8 +}
9 +.navbar{
10 + border: $none;
11 + font-size: $font-size-navbar;
12 + border-radius: 0;
13 +
14 + .navbar-brand {
15 + font-weight: $font-weight-normal;
16 + margin: $navbar-margin-brand;
17 + padding: $navbar-padding-brand;
18 + font-size: $font-size-large-navbar;
19 + }
20 + .navbar-nav{
21 + > li > a {
22 + padding: $navbar-padding-a;
23 + margin: $navbar-margin-a;
24 + position: relative;
25 + }
26 + > li > a.btn{
27 + margin: $navbar-margin-a-btn;
28 + padding: $padding-base-vertical $padding-base-horizontal;
29 + }
30 + > li > a.btn-round{
31 + margin: $navbar-margin-a-btn-round;
32 + }
33 + > li > a [class^="fa"]{
34 + font-size: $font-size-large + 1;
35 + position: relative;
36 + line-height: 16px;
37 + top: 1px;
38 + }
39 +
40 + .notification{
41 + position: absolute;
42 + background-color: #FB404B;
43 + text-align: center;
44 + border-radius: 10px;
45 + min-width: 18px;
46 + padding: 0 5px;
47 + height: 18px;
48 + font-size: 12px;
49 + color: #FFFFFF;
50 + font-weight: bold;
51 + line-height: 18px;
52 + top: 0px;
53 + left: 7px;
54 + }
55 + }
56 + .btn{
57 + margin: $navbar-margin-btn;
58 + font-size: $font-size-base;
59 + }
60 + .btn-simple{
61 + font-size: $font-size-medium;
62 + }
63 + .caret{
64 + // @include center-item();
65 + }
66 +
67 + &.fixed{
68 + width: calc(100% - $sidebar-width);
69 + right: 0;
70 + left: auto;
71 + border-radius: 0;
72 + }
73 +
74 +}
75 +
76 +.navbar-nav > li > .dropdown-menu{
77 + border-radius: $border-radius-extreme;
78 + margin-top: -5px;
79 +}
80 +
81 +.navbar-transparent, [class*="navbar-ct"]{
82 + .navbar-brand{
83 + color: $white-color;
84 + @include opacity(.9);
85 +
86 + &:focus,
87 + &:hover{
88 + background-color: transparent;
89 + @include opacity(1);
90 + }
91 + }
92 +
93 + .navbar-nav{
94 + > li > a:not(.btn){
95 + color: $white-color;
96 + border-color: $white-color;
97 + @include opacity(0.8);
98 + }
99 + > .active > a:not(.btn),
100 + > .active > a:hover:not(.btn),
101 + > .active > a:focus:not(.btn),
102 + > li > a:hover:not(.btn),
103 + > li > a:focus:not(.btn){
104 + background-color: transparent;
105 + border-radius: 3px;
106 + color: $white-color;
107 + @include opacity(1);
108 + }
109 + .nav > li > a.btn:hover{
110 + background-color: transparent;
111 + }
112 +
113 + > .dropdown > a .caret,
114 + > .dropdown > a:hover .caret,
115 + > .dropdown > a:focus .caret{
116 + border-bottom-color: $white-color;
117 + border-top-color: $white-color;
118 + }
119 +
120 + > .open > a,
121 + > .open > a:hover,
122 + > .open > a:focus {
123 + background-color: transparent;
124 + color: $white-color;
125 + @include opacity(1);
126 + }
127 + }
128 +
129 + .btn-default{
130 + color: $white-color;
131 + border-color: $white-color;
132 + }
133 + .btn-default.btn-fill{
134 + color: $dark-gray;
135 + background-color: $white-color;
136 + @include opacity(.9);
137 + }
138 + .btn-default.btn-fill:hover,
139 + .btn-default.btn-fill:focus,
140 + .btn-default.btn-fill:active,
141 + .btn-default.btn-fill.active,
142 + .open .dropdown-toggle.btn-fill.btn-default{
143 + border-color: $white-color;
144 + @include opacity(1);
145 + }
146 +
147 +}
148 +.navbar-transparent{
149 + .dropdown-menu .divider{
150 + background-color: rgba($white-color,.2);
151 + }
152 +}
153 +
154 +.nav-open .nav .caret{
155 + border-bottom-color: $white-color;
156 + border-top-color: $white-color;
157 +}
158 +
159 +.navbar-default {
160 + background-color: $white-navbar;
161 + border-bottom: 1px solid rgba(0, 0, 0, 0.1);
162 +
163 + .navbar-nav{
164 + > li > a:not(.btn){
165 + color: $dark-gray;
166 + }
167 +
168 + > .active > a,
169 + > .active > a:not(.btn):hover,
170 + > .active > a:not(.btn):focus,
171 + > li > a:not(.btn):hover,
172 + > li > a:not(.btn):focus {
173 + background-color: transparent;
174 + border-radius: 3px;
175 + color: $info-color;
176 + @include opacity(1);
177 + }
178 +
179 + > .dropdown > a:hover .caret,
180 + > .dropdown > a:focus .caret {
181 + border-bottom-color: $info-color;
182 + border-top-color: $info-color;
183 +
184 + }
185 +
186 + > .open > a,
187 + > .open > a:hover,
188 + > .open > a:focus{
189 + background-color: transparent;
190 + color: $info-color;
191 + }
192 +
193 + .navbar-toggle:hover,.navbar-toggle:focus {
194 + background-color: transparent;
195 + }
196 +
197 + }
198 +
199 + &:not(.navbar-transparent) .btn-default:hover{
200 + color: $info-color;
201 + border-color: $info-color;
202 + }
203 + &:not(.navbar-transparent) .btn-neutral,
204 + &:not(.navbar-transparent) .btn-neutral:hover,
205 + &:not(.navbar-transparent) .btn-neutral:active{
206 + color: $dark-gray;
207 + }
208 +}
209 +
210 +/* Navbar with icons */
211 +
212 +.navbar-icons{
213 + &.navbar .navbar-brand{
214 + margin-top: 12px;
215 + margin-bottom: 12px;
216 + }
217 + .navbar-nav{
218 + > li > a{
219 + text-align: center;
220 + padding: $navbar-padding-a-icons;
221 + margin: $navbar-margin-a-icons;
222 + }
223 +
224 + [class^="pe"] {
225 + font-size: 30px;
226 + position: relative;
227 + }
228 + p {
229 + margin: 3px 0 0;
230 + }
231 + }
232 +}
233 +
234 +.navbar-form{
235 + @include box-shadow(none);
236 + .form-control{
237 + @include light-form();
238 + height: 22px;
239 + font-size: $font-size-navbar;
240 + line-height: $line-height-general;
241 + color: $light-gray;
242 + }
243 + .navbar-transparent & .form-control,
244 + [class*="navbar-ct"] & .form-control{
245 + color: $white-color;
246 + border: $none;
247 + border-bottom: 1px solid rgba($white-color,.6);
248 + }
249 +
250 +}
251 +
252 +.navbar-ct-blue{
253 + @include navbar-color($blue-navbar);
254 +}
255 +.navbar-ct-azure{
256 + @include navbar-color($azure-navbar);
257 +}
258 +.navbar-ct-green{
259 + @include navbar-color($green-navbar);
260 +}
261 +.navbar-ct-orange{
262 + @include navbar-color($orange-navbar);
263 +}
264 +.navbar-ct-red{
265 + @include navbar-color($red-navbar);
266 +}
267 +
268 +.navbar-transparent{
269 + padding-top: 15px;
270 + background-color: transparent;
271 + border-bottom: 1px solid transparent;
272 +}
273 +
274 +.navbar-toggle{
275 + margin-top: 19px;
276 + margin-bottom: 19px;
277 + border: $none;
278 +
279 + .icon-bar {
280 + background-color: $white-color;
281 + }
282 + .navbar-collapse,
283 + .navbar-form {
284 + border-color: transparent;
285 + }
286 +
287 + &.navbar-default .navbar-toggle:hover,
288 + &.navbar-default .navbar-toggle:focus {
289 + background-color: transparent;
290 + }
291 +}
292 +
293 +
This diff is collapsed. Click to expand it.
1 +.sidebar{
2 + position: fixed;
3 + top: 0;
4 + bottom: 0;
5 + left: 0;
6 + width: 260px;
7 + display: block;
8 + z-index: 1;
9 + color: #fff;
10 + font-weight: 200;
11 + background-size: cover;
12 + background-position: center center;
13 +
14 + .sidebar-wrapper{
15 + position: relative;
16 + height: calc(100vh - 75px);
17 + overflow: auto;
18 + width: 260px;
19 + z-index: 4;
20 + padding-bottom: 30px;
21 + }
22 +
23 + .sidebar-background{
24 + position: absolute;
25 + z-index: 1;
26 + height: 100%;
27 + width: 100%;
28 + display: block;
29 + top: 0;
30 + left: 0;
31 + background-size: cover;
32 + background-position: center center;
33 + }
34 +
35 + .logo{
36 + padding: 10px 30px;
37 + border-bottom: 1px solid rgba(255, 255, 255, 0.2);
38 + position: relative;
39 + z-index: 4;
40 +
41 + p{
42 + float: left;
43 + font-size: 20px;
44 + margin: 10px 10px;
45 + color: $white-color;
46 + line-height: 20px;
47 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
48 + }
49 +
50 + a.logo-mini{
51 + float: left;
52 + text-align: center;
53 + width: 30px;
54 + margin-right: 15px;
55 +
56 + img{
57 + width: 40px;
58 + margin-left: -3px;
59 + display: block;
60 + margin-top: 2px;
61 + }
62 + }
63 +
64 + a.logo-normal{
65 + display: block;
66 + }
67 +
68 + .logo-img{
69 + width: 34px;
70 + display: inline-block;
71 + height: 34px;
72 + margin-left: -2px;
73 + margin-top: -2px;
74 + margin-right: 10px;
75 + border-radius: 30px;
76 + text-align: center;
77 + }
78 + }
79 +
80 + .logo-tim{
81 + border-radius: 50%;
82 + border: 1px solid #333;
83 + display: block;
84 + height: 61px;
85 + width: 61px;
86 + float: left;
87 + overflow: hidden;
88 +
89 + img{
90 + width: 60px;
91 + height: 60px;
92 + }
93 + }
94 +
95 + .nav{
96 + margin-top: 20px;
97 +
98 + li{
99 + > a{
100 + color: #FFFFFF;
101 + margin: 5px 15px;
102 + opacity: .86;
103 + border-radius: 4px;
104 + }
105 +
106 + &:hover > a,
107 + &.open > a,
108 + &.open > a:focus,
109 + &.open > a:hover{
110 + background: rgba(255,255,255,0.13);
111 + opacity: 1;
112 + }
113 +
114 + &.active > a{
115 + color: #FFFFFF;
116 + opacity: 1;
117 + background: rgba(255,255,255,0.23);
118 +
119 + }
120 + }
121 +
122 + p{
123 + margin: 0;
124 + line-height: 30px;
125 + font-size: 12px;
126 + font-weight: 600;
127 + text-transform: uppercase;
128 + }
129 +
130 + .caret{
131 + top: 24px;
132 + position: absolute;
133 + right: 15px;
134 + }
135 +
136 + i{
137 + font-size: 28px;
138 + float: left;
139 + margin-right: 15px;
140 + line-height: 30px;
141 + width: 30px;
142 + text-align: center;
143 + }
144 + }
145 +}
146 +
147 +
148 +.sidebar,
149 +body > .navbar-collapse{
150 + .logo{
151 + padding: 10px 30px;
152 + border-bottom: 1px solid rgba(255, 255, 255, 0.2);
153 +
154 + p{
155 + float: left;
156 + font-size: 20px;
157 + margin: 10px 10px;
158 + color: $white-color;
159 + line-height: 20px;
160 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
161 + }
162 +
163 + .simple-text{
164 + text-transform: uppercase;
165 + padding: $padding-small-vertical $padding-zero;
166 + display: block;
167 + font-size: $font-size-large;
168 + color: $white-color;
169 + font-weight: $font-weight-normal;
170 + line-height: 30px;
171 + }
172 + }
173 +
174 + .logo-tim{
175 + border-radius: 50%;
176 + border: 1px solid #333;
177 + display: block;
178 + height: 61px;
179 + width: 61px;
180 + float: left;
181 + overflow: hidden;
182 +
183 + img{
184 + width: 60px;
185 + height: 60px;
186 + }
187 + }
188 +
189 + &:after,
190 + &:before{
191 + display: block;
192 + content: "";
193 + position: absolute;
194 + width: 100%;
195 + height: 100%;
196 + top: 0;
197 + left: 0;
198 + z-index: 2;
199 + }
200 +
201 + &:before{
202 + opacity: .33;
203 + background: #000000;
204 + }
205 +
206 + &:after{
207 + @include icon-gradient($black-color-top, $black-color-bottom);
208 + z-index: 3;
209 + opacity: 1;
210 + }
211 +
212 + &[data-image]:after,
213 + &.has-image:after{
214 + opacity: .77;
215 + }
216 +
217 + &[data-color="blue"]:after{
218 + @include icon-gradient($new-dark-blue, $blue-color-bottom);
219 + }
220 + &[data-color="azure"]:after{
221 + @include icon-gradient($new-blue, $azure-color-bottom);
222 + }
223 + &[data-color="green"]:after{
224 + @include icon-gradient($new-green, $green-color-bottom);
225 + }
226 + &[data-color="orange"]:after{
227 + @include icon-gradient($new-orange, $orange-color-bottom);
228 + }
229 + &[data-color="red"]:after{
230 + @include icon-gradient($new-red, $red-color-bottom);
231 + }
232 + &[data-color="purple"]:after{
233 + @include icon-gradient($new-purple, $purple-color-bottom);
234 + }
235 +}
236 +
237 +
238 +.main-panel{
239 + background: rgba(203,203,210,.15);
240 + position: relative;
241 + float: right;
242 + width: $sidebar-width;
243 +
244 + > .content{
245 + padding: 30px 15px;
246 + min-height: calc(100% - 123px);
247 + }
248 +
249 + > .footer{
250 + border-top: 1px solid #e7e7e7;
251 + }
252 +
253 + .navbar{
254 + margin-bottom: 0;
255 + }
256 +}
257 +
258 +.sidebar,
259 +.main-panel{
260 + -webkit-transition-property: top,bottom;
261 + transition-property: top,bottom;
262 + -webkit-transition-duration: .2s,.2s;
263 + transition-duration: .2s,.2s;
264 + -webkit-transition-timing-function: linear,linear;
265 + transition-timing-function: linear,linear;
266 + -webkit-overflow-scrolling: touch;
267 +}
1 +.table{
2 +
3 + .radio,
4 + .checkbox{
5 + position: relative;
6 + height: 20px;
7 + display: block;
8 + width: 20px;
9 + padding: 0px 0px;
10 + margin: 0px 5px;
11 + text-align: center;
12 +
13 + .icons{
14 + left: 5px;
15 + }
16 + }
17 + > thead > tr > th,
18 + > tbody > tr > th,
19 + > tfoot > tr > th,
20 + > thead > tr > td,
21 + > tbody > tr > td,
22 + > tfoot > tr > td{
23 + padding: 12px 8px;
24 + vertical-align: middle;
25 + }
26 + // MANU : aici este ceva schimbat!!!
27 + > tbody > tr > td{
28 + font-size: 14px;
29 + }
30 + > thead > tr > th{
31 + border-bottom-width: 1px;
32 + font-size: $font-size-small;
33 + text-transform: uppercase;
34 + color: $dark-gray;
35 + font-weight: $font-weight-normal;
36 + padding-bottom: 5px;
37 + }
38 +
39 + .td-actions .btn{
40 + @include opacity(0.36);
41 +
42 + &.btn-xs{
43 + padding-left: 3px;
44 + padding-right: 3px;
45 + }
46 + }
47 + .td-actions{
48 + min-width: 90px;
49 + }
50 +
51 + > tbody > tr{
52 + position: relative;
53 +
54 + &:hover{
55 + .td-actions .btn{
56 + @include opacity(1);
57 + }
58 + }
59 + }
60 +}
1 +/* Font Smoothing */
2 +body,
3 +h1, .h1,
4 +h2, .h2,
5 +h3, .h3,
6 +h4, .h4,
7 +h5, .h5,
8 +h6, .h6,
9 +p,
10 +.navbar,
11 +.brand,
12 +.btn-simple,
13 +.alert,
14 +a,
15 +.td-name,
16 +td,
17 +button.close{
18 + -moz-osx-font-smoothing: grayscale;
19 + -webkit-font-smoothing: antialiased;
20 + font-family: "Roboto","Helvetica Neue",Arial,sans-serif;
21 + font-weight: $font-weight-normal;
22 +}
23 +
24 +h1, .h1, h2, .h2, h3, .h3, h4, .h4{
25 + font-weight: $font-weight-light;
26 + margin: $margin-large-vertical 0 $margin-base-vertical;
27 +}
28 +
29 +h1, .h1 {
30 + font-size: $font-size-h1;
31 +}
32 +h2, .h2{
33 + font-size: $font-size-h2;
34 +}
35 +h3, .h3{
36 + font-size: $font-size-h3;
37 + margin: 20px 0 10px;
38 +}
39 +h4, .h4{
40 + font-size: $font-size-h4;
41 + line-height: 30px;
42 +}
43 +h5, .h5 {
44 + font-size: $font-size-h5;
45 + margin-bottom: 15px;
46 +}
47 +h6, .h6{
48 + font-size: $font-size-h6;
49 + font-weight: $font-weight-bold;
50 + text-transform: uppercase;
51 +}
52 +p{
53 + font-size: $font-paragraph;
54 + line-height: $line-height-general;
55 +}
56 +
57 +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
58 + color: $dark-gray;
59 + font-weight: $font-weight-light;
60 + line-height: $line-height-general;
61 +}
62 +
63 +h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {
64 + font-size: 60%;
65 +}
66 +
67 +h1 .subtitle{
68 + display: block;
69 + margin: 0 0 $margin-large-vertical;
70 +}
71 +
72 +.text-muted{
73 + color: #9A9A9A;
74 +}
75 +.text-primary, .text-primary:hover{
76 + color: #1D62F0 !important;
77 +}
78 +.text-info, .text-info:hover{
79 + color: $info-color !important;
80 +}
81 +.text-success, .text-success:hover{
82 + color: $success-color !important;
83 +}
84 +.text-warning, .text-warning:hover{
85 + color: $warning-color !important;
86 +}
87 +.text-danger, .text-danger:hover{
88 + color: $danger-color !important;
89 +}
90 +
1 +//== Buttons
2 +//
3 +//## For each of Bootstrap's buttons, define text, background and border color.
4 +
5 +$none: 0 !default;
6 +$border-thin: 1px !default;
7 +$border-thick: 2px !default;
8 +
9 +$white-color: #FFFFFF !default;
10 +$white-bg: #FFFFFF !default;
11 +
12 +$smoke-bg: #F5F5F5 !default;
13 +
14 +$black-bg: rgba(30,30,30,.97) !default;
15 +
16 +$black-color: #333333 !default;
17 +$black-hr: #444444 !default;
18 +
19 +$light-gray: #E3E3E3 !default;
20 +$medium-gray: #DDDDDD !default;
21 +$medium-dark-gray: #AAAAAA !default;
22 +$dark-gray: #9A9A9A !default;
23 +
24 +$transparent-bg: transparent !default;
25 +
26 +$default-color: #888888 !default;
27 +$default-bg: #888888 !default;
28 +$default-states-color: #777777 !default;
29 +
30 +$primary-color: #3472F7 !default;
31 +$primary-bg: #3472F7 !default;
32 +$primary-states-color: #1D62F0 !default;
33 +
34 +$success-color: #87CB16 !default;
35 +$success-bg: #87CB16 !default;
36 +$success-states-color: #049F0C !default;
37 +
38 +$info-color: #1DC7EA !default;
39 +$info-bg: #1DC7EA !default;
40 +$info-states-color: lighten($info-color, 8%) !default;
41 +
42 +$warning-color: #FF9500 !default;
43 +$warning-bg: #FF9500 !default;
44 +$warning-states-color: #ED8D00 !default;
45 +
46 +
47 +$danger-color: #FF4A55 !default;
48 +$danger-bg: #FF4A55 !default;
49 +$danger-states-color: #EE2D20 !default;
50 +
51 +
52 +
53 +$link-disabled-color: #666666 !default;
54 +
55 +
56 +/* light colors */
57 +$light-blue: rgba($primary-color, .2);
58 +$light-azure: rgba($info-color, .2);
59 +$light-green: rgba($success-color, .2);
60 +$light-orange: rgba($warning-color, .2);
61 +$light-red: rgba($danger-color, .2);
62 +
63 +
64 +//== Components
65 +//
66 +
67 +$padding-base-vertical: 8px !default;
68 +$padding-base-horizontal: 16px !default;
69 +
70 +$padding-round-vertical: 9px !default;
71 +$padding-round-horizontal: 18px !default;
72 +
73 +$padding-simple-vertical: 10px !default;
74 +$padding-simple-horizontal: 18px !default;
75 +
76 +$padding-large-vertical: 14px !default;
77 +$padding-large-horizontal: 30px !default;
78 +
79 +$padding-small-vertical: 5px !default;
80 +$padding-small-horizontal: 10px !default;
81 +
82 +$padding-xs-vertical: 1px !default;
83 +$padding-xs-horizontal: 5px !default;
84 +
85 +$padding-label-vertical: 2px !default;
86 +$padding-label-horizontal: 12px !default;
87 +
88 +$margin-large-vertical: 30px !default;
89 +$margin-base-vertical: 15px !default;
90 +
91 +$padding-zero: 0px !default;
92 +
93 +$margin-bottom: 0 0 10px 0 !default;
94 +$border-radius-small: 3px !default;
95 +$border-radius-base: 4px !default;
96 +$border-radius-large: 6px !default;
97 +$border-radius-extreme: 10px !default;
98 +
99 +$border-radius-large-top: $border-radius-large $border-radius-large 0 0 !default;
100 +$border-radius-large-bottom: 0 0 $border-radius-large $border-radius-large !default;
101 +
102 +$btn-round-radius: 30px !default;
103 +
104 +$height-base: 40px !default;
105 +
106 +$font-size-base: 14px !default;
107 +$font-size-small: 12px !default;
108 +$font-size-medium: 16px !default;
109 +$font-size-large: 18px !default;
110 +$font-size-large-navbar: 20px !default;
111 +
112 +$font-size-h1: 52px !default;
113 +$font-size-h2: 36px !default;
114 +$font-size-h3: 28px !default;
115 +$font-size-h4: 22px !default;
116 +$font-size-h5: 16px !default;
117 +$font-size-h6: 14px !default;
118 +$font-paragraph: 16px !default;
119 +$font-size-navbar: 16px !default;
120 +$font-size-small: 12px !default;
121 +
122 +$font-weight-light: 300 !default;
123 +$font-weight-normal: 400 !default;
124 +$font-weight-semi: 500 !default;
125 +$font-weight-bold: 600 !default;
126 +
127 +$line-height-general: 1.5 !default;
128 +$line-height: 20px !default;
129 +$line-height-lg: 54px !default;
130 +
131 +$sidebar-width: calc(100% - 260px) !default;
132 +
133 +
134 +$border-radius-top: 10px 10px 0 0 !default;
135 +$border-radius-bottom: 0 0 10px 10px !default;
136 +
137 +$dropdown-shadow: 1px 2px 3px rgba(0, 0, 0, 0.125);
138 +
139 +$general-transition-time: 300ms !default;
140 +
141 +$slow-transition-time: 370ms !default;
142 +$dropdown-coordinates: 29px -50px !default;
143 +
144 +$fast-transition-time: 150ms !default;
145 +
146 +$ultra-fast-transition-time: 100ms !default;
147 +
148 +$select-coordinates: 50% -40px !default;
149 +
150 +$transition-linear: linear !default;
151 +$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;
152 +$transition-ease: ease 0s;
153 +$transition-ease-in: ease-in !default;
154 +$transition-ease-out: ease-out !default;
155 +
156 +
157 +$navbar-padding-a: 10px 15px;
158 +$navbar-margin-a: 10px 3px;
159 +
160 +$padding-social-a: 10px 5px;
161 +
162 +$navbar-margin-a-btn: 15px 3px;
163 +$navbar-margin-a-btn-round: 16px 3px;
164 +
165 +$navbar-padding-a-icons: 6px 15px;
166 +$navbar-margin-a-icons: 6px 3px;
167 +
168 +$navbar-padding-brand: 15px 15px;
169 +$navbar-margin-brand: 5px 0px;
170 +
171 +$navbar-margin-brand-icons: 12px auto;
172 +
173 +$navbar-margin-btn: 15px 3px;
174 +
175 +$height-icon: 64px !default;
176 +$width-icon: 64px !default;
177 +$padding-icon: 12px !default;
178 +$border-radius-icon: 15px !default;
179 +
180 +$size-icon: 64px;
181 +$size-icon-sm: 32px;
182 +
183 +
184 +$height-icon-sm: 32px;
185 +$width-icon-sm: 32px;
186 +$padding-icon-sm: 4px;
187 +$border-radius-icon-sm: 7px;
188 +
189 +$height-icon-message: 40px;
190 +$width-icon-message: 40px;
191 +
192 +$height-icon-message-sm: 20px;
193 +$width-icon-message-sm: 20px;
194 +
195 +$default-color-top: #d9d9d9 !default;
196 +$default-color-bottom: #909297 !default;
197 +
198 +$blue-color-top: #4087ea;
199 +$blue-color-bottom: #2632c1;
200 +
201 +$azure-color-top: #45c0fd;
202 +$azure-color-bottom: #4091ff;
203 +
204 +$green-color-top: #a1eb3a;
205 +$green-color-bottom: #6dc030;
206 +
207 +$orange-color-top: #ffb33b;
208 +$orange-color-bottom: #ff5221;
209 +
210 +$red-color-top: #ff3b30;
211 +$red-color-bottom: #bb0502;
212 +
213 +$purple-color-top: #df55e1;
214 +$purple-color-bottom: #943bea;
215 +
216 +$pink-color-top: #ff2a63;
217 +$pink-color-bottom: #ff2e2e;
218 +
219 +$black-color-top: #282828;
220 +$black-color-bottom: #111;
221 +
222 +$social-facebook: #3b5998;
223 +$social-twitter: #55acee;
224 +$social-pinterest: #cc2127;
225 +$social-google: #dd4b39;
226 +$social-linkedin: #0976b4;
227 +$social-dribbble: #ea4c89;
228 +$social-github: #333333;
229 +$social-youtube: #e52d27;
230 +$social-stumbleupon: #eb4924;
231 +$social-reddit: #ff4500;
232 +$social-tumblr: #35465c;
233 +$social-behance: #1769ff;
234 +
235 +
236 +$filter-blue: darken($primary-color, 10%);
237 +$filter-azure: darken($info-color, 10%);
238 +$filter-green: darken($success-color, 10%);
239 +$filter-orange: darken($warning-color, 10%);
240 +$filter-red: darken($danger-color, 10%);
241 +
242 +
243 +$new-blue: #1DC7EA;
244 +$new-purple: #9368E9;
245 +$new-red: #FB404B;
246 +$new-green: #87CB16;
247 +$new-orange: #FFA534;
248 +$new-dark-blue: #1b8dff;
249 +$new-black: #5e5e5e;
250 +
251 +
252 +$topbar-x: topbar-x !default;
253 +$topbar-back: topbar-back !default;
254 +$bottombar-x: bottombar-x !default;
255 +$bottombar-back: bottombar-back !default;
256 +
257 +
258 +$white-navbar: rgba(#FFFFFF, .96);
259 +$blue-navbar: lighten($new-dark-blue, 10%);
260 +$azure-navbar: lighten($new-blue, 15%);
261 +$green-navbar: lighten($new-green, 10%);
262 +$orange-navbar: lighten($new-orange, 10%);
263 +$red-navbar: lighten($new-red, 10%);
1 +// Mixin for generating new styles
2 +@mixin btn-styles($btn-color, $btn-states-color) {
3 + border-color: $btn-color;
4 + color: $btn-color;
5 +
6 + &:hover,
7 + &:focus,
8 + &:active,
9 + &.active,
10 + .open > &.dropdown-toggle {
11 + background-color: $transparent-bg;
12 + color: $btn-states-color;
13 + border-color: $btn-states-color;
14 + }
15 +
16 + &.disabled,
17 + &:disabled,
18 + &[disabled],
19 + fieldset[disabled] & {
20 + &,
21 + &:hover,
22 + &:focus,
23 + &.focus,
24 + &:active,
25 + &.active {
26 + background-color: $transparent-bg;
27 + border-color: $btn-color;
28 + }
29 + }
30 +
31 +
32 + &.btn-fill {
33 + color: $white-color;
34 + background-color: $btn-color;
35 + @include opacity(1);
36 +
37 + &:hover,
38 + &:focus,
39 + &:active,
40 + &.active,
41 + .open > &.dropdown-toggle{
42 + background-color: $btn-states-color;
43 + color: $white-color;
44 + }
45 +
46 + .caret{
47 + border-top-color: $white-color;
48 + }
49 + }
50 +
51 + .caret{
52 + border-top-color: $btn-color;
53 + }
54 +}
55 +
56 +
57 +@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border){
58 + font-size: $font-size;
59 + border-radius: $border;
60 + padding: $padding-vertical $padding-horizontal;
61 +
62 + &.btn-round{
63 + padding: $padding-vertical + 1 $padding-horizontal;
64 + }
65 +
66 + &.btn-simple{
67 + padding: $padding-vertical + 2 $padding-horizontal;
68 + }
69 +
70 +}
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin filter($color){
2 + @if $color == #FFFFFF{
3 + background-color: rgba($color,.91);
4 + } @else {
5 + background-color: rgba($color,.69);
6 + }
7 +}
8 +
1 +// Scales for responsive SVG containers
2 +$ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default;
3 +$ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default;
4 +
5 +// Class names to be used when generating CSS
6 +$ct-class-chart: ct-chart !default;
7 +$ct-class-chart-line: ct-chart-line !default;
8 +$ct-class-chart-bar: ct-chart-bar !default;
9 +$ct-class-horizontal-bars: ct-horizontal-bars !default;
10 +$ct-class-chart-pie: ct-chart-pie !default;
11 +$ct-class-chart-donut: ct-chart-donut !default;
12 +$ct-class-label: ct-label !default;
13 +$ct-class-series: ct-series !default;
14 +$ct-class-line: ct-line !default;
15 +$ct-class-point: ct-point !default;
16 +$ct-class-area: ct-area !default;
17 +$ct-class-bar: ct-bar !default;
18 +$ct-class-slice-pie: ct-slice-pie !default;
19 +$ct-class-slice-donut: ct-slice-donut !default;
20 +$ct-class-grid: ct-grid !default;
21 +$ct-class-vertical: ct-vertical !default;
22 +$ct-class-horizontal: ct-horizontal !default;
23 +$ct-class-start: ct-start !default;
24 +$ct-class-end: ct-end !default;
25 +
26 +// Container ratio
27 +$ct-container-ratio: (1/1.618) !default;
28 +
29 +// Text styles for labels
30 +$ct-text-color: rgba(0, 0, 0, 0.4) !default;
31 +$ct-text-size: 1.3rem !default;
32 +$ct-text-align: flex-start !default;
33 +$ct-text-justify: flex-start !default;
34 +$ct-text-line-height: 1;
35 +
36 +// Grid styles
37 +$ct-grid-color: rgba(0, 0, 0, 0.2) !default;
38 +$ct-grid-dasharray: 2px !default;
39 +$ct-grid-width: 1px !default;
40 +
41 +// Line chart properties
42 +$ct-line-width: 3px !default;
43 +$ct-line-dasharray: false !default;
44 +$ct-point-size: 8px !default;
45 +// Line chart point, can be either round or square
46 +$ct-point-shape: round !default;
47 +// Area fill transparency between 0 and 1
48 +$ct-area-opacity: 0.8 !default;
49 +
50 +// Bar chart bar width
51 +$ct-bar-width: 10px !default;
52 +
53 +// Donut width (If donut width is to big it can cause issues where the shape gets distorted)
54 +$ct-donut-width: 60px !default;
55 +
56 +// If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you
57 +// should set this property to false
58 +$ct-include-classes: true !default;
59 +
60 +// If this is set to true the CSS will contain colored series. You can extend or change the color with the
61 +// properties below
62 +$ct-include-colored-series: $ct-include-classes !default;
63 +
64 +// If set to true this will include all responsive container variations using the scales defined at the top of the script
65 +$ct-include-alternative-responsive-containers: $ct-include-classes !default;
66 +
67 +// Series names and colors. This can be extended or customized as desired. Just add more series and colors.
68 +$ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default;
69 +$ct-series-colors: (
70 + $new-blue,
71 + $new-red,
72 + $new-orange,
73 + $new-purple,
74 + $new-green,
75 + $new-dark-blue,
76 + $new-black,
77 + $social-google,
78 + $social-tumblr,
79 + $social-youtube,
80 + $social-twitter,
81 + $social-pinterest,
82 + $social-behance,
83 + #6188e2,
84 + #a748ca
85 +) !default;
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin icon-background ($icon-url){
2 + background-image : url($icon-url);
3 +
4 +}
5 +
6 +@mixin icon-shape ($size, $padding, $border-radius) {
7 + height: $size;
8 + width: $size;
9 + padding: $padding;
10 + border-radius: $border-radius;
11 + display: inline-table;
12 +
13 +}
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin input-size($padding-vertical, $padding-horizontal, $height){
2 + padding: $padding-vertical $padding-horizontal;
3 + height: $height;
4 +}
5 +
6 +@mixin placeholder($color, $opacity){
7 + color: $color;
8 + @include opacity(1);
9 +}
10 +
11 +@mixin light-form(){
12 + border-radius: 0;
13 + border:0;
14 + padding: 0;
15 + background-color: transparent;
16 +
17 +}
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin label-style(){
2 + padding: $padding-label-vertical $padding-label-horizontal;
3 + border: 1px solid $default-color;
4 + border-radius: $border-radius-small;
5 + color: $default-color;
6 + font-weight: $font-weight-semi;
7 + font-size: $font-size-small;
8 + text-transform: uppercase;
9 + display: inline-block;
10 + vertical-align: middle;
11 +}
12 +
13 +@mixin label-color($color){
14 + border-color: $color;
15 + color: $color;
16 +}
17 +@mixin label-color-fill($color){
18 + border-color: $color;
19 + color: $white-color;
20 + background-color: $color;
21 +}
...\ No newline at end of file ...\ No newline at end of file
1 +$prefixes: ('', '-moz-', '-webkit-', '-ms-') !default;
2 +
3 +@mixin circle-animation(){
4 + @for $i from 0 to length($prefixes) {
5 + @include circle-animation-details(nth($prefixes, $i + 1));
6 + }
7 +}
8 +
9 +@mixin circle-animation-details($name){
10 + #{$name}animation-name: spin;
11 + #{$name}animation-duration: 1250ms;
12 + #{$name}animation-iteration-count: infinite;
13 + #{$name}animation-timing-function: linear;
14 +
15 +}
16 +@keyframes spin {
17 + from { transform:rotate(0deg); }
18 + to { transform:rotate(360deg); }
19 +}
20 +
21 +@-webkit-keyframes spin {
22 + from { -webkit-transform: rotate(0deg); }
23 + to { -webkit-transform: rotate(360deg); }
24 +}
25 +
26 +@-moz-keyframes spin {
27 + from { -moz-transform: rotate(0deg); }
28 + to { -moz-transform: rotate(360deg); }
29 +}
30 +
31 +@-ms-keyframes spin {
32 + from { -ms-transform: rotate(0deg); }
33 + to { -ms-transform: rotate(360deg); }
34 +}
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin navbar-color($color){
2 + background-color: $color;
3 +}
4 +
5 +@mixin center-item(){
6 + left: 0;
7 + right: 0;
8 + margin-right: auto;
9 + margin-left: auto;
10 + position: absolute;
11 +}
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin social-buttons-color ($color){
2 +
3 + border-color: $color;
4 + color: $color;
5 +
6 + &:hover,
7 + &:focus,
8 + &:active,
9 + &.active,
10 + .open > &.dropdown-toggle {
11 + background-color: $transparent-bg;
12 + color: $color;
13 + border-color: $color;
14 + opacity: 1;
15 + }
16 +
17 + &:disabled,
18 + &[disabled],
19 + &.disabled {
20 + background-color: $transparent-bg;
21 + border-color: $color;
22 + }
23 +
24 + &.btn-fill {
25 + color: $white-color;
26 + background-color: $color;
27 + opacity: 0.9;
28 +
29 + &:hover,
30 + &:focus,
31 + &:active,
32 + &.active,
33 + .open > &.dropdown-toggle{
34 + background-color: $color;
35 + color: $white-color;
36 + opacity: 1;
37 + }
38 +
39 + }
40 +
41 +
42 +}
43 +
...\ No newline at end of file ...\ No newline at end of file
1 +@mixin pill-style($color){
2 + border: 1px solid $color;
3 + color: $color;
4 +}
...\ No newline at end of file ...\ No newline at end of file
1 +// Opacity
2 +
3 +@mixin opacity($opacity) {
4 + opacity: $opacity;
5 + // IE8 filter
6 + $opacity-ie: ($opacity * 100);
7 + filter: #{alpha(opacity=$opacity-ie)};
8 +}
9 +
10 +@mixin black-filter($opacity){
11 + top: 0;
12 + left: 0;
13 + height: 100%;
14 + width: 100%;
15 + position: absolute;
16 + background-color: rgba(17,17,17,$opacity);
17 + display: block;
18 + content: "";
19 + z-index: 1;
20 +}
...\ No newline at end of file ...\ No newline at end of file
1 +// User select
2 +// For selecting text on the page
3 +
4 +@mixin user-select($select) {
5 + -webkit-user-select: $select;
6 + -moz-user-select: $select;
7 + -ms-user-select: $select; // IE10+
8 + user-select: $select;
9 +}
10 +
11 +@mixin box-shadow($shadow...) {
12 + -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
13 + box-shadow: $shadow;
14 +}
15 +
16 +// Box sizing
17 +@mixin box-sizing($boxmodel) {
18 + -webkit-box-sizing: $boxmodel;
19 + -moz-box-sizing: $boxmodel;
20 + box-sizing: $boxmodel;
21 +}
22 +
23 +
24 +@mixin transition($time, $type){
25 + -webkit-transition: all $time $type;
26 + -moz-transition: all $time $type;
27 + -o-transition: all $time $type;
28 + -ms-transition: all $time $type;
29 + transition: all $time $type;
30 +}
31 +
32 +@mixin transform-scale($value){
33 + -webkit-transform: scale($value);
34 + -moz-transform: scale($value);
35 + -o-transform: scale($value);
36 + -ms-transform: scale($value);
37 + transform: scale($value);
38 +}
39 +
40 +@mixin transform-translate-x($value){
41 + -webkit-transform: translate3d($value, 0, 0);
42 + -moz-transform: translate3d($value, 0, 0);
43 + -o-transform: translate3d($value, 0, 0);
44 + -ms-transform: translate3d($value, 0, 0);
45 + transform: translate3d($value, 0, 0);
46 +}
47 +
48 +@mixin transform-origin($coordinates){
49 + -webkit-transform-origin: $coordinates;
50 + -moz-transform-origin: $coordinates;
51 + -o-transform-origin: $coordinates;
52 + -ms-transform-origin: $coordinates;
53 + transform-origin: $coordinates;
54 +}
55 +
56 +@mixin icon-gradient ($top-color, $bottom-color){
57 + background: $top-color;
58 + background: -moz-linear-gradient(top, $top-color 0%, $bottom-color 100%);
59 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$top-color), color-stop(100%,$bottom-color));
60 + background: -webkit-linear-gradient(top, $top-color 0%,$bottom-color 100%);
61 + background: -o-linear-gradient(top, $top-color 0%,$bottom-color 100%);
62 + background: -ms-linear-gradient(top, $top-color 0%,$bottom-color 100%);
63 + background: linear-gradient(to bottom, $top-color 0%,$bottom-color 100%);
64 + background-size: 150% 150%;
65 +}
66 +
67 +@mixin radial-gradient($extern-color, $center-color){
68 + background: $extern-color;
69 + background: -moz-radial-gradient(center, ellipse cover, $center-color 0%, $extern-color 100%); /* FF3.6+ */
70 + background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,$center-color), color-stop(100%,$extern-color)); /* Chrome,Safari4+ */
71 + background: -webkit-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Chrome10+,Safari5.1+ */
72 + background: -o-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Opera 12+ */
73 + background: -ms-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* IE10+ */
74 + background: radial-gradient(ellipse at center, $center-color 0%,$extern-color 100%); /* W3C */
75 + background-size: 550% 450%;
76 +}
77 +
78 +@mixin vertical-align {
79 + position: relative;
80 + top: 50%;
81 + -webkit-transform: translateY(-50%);
82 + -ms-transform: translateY(-50%);
83 + transform: translateY(-50%);
84 +}
85 +
86 +@mixin rotate-180(){
87 + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
88 + -webkit-transform: rotate(180deg);
89 + -ms-transform: rotate(180deg);
90 + transform: rotate(180deg);
91 +}
92 +
93 +@mixin bar-animation($type){
94 + -webkit-animation: $type 500ms linear 0s;
95 + -moz-animation: $type 500ms linear 0s;
96 + animation: $type 500ms 0s;
97 + -webkit-animation-fill-mode: forwards;
98 + -moz-animation-fill-mode: forwards;
99 + animation-fill-mode: forwards;
100 +}
101 +
102 +@mixin topbar-x-rotation(){
103 + @keyframes topbar-x {
104 + 0% {top: 0px; transform: rotate(0deg); }
105 + 45% {top: 6px; transform: rotate(145deg); }
106 + 75% {transform: rotate(130deg); }
107 + 100% {transform: rotate(135deg); }
108 + }
109 + @-webkit-keyframes topbar-x {
110 + 0% {top: 0px; -webkit-transform: rotate(0deg); }
111 + 45% {top: 6px; -webkit-transform: rotate(145deg); }
112 + 75% {-webkit-transform: rotate(130deg); }
113 + 100% { -webkit-transform: rotate(135deg); }
114 + }
115 + @-moz-keyframes topbar-x {
116 + 0% {top: 0px; -moz-transform: rotate(0deg); }
117 + 45% {top: 6px; -moz-transform: rotate(145deg); }
118 + 75% {-moz-transform: rotate(130deg); }
119 + 100% { -moz-transform: rotate(135deg); }
120 + }
121 +}
122 +
123 +@mixin topbar-back-rotation(){
124 + @keyframes topbar-back {
125 + 0% { top: 6px; transform: rotate(135deg); }
126 + 45% { transform: rotate(-10deg); }
127 + 75% { transform: rotate(5deg); }
128 + 100% { top: 0px; transform: rotate(0); }
129 + }
130 +
131 + @-webkit-keyframes topbar-back {
132 + 0% { top: 6px; -webkit-transform: rotate(135deg); }
133 + 45% { -webkit-transform: rotate(-10deg); }
134 + 75% { -webkit-transform: rotate(5deg); }
135 + 100% { top: 0px; -webkit-transform: rotate(0); }
136 + }
137 +
138 + @-moz-keyframes topbar-back {
139 + 0% { top: 6px; -moz-transform: rotate(135deg); }
140 + 45% { -moz-transform: rotate(-10deg); }
141 + 75% { -moz-transform: rotate(5deg); }
142 + 100% { top: 0px; -moz-transform: rotate(0); }
143 + }
144 +}
145 +
146 +@mixin bottombar-x-rotation(){
147 + @keyframes bottombar-x {
148 + 0% {bottom: 0px; transform: rotate(0deg);}
149 + 45% {bottom: 6px; transform: rotate(-145deg);}
150 + 75% {transform: rotate(-130deg);}
151 + 100% {transform: rotate(-135deg);}
152 + }
153 + @-webkit-keyframes bottombar-x {
154 + 0% {bottom: 0px; -webkit-transform: rotate(0deg);}
155 + 45% {bottom: 6px; -webkit-transform: rotate(-145deg);}
156 + 75% {-webkit-transform: rotate(-130deg);}
157 + 100% {-webkit-transform: rotate(-135deg);}
158 + }
159 + @-moz-keyframes bottombar-x {
160 + 0% {bottom: 0px; -moz-transform: rotate(0deg);}
161 + 45% {bottom: 6px; -moz-transform: rotate(-145deg);}
162 + 75% {-moz-transform: rotate(-130deg);}
163 + 100% {-moz-transform: rotate(-135deg);}
164 + }
165 +}
166 +
167 +@mixin bottombar-back-rotation{
168 + @keyframes bottombar-back {
169 + 0% { bottom: 6px;transform: rotate(-135deg);}
170 + 45% { transform: rotate(10deg);}
171 + 75% { transform: rotate(-5deg);}
172 + 100% { bottom: 0px;transform: rotate(0);}
173 + }
174 + @-webkit-keyframes bottombar-back {
175 + 0% {bottom: 6px;-webkit-transform: rotate(-135deg);}
176 + 45% {-webkit-transform: rotate(10deg);}
177 + 75% {-webkit-transform: rotate(-5deg);}
178 + 100% {bottom: 0px;-webkit-transform: rotate(0);}
179 + }
180 + @-moz-keyframes bottombar-back {
181 + 0% {bottom: 6px;-moz-transform: rotate(-135deg);}
182 + 45% {-moz-transform: rotate(10deg);}
183 + 75% {-moz-transform: rotate(-5deg);}
184 + 100% {bottom: 0px;-moz-transform: rotate(0);}
185 + }
186 +
187 +}
188 +
189 +
1 +/*!
2 +
3 + =========================================================
4 + * Light Bootstrap Dashboard React - v1.3.0
5 + * Based on Light Bootstrap Dashboard - v1.3.0
6 + =========================================================
7 +
8 + * Product Page: http://www.creative-tim.com/product/light-bootstrap-dashboard-react
9 + * Copyright 2019 Creative Tim (http://www.creative-tim.com)
10 + * Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
11 +
12 + =========================================================
13 +
14 + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
15 +
16 + */
17 +
18 +@import "lbd/variables";
19 +@import "lbd/mixins";
20 +
21 +// Core CSS
22 +@import "lbd/typography";
23 +@import "lbd/misc";
24 +@import "lbd/sidebar-and-main-panel";
25 +@import "lbd/buttons";
26 +@import "lbd/inputs";
27 +
28 +@import "lbd/alerts";
29 +@import "lbd/tables";
30 +
31 +@import "lbd/checkbox-radio-switch";
32 +@import "lbd/navbars";
33 +@import "lbd/footers";
34 +
35 +// Fancy Stuff
36 +@import "lbd/dropdown";
37 +@import "lbd/cards";
38 +@import "lbd/chartist";
39 +@import "lbd/responsive";
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +
20 +export class Card extends Component {
21 + render() {
22 + return (
23 + <div className={"card" + (this.props.plain ? " card-plain" : "")}>
24 + <div className={"header" + (this.props.hCenter ? " text-center" : "")}>
25 + <h4 className="title">{this.props.title}</h4>
26 + <p className="category">{this.props.category}</p>
27 + </div>
28 + <div
29 + className={
30 + "content" +
31 + (this.props.ctAllIcons ? " all-icons" : "") +
32 + (this.props.ctTableFullWidth ? " table-full-width" : "") +
33 + (this.props.ctTableResponsive ? " table-responsive" : "") +
34 + (this.props.ctTableUpgrade ? " table-upgrade" : "")
35 + }
36 + >
37 + {this.props.content}
38 +
39 + <div className="footer">
40 + {this.props.legend}
41 + {this.props.stats != null ? <hr /> : ""}
42 + <div className="stats">
43 + <i className={this.props.statsIcon} /> {this.props.stats}
44 + </div>
45 + </div>
46 + </div>
47 + </div>
48 + );
49 + }
50 +}
51 +
52 +export default Card;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Button } from "react-bootstrap";
20 +import cx from "classnames";
21 +import PropTypes from "prop-types";
22 +
23 +class CustomButton extends Component {
24 + render() {
25 + const { fill, simple, pullRight, round, block, ...rest } = this.props;
26 +
27 + const btnClasses = cx({
28 + "btn-fill": fill,
29 + "btn-simple": simple,
30 + "pull-right": pullRight,
31 + "btn-block": block,
32 + "btn-round": round
33 + });
34 +
35 + return <Button className={btnClasses} {...rest} />;
36 + }
37 +}
38 +
39 +CustomButton.propTypes = {
40 + fill: PropTypes.bool,
41 + simple: PropTypes.bool,
42 + pullRight: PropTypes.bool,
43 + block: PropTypes.bool,
44 + round: PropTypes.bool
45 +};
46 +
47 +export default CustomButton;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +
20 +class CustomCheckbox extends Component {
21 + constructor(props) {
22 + super(props);
23 + this.state = {
24 + is_checked: props.isChecked ? true : false
25 + };
26 + this.handleClick = this.handleClick.bind(this);
27 + }
28 + handleClick() {
29 + this.setState({ is_checked: !this.state.is_checked });
30 + }
31 + render() {
32 + const { isChecked, number, label, inline, ...rest } = this.props;
33 + const classes =
34 + inline !== undefined ? "checkbox checkbox-inline" : "checkbox";
35 + return (
36 + <div className={classes}>
37 + <input
38 + id={number}
39 + type="checkbox"
40 + onChange={this.handleClick}
41 + checked={this.state.is_checked}
42 + {...rest}
43 + />
44 + <label htmlFor={number}>{label}</label>
45 + </div>
46 + );
47 + }
48 +}
49 +
50 +export default CustomCheckbox;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +
20 +class CustomRadio extends Component {
21 + render() {
22 + const { number, label, option, name, ...rest } = this.props;
23 +
24 + return (
25 + <div className="radio">
26 + <input id={number} name={name} type="radio" value={option} {...rest} />
27 + <label htmlFor={number}>{label}</label>
28 + </div>
29 + );
30 + }
31 +}
32 +
33 +export default CustomRadio;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +/*eslint-disable*/
19 +import React, { Component } from "react";
20 +import Toggle from "react-toggle";
21 +
22 +import imagine1 from "assets/img/sidebar-1.jpg";
23 +import imagine2 from "assets/img/sidebar-2.jpg";
24 +import imagine3 from "assets/img/sidebar-3.jpg";
25 +import imagine4 from "assets/img/sidebar-4.jpg";
26 +
27 +class FixedPlugin extends Component {
28 + constructor(props) {
29 + super(props);
30 + this.state = {
31 + classes: "dropdown show-dropdown open",
32 + bg_checked: true,
33 + bgImage: this.props.bgImage
34 + };
35 + }
36 + handleClick = () => {
37 + this.props.handleFixedClick();
38 + };
39 + onChangeClick = () => {
40 + this.props.handleHasImage(!this.state.bg_checked);
41 + this.setState({ bg_checked: !this.state.bg_checked });
42 + };
43 + render() {
44 + return (
45 + <div className="fixed-plugin">
46 + <div id="fixedPluginClasses" className={this.props.fixedClasses}>
47 + <div onClick={this.handleClick}>
48 + <i className="fa fa-cog fa-2x" />
49 + </div>
50 + <ul className="dropdown-menu">
51 + <li className="header-title">Configuration</li>
52 + <li className="adjustments-line">
53 + <p className="pull-left">Background Image</p>
54 + <div className="pull-right">
55 + <Toggle
56 + defaultChecked={this.state.bg_checked}
57 + onChange={this.onChangeClick}
58 + />
59 + </div>
60 + <div className="clearfix" />
61 + </li>
62 + <li className="adjustments-line">
63 + <a className="switch-trigger">
64 + <p>Filters</p>
65 + <div className="pull-right">
66 + <span
67 + className={
68 + this.props.bgColor === "black"
69 + ? "badge filter active"
70 + : "badge filter"
71 + }
72 + data-color="black"
73 + onClick={() => {
74 + this.props.handleColorClick("black");
75 + }}
76 + />
77 + <span
78 + className={
79 + this.props.bgColor === "azure"
80 + ? "badge filter badge-azure active"
81 + : "badge filter badge-azure"
82 + }
83 + data-color="azure"
84 + onClick={() => {
85 + this.props.handleColorClick("azure");
86 + }}
87 + />
88 + <span
89 + className={
90 + this.props.bgColor === "green"
91 + ? "badge filter badge-green active"
92 + : "badge filter badge-green"
93 + }
94 + data-color="green"
95 + onClick={() => {
96 + this.props.handleColorClick("green");
97 + }}
98 + />
99 + <span
100 + className={
101 + this.props.bgColor === "orange"
102 + ? "badge filter badge-orange active"
103 + : "badge filter badge-orange"
104 + }
105 + data-color="orange"
106 + onClick={() => {
107 + this.props.handleColorClick("orange");
108 + }}
109 + />
110 + <span
111 + className={
112 + this.props.bgColor === "red"
113 + ? "badge filter badge-red active"
114 + : "badge filter badge-red"
115 + }
116 + data-color="red"
117 + onClick={() => {
118 + this.props.handleColorClick("red");
119 + }}
120 + />
121 + <span
122 + className={
123 + this.props.bgColor === "purple"
124 + ? "badge filter badge-purple active"
125 + : "badge filter badge-purple"
126 + }
127 + data-color="purple"
128 + onClick={() => {
129 + this.props.handleColorClick("purple");
130 + }}
131 + />
132 + </div>
133 + <div className="clearfix" />
134 + </a>
135 + </li>
136 + <li className="header-title">Sidebar Images</li>
137 + <li className={this.state["bgImage"] === imagine1 ? "active" : ""}>
138 + <a
139 + className="img-holder switch-trigger"
140 + onClick={() => {
141 + this.setState({ bgImage: imagine1 });
142 + this.props.handleImageClick(imagine1);
143 + }}
144 + >
145 + <img src={imagine1} alt="..." />
146 + </a>
147 + </li>
148 + <li className={this.state["bgImage"] === imagine2 ? "active" : ""}>
149 + <a
150 + className="img-holder switch-trigger"
151 + onClick={() => {
152 + this.setState({ bgImage: imagine2 });
153 + this.props.handleImageClick(imagine2);
154 + }}
155 + >
156 + <img src={imagine2} alt="..." />
157 + </a>
158 + </li>
159 + <li className={this.state["bgImage"] === imagine3 ? "active" : ""}>
160 + <a
161 + className="img-holder switch-trigger"
162 + onClick={() => {
163 + this.setState({ bgImage: imagine3 });
164 + this.props.handleImageClick(imagine3);
165 + }}
166 + >
167 + <img src={imagine3} alt="..." />
168 + </a>
169 + </li>
170 + <li className={this.state["bgImage"] === imagine4 ? "active" : ""}>
171 + <a
172 + className="img-holder switch-trigger"
173 + onClick={() => {
174 + this.setState({ bgImage: imagine4 });
175 + this.props.handleImageClick(imagine4);
176 + }}
177 + >
178 + <img src={imagine4} alt="..." />
179 + </a>
180 + </li>
181 +
182 + <li className="button-container">
183 + <div className="">
184 + <a
185 + href="https://www.creative-tim.com/product/light-bootstrap-dashboard-react?ref=lbdr-fixed-plugin"
186 + target="_blank"
187 + className="btn btn-success btn-block btn-fill"
188 + >
189 + Download free!
190 + </a>
191 + </div>
192 + </li>
193 + <li className="button-container">
194 + <div className="">
195 + <a
196 + href="https://www.creative-tim.com/product/light-bootstrap-dashboard-pro-react?ref=lbdr-fixed-plugin"
197 + target="_blank"
198 + className="btn btn-warning btn-block btn-fill"
199 + >
200 + Buy Pro
201 + </a>
202 + </div>
203 + </li>
204 + <li className="button-container">
205 + <a
206 + href="https://demos.creative-tim.com/light-bootstrap-dashboard-react/#/documentation/getting-started?ref=lbdr-fixed-plugin"
207 + target="_blank"
208 + className="btn btn-fill btn-info"
209 + >
210 + Documentation
211 + </a>
212 + </li>
213 + </ul>
214 + </div>
215 + </div>
216 + );
217 + }
218 +}
219 +
220 +export default FixedPlugin;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Grid } from "react-bootstrap";
20 +
21 +class Footer extends Component {
22 + render() {
23 + return (
24 + <footer className="footer">
25 + <Grid fluid>
26 + <nav className="pull-left">
27 + <ul>
28 + <li>
29 + <a href="#pablo">Home</a>
30 + </li>
31 + <li>
32 + <a href="#pablo">Company</a>
33 + </li>
34 + <li>
35 + <a href="#pablo">Portfolio</a>
36 + </li>
37 + <li>
38 + <a href="#pablo">Blog</a>
39 + </li>
40 + </ul>
41 + </nav>
42 + <p className="copyright pull-right">
43 + &copy; {new Date().getFullYear()}{" "}
44 + <a href="http://www.creative-tim.com?ref=lbr-footer">
45 + Creative Tim
46 + </a>
47 + , made with love for a better web
48 + </p>
49 + </Grid>
50 + </footer>
51 + );
52 + }
53 +}
54 +
55 +export default Footer;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { FormGroup, ControlLabel, FormControl, Row } from "react-bootstrap";
20 +
21 +function FieldGroup({ label, ...props }) {
22 + return (
23 + <FormGroup>
24 + <ControlLabel>{label}</ControlLabel>
25 + <FormControl {...props} />
26 + </FormGroup>
27 + );
28 +}
29 +
30 +export class FormInputs extends Component {
31 + render() {
32 + var row = [];
33 + for (var i = 0; i < this.props.ncols.length; i++) {
34 + row.push(
35 + <div key={i} className={this.props.ncols[i]}>
36 + <FieldGroup {...this.props.properties[i]} />
37 + </div>
38 + );
39 + }
40 + return <Row>{row}</Row>;
41 + }
42 +}
43 +
44 +export default FormInputs;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Navbar } from "react-bootstrap";
20 +
21 +import AdminNavbarLinks from "./AdminNavbarLinks.jsx";
22 +
23 +class Header extends Component {
24 + constructor(props) {
25 + super(props);
26 + this.mobileSidebarToggle = this.mobileSidebarToggle.bind(this);
27 + this.state = {
28 + sidebarExists: false
29 + };
30 + }
31 + mobileSidebarToggle(e) {
32 + if (this.state.sidebarExists === false) {
33 + this.setState({
34 + sidebarExists: true
35 + });
36 + }
37 + e.preventDefault();
38 + document.documentElement.classList.toggle("nav-open");
39 + var node = document.createElement("div");
40 + node.id = "bodyClick";
41 + node.onclick = function() {
42 + this.parentElement.removeChild(this);
43 + document.documentElement.classList.toggle("nav-open");
44 + };
45 + document.body.appendChild(node);
46 + }
47 + render() {
48 + return (
49 + <Navbar fluid>
50 + <Navbar.Header>
51 + <Navbar.Brand>
52 + <a href="#pablo">{this.props.brandText}</a>
53 + </Navbar.Brand>
54 + <Navbar.Toggle onClick={this.mobileSidebarToggle} />
55 + </Navbar.Header>
56 + <Navbar.Collapse>
57 + <AdminNavbarLinks />
58 + </Navbar.Collapse>
59 + </Navbar>
60 + );
61 + }
62 +}
63 +
64 +export default Header;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { NavItem, Nav, NavDropdown, MenuItem } from "react-bootstrap";
20 +
21 +class AdminNavbarLinks extends Component {
22 + render() {
23 + const notification = (
24 + <div>
25 + <i className="fa fa-globe" />
26 + <b className="caret" />
27 + <span className="notification">5</span>
28 + <p className="hidden-lg hidden-md">Notification</p>
29 + </div>
30 + );
31 + return (
32 + <div>
33 + <Nav>
34 + <NavItem eventKey={1} href="#">
35 + <i className="fa fa-dashboard" />
36 + <p className="hidden-lg hidden-md">Dashboard</p>
37 + </NavItem>
38 + <NavDropdown
39 + eventKey={2}
40 + title={notification}
41 + noCaret
42 + id="basic-nav-dropdown"
43 + >
44 + <MenuItem eventKey={2.1}>Notification 1</MenuItem>
45 + <MenuItem eventKey={2.2}>Notification 2</MenuItem>
46 + <MenuItem eventKey={2.3}>Notification 3</MenuItem>
47 + <MenuItem eventKey={2.4}>Notification 4</MenuItem>
48 + <MenuItem eventKey={2.5}>Another notifications</MenuItem>
49 + </NavDropdown>
50 + <NavItem eventKey={3} href="#">
51 + <i className="fa fa-search" />
52 + <p className="hidden-lg hidden-md">Search</p>
53 + </NavItem>
54 + </Nav>
55 + <Nav pullRight>
56 + <NavItem eventKey={1} href="#">
57 + Account
58 + </NavItem>
59 + <NavDropdown
60 + eventKey={2}
61 + title="Dropdown"
62 + id="basic-nav-dropdown-right"
63 + >
64 + <MenuItem eventKey={2.1}>Action</MenuItem>
65 + <MenuItem eventKey={2.2}>Another action</MenuItem>
66 + <MenuItem eventKey={2.3}>Something</MenuItem>
67 + <MenuItem eventKey={2.4}>Another action</MenuItem>
68 + <MenuItem eventKey={2.5}>Something</MenuItem>
69 + <MenuItem divider />
70 + <MenuItem eventKey={2.5}>Separated link</MenuItem>
71 + </NavDropdown>
72 + <NavItem eventKey={3} href="#">
73 + Log out
74 + </NavItem>
75 + </Nav>
76 + </div>
77 + );
78 + }
79 +}
80 +
81 +export default AdminNavbarLinks;
1 +import React, { Component } from "react";
2 +import { NavLink } from "react-router-dom";
3 +
4 +import AdminNavbarLinks from "../Navbars/AdminNavbarLinks.jsx";
5 +
6 +import logo from "assets/img/reactlogo.png";
7 +
8 +class Sidebar extends Component {
9 + constructor(props) {
10 + super(props);
11 + this.state = {
12 + width: window.innerWidth
13 + };
14 + }
15 + activeRoute(routeName) {
16 + return this.props.location.pathname.indexOf(routeName) > -1 ? "active" : "";
17 + }
18 + updateDimensions() {
19 + this.setState({ width: window.innerWidth });
20 + }
21 + componentDidMount() {
22 + this.updateDimensions();
23 + window.addEventListener("resize", this.updateDimensions.bind(this));
24 + }
25 + render() {
26 + const sidebarBackground = {
27 + backgroundImage: "url(" + this.props.image + ")"
28 + };
29 + return (
30 + <div
31 + id="sidebar"
32 + className="sidebar"
33 + data-color={this.props.color}
34 + data-image={this.props.image}
35 + >
36 + {this.props.hasImage ? (
37 + <div className="sidebar-background" style={sidebarBackground} />
38 + ) : (
39 + null
40 + )}
41 + <div className="logo">
42 + <a
43 + href="https://www.creative-tim.com?ref=lbd-sidebar"
44 + className="simple-text logo-mini"
45 + >
46 + <div className="logo-img">
47 + <img src={logo} alt="logo_image" />
48 + </div>
49 + </a>
50 + <a
51 + href="https://www.creative-tim.com?ref=lbd-sidebar"
52 + className="simple-text logo-normal"
53 + >
54 + Creative Tim
55 + </a>
56 + </div>
57 + <div className="sidebar-wrapper">
58 + <ul className="nav">
59 + {this.state.width <= 991 ? <AdminNavbarLinks /> : null}
60 + {this.props.routes.map((prop, key) => {
61 + if (!prop.redirect)
62 + return (
63 + <li
64 + className={
65 + prop.upgrade
66 + ? "active active-pro"
67 + : this.activeRoute(prop.layout + prop.path)
68 + }
69 + key={key}
70 + >
71 + <NavLink
72 + to={prop.layout + prop.path}
73 + className="nav-link"
74 + activeClassName="active"
75 + >
76 + <i className={prop.icon} />
77 + <p>{prop.name}</p>
78 + </NavLink>
79 + </li>
80 + );
81 + return null;
82 + })}
83 + </ul>
84 + </div>
85 + </div>
86 + );
87 + }
88 +}
89 +
90 +export default Sidebar;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Row, Col } from "react-bootstrap";
20 +
21 +export class StatsCard extends Component {
22 + render() {
23 + return (
24 + <div className="card card-stats">
25 + <div className="content">
26 + <Row>
27 + <Col xs={5}>
28 + <div className="icon-big text-center icon-warning">
29 + {this.props.bigIcon}
30 + </div>
31 + </Col>
32 + <Col xs={7}>
33 + <div className="numbers">
34 + <p>{this.props.statsText}</p>
35 + {this.props.statsValue}
36 + </div>
37 + </Col>
38 + </Row>
39 + <div className="footer">
40 + <hr />
41 + <div className="stats">
42 + {this.props.statsIcon} {this.props.statsIconText}
43 + </div>
44 + </div>
45 + </div>
46 + </div>
47 + );
48 + }
49 +}
50 +
51 +export default StatsCard;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Tooltip, OverlayTrigger } from "react-bootstrap";
20 +import Checkbox from "components/CustomCheckbox/CustomCheckbox.jsx";
21 +import Button from "components/CustomButton/CustomButton.jsx";
22 +
23 +export class Tasks extends Component {
24 + handleCheckbox = event => {
25 + const target = event.target;
26 + console.log(event.target);
27 + this.setState({
28 + [target.name]: target.checked
29 + });
30 + };
31 + render() {
32 + const edit = <Tooltip id="edit_tooltip">Edit Task</Tooltip>;
33 + const remove = <Tooltip id="remove_tooltip">Remove</Tooltip>;
34 + const tasks_title = [
35 + 'Sign contract for "What are conference organizers afraid of?"',
36 + "Lines From Great Russian Literature? Or E-mails From My Boss?",
37 + "Flooded: One year later, assessing what was lost and what was found when a ravaging rain swept through metro Detroi",
38 + "Create 4 Invisible User Experiences you Never Knew About",
39 + 'Read "Following makes Medium better"',
40 + "Unfollow 5 enemies from twitter"
41 + ];
42 + var tasks = [];
43 + var number;
44 + for (var i = 0; i < tasks_title.length; i++) {
45 + number = "checkbox" + i;
46 + tasks.push(
47 + <tr key={i}>
48 + <td>
49 + <Checkbox
50 + number={number}
51 + isChecked={i === 1 || i === 2 ? true : false}
52 + />
53 + </td>
54 + <td>{tasks_title[i]}</td>
55 + <td className="td-actions text-right">
56 + <OverlayTrigger placement="top" overlay={edit}>
57 + <Button bsStyle="info" simple type="button" bsSize="xs">
58 + <i className="fa fa-edit" />
59 + </Button>
60 + </OverlayTrigger>
61 +
62 + <OverlayTrigger placement="top" overlay={remove}>
63 + <Button bsStyle="danger" simple type="button" bsSize="xs">
64 + <i className="fa fa-times" />
65 + </Button>
66 + </OverlayTrigger>
67 + </td>
68 + </tr>
69 + );
70 + }
71 + return <tbody>{tasks}</tbody>;
72 + }
73 +}
74 +
75 +export default Tasks;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +
20 +export class UserCard extends Component {
21 + render() {
22 + return (
23 + <div className="card card-user">
24 + <div className="image">
25 + <img src={this.props.bgImage} alt="..." />
26 + </div>
27 + <div className="content">
28 + <div className="author">
29 + <a href="#pablo">
30 + <img
31 + className="avatar border-gray"
32 + src={this.props.avatar}
33 + alt="..."
34 + />
35 + <h4 className="title">
36 + {this.props.name}
37 + <br />
38 + <small>{this.props.userName}</small>
39 + </h4>
40 + </a>
41 + </div>
42 + <p className="description text-center">{this.props.description}</p>
43 + </div>
44 + <hr />
45 + <div className="text-center">{this.props.socials}</div>
46 + </div>
47 + );
48 + }
49 +}
50 +
51 +export default UserCard;
1 +import React from "react";
2 +import ReactDOM from "react-dom";
3 +
4 +import { BrowserRouter, Route, Switch, Redirect } from "react-router-dom";
5 +
6 +import "bootstrap/dist/css/bootstrap.min.css";
7 +import "./assets/css/animate.min.css";
8 +import "./assets/sass/light-bootstrap-dashboard-react.scss?v=1.3.0";
9 +import "./assets/css/demo.css";
10 +import "./assets/css/pe-icon-7-stroke.css";
11 +
12 +import AdminLayout from "layouts/Admin.jsx";
13 +
14 +ReactDOM.render(
15 + <BrowserRouter>
16 + <Switch>
17 + <Route path="/admin" render={props => <AdminLayout {...props} />} />
18 + <Redirect from="/" to="/admin/dashboard" />
19 + </Switch>
20 + </BrowserRouter>,
21 + document.getElementById("root")
22 +);
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Route, Switch } from "react-router-dom";
20 +import NotificationSystem from "react-notification-system";
21 +
22 +import AdminNavbar from "components/Navbars/AdminNavbar";
23 +import Footer from "components/Footer/Footer";
24 +import Sidebar from "components/Sidebar/Sidebar";
25 +import FixedPlugin from "components/FixedPlugin/FixedPlugin.jsx";
26 +
27 +import { style } from "variables/Variables.jsx";
28 +
29 +import routes from "routes.js";
30 +
31 +import image from "assets/img/sidebar-3.jpg";
32 +
33 +class Admin extends Component {
34 + constructor(props) {
35 + super(props);
36 + this.state = {
37 + image: image,
38 + color: "black",
39 + hasImage: true,
40 + fixedClasses: "dropdown show-dropdown open"
41 + };
42 + }
43 +
44 + getRoutes = routes => {
45 + return routes.map((prop, key) => {
46 + if (prop.layout === "/admin") {
47 + return (
48 + <Route
49 + path={prop.layout + prop.path}
50 + render={props => (
51 + <prop.component
52 + {...props}
53 + handleClick={this.handleNotificationClick}
54 + />
55 + )}
56 + key={key}
57 + />
58 + );
59 + } else {
60 + return null;
61 + }
62 + });
63 + };
64 + getBrandText = path => {
65 + for (let i = 0; i < routes.length; i++) {
66 + if (
67 + this.props.location.pathname.indexOf(
68 + routes[i].layout + routes[i].path
69 + ) !== -1
70 + ) {
71 + return routes[i].name;
72 + }
73 + }
74 + return "Brand";
75 + };
76 +
77 + componentDidMount() {
78 +
79 + }
80 + componentDidUpdate(e) {
81 + if (
82 + window.innerWidth < 993 &&
83 + e.history.location.pathname !== e.location.pathname &&
84 + document.documentElement.className.indexOf("nav-open") !== -1
85 + ) {
86 + document.documentElement.classList.toggle("nav-open");
87 + }
88 + if (e.history.action === "PUSH") {
89 + document.documentElement.scrollTop = 0;
90 + document.scrollingElement.scrollTop = 0;
91 + this.refs.mainPanel.scrollTop = 0;
92 + }
93 + }
94 + render() {
95 + return (
96 + <div className="wrapper">
97 + <Sidebar {...this.props} routes={routes} image={this.state.image}
98 + color={this.state.color}
99 + hasImage={this.state.hasImage}/>
100 + <div id="main-panel" className="main-panel" ref="mainPanel">
101 + <AdminNavbar
102 + {...this.props}
103 + brandText={this.getBrandText(this.props.location.pathname)}
104 + />
105 + <Switch>{this.getRoutes(routes)}</Switch>
106 + <Footer />
107 + </div>
108 + </div>
109 + );
110 + }
111 +}
112 +
113 +export default Admin;
1 +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
2 + <g fill="#61DAFB">
3 + <path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
4 + <circle cx="420.9" cy="296.5" r="45.7"/>
5 + <path d="M520.5 78.1z"/>
6 + </g>
7 +</svg>
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import Dashboard from "views/Dashboard.jsx";
19 +import UserProfile from "views/UserProfile.jsx";
20 +import TableList from "views/TableList.jsx";
21 +import Typography from "views/Typography.jsx";
22 +import Icons from "views/Icons.jsx";
23 +import Maps from "views/Maps.jsx";
24 +import Notifications from "views/Notifications.jsx";
25 +import Upgrade from "views/Upgrade.jsx";
26 +
27 +const dashboardRoutes = [
28 + {
29 + path: "/dashboard",
30 + name: "Dashboard",
31 + icon: "pe-7s-graph",
32 + component: Dashboard,
33 + layout: "/admin"
34 + },
35 + {
36 + path: "/user",
37 + name: "User Profile",
38 + icon: "pe-7s-user",
39 + component: UserProfile,
40 + layout: "/admin"
41 + },
42 + {
43 + path: "/table",
44 + name: "Table List",
45 + icon: "pe-7s-note2",
46 + component: TableList,
47 + layout: "/admin"
48 + },
49 + {
50 + path: "/typography",
51 + name: "Typography",
52 + icon: "pe-7s-news-paper",
53 + component: Typography,
54 + layout: "/admin"
55 + },
56 + {
57 + path: "/icons",
58 + name: "Icons",
59 + icon: "pe-7s-science",
60 + component: Icons,
61 + layout: "/admin"
62 + },
63 + {
64 + path: "/maps",
65 + name: "Maps",
66 + icon: "pe-7s-map-marker",
67 + component: Maps,
68 + layout: "/admin"
69 + },
70 + {
71 + path: "/notifications",
72 + name: "Notifications",
73 + icon: "pe-7s-bell",
74 + component: Notifications,
75 + layout: "/admin"
76 + },
77 +];
78 +
79 +export default dashboardRoutes;
This diff is collapsed. Click to expand it.
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import ChartistGraph from "react-chartist";
20 +import { Grid, Row, Col } from "react-bootstrap";
21 +
22 +import { Card } from "components/Card/Card.jsx";
23 +import { StatsCard } from "components/StatsCard/StatsCard.jsx";
24 +import { Tasks } from "components/Tasks/Tasks.jsx";
25 +import {
26 + dataPie,
27 + legendPie,
28 + dataSales,
29 + optionsSales,
30 + responsiveSales,
31 + legendSales,
32 + dataBar,
33 + optionsBar,
34 + responsiveBar,
35 + legendBar
36 +} from "variables/Variables.jsx";
37 +
38 +class Dashboard extends Component {
39 + createLegend(json) {
40 + var legend = [];
41 + for (var i = 0; i < json["names"].length; i++) {
42 + var type = "fa fa-circle text-" + json["types"][i];
43 + legend.push(<i className={type} key={i} />);
44 + legend.push(" ");
45 + legend.push(json["names"][i]);
46 + }
47 + return legend;
48 + }
49 + render() {
50 + return (
51 + <div className="content">
52 + <Grid fluid>
53 + <Row>
54 + <Col lg={3} sm={6}>
55 + <StatsCard
56 + bigIcon={<i className="pe-7s-server text-warning" />}
57 + statsText="Capacity"
58 + statsValue="105GB"
59 + statsIcon={<i className="fa fa-refresh" />}
60 + statsIconText="Updated now"
61 + />
62 + </Col>
63 + <Col lg={3} sm={6}>
64 + <StatsCard
65 + bigIcon={<i className="pe-7s-wallet text-success" />}
66 + statsText="Revenue"
67 + statsValue="$1,345"
68 + statsIcon={<i className="fa fa-calendar-o" />}
69 + statsIconText="Last day"
70 + />
71 + </Col>
72 + <Col lg={3} sm={6}>
73 + <StatsCard
74 + bigIcon={<i className="pe-7s-graph1 text-danger" />}
75 + statsText="Errors"
76 + statsValue="23"
77 + statsIcon={<i className="fa fa-clock-o" />}
78 + statsIconText="In the last hour"
79 + />
80 + </Col>
81 + <Col lg={3} sm={6}>
82 + <StatsCard
83 + bigIcon={<i className="fa fa-twitter text-info" />}
84 + statsText="Followers"
85 + statsValue="+45"
86 + statsIcon={<i className="fa fa-refresh" />}
87 + statsIconText="Updated now"
88 + />
89 + </Col>
90 + </Row>
91 + <Row>
92 + <Col md={8}>
93 + <Card
94 + statsIcon="fa fa-history"
95 + id="chartHours"
96 + title="Users Behavior"
97 + category="24 Hours performance"
98 + stats="Updated 3 minutes ago"
99 + content={
100 + <div className="ct-chart">
101 + <ChartistGraph
102 + data={dataSales}
103 + type="Line"
104 + options={optionsSales}
105 + responsiveOptions={responsiveSales}
106 + />
107 + </div>
108 + }
109 + legend={
110 + <div className="legend">{this.createLegend(legendSales)}</div>
111 + }
112 + />
113 + </Col>
114 + <Col md={4}>
115 + <Card
116 + statsIcon="fa fa-clock-o"
117 + title="Email Statistics"
118 + category="Last Campaign Performance"
119 + stats="Campaign sent 2 days ago"
120 + content={
121 + <div
122 + id="chartPreferences"
123 + className="ct-chart ct-perfect-fourth"
124 + >
125 + <ChartistGraph data={dataPie} type="Pie" />
126 + </div>
127 + }
128 + legend={
129 + <div className="legend">{this.createLegend(legendPie)}</div>
130 + }
131 + />
132 + </Col>
133 + </Row>
134 +
135 + <Row>
136 + <Col md={6}>
137 + <Card
138 + id="chartActivity"
139 + title="2014 Sales"
140 + category="All products including Taxes"
141 + stats="Data information certified"
142 + statsIcon="fa fa-check"
143 + content={
144 + <div className="ct-chart">
145 + <ChartistGraph
146 + data={dataBar}
147 + type="Bar"
148 + options={optionsBar}
149 + responsiveOptions={responsiveBar}
150 + />
151 + </div>
152 + }
153 + legend={
154 + <div className="legend">{this.createLegend(legendBar)}</div>
155 + }
156 + />
157 + </Col>
158 +
159 + <Col md={6}>
160 + <Card
161 + title="Tasks"
162 + category="Backend development"
163 + stats="Updated 3 minutes ago"
164 + statsIcon="fa fa-history"
165 + content={
166 + <div className="table-full-width">
167 + <table className="table">
168 + <Tasks />
169 + </table>
170 + </div>
171 + }
172 + />
173 + </Col>
174 + </Row>
175 + </Grid>
176 + </div>
177 + );
178 + }
179 +}
180 +
181 +export default Dashboard;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Grid, Row, Col } from "react-bootstrap";
20 +
21 +import Card from "components/Card/Card";
22 +import { iconsArray } from "variables/Variables.jsx";
23 +
24 +class Icons extends Component {
25 + render() {
26 + return (
27 + <div className="content">
28 + <Grid fluid>
29 + <Row>
30 + <Col md={12}>
31 + <Card
32 + title="202 Awesome Stroke Icons"
33 + ctAllIcons
34 + category={
35 + <span>
36 + Handcrafted by our friends from{" "}
37 + <a
38 + target="_blank"
39 + rel="noopener noreferrer"
40 + href="http://themes-pixeden.com/font-demos/7-stroke/index.html"
41 + >
42 + Pixeden
43 + </a>
44 + </span>
45 + }
46 + content={
47 + <Row>
48 + {iconsArray.map((prop, key) => {
49 + return (
50 + <Col
51 + lg={2}
52 + md={3}
53 + sm={4}
54 + xs={6}
55 + className="font-icon-list"
56 + key={key}
57 + >
58 + <div className="font-icon-detail">
59 + <i className={prop} />
60 + <input type="text" defaultValue={prop} />
61 + </div>
62 + </Col>
63 + );
64 + })}
65 + </Row>
66 + }
67 + />
68 + </Col>
69 + </Row>
70 + </Grid>
71 + </div>
72 + );
73 + }
74 +}
75 +
76 +export default Icons;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React from "react";
19 +// react components used to create a google map
20 +import {
21 + withScriptjs,
22 + withGoogleMap,
23 + GoogleMap,
24 + Marker
25 +} from "react-google-maps";
26 +
27 +const CustomMap = withScriptjs(
28 + withGoogleMap(props => (
29 + <GoogleMap
30 + defaultZoom={13}
31 + defaultCenter={{ lat: 40.748817, lng: -73.985428 }}
32 + defaultOptions={{
33 + scrollwheel: false,
34 + zoomControl: true
35 + }}
36 + >
37 + <Marker position={{ lat: 40.748817, lng: -73.985428 }} />
38 + </GoogleMap>
39 + ))
40 +);
41 +
42 +function Maps({ ...prop }) {
43 + return (
44 + <CustomMap
45 + googleMapURL="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY_HERE"
46 + loadingElement={<div style={{ height: `100%` }} />}
47 + containerElement={<div style={{ height: `100vh` }} />}
48 + mapElement={<div style={{ height: `100%` }} />}
49 + />
50 + );
51 +}
52 +
53 +export default Maps;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Grid, Row, Col, Alert } from "react-bootstrap";
20 +
21 +import Button from "components/CustomButton/CustomButton.jsx";
22 +
23 +class Notifications extends Component {
24 + render() {
25 + return (
26 + <div className="content">
27 + <Grid fluid>
28 + <div className="card">
29 + <div className="header">
30 + <h4 className="title">Notifications</h4>
31 + <p className="category">
32 + Handcrafted by{" "}
33 + <a
34 + target="_blank"
35 + rel="noopener noreferrer"
36 + href="https://github.com/igorprado"
37 + >
38 + Igor Prado
39 + </a>
40 + . Please checkout the{" "}
41 + <a
42 + href="http://igorprado.com/react-notification-system/"
43 + rel="noopener noreferrer"
44 + target="_blank"
45 + >
46 + full documentation.
47 + </a>
48 + </p>
49 + </div>
50 + <div className="content">
51 + <Row>
52 + <Col md={6}>
53 + <h5>Notifications Style</h5>
54 + <Alert bsStyle="info">
55 + <span>This is a plain notification</span>
56 + </Alert>
57 + <Alert bsStyle="info">
58 + <button type="button" aria-hidden="true" className="close">
59 + &#x2715;
60 + </button>
61 + <span>This is a notification with close button.</span>
62 + </Alert>
63 + <Alert bsStyle="info" className="alert-with-icon">
64 + <button type="button" aria-hidden="true" className="close">
65 + &#x2715;
66 + </button>
67 + <span data-notify="icon" className="pe-7s-bell" />
68 + <span data-notify="message">
69 + This is a notification with close button and icon.
70 + </span>
71 + </Alert>
72 + <Alert bsStyle="info" className="alert-with-icon">
73 + <button type="button" aria-hidden="true" className="close">
74 + &#x2715;
75 + </button>
76 + <span data-notify="icon" className="pe-7s-bell" />
77 + <span data-notify="message">
78 + This is a notification with close button and icon and have
79 + many lines. You can see that the icon and the close button
80 + are always vertically aligned. This is a beautiful
81 + notification. So you don't have to worry about the style.
82 + </span>
83 + </Alert>
84 + </Col>
85 + <Col md={6}>
86 + <h5>Notification states</h5>
87 + <Alert bsStyle="info">
88 + <button type="button" aria-hidden="true" className="close">
89 + &#x2715;
90 + </button>
91 + <span>
92 + <b> Info - </b> This is a regular notification made with
93 + bsStyle="info"
94 + </span>
95 + </Alert>
96 + <Alert bsStyle="success">
97 + <button type="button" aria-hidden="true" className="close">
98 + &#x2715;
99 + </button>
100 + <span>
101 + <b> Success - </b> This is a regular notification made
102 + with bsStyle="success"
103 + </span>
104 + </Alert>
105 + <Alert bsStyle="warning">
106 + <button type="button" aria-hidden="true" className="close">
107 + &#x2715;
108 + </button>
109 + <span>
110 + <b> Warning - </b> This is a regular notification made
111 + with bsStyle="warning"
112 + </span>
113 + </Alert>
114 + <Alert bsStyle="danger">
115 + <button type="button" aria-hidden="true" className="close">
116 + &#x2715;
117 + </button>
118 + <span>
119 + <b> Danger - </b> This is a regular notification made with
120 + bsStyle="danger"
121 + </span>
122 + </Alert>
123 + </Col>
124 + </Row>
125 + <br />
126 + <br />
127 + <div className="places-buttons">
128 + <Row>
129 + <Col md={6} mdOffset={3} className="text-center">
130 + <h5>
131 + Notifications Places
132 + <p className="category">Click to view notifications</p>
133 + </h5>
134 + </Col>
135 + </Row>
136 + <Row>
137 + <Col md={2} mdOffset={3}>
138 + <Button
139 + bsStyle="default"
140 + block
141 + onClick={() => this.props.handleClick("tl")}
142 + >
143 + Top Left
144 + </Button>
145 + </Col>
146 + <Col md={2}>
147 + <Button
148 + bsStyle="default"
149 + block
150 + onClick={() => this.props.handleClick("tc")}
151 + >
152 + Top Center
153 + </Button>
154 + </Col>
155 + <Col md={2}>
156 + <Button
157 + bsStyle="default"
158 + block
159 + onClick={() => this.props.handleClick("tr")}
160 + >
161 + Top Right
162 + </Button>
163 + </Col>
164 + </Row>
165 + <Row>
166 + <Col md={2} mdOffset={3}>
167 + <Button
168 + bsStyle="default"
169 + block
170 + onClick={() => this.props.handleClick("bl")}
171 + >
172 + Bottom Left
173 + </Button>
174 + </Col>
175 + <Col md={2}>
176 + <Button
177 + bsStyle="default"
178 + block
179 + onClick={() => this.props.handleClick("bc")}
180 + >
181 + Bottom Center
182 + </Button>
183 + </Col>
184 + <Col md={2}>
185 + <Button
186 + bsStyle="default"
187 + block
188 + onClick={() => this.props.handleClick("br")}
189 + >
190 + Bottom Right
191 + </Button>
192 + </Col>
193 + </Row>
194 + </div>
195 + </div>
196 + </div>
197 + </Grid>
198 + </div>
199 + );
200 + }
201 +}
202 +
203 +export default Notifications;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Grid, Row, Col, Table } from "react-bootstrap";
20 +
21 +import Card from "components/Card/Card.jsx";
22 +import { thArray, tdArray } from "variables/Variables.jsx";
23 +
24 +class TableList extends Component {
25 + render() {
26 + return (
27 + <div className="content">
28 + <Grid fluid>
29 + <Row>
30 + <Col md={12}>
31 + <Card
32 + title="Striped Table with Hover"
33 + category="Here is a subtitle for this table"
34 + ctTableFullWidth
35 + ctTableResponsive
36 + content={
37 + <Table striped hover>
38 + <thead>
39 + <tr>
40 + {thArray.map((prop, key) => {
41 + return <th key={key}>{prop}</th>;
42 + })}
43 + </tr>
44 + </thead>
45 + <tbody>
46 + {tdArray.map((prop, key) => {
47 + return (
48 + <tr key={key}>
49 + {prop.map((prop, key) => {
50 + return <td key={key}>{prop}</td>;
51 + })}
52 + </tr>
53 + );
54 + })}
55 + </tbody>
56 + </Table>
57 + }
58 + />
59 + </Col>
60 +
61 + <Col md={12}>
62 + <Card
63 + plain
64 + title="Striped Table with Hover"
65 + category="Here is a subtitle for this table"
66 + ctTableFullWidth
67 + ctTableResponsive
68 + content={
69 + <Table hover>
70 + <thead>
71 + <tr>
72 + {thArray.map((prop, key) => {
73 + return <th key={key}>{prop}</th>;
74 + })}
75 + </tr>
76 + </thead>
77 + <tbody>
78 + {tdArray.map((prop, key) => {
79 + return (
80 + <tr key={key}>
81 + {prop.map((prop, key) => {
82 + return <td key={key}>{prop}</td>;
83 + })}
84 + </tr>
85 + );
86 + })}
87 + </tbody>
88 + </Table>
89 + }
90 + />
91 + </Col>
92 + </Row>
93 + </Grid>
94 + </div>
95 + );
96 + }
97 +}
98 +
99 +export default TableList;
1 +/*!
2 +
3 +=========================================================
4 +* Light Bootstrap Dashboard React - v1.3.0
5 +=========================================================
6 +
7 +* Product Page: https://www.creative-tim.com/product/light-bootstrap-dashboard-react
8 +* Copyright 2019 Creative Tim (https://www.creative-tim.com)
9 +* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard-react/blob/master/LICENSE.md)
10 +
11 +* Coded by Creative Tim
12 +
13 +=========================================================
14 +
15 +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
16 +
17 +*/
18 +import React, { Component } from "react";
19 +import { Grid, Row, Col } from "react-bootstrap";
20 +
21 +import Card from "components/Card/Card.jsx";
22 +
23 +class Typography extends Component {
24 + render() {
25 + return (
26 + <div className="content">
27 + <Grid fluid>
28 + <Row>
29 + <Col md={12}>
30 + <Card
31 + title="Light Bootstrap Table Heading"
32 + category="Created using Roboto Font Family"
33 + content={
34 + <div>
35 + <div className="typo-line">
36 + <h1>
37 + <p className="category">Header 1</p>Light Bootstrap
38 + Table Heading{" "}
39 + </h1>
40 + </div>
41 +
42 + <div className="typo-line">
43 + <h2>
44 + <p className="category">Header 2</p>Light Bootstrap
45 + Table Heading
46 + </h2>
47 + </div>
48 + <div className="typo-line">
49 + <h3>
50 + <p className="category">Header 3</p>Light Bootstrap
51 + Table Heading
52 + </h3>
53 + </div>
54 + <div className="typo-line">
55 + <h4>
56 + <p className="category">Header 4</p>Light Bootstrap
57 + Table Heading
58 + </h4>
59 + </div>
60 + <div className="typo-line">
61 + <h5>
62 + <p className="category">Header 5</p>Light Bootstrap
63 + Table Heading
64 + </h5>
65 + </div>
66 + <div className="typo-line">
67 + <h6>
68 + <p className="category">Header 6</p>Light Bootstrap
69 + Table Heading
70 + </h6>
71 + </div>
72 + <div className="typo-line">
73 + <p>
74 + <span className="category">Paragraph</span>Lorem ipsum
75 + dolor sit amet, consectetuer adipiscing elit, sed diam
76 + nonummy nibh euismod tincidunt ut laoreet dolore magna
77 + aliquam erat volutpat. Ut wisi enim ad minim veniam.
78 + </p>
79 + </div>
80 + <div className="typo-line">
81 + <p className="category">Quote</p>
82 + <blockquote>
83 + <p>
84 + Lorem ipsum dolor sit amet, consectetuer adipiscing
85 + elit, sed diam nonummy nibh euismod tincidunt ut
86 + laoreet dolore magna aliquam erat volutpat. Ut wisi
87 + enim ad minim veniam.
88 + </p>
89 + <small>Steve Jobs, CEO Apple</small>
90 + </blockquote>
91 + </div>
92 +
93 + <div className="typo-line">
94 + <p className="category">Muted Text</p>
95 + <p className="text-muted">
96 + Lorem ipsum dolor sit amet, consectetuer adipiscing
97 + elit, sed diam nonummy nibh euismod tincidunt ut
98 + laoreet.
99 + </p>
100 + </div>
101 + <div className="typo-line">
102 + {/* <!--
103 + there are also "text-info", "text-success", "text-warning", "text-danger" clases for the text
104 + --> */}
105 + <p className="category">Coloured Text</p>
106 + <p className="text-primary">
107 + Text Primary - Light Bootstrap Table Heading and complex
108 + bootstrap dashboard you've ever seen on the internet.
109 + </p>
110 + <p className="text-info">
111 + Text Info - Light Bootstrap Table Heading and complex
112 + bootstrap dashboard you've ever seen on the internet.
113 + </p>
114 + <p className="text-success">
115 + Text Success - Light Bootstrap Table Heading and complex
116 + bootstrap dashboard you've ever seen on the internet.
117 + </p>
118 + <p className="text-warning">
119 + Text Warning - Light Bootstrap Table Heading and complex
120 + bootstrap dashboard you've ever seen on the internet.
121 + </p>
122 + <p className="text-danger">
123 + Text Danger - Light Bootstrap Table Heading and complex
124 + bootstrap dashboard you've ever seen on the internet.
125 + </p>
126 + </div>
127 +
128 + <div className="typo-line">
129 + <h2>
130 + <p className="category">Small Tag</p>Header with small
131 + subtitle <br />
132 + <small>".small" is a tag for the headers</small>{" "}
133 + </h2>
134 + </div>
135 + </div>
136 + }
137 + />
138 + </Col>
139 + </Row>
140 + </Grid>
141 + </div>
142 + );
143 + }
144 +}
145 +
146 +export default Typography;
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.