Compare commits
903 Commits
1.2
...
v2.4.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cfbe94b7e | ||
|
|
187dcfae4d | ||
|
|
f4ee8fba68 | ||
|
|
fbbc450c41 | ||
|
|
4b0d73bab9 | ||
|
|
41d3db21ed | ||
|
|
6f77ce584e | ||
|
|
87209a984a | ||
|
|
406cda26d9 | ||
|
|
c6b45cdfa0 | ||
|
|
a60df9f050 | ||
|
|
4169db0857 | ||
|
|
342a0ac17f | ||
|
|
ec245fd46e | ||
|
|
ccb00ccdad | ||
|
|
7089f63213 | ||
|
|
bf174bfcb0 | ||
|
|
1f797fd5f7 | ||
|
|
b12cc7d9e4 | ||
|
|
26a56938ce | ||
|
|
4c25d55149 | ||
|
|
eb782d743b | ||
|
|
b7da81b3d3 | ||
|
|
6f754362f5 | ||
|
|
d1dd9b8013 | ||
|
|
936302b847 | ||
|
|
a0475e08ae | ||
|
|
235481d1d6 | ||
|
|
37c8bbb019 | ||
|
|
890ccbdb09 | ||
|
|
30324f4f33 | ||
|
|
324bca9f14 | ||
|
|
2c372a2ce2 | ||
|
|
b04a99466d | ||
|
|
201d482066 | ||
|
|
b5f4bba4e6 | ||
|
|
a1f6bb07d3 | ||
|
|
024e3faa9d | ||
|
|
436513ac24 | ||
|
|
d2d63c857a | ||
|
|
57c62f4222 | ||
|
|
af4ece9a80 | ||
|
|
3f5abdbfca | ||
|
|
383d685a5f | ||
|
|
075fe294ed | ||
|
|
9f870d0fad | ||
|
|
3c672fe9aa | ||
|
|
a7d49bd656 | ||
|
|
f02c61eb0e | ||
|
|
469e9cd136 | ||
|
|
84ca9cdc24 | ||
|
|
01b4740d93 | ||
|
|
17c9366f4b | ||
|
|
7cecd1922d | ||
|
|
d10ba04ec9 | ||
|
|
51142e7fc9 | ||
|
|
28c75ef8a0 | ||
|
|
cdc2e7e3d0 | ||
|
|
b5e67488e7 | ||
|
|
178adf5dc0 | ||
|
|
6683ab7303 | ||
|
|
7aa9f44d66 | ||
|
|
bfbccf9bf7 | ||
|
|
61cd9ca7b0 | ||
|
|
aa945e6e6f | ||
|
|
d73be88861 | ||
|
|
f46e5198b7 | ||
|
|
be0a0b17b0 | ||
|
|
074d1ca039 | ||
|
|
fcc14dcff7 | ||
|
|
bd3799eb7c | ||
|
|
082ffa3d41 | ||
|
|
09c91313a0 | ||
|
|
1273f93e67 | ||
|
|
74c27f7f11 | ||
|
|
501448ad6f | ||
|
|
cdcf40edc0 | ||
|
|
8747e8be04 | ||
|
|
2be703222a | ||
|
|
95d377eabc | ||
|
|
194f92be3a | ||
|
|
0c4ca8c4db | ||
|
|
2f3d9ca953 | ||
|
|
02efe00fc9 | ||
|
|
4758ab5216 | ||
|
|
b621ed77f2 | ||
|
|
76e1d899d5 | ||
|
|
b016468ab2 | ||
|
|
a527b7fe99 | ||
|
|
8410b2fdc1 | ||
|
|
e73de15f31 | ||
|
|
96174a1ada | ||
|
|
1817e83917 | ||
|
|
fff97052cc | ||
|
|
7ec1e072d9 | ||
|
|
3d4acd72d9 | ||
|
|
bb61097fea | ||
|
|
5ecdce9813 | ||
|
|
508e4f0815 | ||
|
|
70b95bbf6f | ||
|
|
dc83709196 | ||
|
|
09651c1d0c | ||
|
|
eec8a98901 | ||
|
|
e736df9f64 | ||
|
|
12ea7168fb | ||
|
|
90e62c2af0 | ||
|
|
e499f26f76 | ||
|
|
53b904d946 | ||
|
|
7ec587b75b | ||
|
|
0159d06b24 | ||
|
|
51bf7c4a80 | ||
|
|
6e2f5b0708 | ||
|
|
8a7b80c64c | ||
|
|
ced14b133d | ||
|
|
1fe157ae77 | ||
|
|
3cbb6273e0 | ||
|
|
7e011ed4b5 | ||
|
|
e3d93f7e1d | ||
|
|
797b65b3ca | ||
|
|
5b14053e35 | ||
|
|
4de79841b4 | ||
|
|
8d21b84474 | ||
|
|
7561213185 | ||
|
|
1a89a2feab | ||
|
|
060f79063e | ||
|
|
159887612e | ||
|
|
e207c9c0c8 | ||
|
|
be18803032 | ||
|
|
821a3bc063 | ||
|
|
79bd17075e | ||
|
|
30f9916802 | ||
|
|
5170c4f8ea | ||
|
|
09a8974ab7 | ||
|
|
e989db685e | ||
|
|
87cba5d352 | ||
|
|
8f0a652055 | ||
|
|
be11566d95 | ||
|
|
d4877677ab | ||
|
|
98400d1498 | ||
|
|
1bffa9fd44 | ||
|
|
7d78453e8a | ||
|
|
0e601c1463 | ||
|
|
b8ea25e8eb | ||
|
|
16bb613abe | ||
|
|
0ab2eb7f38 | ||
|
|
665514209b | ||
|
|
13f3036479 | ||
|
|
2de98d7b70 | ||
|
|
140c350c5c | ||
|
|
68e473db43 | ||
|
|
64a91f7b56 | ||
|
|
8e278e1145 | ||
|
|
bca8e8ec66 | ||
|
|
db51bd8b98 | ||
|
|
1a29b58111 | ||
|
|
35dacb3f97 | ||
|
|
688631379b | ||
|
|
05f0528552 | ||
|
|
20cd83d204 | ||
|
|
9d6c25d7b2 | ||
|
|
6ed3a7bfc4 | ||
|
|
476653811a | ||
|
|
84ad18c3e8 | ||
|
|
59c8ea100a | ||
|
|
493bdb6580 | ||
|
|
abe80a0e92 | ||
|
|
0dc992837e | ||
|
|
ec2e31079b | ||
|
|
d003040ddc | ||
|
|
b07ef01535 | ||
|
|
b4f1c53713 | ||
|
|
bcd808d203 | ||
|
|
9b80592460 | ||
|
|
8438a30eaa | ||
|
|
da310983fd | ||
|
|
04e4fcb934 | ||
|
|
1c243550e4 | ||
|
|
b71926e6ac | ||
|
|
f9a3f8b5ff | ||
|
|
0c4ebb13c2 | ||
|
|
198e91c64a | ||
|
|
9b77655eb3 | ||
|
|
c9dcc7c1dd | ||
|
|
e5e0c53b0c | ||
|
|
6eab94926c | ||
|
|
a0addfa177 | ||
|
|
cb6ac64ac4 | ||
|
|
e61eb404d2 | ||
|
|
ea7823b72c | ||
|
|
88b4e3d8b6 | ||
|
|
446b1cec52 | ||
|
|
d73cf99666 | ||
|
|
139b4604c5 | ||
|
|
af4360260c | ||
|
|
0050e298a2 | ||
|
|
d051696b4b | ||
|
|
a49aaf581b | ||
|
|
8db9797950 | ||
|
|
497ca6d7e6 | ||
|
|
034c31e089 | ||
|
|
bdec7573df | ||
|
|
f3b2f0d46c | ||
|
|
c2bc22698c | ||
|
|
bd61a3b66b | ||
|
|
fe147c9b21 | ||
|
|
faa724a692 | ||
|
|
dbfd0322c0 | ||
|
|
720c036708 | ||
|
|
2f64568f4c | ||
|
|
18b882dd3f | ||
|
|
4fbef59be1 | ||
|
|
9c28589ad6 | ||
|
|
bd36febbc0 | ||
|
|
2b73a99716 | ||
|
|
be82cd2d05 | ||
|
|
bc696b82cc | ||
|
|
fe3382b879 | ||
|
|
525f1e62fe | ||
|
|
10e1f7fc2d | ||
|
|
f284016fa8 | ||
|
|
93e99de603 | ||
|
|
6a45ff52d0 | ||
|
|
45b64a9739 | ||
|
|
74428d3ec4 | ||
|
|
e6318e7386 | ||
|
|
41d18400ba | ||
|
|
fceb5eebe6 | ||
|
|
f741eec73c | ||
|
|
b1e8da631e | ||
|
|
732d6bbd59 | ||
|
|
5482534db4 | ||
|
|
65904edd76 | ||
|
|
93f2ad2fef | ||
|
|
e92b9acd19 | ||
|
|
03ff6f5d9f | ||
|
|
d30707611d | ||
|
|
d7189ad95c | ||
|
|
34ce040105 | ||
|
|
c174dc7b63 | ||
|
|
2681b8bd2e | ||
|
|
dce8dd7070 | ||
|
|
12bf734658 | ||
|
|
ff6ce09d39 | ||
|
|
9c15693784 | ||
|
|
1ee281b3b9 | ||
|
|
57e10bc372 | ||
|
|
bbb67bafa5 | ||
|
|
1c448a3afa | ||
|
|
9ca725c313 | ||
|
|
0cfe69d351 | ||
|
|
13697c4743 | ||
|
|
250fa7bbd7 | ||
|
|
4a83dc18ce | ||
|
|
02c76b9075 | ||
|
|
20eba516a4 | ||
|
|
b76c319144 | ||
|
|
1accd72830 | ||
|
|
eb887847b3 | ||
|
|
8340a48561 | ||
|
|
94d164d7e4 | ||
|
|
f2b7e0eecc | ||
|
|
58cc994008 | ||
|
|
26d33dffe4 | ||
|
|
4cd707a49e | ||
|
|
5e66dfdcae | ||
|
|
9157e62294 | ||
|
|
8a7a7ae527 | ||
|
|
7032389411 | ||
|
|
9505f59ac6 | ||
|
|
226ba4f4ed | ||
|
|
9c0d5d8c03 | ||
|
|
6e19e37251 | ||
|
|
fe3af68654 | ||
|
|
ef8624bff7 | ||
|
|
f6593b34d2 | ||
|
|
0dad027265 | ||
|
|
0748343f22 | ||
|
|
86712ae424 | ||
|
|
aa26f6eb7a | ||
|
|
435dcfba80 | ||
|
|
9bd1f6aa28 | ||
|
|
ee1782c007 | ||
|
|
6cd614c582 | ||
|
|
31725e0868 | ||
|
|
2f72188c28 | ||
|
|
9e93fa988e | ||
|
|
080e4da6e8 | ||
|
|
dc84e46552 | ||
|
|
8c2b2a41a1 | ||
|
|
91f47a8b7a | ||
|
|
2dcddd175d | ||
|
|
1ca659788b | ||
|
|
685ba27900 | ||
|
|
996444f55b | ||
|
|
b747fdf973 | ||
|
|
396b319c7e | ||
|
|
9fa335f363 | ||
|
|
283355e533 | ||
|
|
56aabaa0b1 | ||
|
|
86387efc8f | ||
|
|
18691817cf | ||
|
|
0b9e3c822c | ||
|
|
ec43144a62 | ||
|
|
be2ca6a21e | ||
|
|
8c7fc61559 | ||
|
|
cba5477a46 | ||
|
|
dcc45e5915 | ||
|
|
72847dc136 | ||
|
|
f68e1edb0e | ||
|
|
feac61b20c | ||
|
|
fc9554f866 | ||
|
|
5d9e59efce | ||
|
|
f7dc1429e2 | ||
|
|
3c05a7858f | ||
|
|
81e784af15 | ||
|
|
81aa879d3a | ||
|
|
d3a547c5d3 | ||
|
|
02cd4e32ee | ||
|
|
8ab58de601 | ||
|
|
ae37d79c1d | ||
|
|
f25c90f598 | ||
|
|
dde604023b | ||
|
|
6ab5a66fa2 | ||
|
|
a335278aa1 | ||
|
|
31af666ccc | ||
|
|
393bb3ca1f | ||
|
|
746ecd5cd3 | ||
|
|
3faad543cb | ||
|
|
36f31d1448 | ||
|
|
738252af74 | ||
|
|
67fd530662 | ||
|
|
1555830bc6 | ||
|
|
ac99249af7 | ||
|
|
2f390152bc | ||
|
|
71657fc0bc | ||
|
|
c38df88d5a | ||
|
|
a1c8225c2e | ||
|
|
1ba31abdc6 | ||
|
|
418f73e2a8 | ||
|
|
e13db59eb3 | ||
|
|
7df333d8b6 | ||
|
|
e7653c8655 | ||
|
|
af4deafa7c | ||
|
|
a0a4a3207a | ||
|
|
27d94de81a | ||
|
|
4e6e19a9f7 | ||
|
|
648d682618 | ||
|
|
361db6d391 | ||
|
|
f525567feb | ||
|
|
70cda3605b | ||
|
|
7860607b5b | ||
|
|
5e57d8f4c1 | ||
|
|
dfc6a3d7ac | ||
|
|
7964338817 | ||
|
|
de59b4c4c9 | ||
|
|
87534fa1f0 | ||
|
|
2f8cd4f324 | ||
|
|
0eb8c98efd | ||
|
|
48dc576492 | ||
|
|
bdc89f14fe | ||
|
|
0fce8ad2db | ||
|
|
ade5e66851 | ||
|
|
5cb4f2840b | ||
|
|
ccebf2492a | ||
|
|
560b79e884 | ||
|
|
d311cc0ab2 | ||
|
|
502b6e6b2d | ||
|
|
63230ebf57 | ||
|
|
d20b62ca81 | ||
|
|
9837243bc9 | ||
|
|
a981cb8e54 | ||
|
|
1d34316754 | ||
|
|
a7158e5ab8 | ||
|
|
30e6e1f034 | ||
|
|
2827e4d2fb | ||
|
|
0943d33ff3 | ||
|
|
37a065bb99 | ||
|
|
b1a94d780f | ||
|
|
b8b38a29fa | ||
|
|
13aa44fe14 | ||
|
|
12996b0242 | ||
|
|
6676c7d068 | ||
|
|
2296534d36 | ||
|
|
6bf4e63c44 | ||
|
|
efd38d62be | ||
|
|
a081021a9d | ||
|
|
0bd8306502 | ||
|
|
8f1173b340 | ||
|
|
b6148c802e | ||
|
|
10ca2ed070 | ||
|
|
7760b0d516 | ||
|
|
ef2c51694d | ||
|
|
a8406b4102 | ||
|
|
7c93106626 | ||
|
|
2ceb6e19b8 | ||
|
|
d75e3e18c9 | ||
|
|
c848c6737f | ||
|
|
8cecbcf2ca | ||
|
|
63ad645910 | ||
|
|
5befe56edc | ||
|
|
3f81b24501 | ||
|
|
9fae8c8a00 | ||
|
|
6e5a7e47bf | ||
|
|
4bebda892a | ||
|
|
a6c2500da3 | ||
|
|
0bc1c2d7ae | ||
|
|
824a8f3264 | ||
|
|
145fbe8a1b | ||
|
|
3d9087a5cf | ||
|
|
477c0ec8af | ||
|
|
ead60ced86 | ||
|
|
24722d195e | ||
|
|
229ac9a996 | ||
|
|
1e21624ddd | ||
|
|
d74cec4227 | ||
|
|
175d349e64 | ||
|
|
4e9daad75e | ||
|
|
17fbe16151 | ||
|
|
e5771daaf5 | ||
|
|
7ddea34311 | ||
|
|
6220d2c4fd | ||
|
|
c7c3381856 | ||
|
|
4b1e5f1e42 | ||
|
|
eb8012df48 | ||
|
|
1411dda538 | ||
|
|
7a2181964d | ||
|
|
6c795e84e9 | ||
|
|
23adb8661c | ||
|
|
57d18a266a | ||
|
|
65d99c7b6c | ||
|
|
4ce12b818c | ||
|
|
14cb228dcb | ||
|
|
68e1d9d7d5 | ||
|
|
2c0e0af494 | ||
|
|
ab07ef8c92 | ||
|
|
3c031bccde | ||
|
|
3e48dba688 | ||
|
|
8feef037b7 | ||
|
|
f19c8f619e | ||
|
|
6b234f1186 | ||
|
|
a16d1478eb | ||
|
|
3058ba125c | ||
|
|
bf2f7223aa | ||
|
|
ad68d5e466 | ||
|
|
13f00afa61 | ||
|
|
b7c4e32abe | ||
|
|
c2c97171dd | ||
|
|
406de4e708 | ||
|
|
586db744f7 | ||
|
|
14600d7016 | ||
|
|
e8553fd402 | ||
|
|
1e096c9eec | ||
|
|
8ae58fe1f6 | ||
|
|
a676363cf6 | ||
|
|
381d380797 | ||
|
|
a5cb88e44f | ||
|
|
6f02bcd6c5 | ||
|
|
13ec90f533 | ||
|
|
fd58f76090 | ||
|
|
b8b837ad4d | ||
|
|
aa1e07b564 | ||
|
|
75919217fd | ||
|
|
a9d1889cc8 | ||
|
|
a94a21dc52 | ||
|
|
e37ea9d383 | ||
|
|
1ea7dea2ec | ||
|
|
0cdbdca0cb | ||
|
|
9023977238 | ||
|
|
35912a5a6d | ||
|
|
1bfa07d562 | ||
|
|
c1298a0eab | ||
|
|
b98e09f88a | ||
|
|
2860bc0fdb | ||
|
|
e9ff619013 | ||
|
|
4c8d3b929a | ||
|
|
88d8a6fd9b | ||
|
|
615c1707be | ||
|
|
d87ac0306b | ||
|
|
f501a96712 | ||
|
|
f520388da9 | ||
|
|
05ace29173 | ||
|
|
cb091b7094 | ||
|
|
32c6fc147d | ||
|
|
0561cecd77 | ||
|
|
73c403b796 | ||
|
|
1cc2f8be47 | ||
|
|
110da40511 | ||
|
|
3fee45b583 | ||
|
|
8c4cfbf887 | ||
|
|
8dc6a9d021 | ||
|
|
7ee63f97bd | ||
|
|
1a62467472 | ||
|
|
00de9b4e8d | ||
|
|
1428e23c28 | ||
|
|
6015ecef25 | ||
|
|
75e2910a69 | ||
|
|
322c309bbd | ||
|
|
becf3981b5 | ||
|
|
c2730bf40b | ||
|
|
094ac31d18 | ||
|
|
bfb9370dad | ||
|
|
cd058f0a92 | ||
|
|
1bccec3bca | ||
|
|
a0b752343d | ||
|
|
c9200169fb | ||
|
|
f6c3fb88d1 | ||
|
|
073701cd00 | ||
|
|
d0ac3e7922 | ||
|
|
1252cf423c | ||
|
|
84ce31cabb | ||
|
|
ec8fa4a9e4 | ||
|
|
0d5a039b5d | ||
|
|
68ff51a0c4 | ||
|
|
fa75a8d3b0 | ||
|
|
aa6552502d | ||
|
|
6f09c02537 | ||
|
|
3eb31be585 | ||
|
|
1ca9859367 | ||
|
|
d3494a468e | ||
|
|
8adf3ef9e8 | ||
|
|
d08e0e0c69 | ||
|
|
81fabc38c8 | ||
|
|
375905f41b | ||
|
|
f45f1101b7 | ||
|
|
493ce24f47 | ||
|
|
6d981a4315 | ||
|
|
b219c57f9e | ||
|
|
3836ac6712 | ||
|
|
e55c2b85aa | ||
|
|
7948e11145 | ||
|
|
077bacd847 | ||
|
|
2401235e98 | ||
|
|
b203535862 | ||
|
|
d9cc6e3d37 | ||
|
|
72a190f384 | ||
|
|
bc3b170782 | ||
|
|
1ea3e97d1f | ||
|
|
02c04ca12d | ||
|
|
2b8e2c3859 | ||
|
|
d72176caa7 | ||
|
|
c0280e2819 | ||
|
|
b80104171d | ||
|
|
7bfbc542cc | ||
|
|
c46d8723f7 | ||
|
|
66f6c40b47 | ||
|
|
95a5719287 | ||
|
|
654fcc0922 | ||
|
|
2af6d6ee45 | ||
|
|
e35f602533 | ||
|
|
e0577e6d01 | ||
|
|
416583c0e0 | ||
|
|
f2c3bd47aa | ||
|
|
9adf789426 | ||
|
|
d2bbd218f2 | ||
|
|
4780c4ad61 | ||
|
|
c8ef738577 | ||
|
|
6b2a9191e1 | ||
|
|
c07774f947 | ||
|
|
a89298e29c | ||
|
|
3e5e1008b5 | ||
|
|
bb7d6e72d5 | ||
|
|
244134986b | ||
|
|
064de16cdd | ||
|
|
cf6a37dc80 | ||
|
|
25f3628be8 | ||
|
|
01c0071459 | ||
|
|
7fd2c0bf47 | ||
|
|
89bc33ce4c | ||
|
|
c51c10f236 | ||
|
|
38dbc01055 | ||
|
|
4b6b9ffef9 | ||
|
|
2c1ef3d5d8 | ||
|
|
28ffb61ecc | ||
|
|
35ea2489b5 | ||
|
|
e419815b34 | ||
|
|
bba4150caa | ||
|
|
1277b22ebe | ||
|
|
6d1efe98c7 | ||
|
|
c546ed7062 | ||
|
|
36df97fe10 | ||
|
|
75d1407041 | ||
|
|
22926e6792 | ||
|
|
c1caa414f4 | ||
|
|
bc4c3fca69 | ||
|
|
d6861e81be | ||
|
|
d4674d3a1d | ||
|
|
654614067b | ||
|
|
f23da45064 | ||
|
|
0f46cb356b | ||
|
|
4bc1bbe090 | ||
|
|
bd926b06ac | ||
|
|
d928b118df | ||
|
|
84ef3ce4da | ||
|
|
811d1f3dbe | ||
|
|
4476517642 | ||
|
|
125734950b | ||
|
|
6757b695af | ||
|
|
b149ad3db2 | ||
|
|
69235fee35 | ||
|
|
ac2b52005c | ||
|
|
ed56daaf97 | ||
|
|
fd7106ce5b | ||
|
|
bc4a25452e | ||
|
|
777a93ddc4 | ||
|
|
35e0d2e73d | ||
|
|
94e52710d5 | ||
|
|
8f6d175488 | ||
|
|
6eb0cefc4f | ||
|
|
9a4adb7546 | ||
|
|
9ac155ee5c | ||
|
|
d5c8cb8ab2 | ||
|
|
436856b1c3 | ||
|
|
64096856cc | ||
|
|
e0bd7ba438 | ||
|
|
a1f496be11 | ||
|
|
dc2b2fef49 | ||
|
|
cd4c9aecba | ||
|
|
ffe1d9ced5 | ||
|
|
ba23ea0a11 | ||
|
|
0d48b12fc0 | ||
|
|
340be0df61 | ||
|
|
0fc9439050 | ||
|
|
0e7def36bb | ||
|
|
1ef5178a6c | ||
|
|
ac534fd60c | ||
|
|
a056fbf5b2 | ||
|
|
5a97938d81 | ||
|
|
34a1353630 | ||
|
|
85b64ef0e7 | ||
|
|
467d442c22 | ||
|
|
b71df6e81c | ||
|
|
802592aa4a | ||
|
|
95fe7c218e | ||
|
|
7516fece64 | ||
|
|
fb77d2171c | ||
|
|
4db47e6ca4 | ||
|
|
46c31acf01 | ||
|
|
bad990bd1a | ||
|
|
5a2dd478fb | ||
|
|
75596d1189 | ||
|
|
c74cf61565 | ||
|
|
09463c8db2 | ||
|
|
e9276e43ac | ||
|
|
a00ab59882 | ||
|
|
9a122a39d6 | ||
|
|
bbef7a40e9 | ||
|
|
0b5d6e55ed | ||
|
|
5e888faa31 | ||
|
|
4dacac85ec | ||
|
|
bfb25a6ee8 | ||
|
|
7cc7d81ad9 | ||
|
|
2f7f43109d | ||
|
|
ca3f112980 | ||
|
|
940ac58558 | ||
|
|
919fba82f6 | ||
|
|
c2158b1138 | ||
|
|
d0664b2695 | ||
|
|
9ffad71b0d | ||
|
|
993aff4e31 | ||
|
|
d373b16699 | ||
|
|
1ad2394ff4 | ||
|
|
e9b5020cc1 | ||
|
|
046df357d9 | ||
|
|
df02e559cb | ||
|
|
cbd471a3b2 | ||
|
|
8365e0e4c8 | ||
|
|
63b7c3d50e | ||
|
|
4abde39635 | ||
|
|
b4cde82b74 | ||
|
|
a771ce89ea | ||
|
|
de6f3a91f9 | ||
|
|
cb5ab444d5 | ||
|
|
7c7cc5768a | ||
|
|
2b2b706438 | ||
|
|
776aa33cb8 | ||
|
|
c8328e944c | ||
|
|
d83809c4e9 | ||
|
|
ae4fcde836 | ||
|
|
ab57813844 | ||
|
|
f0fe6d8eff | ||
|
|
c25a8710f4 | ||
|
|
c7d5dea45d | ||
|
|
edd6de2e50 | ||
|
|
09b425e63e | ||
|
|
3810f026ce | ||
|
|
c6e7e8dd07 | ||
|
|
4f40077a5b | ||
|
|
3e3fedd4f5 | ||
|
|
544fc08aab | ||
|
|
22c5b35043 | ||
|
|
c285b41223 | ||
|
|
b11c60a6f8 | ||
|
|
5051f21522 | ||
|
|
5121f708f7 | ||
|
|
ebf6b8b937 | ||
|
|
aec621eb77 | ||
|
|
66491416c8 | ||
|
|
c6aedd60d3 | ||
|
|
b2baf6e74f | ||
|
|
41dbb2f9c1 | ||
|
|
59e2ba0e17 | ||
|
|
0391457ff5 | ||
|
|
11d8befda2 | ||
|
|
1b54f8946d | ||
|
|
9cf17863fa | ||
|
|
9197cb613f | ||
|
|
9753353574 | ||
|
|
5c93ffc613 | ||
|
|
cdb3d56c38 | ||
|
|
7165c78c3c | ||
|
|
fdb97e3d5d | ||
|
|
70e9032937 | ||
|
|
8015fa3456 | ||
|
|
dbfcd57ecd | ||
|
|
e8504a1245 | ||
|
|
643976f10e | ||
|
|
ed51f8b0ef | ||
|
|
b81fd035f6 | ||
|
|
c78bf1f4d5 | ||
|
|
1093482f1b | ||
|
|
d9aae29254 | ||
|
|
bb63d927e7 | ||
|
|
f882a5a054 | ||
|
|
b200298e2c | ||
|
|
c5aa9e00f5 | ||
|
|
7b5711f4e4 | ||
|
|
26fc4f6a53 | ||
|
|
7534497535 | ||
|
|
1a0afe89b9 | ||
|
|
01cd01345a | ||
|
|
6e2661c367 | ||
|
|
970ba215ad | ||
|
|
e180f1f4d9 | ||
|
|
c8a5c85dd4 | ||
|
|
e3c644bb21 | ||
|
|
52777c1e2a | ||
|
|
59fbae2aee | ||
|
|
57fb76966b | ||
|
|
4a4457b5d3 | ||
|
|
99b5803008 | ||
|
|
d6e65c12d9 | ||
|
|
a2b8c69593 | ||
|
|
ec6a274b1c | ||
|
|
b95e38d6b0 | ||
|
|
436006b2c1 | ||
|
|
d2f6b5bdb2 | ||
|
|
c5c2e7e4a1 | ||
|
|
8a49ac4816 | ||
|
|
da2d2c2adb | ||
|
|
877bedc208 | ||
|
|
3d77a6b859 | ||
|
|
653a929d06 | ||
|
|
3850d5a89a | ||
|
|
1d9d946f88 | ||
|
|
2dbfbc2845 | ||
|
|
fca08b462a | ||
|
|
0223d7b34a | ||
|
|
ae6d7a4844 | ||
|
|
207fe83431 | ||
|
|
ffb2731764 | ||
|
|
45c82f5a1a | ||
|
|
90e693f67b | ||
|
|
8e3453382d | ||
|
|
e1fd521e38 | ||
|
|
cab4b05331 | ||
|
|
c9025c7143 | ||
|
|
000eaf8ea6 | ||
|
|
7d4d182a40 | ||
|
|
e22fbd6a15 | ||
|
|
28664a1551 | ||
|
|
09aaa0ac2d | ||
|
|
cf4b2ba96f | ||
|
|
cd239fb930 | ||
|
|
2c215d004d | ||
|
|
69f4bc9245 | ||
|
|
49abea0294 | ||
|
|
d99355d8bb | ||
|
|
f35ef596ec | ||
|
|
f67bf85a40 | ||
|
|
3996c72e66 | ||
|
|
f84eb88bcf | ||
|
|
174be54e9b | ||
|
|
5f18b60e56 | ||
|
|
279ad811ee | ||
|
|
cf4ab6fa0d | ||
|
|
afc7053354 | ||
|
|
2370bd873e | ||
|
|
ebc66a896e | ||
|
|
3efb12b93f | ||
|
|
ba74d2f179 | ||
|
|
451cef5ec9 | ||
|
|
745fd328bf | ||
|
|
f388f54538 | ||
|
|
ac94f181a9 | ||
|
|
51822ddcb0 | ||
|
|
78ac2fe031 | ||
|
|
2dd4d573f4 | ||
|
|
09a8ac4573 | ||
|
|
3c0552ab73 | ||
|
|
79e8c7395a | ||
|
|
26381847ce | ||
|
|
acbb2f4020 | ||
|
|
c8c02c68cf | ||
|
|
79c250d7ba | ||
|
|
5fb6d42a2b | ||
|
|
1e9e9b8f9b | ||
|
|
61b38618ad | ||
|
|
dd8bfbc5d6 | ||
|
|
10bde1cf79 | ||
|
|
eccd2b521d | ||
|
|
18529ffaef | ||
|
|
f73abda0f3 | ||
|
|
fd947242ac | ||
|
|
3888ca4471 | ||
|
|
c371b396af | ||
|
|
2fd6632111 | ||
|
|
19c0faaca0 | ||
|
|
64f0082d8a | ||
|
|
a56e67be26 | ||
|
|
b00e8de8b8 | ||
|
|
169c2c7558 | ||
|
|
50cfcf7c46 | ||
|
|
c9065c46ee | ||
|
|
6a44a9dc04 | ||
|
|
e219f5c692 | ||
|
|
7f65b2cd9c | ||
|
|
748b5b5a08 | ||
|
|
87adc23aa8 | ||
|
|
2a35eafb8b | ||
|
|
b44054594b | ||
|
|
31b8b27666 | ||
|
|
e504685879 | ||
|
|
4c49db6b95 | ||
|
|
66c2b94e8d | ||
|
|
03dea0694a | ||
|
|
61cd864a07 | ||
|
|
a680ab42c8 | ||
|
|
41f205b602 | ||
|
|
9ce321f7d3 | ||
|
|
ff0bce1fae | ||
|
|
13c5bfd89f | ||
|
|
0495d691f5 | ||
|
|
0079a98135 | ||
|
|
d73834a2b5 | ||
|
|
5603363872 | ||
|
|
2fb8daa671 | ||
|
|
d4e3af2995 | ||
|
|
3eb5e01c89 | ||
|
|
e335bffa6b | ||
|
|
933a303486 | ||
|
|
a5131165ab | ||
|
|
8f0800243e | ||
|
|
a35f2f4052 | ||
|
|
0cf4223adc | ||
|
|
6fb9338bc2 | ||
|
|
2754bb3c41 | ||
|
|
ca86f6e899 | ||
|
|
70f6d20345 | ||
|
|
4f12178ce3 | ||
|
|
1b4ce382bb | ||
|
|
2fa0b63ebe | ||
|
|
e7c61ff4f4 | ||
|
|
2e6e2085f2 | ||
|
|
6c362b13e9 | ||
|
|
fff8d72fa5 | ||
|
|
8d725ff092 | ||
|
|
896263dd5f | ||
|
|
743133b857 | ||
|
|
8ec353b38c | ||
|
|
a498d22e95 | ||
|
|
acab3dac61 | ||
|
|
040c5d1998 | ||
|
|
7de4faa420 | ||
|
|
debcd84146 | ||
|
|
5e1a7df64b | ||
|
|
e715f1b75d | ||
|
|
a34bf866ef | ||
|
|
0e6963e04d | ||
|
|
9d04e5fe1a | ||
|
|
b8291ce83c | ||
|
|
5a659ff5d6 | ||
|
|
c1c379d0f9 | ||
|
|
4fb173d0a5 | ||
|
|
91bec2dd52 | ||
|
|
465f581a94 | ||
|
|
ac69a861ee | ||
|
|
cfa254e96f | ||
|
|
2715d7b111 | ||
|
|
6e4a3aeea0 | ||
|
|
5ad2be7757 | ||
|
|
d8ac55d6a3 | ||
|
|
1d900be948 | ||
|
|
35ba9268b6 | ||
|
|
bdf6cd6fd4 | ||
|
|
7737015bdc | ||
|
|
eb15ebc9d5 | ||
|
|
f31f32b317 | ||
|
|
e12d021779 | ||
|
|
3a999f72ce | ||
|
|
841ef63f20 | ||
|
|
3395b8b18b | ||
|
|
ce062a3533 | ||
|
|
4dc1189fa1 |
13
.gitignore
vendored
13
.gitignore
vendored
@@ -1 +1,12 @@
|
||||
|
||||
*.DS_Store
|
||||
*.log
|
||||
*.zip
|
||||
.idea
|
||||
.sass-cache/
|
||||
/nbproject/
|
||||
/nbproject/private/
|
||||
/node_modules/
|
||||
/bower_components/
|
||||
ad.js
|
||||
TODO
|
||||
test.html
|
||||
|
||||
3
.npmignore
Normal file
3
.npmignore
Normal file
@@ -0,0 +1,3 @@
|
||||
bower_components/
|
||||
documentation/
|
||||
composer.json
|
||||
281
Gruntfile.js
Normal file
281
Gruntfile.js
Normal file
@@ -0,0 +1,281 @@
|
||||
// AdminLTE Gruntfile
|
||||
module.exports = function (grunt) { // jshint ignore:line
|
||||
|
||||
'use strict'
|
||||
|
||||
grunt.initConfig({
|
||||
pkg : grunt.file.readJSON('package.json'),
|
||||
watch : {
|
||||
less : {
|
||||
// Compiles less files upon saving
|
||||
files: ['build/less/*.less'],
|
||||
tasks: ['less:development', 'less:production']
|
||||
},
|
||||
js : {
|
||||
// Compile js files upon saving
|
||||
files: ['build/js/*.js', 'dist/js/app.js'],
|
||||
tasks: ['js']
|
||||
},
|
||||
skins: {
|
||||
// Compile any skin less files upon saving
|
||||
files: ['build/less/skins/*.less'],
|
||||
tasks: ['less:skins', 'less:minifiedSkins']
|
||||
}
|
||||
},
|
||||
notify: {
|
||||
less : {
|
||||
title : 'LESS Compiler',
|
||||
message: 'LESS finished running'
|
||||
},
|
||||
uglify: {
|
||||
options: {
|
||||
title : 'JS Compiler',
|
||||
message: 'JS bundler finished running'
|
||||
}
|
||||
}
|
||||
},
|
||||
// 'less'-task configuration
|
||||
// This task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css
|
||||
less : {
|
||||
// Development not compressed
|
||||
development : {
|
||||
files: {
|
||||
// compilation.css : source.less
|
||||
'dist/css/AdminLTE.css' : 'build/less/AdminLTE.less',
|
||||
// AdminLTE without plugins
|
||||
'dist/css/alt/AdminLTE-without-plugins.css' : 'build/less/AdminLTE-without-plugins.less',
|
||||
// Separate plugins
|
||||
'dist/css/alt/AdminLTE-select2.css' : 'build/less/select2.less',
|
||||
'dist/css/alt/AdminLTE-fullcalendar.css' : 'build/less/fullcalendar.less',
|
||||
'dist/css/alt/AdminLTE-bootstrap-social.css': 'build/less/bootstrap-social.less'
|
||||
}
|
||||
},
|
||||
// Production compressed version
|
||||
production : {
|
||||
options: {
|
||||
compress: true
|
||||
},
|
||||
files : {
|
||||
// compilation.css : source.less
|
||||
'dist/css/AdminLTE.min.css' : 'build/less/AdminLTE.less',
|
||||
// AdminLTE without plugins
|
||||
'dist/css/alt/AdminLTE-without-plugins.min.css' : 'build/less/AdminLTE-without-plugins.less',
|
||||
// Separate plugins
|
||||
'dist/css/alt/AdminLTE-select2.min.css' : 'build/less/select2.less',
|
||||
'dist/css/alt/AdminLTE-fullcalendar.min.css' : 'build/less/fullcalendar.less',
|
||||
'dist/css/alt/AdminLTE-bootstrap-social.min.css': 'build/less/bootstrap-social.less'
|
||||
}
|
||||
},
|
||||
// Non minified skin files
|
||||
skins : {
|
||||
files: {
|
||||
'dist/css/skins/skin-blue.css' : 'build/less/skins/skin-blue.less',
|
||||
'dist/css/skins/skin-black.css' : 'build/less/skins/skin-black.less',
|
||||
'dist/css/skins/skin-yellow.css' : 'build/less/skins/skin-yellow.less',
|
||||
'dist/css/skins/skin-green.css' : 'build/less/skins/skin-green.less',
|
||||
'dist/css/skins/skin-red.css' : 'build/less/skins/skin-red.less',
|
||||
'dist/css/skins/skin-purple.css' : 'build/less/skins/skin-purple.less',
|
||||
'dist/css/skins/skin-blue-light.css' : 'build/less/skins/skin-blue-light.less',
|
||||
'dist/css/skins/skin-black-light.css' : 'build/less/skins/skin-black-light.less',
|
||||
'dist/css/skins/skin-yellow-light.css': 'build/less/skins/skin-yellow-light.less',
|
||||
'dist/css/skins/skin-green-light.css' : 'build/less/skins/skin-green-light.less',
|
||||
'dist/css/skins/skin-red-light.css' : 'build/less/skins/skin-red-light.less',
|
||||
'dist/css/skins/skin-purple-light.css': 'build/less/skins/skin-purple-light.less',
|
||||
'dist/css/skins/_all-skins.css' : 'build/less/skins/_all-skins.less'
|
||||
}
|
||||
},
|
||||
// Skins minified
|
||||
minifiedSkins: {
|
||||
options: {
|
||||
compress: true
|
||||
},
|
||||
files : {
|
||||
'dist/css/skins/skin-blue.min.css' : 'build/less/skins/skin-blue.less',
|
||||
'dist/css/skins/skin-black.min.css' : 'build/less/skins/skin-black.less',
|
||||
'dist/css/skins/skin-yellow.min.css' : 'build/less/skins/skin-yellow.less',
|
||||
'dist/css/skins/skin-green.min.css' : 'build/less/skins/skin-green.less',
|
||||
'dist/css/skins/skin-red.min.css' : 'build/less/skins/skin-red.less',
|
||||
'dist/css/skins/skin-purple.min.css' : 'build/less/skins/skin-purple.less',
|
||||
'dist/css/skins/skin-blue-light.min.css' : 'build/less/skins/skin-blue-light.less',
|
||||
'dist/css/skins/skin-black-light.min.css' : 'build/less/skins/skin-black-light.less',
|
||||
'dist/css/skins/skin-yellow-light.min.css': 'build/less/skins/skin-yellow-light.less',
|
||||
'dist/css/skins/skin-green-light.min.css' : 'build/less/skins/skin-green-light.less',
|
||||
'dist/css/skins/skin-red-light.min.css' : 'build/less/skins/skin-red-light.less',
|
||||
'dist/css/skins/skin-purple-light.min.css': 'build/less/skins/skin-purple-light.less',
|
||||
'dist/css/skins/_all-skins.min.css' : 'build/less/skins/_all-skins.less'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Uglify task info. Compress the js files.
|
||||
uglify: {
|
||||
options : {
|
||||
mangle : true,
|
||||
preserveComments: 'some'
|
||||
},
|
||||
production: {
|
||||
files: {
|
||||
'dist/js/app.min.js' : ['dist/js/app.js'],
|
||||
'dist/js/adminlte.min.js': ['dist/js/adminlte.js']
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Concatenate JS Files
|
||||
concat: {
|
||||
options: {
|
||||
separator: '\n\n',
|
||||
banner : '/*! AdminLTE app.js\n'
|
||||
+ '* ================\n'
|
||||
+ '* Main JS application file for AdminLTE v2. This file\n'
|
||||
+ '* should be included in all pages. It controls some layout\n'
|
||||
+ '* options and implements exclusive AdminLTE plugins.\n'
|
||||
+ '*\n'
|
||||
+ '* @Author Almsaeed Studio\n'
|
||||
+ '* @Support <https://www.almsaeedstudio.com>\n'
|
||||
+ '* @Email <abdullah@almsaeedstudio.com>\n'
|
||||
+ '* @version <%= pkg.version %>\n'
|
||||
+ '* @repository <%= pkg.repository.url %>\n'
|
||||
+ '* @license MIT <http://opensource.org/licenses/MIT>\n'
|
||||
+ '*/\n\n'
|
||||
+ '// Make sure jQuery has been loaded\n'
|
||||
+ 'if (typeof jQuery === \'undefined\') {\n'
|
||||
+ 'throw new Error(\'AdminLTE requires jQuery\')\n'
|
||||
+ '}\n\n'
|
||||
},
|
||||
dist : {
|
||||
src : [
|
||||
'build/js/Layout.js',
|
||||
'build/js/PushMenu.js',
|
||||
'build/js/Tree.js',
|
||||
'build/js/ControlSidebar.js',
|
||||
'build/js/BoxWidget.js',
|
||||
'build/js/TodoList.js',
|
||||
'build/js/DirectChat.js'
|
||||
],
|
||||
dest: 'dist/js/adminlte.js'
|
||||
}
|
||||
},
|
||||
|
||||
// Build the documentation files
|
||||
includes: {
|
||||
build: {
|
||||
src : ['*.html'], // Source files
|
||||
dest : 'documentation/', // Destination directory
|
||||
flatten: true,
|
||||
cwd : 'documentation/build',
|
||||
options: {
|
||||
silent : true,
|
||||
includePath: 'documentation/build/include'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Optimize images
|
||||
image: {
|
||||
dynamic: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd : 'build/img/',
|
||||
src : ['**/*.{png,jpg,gif,svg,jpeg}'],
|
||||
dest : 'dist/img/'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
// Validate JS code
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: 'build/js/.jshintrc'
|
||||
},
|
||||
grunt : {
|
||||
options: {
|
||||
jshintrc: 'build/grunt/.jshintrc'
|
||||
},
|
||||
src : 'Gruntfile.js'
|
||||
},
|
||||
core : {
|
||||
src: 'build/js/*.js'
|
||||
},
|
||||
demo : {
|
||||
src: 'dist/js/demo.js'
|
||||
},
|
||||
pages : {
|
||||
src: 'dist/js/pages/*.js'
|
||||
}
|
||||
},
|
||||
|
||||
jscs: {
|
||||
options: {
|
||||
config: 'build/js/.jscsrc'
|
||||
},
|
||||
core : {
|
||||
src: '<%= jshint.core.src %>'
|
||||
},
|
||||
pages : {
|
||||
src: '<%= jshint.pages.src %>'
|
||||
}
|
||||
},
|
||||
|
||||
// Validate CSS files
|
||||
csslint: {
|
||||
options: {
|
||||
csslintrc: 'build/less/.csslintrc'
|
||||
},
|
||||
dist : [
|
||||
'dist/css/AdminLTE.css'
|
||||
]
|
||||
},
|
||||
|
||||
// Validate Bootstrap HTML
|
||||
bootlint: {
|
||||
options: {
|
||||
relaxerror: ['W005']
|
||||
},
|
||||
files : ['pages/**/*.html', '*.html']
|
||||
},
|
||||
|
||||
// Delete images in build directory
|
||||
// After compressing the images in the build/img dir, there is no need
|
||||
// for them
|
||||
clean: {
|
||||
build: ['build/img/*']
|
||||
}
|
||||
})
|
||||
|
||||
// Load all grunt tasks
|
||||
|
||||
// LESS Compiler
|
||||
grunt.loadNpmTasks('grunt-contrib-less')
|
||||
// Watch File Changes
|
||||
grunt.loadNpmTasks('grunt-contrib-watch')
|
||||
// Compress JS Files
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify')
|
||||
// Include Files Within HTML
|
||||
grunt.loadNpmTasks('grunt-includes')
|
||||
// Optimize images
|
||||
grunt.loadNpmTasks('grunt-image')
|
||||
// Validate JS code
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint')
|
||||
grunt.loadNpmTasks('grunt-jscs')
|
||||
// Delete not needed files
|
||||
grunt.loadNpmTasks('grunt-contrib-clean')
|
||||
// Lint CSS
|
||||
grunt.loadNpmTasks('grunt-contrib-csslint')
|
||||
// Lint Bootstrap
|
||||
grunt.loadNpmTasks('grunt-bootlint')
|
||||
// Concatenate JS files
|
||||
grunt.loadNpmTasks('grunt-contrib-concat')
|
||||
// Notify
|
||||
grunt.loadNpmTasks('grunt-notify')
|
||||
|
||||
// Linting task
|
||||
grunt.registerTask('lint', ['jshint', 'csslint', 'bootlint'])
|
||||
// JS task
|
||||
grunt.registerTask('js', ['concat', 'uglify'])
|
||||
|
||||
// The default task (running 'grunt' in console) is 'watch'
|
||||
grunt.registerTask('default', ['watch'])
|
||||
}
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 almasaeed2010
|
||||
Copyright (c) 2014-2017 Abdullah Almsaeed
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
||||
126
README.md
126
README.md
@@ -1,101 +1,57 @@
|
||||
[](https://flattr.com/submit/auto?user_id=almasaeed2010&url=http://almsaeedstudio.com&title=AdminLTE&language=&tags=github&category=software) [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate")
|
||||
------------------------
|
||||
Introduction
|
||||
============
|
||||
|
||||
**AdminLTE** -- is a fully responsive admin template. Based on **Bootstrap 3** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself.
|
||||

|
||||
[](https://www.npmjs.com/package/admin-lte)
|
||||
[](https://packagist.org/packages/almasaeed2010/adminlte)
|
||||
[](https://cdnjs.com/libraries/admin-lte)
|
||||
|
||||
**Live Preview: http://almsaeedstudio.com/preview/**
|
||||
**AdminLTE** -- is a fully responsive admin template. Based on **[Bootstrap 3](https://github.com/twbs/bootstrap)** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself.
|
||||
|
||||
Note: If the javascript in the preview does not work properly (specially IE users), please visit http://almsaeedstudio.com/AdminLTE (this could be because of the use of an iframe!)
|
||||
**Download & Preview on [AdminLTE.IO](https://adminlte.io)**
|
||||
|
||||
Want More?
|
||||
-----------
|
||||
**Almsaeed studio just opened a new premium templates page. Hand picked to insure the best quality and the most affordable prices. Visit http://almsaeedstudio.com/premium for more information.**
|
||||
### Looking for Premium Templates?
|
||||
**AdminLTE.IO just opened a new premium templates website. Hand picked to ensure the best quality and the most affordable prices. Visit https://themequarry.com for more information.**
|
||||
|
||||
## Documentation & Installation Guide
|
||||
Visit the [online documentation](https://adminlte.io/docs) for the most
|
||||
updated guide.
|
||||
|
||||

|
||||

|
||||
|
||||
**AdminLTE** has been carefully coded with clear comments in all of its JS, LESS and HTML files. LESS has been used to increase code customizability.
|
||||
### Contribution
|
||||
Contribution are always **welcome and recommended**! Here is how:
|
||||
|
||||
Announcements:
|
||||
--------------
|
||||
- Check the change log at the bottom
|
||||
- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
|
||||
- Clone to your machine ```git clone https://github.com/YOUR_USERNAME/AdminLTE.git```
|
||||
- Make your changes
|
||||
- Create a pull request
|
||||
|
||||
Special Features:
|
||||
-----------------
|
||||
- **Fully responsive**
|
||||
- **Enhanced for printing**
|
||||
- **Sortable dashboard widgets**
|
||||
- **18 plugins and 3 custom plugins**
|
||||
- **Light weight and fast**
|
||||
- **Compatible with most major browsers**
|
||||
- **Full support for Glyphicons, Fontawesome and Ion icons**
|
||||
#### Contribution Requirements:
|
||||
|
||||
Featured Pages:
|
||||
----------------
|
||||
- Dashboard
|
||||
- Mailbox
|
||||
- Calendar
|
||||
- Invoice
|
||||
- Lockscreen
|
||||
- Login
|
||||
- Register
|
||||
- 404 Error
|
||||
- 500 Error
|
||||
- Blank page
|
||||
- When you contribute, you agree to give a non-exclusive license to AdminLTE.IO to use that contribution in any context as we (AdminLTE.IO) see appropriate.
|
||||
- If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license.
|
||||
- Contributions are only accepted through Github pull requests.
|
||||
- Finally, contributed code must work in all supported browsers (see above for browser support).
|
||||
|
||||
Featured Plugins:
|
||||
-----------------
|
||||
- Boostrap Slider
|
||||
- Ion slider
|
||||
- Bootstrap WYSIHTML5
|
||||
- CKEditor
|
||||
- Bootstrap Colorpicker
|
||||
- Bootstrap Date range Picker
|
||||
- Bootstrap Time Picker
|
||||
- Data Tables
|
||||
- Flot
|
||||
- Morris.js
|
||||
- Sparkilne
|
||||
- Full Calendar
|
||||
- iCheck
|
||||
- jQuery input mask
|
||||
- jQuery Knob
|
||||
- jVector Map
|
||||
- Slim Scroll
|
||||
- Pace
|
||||
### License
|
||||
AdminLTE is an open source project by [AdminLTE.IO](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.IO
|
||||
reserves the right to change the license of future releases. Wondering what you can or can't do? View the [license guide](https://adminlte.io/docs/license).
|
||||
|
||||
Browser Support:
|
||||
----------------
|
||||
- IE 9+
|
||||
- Firefox 5+
|
||||
- Chrome 14+
|
||||
- Safari 5+
|
||||
- Opera 11+
|
||||
### Legacy Releases
|
||||
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/almasaeed2010/AdminLTE/releases) section above.
|
||||
|
||||
Change log:
|
||||
-----------
|
||||
ver 1.2:
|
||||
- Fixed the sidebar scroll issue when using the fixed layout.
|
||||
- Added [Bootstrap Social Buttons](http://lipis.github.io/bootstrap-social/ "Bootstrap Social") plugin.
|
||||
- Fixed RequireJS bug. Thanks to [StaticSphere](https://github.com/StaticSphere "github user").
|
||||
### Change log
|
||||
**For the most recent change log, visit the [releases page](https://github.com/almasaeed2010/AdminLTE/releases) or the [changelog file](https://github.com/almasaeed2010/AdminLTE/blob/master/changelog.md).** We will add a detailed release notes to each new release.
|
||||
|
||||
ver 1.1:
|
||||
- Added new skin. class: .skin-black
|
||||
- Added [pace](http://github.hubspot.com/pace/docs/welcome/ "pace") plugin.
|
||||
### Image Credits
|
||||
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
|
||||
- [Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
|
||||
- [Pickaface](http://pickaface.net/)
|
||||
- [Unsplash](https://unsplash.com/)
|
||||
- [Uifaces](http://uifaces.com/)
|
||||
|
||||
To Do List:
|
||||
-----------
|
||||
- More features
|
||||
- Ajax version
|
||||
- More skins
|
||||
- Documentation
|
||||
### Donations
|
||||
Donations are **greatly appreciated!**
|
||||
|
||||
Image Credits:
|
||||
--------------
|
||||
[pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd "")
|
||||
|
||||
[graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/ "")
|
||||
|
||||
[ajaxload](http://www.ajaxload.info/ "")
|
||||
|
||||
[pickaface](http://pickaface.net/ "")
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate")
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
<?php
|
||||
sleep(1.2);
|
||||
?>
|
||||
<div class="pad">This data has been loaded via ajax using the custom boxResfresh plugin.</div>
|
||||
<small id="dummy-time" class="pad pull-right text-muted"></small>
|
||||
<small class="pull-right pad text-muted">Last update:</small>
|
||||
<div class="row">
|
||||
<div class="col-sm-7">
|
||||
<!-- bar chart -->
|
||||
<div class="chart" id="bar-chart" style="height: 250px;"></div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<div class="pad">
|
||||
<!-- Progress bars -->
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">Bandwidth</span>
|
||||
<small class="pull-right">10/200 GB</small>
|
||||
</div>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-green" style="width: 70%;"></div>
|
||||
</div>
|
||||
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">Transfered</span>
|
||||
<small class="pull-right">10 GB</small>
|
||||
</div>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-red" style="width: 70%;"></div>
|
||||
</div>
|
||||
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">Activity</span>
|
||||
<small class="pull-right">73%</small>
|
||||
</div>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-light-blue" style="width: 70%;"></div>
|
||||
</div>
|
||||
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">FTP</span>
|
||||
<small class="pull-right">30 GB</small>
|
||||
</div>
|
||||
<div class="progress xs">
|
||||
<div class="progress-bar progress-bar-aqua" style="width: 70%;"></div>
|
||||
</div>
|
||||
<!-- Buttons -->
|
||||
<p>
|
||||
<button class="btn btn-default btn-sm"><i class="fa fa-cloud-download"></i> Generate PDF</button>
|
||||
</p>
|
||||
</div><!-- /.pad -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row - inside box -->
|
||||
|
||||
<script type="text/javascript">
|
||||
var now = new Date();
|
||||
var strDateTime = [[AddZero(now.getDate()), AddZero(now.getMonth() + 1), now.getFullYear()].join("/"), [AddZero(now.getHours()), AddZero(now.getMinutes())].join(":"), now.getHours() >= 12 ? "PM" : "AM"].join(" ");
|
||||
|
||||
//Pad given value to the left with "0"
|
||||
function AddZero(num) {
|
||||
return (num >= 0 && num < 10) ? "0" + num : num + "";
|
||||
}
|
||||
var x = document.getElementById("dummy-time");
|
||||
x.innerHTML = strDateTime;
|
||||
</script>
|
||||
61
bower.json
Normal file
61
bower.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "admin-lte",
|
||||
"homepage": "https://adminlte.io",
|
||||
"authors": [
|
||||
"Abdullah Almsaeed <abdullah@almsaeedstudio.com>"
|
||||
],
|
||||
"description": "Admin dashboard and control panel template",
|
||||
"main": [
|
||||
"index2.html",
|
||||
"dist/css/AdminLTE.css",
|
||||
"dist/js/app.js",
|
||||
"build/less/AdminLTE.less"
|
||||
],
|
||||
"keywords": [
|
||||
"css",
|
||||
"js",
|
||||
"html",
|
||||
"template",
|
||||
"admin",
|
||||
"bootstrap",
|
||||
"theme",
|
||||
"backend",
|
||||
"responsive"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"composer.json",
|
||||
"documentation"
|
||||
],
|
||||
"dependencies": {
|
||||
"bootstrap-slider": "*",
|
||||
"chart.js": "^1.0.*",
|
||||
"ckeditor": "^4.7.0",
|
||||
"bootstrap-colorpicker": "^2.5.1",
|
||||
"bootstrap": "^3.3.7",
|
||||
"jquery": "^3.2.1",
|
||||
"datatables.net": "^1.10.15",
|
||||
"datatables.net-bs": "^2.1.1",
|
||||
"bootstrap-datepicker": "^1.7.0",
|
||||
"bootstrap-daterangepicker": "^2.1.25",
|
||||
"moment": "^2.18.1",
|
||||
"fastclick": "^1.0.6",
|
||||
"Flot": "flot#^0.8.3",
|
||||
"fullcalendar": "^3.4.0",
|
||||
"inputmask": "jquery.inputmask#^3.3.7",
|
||||
"ion.rangeSlider": "ionrangeslider#^2.2.0",
|
||||
"jvectormap": "^2.0.4",
|
||||
"jquery-knob": "^1.2.13",
|
||||
"morris.js": "^0.5.1",
|
||||
"PACE": "pace#^1.0.2",
|
||||
"select2": "^4.0.3",
|
||||
"jquery-slimscroll": "slimscroll#^1.3.8",
|
||||
"bootstrap-timepicker": "^0.5.2",
|
||||
"jquery-sparkline": "^2.1.3",
|
||||
"font-awesome": "^4.7.0",
|
||||
"Ionicons": "ionicons#^2.0.1"
|
||||
}
|
||||
}
|
||||
7
build/grunt/.jshintrc
Normal file
7
build/grunt/.jshintrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends" : "../js/.jshintrc",
|
||||
"asi" : false,
|
||||
"browser" : false,
|
||||
"es3" : false,
|
||||
"node" : true
|
||||
}
|
||||
42
build/js/.jscsrc
Normal file
42
build/js/.jscsrc
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"disallowEmptyBlocks": true,
|
||||
"disallowKeywords": ["with"],
|
||||
"disallowMixedSpacesAndTabs": true,
|
||||
"disallowMultipleLineStrings": true,
|
||||
"disallowMultipleVarDecl": true,
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"disallowSpaceBeforeBinaryOperators": [","],
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
||||
"disallowSpacesInsideArrayBrackets": true,
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
"disallowTrailingComma": true,
|
||||
"disallowTrailingWhitespace": true,
|
||||
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
||||
"requireCapitalizedConstructors": true,
|
||||
"requireCommaBeforeLineBreak": true,
|
||||
"requireDollarBeforejQueryAssignment": true,
|
||||
"requireDotNotation": true,
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
"requirePaddingNewLinesAfterUseStrict": true,
|
||||
"requirePaddingNewLinesBeforeExport": true,
|
||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
|
||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
|
||||
"requireSpaceAfterLineComment": true,
|
||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
|
||||
"requireSpaceBetweenArguments": true,
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true },
|
||||
"requireSpacesInConditionalExpression": true,
|
||||
"requireSpacesInForStatement": true,
|
||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInsideObjectBrackets": "allButNested",
|
||||
"validateAlignedFunctionParameters": true,
|
||||
"validateIndentation": 2,
|
||||
"validateLineBreaks": "LF",
|
||||
"validateNewlineAfterArrayElements": true,
|
||||
"validateQuoteMarks": "'",
|
||||
"maxErrors": "3000"
|
||||
}
|
||||
17
build/js/.jshintrc
Normal file
17
build/js/.jshintrc
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"asi" : true,
|
||||
"browser" : true,
|
||||
"eqeqeq" : false,
|
||||
"eqnull" : true,
|
||||
"es3" : true,
|
||||
"expr" : true,
|
||||
"jquery" : true,
|
||||
"latedef" : true,
|
||||
"laxbreak" : true,
|
||||
"nonbsp" : true,
|
||||
"strict" : true,
|
||||
"undef" : true,
|
||||
"unused" : true,
|
||||
// External variabls and plugins
|
||||
"predef": [ "AdminLTEOptions", "FastClick", "moment", "Morris", "Chart" ]
|
||||
}
|
||||
119
build/js/BoxRefresh.js
Normal file
119
build/js/BoxRefresh.js
Normal file
@@ -0,0 +1,119 @@
|
||||
/* BoxRefresh()
|
||||
* =========
|
||||
* Adds AJAX content control to a box.
|
||||
*
|
||||
* @Usage: $('#my-box').boxRefresh(options)
|
||||
* or add [data-widget="box-refresh"] to the box element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.boxrefresh'
|
||||
|
||||
var Default = {
|
||||
source : '',
|
||||
params : {},
|
||||
trigger : '.refresh-btn',
|
||||
content : '.box-body',
|
||||
loadInContent : true,
|
||||
responseType : '',
|
||||
overlayTemplate: '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>',
|
||||
onLoadStart : function () {
|
||||
},
|
||||
onLoadDone : function (response) {
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="box-refresh"]'
|
||||
}
|
||||
|
||||
// BoxRefresh Class Definition
|
||||
// =========================
|
||||
var BoxRefresh = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
this.$overlay = $(options.overlay)
|
||||
|
||||
if (options.source === '') {
|
||||
throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.')
|
||||
}
|
||||
|
||||
this._setUpListeners()
|
||||
this.load()
|
||||
}
|
||||
|
||||
BoxRefresh.prototype.load = function () {
|
||||
this._addOverlay()
|
||||
this.options.onLoadStart.call($(this))
|
||||
|
||||
$.get(this.options.source, this.options.params, function (response) {
|
||||
if (this.options.loadInContent) {
|
||||
$(this.options.content).html(response)
|
||||
}
|
||||
this.options.onLoadDone.call($(this), response)
|
||||
this._removeOverlay()
|
||||
}.bind(this), this.options.responseType !== '' && this.options.responseType)
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
BoxRefresh.prototype._setUpListeners = function () {
|
||||
$(this.element).on('click', Selector.trigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
this.load()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxRefresh.prototype._addOverlay = function () {
|
||||
$(this.element).append(this.$overlay)
|
||||
}
|
||||
|
||||
BoxRefresh.prototype._removeOverlay = function () {
|
||||
$(this.element).remove(this.$overlay)
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new BoxRefresh($this, options)))
|
||||
}
|
||||
|
||||
if (typeof data == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.boxRefresh
|
||||
|
||||
$.fn.boxRefresh = Plugin
|
||||
$.fn.boxRefresh.Constructor = BoxRefresh
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.boxRefresh.noConflict = function () {
|
||||
$.fn.boxRefresh = old
|
||||
return this
|
||||
}
|
||||
|
||||
// BoxRefresh Data API
|
||||
// =================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
161
build/js/BoxWidget.js
Normal file
161
build/js/BoxWidget.js
Normal file
@@ -0,0 +1,161 @@
|
||||
/* BoxWidget()
|
||||
* ======
|
||||
* Adds box widget functions to boxes.
|
||||
*
|
||||
* @Usage: $('.my-box').boxWidget(options)
|
||||
* or add [data-widget="box-widget"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.boxwidget'
|
||||
|
||||
var Default = {
|
||||
animationSpeed : 500,
|
||||
collapseTrigger: '[data-widget="collapse"]',
|
||||
removeTrigger : '[data-widget="remove"]',
|
||||
collapseIcon : 'fa-minus',
|
||||
expandIcon : 'fa-plus',
|
||||
removeIcon : 'fa-times'
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data : '.box',
|
||||
collapsed: '.collapsed-box',
|
||||
body : '.box-body',
|
||||
footer : '.box-footer',
|
||||
tools : '.box-tools'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
collapsed: 'collapsed-box'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.boxwidget',
|
||||
expanded : 'expanded.boxwidget',
|
||||
removed : 'removed.boxwidget'
|
||||
}
|
||||
|
||||
// BoxWidget Class Definition
|
||||
// =====================
|
||||
var BoxWidget = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
BoxWidget.prototype.toggle = function () {
|
||||
var isOpen = !$(this.element).is(Selector.collapsed)
|
||||
|
||||
if (isOpen) {
|
||||
this.collapse()
|
||||
} else {
|
||||
this.expand()
|
||||
}
|
||||
}
|
||||
|
||||
BoxWidget.prototype.expand = function () {
|
||||
var expandedEvent = $.Event(Event.expanded)
|
||||
var collapseIcon = this.options.collapseIcon
|
||||
var expandIcon = this.options.expandIcon
|
||||
|
||||
$(this.element).removeClass(ClassName.collapsed)
|
||||
|
||||
$(Selector.tools)
|
||||
.find('.' + expandIcon)
|
||||
.removeClass(expandIcon)
|
||||
.addClass(collapseIcon)
|
||||
|
||||
$(this.element).find(Selector.body + ', ' + Selector.footer)
|
||||
.slideDown(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(expandedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxWidget.prototype.collapse = function () {
|
||||
var collapsedEvent = $.Event(Event.collapsed)
|
||||
var collapseIcon = this.options.collapseIcon
|
||||
var expandIcon = this.options.expandIcon
|
||||
|
||||
$(Selector.tools)
|
||||
.find('.' + collapseIcon)
|
||||
.removeClass(collapseIcon)
|
||||
.addClass(expandIcon)
|
||||
|
||||
$(this.element).find(Selector.body + ', ' + Selector.footer)
|
||||
.slideUp(this.options.animationSpeed, function () {
|
||||
$(this.element).addClass(ClassName.collapsed)
|
||||
$(this.element).trigger(collapsedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxWidget.prototype.remove = function () {
|
||||
var removedEvent = $.Event(Event.removed)
|
||||
|
||||
$(this.element).slideUp(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(removedEvent)
|
||||
$(this.element).remove()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
BoxWidget.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
|
||||
$(this.element).on('click', this.options.collapseTrigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
that.toggle($(this))
|
||||
})
|
||||
|
||||
$(this.element).on('click', this.options.removeTrigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
that.remove($(this))
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new BoxWidget($this, options)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.boxWidget
|
||||
|
||||
$.fn.boxWidget = Plugin
|
||||
$.fn.boxWidget.Constructor = BoxWidget
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.boxWidget.noConflict = function () {
|
||||
$.fn.boxWidget = old
|
||||
return this
|
||||
}
|
||||
|
||||
// BoxWidget Data API
|
||||
// ==================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
138
build/js/ControlSidebar.js
Normal file
138
build/js/ControlSidebar.js
Normal file
@@ -0,0 +1,138 @@
|
||||
/* ControlSidebar()
|
||||
* ===============
|
||||
* Toggles the state of the control sidebar
|
||||
*
|
||||
* @Usage: $('#control-sidebar-trigger').controlSidebar(options)
|
||||
* or add [data-toggle="control-sidebar"] to the trigger
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.controlsidebar'
|
||||
|
||||
var Default = {
|
||||
slide: true
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
sidebar: '.control-sidebar',
|
||||
data : '[data-toggle="control-sidebar"]',
|
||||
open : '.control-sidebar-open',
|
||||
bg : '.control-sidebar-bg',
|
||||
wrapper: '.wrapper',
|
||||
content: '.content-wrapper',
|
||||
boxed : '.layout-boxed'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
open : 'control-sidebar-open',
|
||||
fixed: 'fixed'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.controlsidebar',
|
||||
expanded : 'expanded.controlsidebar'
|
||||
}
|
||||
|
||||
// ControlSidebar Class Definition
|
||||
// ===============================
|
||||
var ControlSidebar = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
this.hasBindedResize = false
|
||||
|
||||
this.init()
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.init = function () {
|
||||
// Add click listener if the element hasn't been
|
||||
// initialized using the data API
|
||||
if (!$(this.element).is(Selector.data)) {
|
||||
$(this).on('click', this.toggle)
|
||||
}
|
||||
|
||||
this.fix()
|
||||
$(window).resize(function () {
|
||||
this.fix()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.toggle = function (event) {
|
||||
if (event) event.preventDefault()
|
||||
|
||||
this.fix()
|
||||
|
||||
if (!$(Selector.sidebar).is(Selector.open) && !$('body').is(Selector.open)) {
|
||||
this.expand()
|
||||
} else {
|
||||
this.collapse()
|
||||
}
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.expand = function () {
|
||||
if (!this.options.slide) {
|
||||
$('body').addClass(ClassName.open)
|
||||
} else {
|
||||
$(Selector.sidebar).addClass(ClassName.open)
|
||||
}
|
||||
|
||||
$(this.element).trigger($.Event(Event.expanded))
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.collapse = function () {
|
||||
$('body, ' + Selector.sidebar).removeClass(ClassName.open)
|
||||
$(this.element).trigger($.Event(Event.collapsed))
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.fix = function () {
|
||||
if ($('body').is(Selector.boxed)) {
|
||||
this._fixForBoxed($(Selector.bg))
|
||||
}
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
ControlSidebar.prototype._fixForBoxed = function (bg) {
|
||||
bg.css({
|
||||
position: 'absolute',
|
||||
height : $(Selector.wrapper).height()
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new ControlSidebar($this, options)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') data.toggle()
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.controlSidebar
|
||||
|
||||
$.fn.controlSidebar = Plugin
|
||||
$.fn.controlSidebar.Constructor = ControlSidebar
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.controlSidebar.noConflict = function () {
|
||||
$.fn.controlSidebar = old
|
||||
return this
|
||||
}
|
||||
|
||||
// ControlSidebar Data API
|
||||
// =======================
|
||||
$(document).on('click', Selector.data, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
66
build/js/DirectChat.js
Normal file
66
build/js/DirectChat.js
Normal file
@@ -0,0 +1,66 @@
|
||||
/* DirectChat()
|
||||
* ===============
|
||||
* Toggles the state of the control sidebar
|
||||
*
|
||||
* @Usage: $('#my-chat-box').directChat()
|
||||
* or add [data-widget="direct-chat"] to the trigger
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.directchat'
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="chat-pane-toggle"]',
|
||||
box : '.direct-chat'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
open: 'direct-chat-contacts-open'
|
||||
}
|
||||
|
||||
// DirectChat Class Definition
|
||||
// ===========================
|
||||
var DirectChat = function (element) {
|
||||
this.element = element
|
||||
}
|
||||
|
||||
DirectChat.prototype.toggle = function ($trigger) {
|
||||
$trigger.parents(Selector.box).first().toggleClass(ClassName.open)
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
$this.data(DataKey, (data = new DirectChat($this)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') data.toggle($this)
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.directChat
|
||||
|
||||
$.fn.directChat = Plugin
|
||||
$.fn.directChat.Constructor = DirectChat
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.directChat.noConflict = function () {
|
||||
$.fn.directChat = old
|
||||
return this
|
||||
}
|
||||
|
||||
// DirectChat Data API
|
||||
// ===================
|
||||
$(document).on('click', Selector.data, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
179
build/js/Layout.js
Normal file
179
build/js/Layout.js
Normal file
@@ -0,0 +1,179 @@
|
||||
/* Layout()
|
||||
* ========
|
||||
* Implements AdminLTE layout.
|
||||
* Fixes the layout height in case min-height fails.
|
||||
*
|
||||
* @usage activated automatically upon window load.
|
||||
* Configure any options by passing data-option="value"
|
||||
* to the body tag.
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.layout'
|
||||
|
||||
var Default = {
|
||||
slimscroll : true,
|
||||
resetHeight: true
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
wrapper : '.wrapper',
|
||||
contentWrapper: '.content-wrapper',
|
||||
layoutBoxed : '.layout-boxed',
|
||||
mainFooter : '.main-footer',
|
||||
mainHeader : '.main-header',
|
||||
sidebar : '.sidebar',
|
||||
controlSidebar: '.control-sidebar',
|
||||
fixed : '.fixed',
|
||||
sidebarMenu : '.sidebar-menu',
|
||||
logo : '.main-header .logo'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
fixed : 'fixed',
|
||||
holdTransition: 'hold-transition'
|
||||
}
|
||||
|
||||
var Layout = function (options) {
|
||||
this.options = options
|
||||
this.bindedResize = false
|
||||
this.activate()
|
||||
}
|
||||
|
||||
Layout.prototype.activate = function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
|
||||
$('body').removeClass(ClassName.holdTransition)
|
||||
|
||||
if (this.options.resetHeight) {
|
||||
$('body, html, ' + Selector.wrapper).css({
|
||||
'height' : 'auto',
|
||||
'min-height': '100%'
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.bindedResize) {
|
||||
$(window).resize(function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
|
||||
$(Selector.logo + ', ' + Selector.sidebar).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
}.bind(this))
|
||||
|
||||
this.bindedResize = true
|
||||
}
|
||||
|
||||
$(Selector.sidebarMenu).on('expanded.tree', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
|
||||
$(Selector.sidebarMenu).on('collapsed.tree', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
Layout.prototype.fix = function () {
|
||||
// Remove overflow from .wrapper if layout-boxed exists
|
||||
$(Selector.layoutBoxed + ' > ' + Selector.wrapper).css('overflow', 'hidden')
|
||||
|
||||
// Get window height and the wrapper height
|
||||
var footerHeight = $(Selector.mainFooter).outerHeight() || 0
|
||||
var neg = $(Selector.mainHeader).outerHeight() + footerHeight
|
||||
var windowHeight = $(window).height()
|
||||
var sidebarHeight = $(Selector.sidebar).height() || 0
|
||||
|
||||
// Set the min-height of the content and sidebar based on
|
||||
// the height of the document.
|
||||
if ($('body').hasClass(ClassName.fixed)) {
|
||||
$(Selector.contentWrapper).css('min-height', windowHeight - footerHeight)
|
||||
} else {
|
||||
var postSetHeight
|
||||
|
||||
if (windowHeight >= sidebarHeight) {
|
||||
$(Selector.contentWrapper).css('min-height', windowHeight - neg)
|
||||
postSetHeight = windowHeight - neg
|
||||
} else {
|
||||
$(Selector.contentWrapper).css('min-height', sidebarHeight)
|
||||
postSetHeight = sidebarHeight
|
||||
}
|
||||
|
||||
// Fix for the control sidebar height
|
||||
var $controlSidebar = $(Selector.controlSidebar)
|
||||
if (typeof $controlSidebar !== 'undefined') {
|
||||
if ($controlSidebar.height() > postSetHeight)
|
||||
$(Selector.contentWrapper).css('min-height', $controlSidebar.height())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Layout.prototype.fixSidebar = function () {
|
||||
// Make sure the body tag has the .fixed class
|
||||
if (!$('body').hasClass(ClassName.fixed)) {
|
||||
if (typeof $.fn.slimScroll !== 'undefined') {
|
||||
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Enable slimscroll for fixed layout
|
||||
if (this.options.slimscroll) {
|
||||
if (typeof $.fn.slimScroll !== 'undefined') {
|
||||
// Destroy if it exists
|
||||
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
|
||||
|
||||
// Add slimscroll
|
||||
$(Selector.sidebar).slimScroll({
|
||||
height: ($(window).height() - $(Selector.mainHeader).height()) + 'px',
|
||||
color : 'rgba(0,0,0,0.2)',
|
||||
size : '3px'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option === 'object' && option)
|
||||
$this.data(DataKey, (data = new Layout(options)))
|
||||
}
|
||||
|
||||
if (typeof option === 'string') {
|
||||
if (typeof data[option] === 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.layout
|
||||
|
||||
$.fn.layout = Plugin
|
||||
$.fn.layout.Constuctor = Layout
|
||||
|
||||
// No conflict mode
|
||||
// ================
|
||||
$.fn.layout.noConflict = function () {
|
||||
$.fn.layout = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Layout DATA-API
|
||||
// ===============
|
||||
$(window).on('load', function () {
|
||||
Plugin.call($('body'))
|
||||
})
|
||||
}(jQuery)
|
||||
176
build/js/PushMenu.js
Normal file
176
build/js/PushMenu.js
Normal file
@@ -0,0 +1,176 @@
|
||||
/* PushMenu()
|
||||
* ==========
|
||||
* Adds the push menu functionality to the sidebar.
|
||||
*
|
||||
* @usage: $('.btn').pushMenu(options)
|
||||
* or add [data-toggle="push-menu"] to any toggle button
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.pushmenu'
|
||||
|
||||
var Default = {
|
||||
collapseScreenSize : 767,
|
||||
expandOnHover : false,
|
||||
expandTransitionDelay: 200
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
collapsed : '.sidebar-collapse',
|
||||
open : '.sidebar-open',
|
||||
mainSidebar : '.main-sidebar',
|
||||
contentWrapper: '.content-wrapper',
|
||||
searchInput : '.sidebar-form .form-control',
|
||||
button : '[data-toggle="push-menu"]',
|
||||
mini : '.sidebar-mini',
|
||||
expanded : '.sidebar-expanded-on-hover',
|
||||
layoutFixed : '.fixed'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
collapsed : 'sidebar-collapse',
|
||||
open : 'sidebar-open',
|
||||
mini : 'sidebar-mini',
|
||||
expanded : 'sidebar-expanded-on-hover',
|
||||
expandFeature: 'sidebar-mini-expand-feature',
|
||||
layoutFixed : 'fixed'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
expanded : 'expanded.pushMenu',
|
||||
collapsed: 'collapsed.pushMenu'
|
||||
}
|
||||
|
||||
// PushMenu Class Definition
|
||||
// =========================
|
||||
var PushMenu = function (options) {
|
||||
this.options = options
|
||||
this.init()
|
||||
}
|
||||
|
||||
PushMenu.prototype.init = function () {
|
||||
if (this.options.expandOnHover
|
||||
|| ($('body').is(Selector.mini + Selector.layoutFixed))) {
|
||||
this.expandOnHover()
|
||||
$('body').addClass(ClassName.expandFeature)
|
||||
}
|
||||
|
||||
$(Selector.contentWrapper).click(function () {
|
||||
// Enable hide menu when clicking on the content-wrapper on small screens
|
||||
if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) {
|
||||
this.close()
|
||||
}
|
||||
}.bind(this))
|
||||
|
||||
// __Fix for android devices
|
||||
$(Selector.searchInput).click(function (e) {
|
||||
e.stopPropagation()
|
||||
})
|
||||
}
|
||||
|
||||
PushMenu.prototype.toggle = function () {
|
||||
var windowWidth = $(window).width()
|
||||
var isOpen = !$('body').hasClass(ClassName.collapsed)
|
||||
|
||||
if (windowWidth <= this.options.collapseScreenSize) {
|
||||
isOpen = $('body').hasClass(ClassName.open)
|
||||
}
|
||||
|
||||
if (!isOpen) {
|
||||
this.open()
|
||||
} else {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
|
||||
PushMenu.prototype.open = function () {
|
||||
var windowWidth = $(window).width()
|
||||
|
||||
if (windowWidth > this.options.collapseScreenSize) {
|
||||
$('body').removeClass(ClassName.collapsed)
|
||||
.trigger($.Event(Event.expanded))
|
||||
}
|
||||
else {
|
||||
$('body').addClass(ClassName.open)
|
||||
.trigger($.Event(Event.expanded))
|
||||
}
|
||||
}
|
||||
|
||||
PushMenu.prototype.close = function () {
|
||||
var windowWidth = $(window).width()
|
||||
if (windowWidth > this.options.collapseScreenSize) {
|
||||
$('body').addClass(ClassName.collapsed)
|
||||
.trigger($.Event(Event.collapsed))
|
||||
} else {
|
||||
$('body').removeClass(ClassName.open + ' ' + ClassName.collapsed)
|
||||
.trigger($.Event(Event.collapsed))
|
||||
}
|
||||
}
|
||||
|
||||
PushMenu.prototype.expandOnHover = function () {
|
||||
$(Selector.mainSidebar).hover(function () {
|
||||
if ($('body').is(Selector.mini + Selector.collapsed)
|
||||
&& $(window).width() > this.options.collapseScreenSize) {
|
||||
this.expand()
|
||||
}
|
||||
}.bind(this), function () {
|
||||
if ($('body').is(Selector.expanded)) {
|
||||
this.collapse()
|
||||
}
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
PushMenu.prototype.expand = function () {
|
||||
setTimeout(function () {
|
||||
$('body').removeClass(ClassName.collapsed)
|
||||
.addClass(ClassName.expanded)
|
||||
}, this.options.expandTransitionDelay)
|
||||
}
|
||||
|
||||
PushMenu.prototype.collapse = function () {
|
||||
setTimeout(function () {
|
||||
$('body').removeClass(ClassName.expanded)
|
||||
.addClass(ClassName.collapsed)
|
||||
}, this.options.expandTransitionDelay)
|
||||
}
|
||||
|
||||
// PushMenu Plugin Definition
|
||||
// ==========================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new PushMenu(options)))
|
||||
}
|
||||
|
||||
if (option == 'toggle') data.toggle()
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.pushMenu
|
||||
|
||||
$.fn.pushMenu = Plugin
|
||||
$.fn.pushMenu.Constructor = PushMenu
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.pushMenu.noConflict = function () {
|
||||
$.fn.pushMenu = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Data API
|
||||
// ========
|
||||
$(document).on('click', Selector.button, function (e) {
|
||||
e.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
$(window).on('load', function () {
|
||||
Plugin.call($(Selector.button))
|
||||
})
|
||||
}(jQuery)
|
||||
107
build/js/TodoList.js
Normal file
107
build/js/TodoList.js
Normal file
@@ -0,0 +1,107 @@
|
||||
/* TodoList()
|
||||
* =========
|
||||
* Converts a list into a todoList.
|
||||
*
|
||||
* @Usage: $('.my-list').todoList(options)
|
||||
* or add [data-widget="todo-list"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.todolist'
|
||||
|
||||
var Default = {
|
||||
iCheck : false,
|
||||
onCheck : function () {
|
||||
},
|
||||
onUnCheck: function () {
|
||||
}
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="todo-list"]'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
done: 'done'
|
||||
}
|
||||
|
||||
// TodoList Class Definition
|
||||
// =========================
|
||||
var TodoList = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
TodoList.prototype.toggle = function (item) {
|
||||
item.parents(Selector.li).first().toggleClass(ClassName.done)
|
||||
if (!item.prop('checked')) {
|
||||
this.unCheck(item)
|
||||
return
|
||||
}
|
||||
|
||||
this.check(item)
|
||||
}
|
||||
|
||||
TodoList.prototype.check = function (item) {
|
||||
this.options.onCheck.call(item)
|
||||
}
|
||||
|
||||
TodoList.prototype.unCheck = function (item) {
|
||||
this.options.onUnCheck.call(item)
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
TodoList.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
$(this.element).on('change ifChanged', 'input:checkbox', function () {
|
||||
that.toggle($(this))
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new TodoList($this, options)))
|
||||
}
|
||||
|
||||
if (typeof data == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.todoList
|
||||
|
||||
$.fn.todoList = Plugin
|
||||
$.fn.todoList.Constructor = TodoList
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.todoList.noConflict = function () {
|
||||
$.fn.todoList = old
|
||||
return this
|
||||
}
|
||||
|
||||
// TodoList Data API
|
||||
// =================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
145
build/js/Tree.js
Normal file
145
build/js/Tree.js
Normal file
@@ -0,0 +1,145 @@
|
||||
/* Tree()
|
||||
* ======
|
||||
* Converts a nested list into a multilevel
|
||||
* tree view menu.
|
||||
*
|
||||
* @Usage: $('.my-menu').tree(options)
|
||||
* or add [data-widget="tree"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.tree'
|
||||
|
||||
var Default = {
|
||||
animationSpeed: 500,
|
||||
accordion : true,
|
||||
followLink : false,
|
||||
trigger : '.treeview a'
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
tree : '.tree',
|
||||
treeview : '.treeview',
|
||||
treeviewMenu: '.treeview-menu',
|
||||
open : '.menu-open, .active',
|
||||
li : 'li',
|
||||
data : '[data-widget="tree"]',
|
||||
active : '.active'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
open: 'menu-open',
|
||||
tree: 'tree'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.tree',
|
||||
expanded : 'expanded.tree'
|
||||
}
|
||||
|
||||
// Tree Class Definition
|
||||
// =====================
|
||||
var Tree = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
$(this.element).addClass(ClassName.tree)
|
||||
|
||||
$(Selector.treeview + Selector.active, this.element).addClass(ClassName.open)
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
Tree.prototype.toggle = function (link, event) {
|
||||
var treeviewMenu = link.next(Selector.treeviewMenu)
|
||||
var parentLi = link.parent()
|
||||
var isOpen = parentLi.hasClass(ClassName.open)
|
||||
|
||||
if (!parentLi.is(Selector.treeview)) {
|
||||
return
|
||||
}
|
||||
|
||||
if (!this.options.followLink || link.attr('href') == '#') {
|
||||
event.preventDefault()
|
||||
}
|
||||
|
||||
if (isOpen) {
|
||||
this.collapse(treeviewMenu, parentLi)
|
||||
} else {
|
||||
this.expand(treeviewMenu, parentLi)
|
||||
}
|
||||
}
|
||||
|
||||
Tree.prototype.expand = function (tree, parent) {
|
||||
var expandedEvent = $.Event(Event.expanded)
|
||||
|
||||
if (this.options.accordion) {
|
||||
var openMenuLi = parent.siblings(Selector.open)
|
||||
var openTree = openMenuLi.children(Selector.treeviewMenu)
|
||||
this.collapse(openTree, openMenuLi)
|
||||
}
|
||||
|
||||
parent.addClass(ClassName.open)
|
||||
tree.slideDown(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(expandedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
Tree.prototype.collapse = function (tree, parentLi) {
|
||||
var collapsedEvent = $.Event(Event.collapsed)
|
||||
|
||||
tree.find(Selector.open).removeClass(ClassName.open)
|
||||
parentLi.removeClass(ClassName.open)
|
||||
tree.slideUp(this.options.animationSpeed, function () {
|
||||
tree.find(Selector.open + ' > ' + Selector.treeview).slideUp()
|
||||
$(this.element).trigger(collapsedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
Tree.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
|
||||
$(this.element).on('click', this.options.trigger, function (event) {
|
||||
that.toggle($(this), event)
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, new Tree($this, options))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.tree
|
||||
|
||||
$.fn.tree = Plugin
|
||||
$.fn.tree.Constructor = Tree
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.tree.noConflict = function () {
|
||||
$.fn.tree = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Tree Data API
|
||||
// =============
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
23
build/less/.csslintrc
Normal file
23
build/less/.csslintrc
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"adjoining-classes": false,
|
||||
"box-sizing": false,
|
||||
"box-model": false,
|
||||
"compatible-vendor-prefixes": false,
|
||||
"floats": false,
|
||||
"font-sizes": false,
|
||||
"gradients": false,
|
||||
"important": false,
|
||||
"known-properties": false,
|
||||
"outline-none": false,
|
||||
"qualified-headings": false,
|
||||
"regex-selectors": false,
|
||||
"shorthand": false,
|
||||
"text-indent": false,
|
||||
"unique-headings": false,
|
||||
"universal-selector": false,
|
||||
"unqualified-attributes": false,
|
||||
"ids": false,
|
||||
"fallback-colors": false,
|
||||
"vendor-prefix": false,
|
||||
"import": false
|
||||
}
|
||||
36
build/less/404_500_errors.less
Normal file
36
build/less/404_500_errors.less
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Page: 400 and 500 error pages
|
||||
* ------------------------------
|
||||
*/
|
||||
.error-page {
|
||||
width: 600px;
|
||||
margin: 20px auto 0 auto;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
width: 100%;
|
||||
}
|
||||
//For the error number e.g: 404
|
||||
> .headline {
|
||||
float: left;
|
||||
font-size: 100px;
|
||||
font-weight: 300;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
//For the message
|
||||
> .error-content {
|
||||
margin-left: 190px;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
margin-left: 0;
|
||||
}
|
||||
> h3 {
|
||||
font-weight: 300;
|
||||
font-size: 25px;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
55
build/less/AdminLTE-without-plugins.less
Normal file
55
build/less/AdminLTE-without-plugins.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*!
|
||||
* AdminLTE v2.4.0 Without Third-Party Plugins
|
||||
* Author: Almsaeed Studio
|
||||
* Website: Almsaeed Studio <https://adminlte.io>
|
||||
* License: Open source - MIT
|
||||
* Please visit http://opensource.org/licenses/MIT for more information
|
||||
!*/
|
||||
//Bootstrap Variables & Mixins
|
||||
//The core bootstrap code have not been modified. These files
|
||||
//are included only for reference.
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
//MISC
|
||||
//----
|
||||
@import "core";
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
//COMPONENTS
|
||||
//-----------
|
||||
@import "header";
|
||||
@import "sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "boxes";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "modal";
|
||||
@import "social-widgets";
|
||||
@import "treeview";
|
||||
//PAGES
|
||||
//------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
//Miscellaneous
|
||||
//-------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
62
build/less/AdminLTE.less
Normal file
62
build/less/AdminLTE.less
Normal file
@@ -0,0 +1,62 @@
|
||||
/*!
|
||||
* AdminLTE v2.4.0
|
||||
* Author: Almsaeed Studio
|
||||
* Website: Almsaeed Studio <https://adminlte.io>
|
||||
* License: Open source - MIT
|
||||
* Please visit http://opensource.org/licenses/MIT for more information
|
||||
*/
|
||||
// Bootstrap
|
||||
//--------------------------------------------------------
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
|
||||
// MISC
|
||||
//--------------------------------------------------------
|
||||
@import "core";
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
|
||||
// COMPONENTS
|
||||
//--------------------------------------------------------
|
||||
@import "header";
|
||||
@import "sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "boxes";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "modal";
|
||||
@import "social-widgets";
|
||||
@import "treeview";
|
||||
|
||||
// PAGES
|
||||
//--------------------------------------------------------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
|
||||
// Plugins
|
||||
//--------------------------------------------------------
|
||||
@import "plugins";
|
||||
|
||||
// Miscellaneous
|
||||
//--------------------------------------------------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
47
build/less/alerts.less
Normal file
47
build/less/alerts.less
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Component: alert
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
.alert {
|
||||
.border-radius(3px);
|
||||
h4 {
|
||||
font-weight: 600;
|
||||
}
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.close {
|
||||
color: #000;
|
||||
.opacity(.2);
|
||||
&:hover {
|
||||
.opacity(.5);
|
||||
}
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
//Alert Variants
|
||||
.alert-success {
|
||||
&:extend(.bg-green);
|
||||
border-color: darken(@green, 5%);
|
||||
}
|
||||
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
&:extend(.bg-red);
|
||||
border-color: darken(@red, 5%);
|
||||
}
|
||||
|
||||
.alert-warning {
|
||||
&:extend(.bg-yellow);
|
||||
border-color: darken(@yellow, 5%);
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
&:extend(.bg-aqua);
|
||||
border-color: darken(@aqua, 5%);
|
||||
}
|
||||
178
build/less/bootstrap-social.less
vendored
Normal file
178
build/less/bootstrap-social.less
vendored
Normal file
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* Social Buttons for Bootstrap
|
||||
*
|
||||
* Copyright 2013-2015 Panayiotis Lipiridis
|
||||
* Licensed under the MIT License
|
||||
*
|
||||
* https://github.com/lipis/bootstrap-social
|
||||
*/
|
||||
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
@bs-height-base: (@line-height-computed + @padding-base-vertical * 2);
|
||||
@bs-height-lg: (floor(@font-size-large * @line-height-base) + @padding-large-vertical * 2);
|
||||
@bs-height-sm: (floor(@font-size-small * 1.5) + @padding-small-vertical * 2);
|
||||
@bs-height-xs: (floor(@font-size-small * 1.2) + @padding-small-vertical + 1);
|
||||
|
||||
.btn-social {
|
||||
position: relative;
|
||||
padding-left: (@bs-height-base + @padding-base-horizontal);
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
> :first-child {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: @bs-height-base;
|
||||
line-height: (@bs-height-base + 2);
|
||||
font-size: 1.6em;
|
||||
text-align: center;
|
||||
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
&.btn-lg {
|
||||
padding-left: (@bs-height-lg + @padding-large-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-lg;
|
||||
width: @bs-height-lg;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
&.btn-sm {
|
||||
padding-left: (@bs-height-sm + @padding-small-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-sm;
|
||||
width: @bs-height-sm;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
}
|
||||
&.btn-xs {
|
||||
padding-left: (@bs-height-xs + @padding-small-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-xs;
|
||||
width: @bs-height-xs;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-social-icon {
|
||||
.btn-social;
|
||||
height: (@bs-height-base + 2);
|
||||
width: (@bs-height-base + 2);
|
||||
padding: 0;
|
||||
> :first-child {
|
||||
border: none;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
&.btn-lg {
|
||||
height: @bs-height-lg;
|
||||
width: @bs-height-lg;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
&.btn-sm {
|
||||
height: (@bs-height-sm + 2);
|
||||
width: (@bs-height-sm + 2);
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
&.btn-xs {
|
||||
height: (@bs-height-xs + 2);
|
||||
width: (@bs-height-xs + 2);
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-social(@color-bg, @color: #fff) {
|
||||
background-color: @color-bg;
|
||||
.button-variant(@color, @color-bg, rgba(0, 0, 0, .2));
|
||||
}
|
||||
|
||||
.btn-adn {
|
||||
.btn-social(#d87a68);
|
||||
}
|
||||
|
||||
.btn-bitbucket {
|
||||
.btn-social(#205081);
|
||||
}
|
||||
|
||||
.btn-dropbox {
|
||||
.btn-social(#1087dd);
|
||||
}
|
||||
|
||||
.btn-facebook {
|
||||
.btn-social(#3b5998);
|
||||
}
|
||||
|
||||
.btn-flickr {
|
||||
.btn-social(#ff0084);
|
||||
}
|
||||
|
||||
.btn-foursquare {
|
||||
.btn-social(#f94877);
|
||||
}
|
||||
|
||||
.btn-github {
|
||||
.btn-social(#444444);
|
||||
}
|
||||
|
||||
.btn-google {
|
||||
.btn-social(#dd4b39);
|
||||
}
|
||||
|
||||
.btn-instagram {
|
||||
.btn-social(#3f729b);
|
||||
}
|
||||
|
||||
.btn-linkedin {
|
||||
.btn-social(#007bb6);
|
||||
}
|
||||
|
||||
.btn-microsoft {
|
||||
.btn-social(#2672ec);
|
||||
}
|
||||
|
||||
.btn-openid {
|
||||
.btn-social(#f7931e);
|
||||
}
|
||||
|
||||
.btn-pinterest {
|
||||
.btn-social(#cb2027);
|
||||
}
|
||||
|
||||
.btn-reddit {
|
||||
.btn-social(#eff7ff, #000);
|
||||
}
|
||||
|
||||
.btn-soundcloud {
|
||||
.btn-social(#ff5500);
|
||||
}
|
||||
|
||||
.btn-tumblr {
|
||||
.btn-social(#2c4762);
|
||||
}
|
||||
|
||||
.btn-twitter {
|
||||
.btn-social(#55acee);
|
||||
}
|
||||
|
||||
.btn-vimeo {
|
||||
.btn-social(#1ab7ea);
|
||||
}
|
||||
|
||||
.btn-vk {
|
||||
.btn-social(#587ea3);
|
||||
}
|
||||
|
||||
.btn-yahoo {
|
||||
.btn-social(#720e9e);
|
||||
}
|
||||
489
build/less/boxes.less
Normal file
489
build/less/boxes.less
Normal file
@@ -0,0 +1,489 @@
|
||||
/*
|
||||
* Component: Box
|
||||
* --------------
|
||||
*/
|
||||
.box {
|
||||
position: relative;
|
||||
.border-radius(@box-border-radius);
|
||||
background: #ffffff;
|
||||
border-top: 3px solid @box-default-border-top-color;
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
box-shadow: @box-boxshadow;
|
||||
|
||||
// Box color variations
|
||||
&.box-primary {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
&.box-info {
|
||||
border-top-color: @aqua;
|
||||
}
|
||||
&.box-danger {
|
||||
border-top-color: @red;
|
||||
}
|
||||
&.box-warning {
|
||||
border-top-color: @yellow;
|
||||
}
|
||||
&.box-success {
|
||||
border-top-color: @green;
|
||||
}
|
||||
&.box-default {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
|
||||
// collapsed mode
|
||||
&.collapsed-box {
|
||||
.box-body,
|
||||
.box-footer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-stacked {
|
||||
> li {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
margin: 0;
|
||||
&:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// fixed height to 300px
|
||||
&.height-control {
|
||||
.box-body {
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.border-right {
|
||||
border-right: 1px solid @box-border-color;
|
||||
}
|
||||
.border-left {
|
||||
border-left: 1px solid @box-border-color;
|
||||
}
|
||||
|
||||
//SOLID BOX
|
||||
//---------
|
||||
//use this class to get a colored header and borders
|
||||
|
||||
&.box-solid {
|
||||
border-top: 0;
|
||||
> .box-header {
|
||||
.btn.btn-default {
|
||||
background: transparent;
|
||||
}
|
||||
.btn,
|
||||
a {
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Box color variations
|
||||
&.box-default {
|
||||
.box-solid-variant(@gray-lte, #444);
|
||||
}
|
||||
&.box-primary {
|
||||
.box-solid-variant(@light-blue);
|
||||
}
|
||||
&.box-info {
|
||||
.box-solid-variant(@aqua);
|
||||
}
|
||||
&.box-danger {
|
||||
.box-solid-variant(@red);
|
||||
}
|
||||
&.box-warning {
|
||||
.box-solid-variant(@yellow);
|
||||
}
|
||||
&.box-success {
|
||||
.box-solid-variant(@green);
|
||||
}
|
||||
|
||||
> .box-header > .box-tools .btn {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// Fix font color for tiles
|
||||
&[class*='bg'] {
|
||||
> .box-header {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//BOX GROUP
|
||||
.box-group {
|
||||
> .box {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
// jQuery Knob in a box
|
||||
.knob-label {
|
||||
text-align: center;
|
||||
color: #333;
|
||||
font-weight: 100;
|
||||
font-size: 12px;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
}
|
||||
|
||||
.box,
|
||||
.overlay-wrapper {
|
||||
// Box overlay for LOADING STATE effect
|
||||
> .overlay,
|
||||
> .loading-img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
z-index: 50;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
.border-radius(@box-border-radius);
|
||||
> .fa {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -15px;
|
||||
margin-top: -15px;
|
||||
color: #000;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.overlay.dark {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
//Add clearfix to header, body and footer
|
||||
.box-header,
|
||||
.box-body,
|
||||
.box-footer {
|
||||
.clearfix();
|
||||
}
|
||||
|
||||
//Box header
|
||||
.box-header {
|
||||
color: #444;
|
||||
display: block;
|
||||
padding: @box-padding;
|
||||
position: relative;
|
||||
|
||||
//Add bottom border
|
||||
&.with-border {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
.collapsed-box & {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Icons and box title
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion,
|
||||
.box-title {
|
||||
display: inline-block;
|
||||
font-size: 18px;
|
||||
margin: 0;
|
||||
line-height: 1;
|
||||
}
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
> .box-tools {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 5px;
|
||||
[data-toggle="tooltip"] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.pull-right {
|
||||
.dropdown-menu {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a {
|
||||
color: #444!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Box Tools Buttons
|
||||
.btn-box-tool {
|
||||
padding: 5px;
|
||||
font-size: 12px;
|
||||
background: transparent;
|
||||
color: darken(@box-default-border-top-color, 20%);
|
||||
.open &,
|
||||
&:hover {
|
||||
color: darken(@box-default-border-top-color, 40%);
|
||||
}
|
||||
&.btn:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Box Body
|
||||
.box-body {
|
||||
.border-radius(0; 0; @box-border-radius; @box-border-radius);
|
||||
padding: @box-padding;
|
||||
.no-header & {
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
// Tables within the box body
|
||||
> .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
// Calendar within the box body
|
||||
.fc {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.full-width-chart {
|
||||
margin: -19px;
|
||||
}
|
||||
&.no-padding .full-width-chart {
|
||||
margin: -9px;
|
||||
}
|
||||
|
||||
.box-pane {
|
||||
.border-radius(0; 0; @box-border-radius; 0);
|
||||
}
|
||||
.box-pane-right {
|
||||
.border-radius(0; 0; 0; @box-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
//Box footer
|
||||
.box-footer {
|
||||
.border-radius(0; 0; @box-border-radius; @box-border-radius);
|
||||
border-top: 1px solid @box-border-color;
|
||||
padding: @box-padding;
|
||||
background-color: @box-footer-bg;
|
||||
}
|
||||
|
||||
.chart-legend {
|
||||
&:extend(.list-unstyled);
|
||||
margin: 10px 0;
|
||||
> li {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Comment Box
|
||||
.box-comments {
|
||||
background: #f7f7f7;
|
||||
.box-comment {
|
||||
.clearfix();
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
&:last-of-type {
|
||||
border-bottom: 0;
|
||||
}
|
||||
&:first-of-type {
|
||||
padding-top: 0;
|
||||
}
|
||||
img {
|
||||
&:extend(.img-sm);
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
.comment-text {
|
||||
margin-left: 40px;
|
||||
color: #555;
|
||||
}
|
||||
.username {
|
||||
color: #444;
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
.text-muted {
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
//Widgets
|
||||
//-----------
|
||||
|
||||
/* Widget: TODO LIST */
|
||||
|
||||
.todo-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
overflow: auto;
|
||||
// Todo list element
|
||||
> li {
|
||||
.border-radius(2px);
|
||||
padding: 10px;
|
||||
background: #f4f4f4;
|
||||
margin-bottom: 2px;
|
||||
border-left: 2px solid #e6e7e8;
|
||||
color: #444;
|
||||
&:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> input[type='checkbox'] {
|
||||
margin: 0 10px 0 5px;
|
||||
}
|
||||
|
||||
.text {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
// Time labels
|
||||
.label {
|
||||
margin-left: 10px;
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
// Tools and options box
|
||||
.tools {
|
||||
display: none;
|
||||
float: right;
|
||||
color: @red;
|
||||
// icons
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
margin-right: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
}
|
||||
&:hover .tools {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&.done {
|
||||
color: #999;
|
||||
.text {
|
||||
text-decoration: line-through;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.label {
|
||||
background: @gray-lte !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Color varaity
|
||||
.danger {
|
||||
border-left-color: @red;
|
||||
}
|
||||
.warning {
|
||||
border-left-color: @yellow;
|
||||
}
|
||||
.info {
|
||||
border-left-color: @aqua;
|
||||
}
|
||||
.success {
|
||||
border-left-color: @green;
|
||||
}
|
||||
.primary {
|
||||
border-left-color: @light-blue;
|
||||
}
|
||||
|
||||
.handle {
|
||||
display: inline-block;
|
||||
cursor: move;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// END TODO WIDGET
|
||||
|
||||
/* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
|
||||
.chat {
|
||||
padding: 5px 20px 5px 10px;
|
||||
|
||||
.item {
|
||||
.clearfix();
|
||||
margin-bottom: 10px;
|
||||
// The image
|
||||
> img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border: 2px solid transparent;
|
||||
.border-radius(50%);
|
||||
}
|
||||
|
||||
> .online {
|
||||
border: 2px solid @green;
|
||||
}
|
||||
> .offline {
|
||||
border: 2px solid @red;
|
||||
}
|
||||
|
||||
// The message body
|
||||
> .message {
|
||||
margin-left: 55px;
|
||||
margin-top: -40px;
|
||||
> .name {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
// The attachment
|
||||
> .attachment {
|
||||
.border-radius(@attachment-border-radius);
|
||||
background: #f4f4f4;
|
||||
margin-left: 65px;
|
||||
margin-right: 15px;
|
||||
padding: 10px;
|
||||
> h4 {
|
||||
margin: 0 0 5px 0;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
}
|
||||
> p, > .filename {
|
||||
font-weight: 600;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
.clearfix();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//END CHAT WIDGET
|
||||
|
||||
//Input in box
|
||||
.box-input {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
//A fix for panels body text color when placed within
|
||||
// a modal
|
||||
.modal {
|
||||
.panel-body {
|
||||
color: #444;
|
||||
}
|
||||
}
|
||||
168
build/less/buttons.less
Normal file
168
build/less/buttons.less
Normal file
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
* Component: Button
|
||||
* -----------------
|
||||
*/
|
||||
|
||||
.btn {
|
||||
.border-radius(@btn-border-radius);
|
||||
.box-shadow(@btn-boxshadow);
|
||||
border: 1px solid transparent;
|
||||
|
||||
&.uppercase {
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
// Flat buttons
|
||||
&.btn-flat {
|
||||
.border-radius(0);
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
// Active state
|
||||
&:active {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
// input file btn
|
||||
&.btn-file {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
> input[type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
min-width: 100%;
|
||||
min-height: 100%;
|
||||
font-size: 100px;
|
||||
text-align: right;
|
||||
.opacity(0);
|
||||
outline: none;
|
||||
background: white;
|
||||
cursor: inherit;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Button color variations
|
||||
.btn-default {
|
||||
background-color: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #ddd;
|
||||
&:hover,
|
||||
&:active,
|
||||
&.hover {
|
||||
background-color: darken(#f4f4f4, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: @light-blue;
|
||||
border-color: darken(@light-blue, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background-color: @green;
|
||||
border-color: darken(@green, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
background-color: @aqua;
|
||||
border-color: darken(@aqua, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@aqua, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
background-color: @red;
|
||||
border-color: darken(@red, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-warning {
|
||||
background-color: @yellow;
|
||||
border-color: darken(@yellow, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline {
|
||||
border: 1px solid #fff;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: rgba(255, 255, 255, .7);
|
||||
border-color: rgba(255, 255, 255, .7);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
//General .btn with bg class
|
||||
.btn[class*='bg-']:hover {
|
||||
.box-shadow(inset 0 0 100px rgba(0, 0, 0, 0.2));
|
||||
}
|
||||
|
||||
// Application buttons
|
||||
.btn-app {
|
||||
.border-radius(3px);
|
||||
position: relative;
|
||||
padding: 15px 5px;
|
||||
margin: 0 0 10px 10px;
|
||||
min-width: 80px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
border: 1px solid #ddd;
|
||||
background-color: #f4f4f4;
|
||||
font-size: 12px;
|
||||
//Icons within the btn
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
font-size: 20px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
&:active, &:focus {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
|
||||
//The badge
|
||||
> .badge {
|
||||
position: absolute;
|
||||
top: -3px;
|
||||
right: -10px;
|
||||
font-size: 10px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
48
build/less/callout.less
Normal file
48
build/less/callout.less
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Component: Callout
|
||||
* ------------------
|
||||
*/
|
||||
|
||||
// Base styles (regardless of theme)
|
||||
.callout {
|
||||
.border-radius(3px);
|
||||
margin: 0 0 20px 0;
|
||||
padding: 15px 30px 15px 15px;
|
||||
border-left: 5px solid #eee;
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
color: #eee;
|
||||
}
|
||||
}
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
font-weight: 600;
|
||||
}
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
code,
|
||||
.highlight {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
// Themes for different contexts
|
||||
&.callout-danger {
|
||||
&:extend(.bg-red);
|
||||
border-color: darken(@red, 10%);
|
||||
}
|
||||
&.callout-warning {
|
||||
&:extend(.bg-yellow);
|
||||
border-color: darken(@yellow, 10%);
|
||||
}
|
||||
&.callout-info {
|
||||
&:extend(.bg-aqua);
|
||||
border-color: darken(@aqua, 10%);
|
||||
}
|
||||
&.callout-success {
|
||||
&:extend(.bg-green);
|
||||
border-color: darken(@green, 10%);
|
||||
}
|
||||
}
|
||||
18
build/less/carousel.less
Normal file
18
build/less/carousel.less
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Component: Carousel
|
||||
* -------------------
|
||||
*/
|
||||
.carousel-control {
|
||||
&.left,
|
||||
&.right {
|
||||
background-image: none;
|
||||
}
|
||||
> .fa {
|
||||
font-size: 40px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
z-index: 5;
|
||||
display: inline-block;
|
||||
margin-top: -20px;
|
||||
}
|
||||
}
|
||||
299
build/less/control-sidebar.less
Normal file
299
build/less/control-sidebar.less
Normal file
@@ -0,0 +1,299 @@
|
||||
/*
|
||||
* Component: Control sidebar. By default, this is the right sidebar.
|
||||
*/
|
||||
// The sidebar's background control class
|
||||
// This is a hack to make the background visible while scrolling
|
||||
.control-sidebar-bg {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
// Transitions
|
||||
.control-sidebar-bg,
|
||||
.control-sidebar {
|
||||
top: 0;
|
||||
right: -@control-sidebar-width;
|
||||
width: @control-sidebar-width;
|
||||
.transition(right @transition-speed ease-in-out);
|
||||
}
|
||||
|
||||
// The sidebar
|
||||
.control-sidebar {
|
||||
position: absolute;
|
||||
padding-top: @navbar-height;
|
||||
z-index: 1010;
|
||||
// Fix position after header collapse
|
||||
@media (max-width: @screen-sm) {
|
||||
padding-top: @navbar-height + 50;
|
||||
}
|
||||
// Tab panes
|
||||
> .tab-content {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
// Open state with slide over content effect
|
||||
&.control-sidebar-open {
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Open without slide over content
|
||||
.control-sidebar-open {
|
||||
.control-sidebar-bg,
|
||||
.control-sidebar {
|
||||
right: 0;
|
||||
}
|
||||
@media (min-width: @screen-sm) {
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-right: @control-sidebar-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fixed Layout
|
||||
.fixed {
|
||||
.control-sidebar {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
// Control sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
> li {
|
||||
&:first-of-type > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
||||
> a {
|
||||
.border-radius(0);
|
||||
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
border-left: 1px solid transparent;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
.icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Remove responsiveness on small screens
|
||||
@media (max-width: @screen-sm) {
|
||||
display: table;
|
||||
> li {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Headings in the sidebar content
|
||||
.control-sidebar-heading {
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
padding: 10px 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
// Subheadings
|
||||
.control-sidebar-subheading {
|
||||
display: block;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// Control Sidebar Menu
|
||||
.control-sidebar-menu {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 -15px;
|
||||
> li > a {
|
||||
.clearfix();
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
> .control-sidebar-subheading {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
.menu-icon {
|
||||
float: left;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
line-height: 35px;
|
||||
}
|
||||
.menu-info {
|
||||
margin-left: 45px;
|
||||
margin-top: 3px;
|
||||
> .control-sidebar-subheading {
|
||||
margin: 0;
|
||||
}
|
||||
> p {
|
||||
margin: 0;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
.progress {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Dark skin
|
||||
.control-sidebar-dark {
|
||||
color: @sidebar-dark-color;
|
||||
// Background
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
background: @sidebar-dark-bg;
|
||||
}
|
||||
// Sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
border-bottom: darken(@sidebar-dark-bg, 3%);
|
||||
> li {
|
||||
> a {
|
||||
background: darken(@sidebar-dark-bg, 5%);
|
||||
color: @sidebar-dark-color;
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-color: darken(@sidebar-dark-bg, 7%);
|
||||
border-bottom-color: darken(@sidebar-dark-bg, 7%);
|
||||
}
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: darken(@sidebar-dark-bg, 3%);
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: @sidebar-dark-bg;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Heading & subheading
|
||||
.control-sidebar-heading,
|
||||
.control-sidebar-subheading {
|
||||
color: #fff;
|
||||
}
|
||||
// Sidebar list
|
||||
.control-sidebar-menu {
|
||||
> li {
|
||||
> a {
|
||||
&:hover {
|
||||
background: @sidebar-dark-hover-bg;
|
||||
}
|
||||
.menu-info {
|
||||
> p {
|
||||
color: @sidebar-dark-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Light skin
|
||||
.control-sidebar-light {
|
||||
color: lighten(@sidebar-light-color, 10%);
|
||||
// Background
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
background: @sidebar-light-bg;
|
||||
border-left: 1px solid @gray-lte;
|
||||
}
|
||||
// Sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
border-bottom: @gray-lte;
|
||||
> li {
|
||||
> a {
|
||||
background: darken(@sidebar-light-bg, 5%);
|
||||
color: @sidebar-light-color;
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-color: @gray-lte;
|
||||
border-bottom-color: @gray-lte;
|
||||
}
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: darken(@sidebar-light-bg, 3%);
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: @sidebar-light-bg;
|
||||
color: #111;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Heading & subheading
|
||||
.control-sidebar-heading,
|
||||
.control-sidebar-subheading {
|
||||
color: #111;
|
||||
}
|
||||
// Sidebar list
|
||||
.control-sidebar-menu {
|
||||
margin-left: -14px;
|
||||
> li {
|
||||
> a {
|
||||
&:hover {
|
||||
background: @sidebar-light-hover-bg;
|
||||
}
|
||||
.menu-info {
|
||||
> p {
|
||||
color: lighten(@sidebar-light-color, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
174
build/less/core.less
Normal file
174
build/less/core.less
Normal file
@@ -0,0 +1,174 @@
|
||||
/*
|
||||
* Core: General Layout Style
|
||||
* -------------------------
|
||||
*/
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
.layout-boxed & {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* Layout */
|
||||
.wrapper {
|
||||
.clearfix();
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
.layout-boxed & {
|
||||
max-width: 1250px;
|
||||
margin: 0 auto;
|
||||
min-height: 100%;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.layout-boxed {
|
||||
background: url('@{boxed-layout-bg-image-path}') repeat fixed;
|
||||
}
|
||||
|
||||
/*
|
||||
* Content Wrapper - contains the main content
|
||||
*/
|
||||
.content-wrapper,
|
||||
.main-footer {
|
||||
// Using disposable variable to join statements with a comma
|
||||
@transition-rule: @transition-speed @transition-fn,
|
||||
margin @transition-speed @transition-fn;
|
||||
.transition-transform(@transition-rule);
|
||||
margin-left: @sidebar-width;
|
||||
z-index: 820;
|
||||
// Top nav layout
|
||||
.layout-top-nav & {
|
||||
margin-left: 0;
|
||||
}
|
||||
@media (max-width: @screen-xs-max) {
|
||||
margin-left: 0;
|
||||
}
|
||||
// When opening the sidebar on large screens
|
||||
.sidebar-collapse & {
|
||||
@media (min-width: @screen-sm) {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
// When opening the sidebar on small screens
|
||||
.sidebar-open & {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(@sidebar-width, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
min-height: 100%;
|
||||
background-color: @body-bg;
|
||||
z-index: 800;
|
||||
}
|
||||
|
||||
.main-footer {
|
||||
background: #fff;
|
||||
padding: 15px;
|
||||
color: #444;
|
||||
border-top: 1px solid @gray-lte;
|
||||
}
|
||||
|
||||
/* Fixed layout */
|
||||
.fixed {
|
||||
.main-header,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
position: fixed;
|
||||
}
|
||||
.main-header {
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
.content-wrapper,
|
||||
.right-side {
|
||||
padding-top: 50px;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
padding-top: 100px;
|
||||
}
|
||||
}
|
||||
&.layout-boxed {
|
||||
.wrapper {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
.wrapper {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.hold-transition {
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer,
|
||||
.main-sidebar,
|
||||
.left-side,
|
||||
.main-header .navbar,
|
||||
.main-header .logo,
|
||||
.menu-open .fa-angle-left {
|
||||
/* Fix for IE */
|
||||
.transition(none);
|
||||
}
|
||||
}
|
||||
|
||||
/* Content */
|
||||
.content {
|
||||
min-height: 250px;
|
||||
padding: 15px;
|
||||
.container-fixed(@grid-gutter-width);
|
||||
}
|
||||
|
||||
/* H1 - H6 font */
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
font-family: 'Source Sans Pro', sans-serif;
|
||||
}
|
||||
|
||||
/* General Links */
|
||||
a {
|
||||
color: @link-color;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:active,
|
||||
a:focus {
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
color: @link-hover-color;
|
||||
}
|
||||
|
||||
/* Page Header */
|
||||
.page-header {
|
||||
margin: 10px 0 20px 0;
|
||||
font-size: 22px;
|
||||
|
||||
> small {
|
||||
color: #666;
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
22
build/less/datepicker.less
Normal file
22
build/less/datepicker.less
Normal file
@@ -0,0 +1,22 @@
|
||||
.box {
|
||||
.datepicker-inline {
|
||||
&,
|
||||
.datepicker-days {
|
||||
&,
|
||||
> table {
|
||||
width: 100%;
|
||||
td {
|
||||
&:hover {
|
||||
background-color: rgba(255, 255, 255, .3);
|
||||
}
|
||||
&.day {
|
||||
&.old,
|
||||
&.new {
|
||||
color: #777;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
194
build/less/direct-chat.less
Normal file
194
build/less/direct-chat.less
Normal file
@@ -0,0 +1,194 @@
|
||||
/*
|
||||
* Component: Direct Chat
|
||||
* ----------------------
|
||||
*/
|
||||
.direct-chat {
|
||||
.box-body {
|
||||
.border-bottom-radius(0);
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
&.chat-pane-open {
|
||||
.direct-chat-contacts {
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-messages {
|
||||
.translate(0, 0);
|
||||
padding: 10px;
|
||||
height: 250px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.direct-chat-msg,
|
||||
.direct-chat-text {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.direct-chat-msg {
|
||||
.clearfix();
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.direct-chat-messages,
|
||||
.direct-chat-contacts {
|
||||
.transition-transform(.5s ease-in-out);
|
||||
}
|
||||
|
||||
.direct-chat-text {
|
||||
.border-radius(5px);
|
||||
position: relative;
|
||||
padding: 5px 10px;
|
||||
background: @direct-chat-default-msg-bg;
|
||||
border: 1px solid @direct-chat-default-msg-border-color;
|
||||
margin: 5px 0 0 50px;
|
||||
color: @direct-chat-default-font-color;
|
||||
|
||||
//Create the arrow
|
||||
&:after,
|
||||
&:before {
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
top: 15px;
|
||||
border: solid transparent;
|
||||
border-right-color: @direct-chat-default-msg-border-color;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
width: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
&:after {
|
||||
border-width: 5px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
&:before {
|
||||
border-width: 6px;
|
||||
margin-top: -6px;
|
||||
}
|
||||
.right & {
|
||||
margin-right: 50px;
|
||||
margin-left: 0;
|
||||
&:after,
|
||||
&:before {
|
||||
right: auto;
|
||||
left: 100%;
|
||||
border-right-color: transparent;
|
||||
border-left-color: @direct-chat-default-msg-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-img {
|
||||
.border-radius(50%);
|
||||
float: left;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
.right & {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-info {
|
||||
display: block;
|
||||
margin-bottom: 2px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.direct-chat-name {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.direct-chat-timestamp {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
//Direct chat contacts pane
|
||||
.direct-chat-contacts-open {
|
||||
.direct-chat-contacts {
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-contacts {
|
||||
.translate(101%, 0);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
height: 250px;
|
||||
width: 100%;
|
||||
background: #222d32;
|
||||
color: #fff;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
//Contacts list -- for displaying contacts in direct chat contacts pane
|
||||
.contacts-list {
|
||||
&:extend(.list-unstyled);
|
||||
> li {
|
||||
.clearfix();
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
&:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contacts-list-img {
|
||||
.border-radius(50%);
|
||||
width: 40px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.contacts-list-info {
|
||||
margin-left: 45px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.contacts-list-name,
|
||||
.contacts-list-status {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.contacts-list-name {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.contacts-list-status {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.contacts-list-date {
|
||||
color: #aaa;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.contacts-list-msg {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
//Direct Chat Variants
|
||||
.direct-chat-danger {
|
||||
.direct-chat-variant(@red);
|
||||
}
|
||||
|
||||
.direct-chat-primary {
|
||||
.direct-chat-variant(@light-blue);
|
||||
}
|
||||
|
||||
.direct-chat-warning {
|
||||
.direct-chat-variant(@yellow);
|
||||
}
|
||||
|
||||
.direct-chat-info {
|
||||
.direct-chat-variant(@aqua);
|
||||
}
|
||||
|
||||
.direct-chat-success {
|
||||
.direct-chat-variant(@green);
|
||||
}
|
||||
350
build/less/dropdown.less
Normal file
350
build/less/dropdown.less
Normal file
@@ -0,0 +1,350 @@
|
||||
/*
|
||||
* Component: Dropdown menus
|
||||
* -------------------------
|
||||
*/
|
||||
|
||||
/*Dropdowns in general*/
|
||||
.dropdown-menu {
|
||||
box-shadow: none;
|
||||
border-color: #eee;
|
||||
> li > a {
|
||||
color: #777;
|
||||
}
|
||||
> li > a > .glyphicon,
|
||||
> li > a > .fa,
|
||||
> li > a > .ion {
|
||||
margin-right: 10px;
|
||||
}
|
||||
> li > a:hover {
|
||||
background-color: lighten(@gray-lte, 5%);
|
||||
color: #333;
|
||||
}
|
||||
> .divider {
|
||||
background-color: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
//Navbar custom dropdown menu
|
||||
.navbar-nav > .notifications-menu,
|
||||
.navbar-nav > .messages-menu,
|
||||
.navbar-nav > .tasks-menu {
|
||||
//fix width and padding
|
||||
> .dropdown-menu {
|
||||
> li {
|
||||
position: relative;
|
||||
}
|
||||
width: 280px;
|
||||
//Remove padding and margins
|
||||
padding: 0 0 0 0;
|
||||
margin: 0;
|
||||
top: 100%;
|
||||
}
|
||||
//Define header class
|
||||
> .dropdown-menu > li.header {
|
||||
.border-radius(4px; 4px; 0; 0);
|
||||
background-color: #ffffff;
|
||||
padding: 7px 10px;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
color: #444444;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
//Define footer class
|
||||
> .dropdown-menu > li.footer > a {
|
||||
.border-radius(0; 0; 4px; 4px);
|
||||
font-size: 12px;
|
||||
background-color: #fff;
|
||||
padding: 7px 10px;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
color: #444 !important;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background: #fff !important;
|
||||
color: #444 !important;
|
||||
}
|
||||
text-align: center;
|
||||
//Hover state
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
//Clear inner menu padding and margins
|
||||
> .dropdown-menu > li .menu {
|
||||
max-height: 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
overflow-x: hidden;
|
||||
> li > a {
|
||||
display: block;
|
||||
white-space: nowrap; /* Prevent text from breaking */
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
// Hove state
|
||||
&:hover {
|
||||
background: #f4f4f4;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Notifications menu
|
||||
.navbar-nav > .notifications-menu {
|
||||
> .dropdown-menu > li .menu {
|
||||
// Links inside the menu
|
||||
> li > a {
|
||||
color: #444444;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 10px;
|
||||
// Icons inside the menu
|
||||
> .glyphicon,
|
||||
> .fa,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Messages menu
|
||||
.navbar-nav > .messages-menu {
|
||||
//Inner menu
|
||||
> .dropdown-menu > li .menu {
|
||||
// Messages menu item
|
||||
> li > a {
|
||||
margin: 0;
|
||||
//line-height: 20px;
|
||||
padding: 10px 10px;
|
||||
// User image
|
||||
> div > img {
|
||||
margin: auto 10px auto auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
// Message heading
|
||||
> h4 {
|
||||
padding: 0;
|
||||
margin: 0 0 0 45px;
|
||||
color: #444444;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
// Small for message time display
|
||||
> small {
|
||||
color: #999999;
|
||||
font-size: 10px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
> p {
|
||||
margin: 0 0 0 45px;
|
||||
font-size: 12px;
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.clearfix();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Tasks menu
|
||||
.navbar-nav > .tasks-menu {
|
||||
> .dropdown-menu > li .menu {
|
||||
> li > a {
|
||||
padding: 10px;
|
||||
|
||||
> h3 {
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
margin: 0 0 10px 0;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
> .progress {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//User menu
|
||||
.navbar-nav > .user-menu {
|
||||
> .dropdown-menu {
|
||||
.border-top-radius(0);
|
||||
padding: 1px 0 0 0;
|
||||
border-top-width: 0;
|
||||
width: 280px;
|
||||
|
||||
&,
|
||||
> .user-body {
|
||||
.border-bottom-radius(4px);
|
||||
}
|
||||
// Header menu
|
||||
> li.user-header {
|
||||
height: 175px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
// User image
|
||||
> img {
|
||||
z-index: 5;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
border: 3px solid;
|
||||
border-color: transparent;
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
> p {
|
||||
z-index: 5;
|
||||
color: #fff;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: 17px;
|
||||
//text-shadow: 2px 2px 3px #333333;
|
||||
margin-top: 10px;
|
||||
> small {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Menu Body
|
||||
> .user-body {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
border-top: 1px solid #dddddd;
|
||||
.clearfix();
|
||||
a {
|
||||
color: #444 !important;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background: #fff !important;
|
||||
color: #444 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Menu Footer
|
||||
> .user-footer {
|
||||
background-color: #f9f9f9;
|
||||
padding: 10px;
|
||||
.clearfix();
|
||||
.btn-default {
|
||||
color: #666666;
|
||||
&:hover {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.user-image {
|
||||
float: left;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
margin-top: -2px;
|
||||
@media (max-width: @screen-xs-max) {
|
||||
float: none;
|
||||
margin-right: 0;
|
||||
margin-top: -8px;
|
||||
line-height: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Add fade animation to dropdown menus by appending
|
||||
the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
|
||||
.open:not(.dropup) > .animated-dropdown-menu {
|
||||
backface-visibility: visible !important;
|
||||
.animation(flipInX .7s both);
|
||||
|
||||
}
|
||||
|
||||
@keyframes flipInX {
|
||||
0% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipInX {
|
||||
0% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix dropdown menu in navbars */
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
> li {
|
||||
position: relative;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
float: right;
|
||||
> li {
|
||||
position: static;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 5%;
|
||||
left: auto;
|
||||
border: 1px solid #ddd;
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
108
build/less/forms.less
Normal file
108
build/less/forms.less
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* Component: Form
|
||||
* ---------------
|
||||
*/
|
||||
.form-control {
|
||||
.border-radius(@input-radius);
|
||||
box-shadow: none;
|
||||
border-color: @gray-lte;
|
||||
&:focus {
|
||||
border-color: @light-blue;
|
||||
box-shadow: none;
|
||||
}
|
||||
&::-moz-placeholder,
|
||||
&:-ms-input-placeholder,
|
||||
&::-webkit-input-placeholder {
|
||||
color: #bbb;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:not(select) {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group {
|
||||
&.has-success {
|
||||
label {
|
||||
color: @green;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @green;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
&.has-warning {
|
||||
label {
|
||||
color: @yellow;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @yellow;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
&.has-error {
|
||||
label {
|
||||
color: @red;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @red;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Input group */
|
||||
.input-group {
|
||||
.input-group-addon {
|
||||
.border-radius(@input-radius);
|
||||
border-color: @gray-lte;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* button groups */
|
||||
.btn-group-vertical {
|
||||
.btn {
|
||||
&.btn-flat:first-of-type, &.btn-flat:last-of-type {
|
||||
.border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icheck > label {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
/* support Font Awesome icons in form-control */
|
||||
.form-control-feedback.fa {
|
||||
line-height: @input-height-base;
|
||||
}
|
||||
|
||||
.input-lg + .form-control-feedback.fa,
|
||||
.input-group-lg + .form-control-feedback.fa,
|
||||
.form-group-lg .form-control + .form-control-feedback.fa {
|
||||
line-height: @input-height-large;
|
||||
}
|
||||
|
||||
.input-sm + .form-control-feedback.fa,
|
||||
.input-group-sm + .form-control-feedback.fa,
|
||||
.form-group-sm .form-control + .form-control-feedback.fa {
|
||||
line-height: @input-height-small;
|
||||
}
|
||||
106
build/less/fullcalendar.less
Normal file
106
build/less/fullcalendar.less
Normal file
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Plugin: Full Calendar
|
||||
* ---------------------
|
||||
*/
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
// Fullcalendar buttons
|
||||
.fc-button {
|
||||
background: #f4f4f4;
|
||||
background-image: none;
|
||||
color: #444;
|
||||
border-color: #ddd;
|
||||
border-bottom-color: #ddd;
|
||||
&:hover,
|
||||
&:active,
|
||||
&.hover {
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
}
|
||||
|
||||
// Calendar title
|
||||
.fc-header-title h2 {
|
||||
font-size: 15px;
|
||||
line-height: 1.6em;
|
||||
color: #666;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.fc-header-right {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.fc-header-left {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
// Calendar table header cells
|
||||
.fc-widget-header {
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.fc-grid {
|
||||
width: 100%;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.fc-widget-header:first-of-type,
|
||||
.fc-widget-content:first-of-type {
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.fc-widget-header:last-of-type,
|
||||
.fc-widget-content:last-of-type {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.fc-toolbar {
|
||||
padding: @box-padding;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.fc-day-number {
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.fc-color-picker {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
> li {
|
||||
float: left;
|
||||
font-size: 30px;
|
||||
margin-right: 5px;
|
||||
line-height: 30px;
|
||||
.fa {
|
||||
.transition-transform(linear .3s);
|
||||
&:hover {
|
||||
.rotate(30deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#add-new-event {
|
||||
.transition(all linear .3s);
|
||||
}
|
||||
|
||||
.external-event {
|
||||
padding: 5px 10px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 4px;
|
||||
box-shadow: @box-boxshadow;
|
||||
text-shadow: @box-boxshadow;
|
||||
border-radius: @box-border-radius;
|
||||
cursor: move;
|
||||
&:hover {
|
||||
box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
248
build/less/header.less
Normal file
248
build/less/header.less
Normal file
@@ -0,0 +1,248 @@
|
||||
/*
|
||||
* Component: Main Header
|
||||
* ----------------------
|
||||
*/
|
||||
|
||||
.main-header {
|
||||
position: relative;
|
||||
max-height: 100px;
|
||||
z-index: 1030;
|
||||
//Navbar
|
||||
.navbar {
|
||||
.transition(margin-left @transition-speed @transition-fn);
|
||||
margin-bottom: 0;
|
||||
margin-left: @sidebar-width;
|
||||
border: none;
|
||||
min-height: @navbar-height;
|
||||
border-radius: 0;
|
||||
.layout-top-nav & {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
//Navbar search text input
|
||||
#navbar-search-input.form-control {
|
||||
background: rgba(255, 255, 255, .2);
|
||||
border-color: transparent;
|
||||
&:focus,
|
||||
&:active {
|
||||
border-color: rgba(0, 0, 0, .1);
|
||||
background: rgba(255, 255, 255, .9);
|
||||
}
|
||||
&::-moz-placeholder {
|
||||
color: #ccc;
|
||||
opacity: 1;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
color: #ccc;
|
||||
}
|
||||
&::-webkit-input-placeholder {
|
||||
color: #ccc;
|
||||
}
|
||||
}
|
||||
//Navbar Right Menu
|
||||
.navbar-custom-menu,
|
||||
.navbar-right {
|
||||
float: right;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
a {
|
||||
color: inherit;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
.navbar-right {
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
float: none;
|
||||
.navbar-collapse & {
|
||||
margin: 7.5px -15px;
|
||||
}
|
||||
|
||||
> li {
|
||||
color: inherit;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//Navbar toggle button
|
||||
.sidebar-toggle {
|
||||
float: left;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
||||
//Add the fontawesome bars icon
|
||||
font-family: fontAwesome;
|
||||
&:before {
|
||||
content: "\f0c9";
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
&:focus,
|
||||
&:active {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.sidebar-toggle .icon-bar {
|
||||
display: none;
|
||||
}
|
||||
//Navbar User Menu
|
||||
.navbar .nav > li.user > a {
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
//Labels in navbar
|
||||
.navbar .nav > li > a > .label {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 7px;
|
||||
text-align: center;
|
||||
font-size: 9px;
|
||||
padding: 2px 3px;
|
||||
line-height: .9;
|
||||
}
|
||||
|
||||
//Logo bar
|
||||
.logo {
|
||||
.transition(width @transition-speed @transition-fn);
|
||||
display: block;
|
||||
float: left;
|
||||
height: @navbar-height;
|
||||
font-size: 20px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
width: @sidebar-width;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 0 15px;
|
||||
font-weight: 300;
|
||||
overflow: hidden;
|
||||
//Add support to sidebar mini by allowing the user to create
|
||||
//2 logo designs. mini and lg
|
||||
.logo-lg {
|
||||
//should be visibile when sidebar isn't collapsed
|
||||
display: block;
|
||||
}
|
||||
.logo-mini {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
//Navbar Brand. Alternative logo with layout-top-nav
|
||||
.navbar-brand {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
// Content Header
|
||||
.content-header {
|
||||
position: relative;
|
||||
padding: 15px 15px 0 15px;
|
||||
// Header Text
|
||||
> h1 {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
> small {
|
||||
font-size: 15px;
|
||||
display: inline-block;
|
||||
padding-left: 4px;
|
||||
font-weight: 300;
|
||||
}
|
||||
}
|
||||
|
||||
> .breadcrumb {
|
||||
float: right;
|
||||
background: transparent;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 12px;
|
||||
padding: 7px 5px;
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 10px;
|
||||
.border-radius(2px);
|
||||
> li > a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
> li + li:before {
|
||||
content: '>\00a0';
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
> .breadcrumb {
|
||||
position: relative;
|
||||
margin-top: 5px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
float: none;
|
||||
background: @gray-lte;
|
||||
padding-left: 10px;
|
||||
li:before {
|
||||
color: darken(@gray-lte, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-toggle {
|
||||
color: #fff;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
||||
}
|
||||
|
||||
//Control navbar scaffolding on x-small screens
|
||||
@media (max-width: @screen-sm-max) {
|
||||
.navbar-custom-menu .navbar-nav > li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
//Dont't let links get full width
|
||||
.navbar-custom-menu .navbar-nav {
|
||||
margin: 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.navbar-custom-menu .navbar-nav > li > a {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
// Collapse header
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.main-header {
|
||||
position: relative;
|
||||
.logo,
|
||||
.navbar {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
.navbar {
|
||||
margin: 0;
|
||||
}
|
||||
.navbar-custom-menu {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-collapse.pull-left {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: none !important;
|
||||
+ .navbar-custom-menu {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
75
build/less/info-box.less
Normal file
75
build/less/info-box.less
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Component: Info Box
|
||||
* -------------------
|
||||
*/
|
||||
.info-box {
|
||||
display: block;
|
||||
min-height: 90px;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
box-shadow: @box-boxshadow;
|
||||
.border-radius(2px);
|
||||
margin-bottom: 15px;
|
||||
small {
|
||||
font-size: 14px;
|
||||
}
|
||||
.progress {
|
||||
background: rgba(0, 0, 0, .2);
|
||||
margin: 5px -10px 5px -10px;
|
||||
height: 2px;
|
||||
&,
|
||||
& .progress-bar {
|
||||
.border-radius(0);
|
||||
}
|
||||
.progress-bar {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-icon {
|
||||
.border-radius(2px; 0; 2px; 0);
|
||||
display: block;
|
||||
float: left;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
text-align: center;
|
||||
font-size: 45px;
|
||||
line-height: 90px;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
> img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-content {
|
||||
padding: 5px 10px;
|
||||
margin-left: 90px;
|
||||
}
|
||||
|
||||
.info-box-number {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.progress-description,
|
||||
.info-box-text {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.info-box-text {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.info-box-more {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.progress-description {
|
||||
margin: 0;
|
||||
}
|
||||
16
build/less/invoice.less
Normal file
16
build/less/invoice.less
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Page: Invoice
|
||||
* -------------
|
||||
*/
|
||||
|
||||
.invoice {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
border: 1px solid #f4f4f4;
|
||||
padding: 20px;
|
||||
margin: 10px 25px;
|
||||
}
|
||||
|
||||
.invoice-title {
|
||||
margin-top: 0;
|
||||
}
|
||||
28
build/less/labels.less
Normal file
28
build/less/labels.less
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Component: Label
|
||||
* ----------------
|
||||
*/
|
||||
.label-default {
|
||||
background-color: @gray-lte;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.label-danger {
|
||||
&:extend(.bg-red);
|
||||
}
|
||||
|
||||
.label-info {
|
||||
&:extend(.bg-aqua);
|
||||
}
|
||||
|
||||
.label-warning {
|
||||
&:extend(.bg-yellow);
|
||||
}
|
||||
|
||||
.label-primary {
|
||||
&:extend(.bg-light-blue);
|
||||
}
|
||||
|
||||
.label-success {
|
||||
&:extend(.bg-green);
|
||||
}
|
||||
73
build/less/lockscreen.less
Normal file
73
build/less/lockscreen.less
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Page: Lock Screen
|
||||
* -----------------
|
||||
*/
|
||||
/* ADD THIS CLASS TO THE <BODY> TAG */
|
||||
.lockscreen {
|
||||
background: @gray-lte;
|
||||
}
|
||||
|
||||
.lockscreen-logo {
|
||||
font-size: 35px;
|
||||
text-align: center;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 300;
|
||||
a {
|
||||
color: #444;
|
||||
}
|
||||
}
|
||||
|
||||
.lockscreen-wrapper {
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
margin-top: 10%;
|
||||
}
|
||||
|
||||
/* User name [optional] */
|
||||
.lockscreen .lockscreen-name {
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Will contain the image and the sign in form */
|
||||
.lockscreen-item {
|
||||
.border-radius(4px);
|
||||
padding: 0;
|
||||
background: #fff;
|
||||
position: relative;
|
||||
margin: 10px auto 30px auto;
|
||||
width: 290px;
|
||||
}
|
||||
|
||||
/* User image */
|
||||
.lockscreen-image {
|
||||
.border-radius(50%);
|
||||
position: absolute;
|
||||
left: -10px;
|
||||
top: -25px;
|
||||
background: #fff;
|
||||
padding: 5px;
|
||||
z-index: 10;
|
||||
> img {
|
||||
.border-radius(50%);
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Contains the password input and the login button */
|
||||
.lockscreen-credentials {
|
||||
margin-left: 70px;
|
||||
.form-control {
|
||||
border: 0;
|
||||
}
|
||||
.btn {
|
||||
background-color: #fff;
|
||||
border: 0;
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.lockscreen-footer {
|
||||
margin-top: 10px;
|
||||
}
|
||||
52
build/less/login_and_register.less
Normal file
52
build/less/login_and_register.less
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Page: Login & Register
|
||||
* ----------------------
|
||||
*/
|
||||
|
||||
.login-logo,
|
||||
.register-logo {
|
||||
font-size: 35px;
|
||||
text-align: center;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 300;
|
||||
a {
|
||||
color: #444;
|
||||
}
|
||||
}
|
||||
|
||||
.login-page,
|
||||
.register-page {
|
||||
background: @gray-lte;
|
||||
}
|
||||
|
||||
.login-box,
|
||||
.register-box {
|
||||
width: 360px;
|
||||
margin: 7% auto;
|
||||
@media (max-width: @screen-sm) {
|
||||
width: 90%;
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-box-body,
|
||||
.register-box-body {
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
border-top: 0;
|
||||
color: #666;
|
||||
.form-control-feedback {
|
||||
color: #777;
|
||||
}
|
||||
}
|
||||
|
||||
.login-box-msg,
|
||||
.register-box-msg {
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
padding: 0 20px 20px 20px;
|
||||
}
|
||||
|
||||
.social-auth-links {
|
||||
margin: 10px 0;
|
||||
}
|
||||
88
build/less/mailbox.less
Normal file
88
build/less/mailbox.less
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Page: Mailbox
|
||||
* -------------
|
||||
*/
|
||||
.mailbox-messages {
|
||||
> .table {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-controls {
|
||||
padding: 5px;
|
||||
&.with-border {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-read-info {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
padding: 10px;
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
margin: 0;
|
||||
}
|
||||
h5 {
|
||||
margin: 0;
|
||||
padding: 5px 0 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-read-time {
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.mailbox-read-message {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.mailbox-attachments {
|
||||
&:extend(.list-unstyled);
|
||||
li {
|
||||
float: left;
|
||||
width: 200px;
|
||||
border: 1px solid #eee;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-attachment-name {
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon,
|
||||
.mailbox-attachment-info,
|
||||
.mailbox-attachment-size {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mailbox-attachment-info {
|
||||
padding: 10px;
|
||||
background: #f4f4f4;
|
||||
}
|
||||
|
||||
.mailbox-attachment-size {
|
||||
color: #999;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.mailbox-attachment-icon {
|
||||
text-align: center;
|
||||
font-size: 65px;
|
||||
color: #666;
|
||||
padding: 20px 10px;
|
||||
&.has-img {
|
||||
padding: 0;
|
||||
> img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-attachment-close {
|
||||
&:extend(.close);
|
||||
}
|
||||
606
build/less/miscellaneous.less
Normal file
606
build/less/miscellaneous.less
Normal file
@@ -0,0 +1,606 @@
|
||||
/*
|
||||
* General: Miscellaneous
|
||||
* ----------------------
|
||||
*/
|
||||
// 10px padding and margins
|
||||
.pad {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.margin {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.margin-bottom {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.margin-bottom-none {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.margin-r-5 {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
// Display inline
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
// Description Blocks
|
||||
.description-block {
|
||||
display: block;
|
||||
margin: 10px 0;
|
||||
text-align: center;
|
||||
&.margin-bottom {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
> .description-header {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
}
|
||||
> .description-text {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
// Background colors
|
||||
.bg-red,
|
||||
.bg-yellow,
|
||||
.bg-aqua,
|
||||
.bg-blue,
|
||||
.bg-light-blue,
|
||||
.bg-green,
|
||||
.bg-navy,
|
||||
.bg-teal,
|
||||
.bg-olive,
|
||||
.bg-lime,
|
||||
.bg-orange,
|
||||
.bg-fuchsia,
|
||||
.bg-purple,
|
||||
.bg-maroon,
|
||||
.bg-black,
|
||||
.bg-red-active,
|
||||
.bg-yellow-active,
|
||||
.bg-aqua-active,
|
||||
.bg-blue-active,
|
||||
.bg-light-blue-active,
|
||||
.bg-green-active,
|
||||
.bg-navy-active,
|
||||
.bg-teal-active,
|
||||
.bg-olive-active,
|
||||
.bg-lime-active,
|
||||
.bg-orange-active,
|
||||
.bg-fuchsia-active,
|
||||
.bg-purple-active,
|
||||
.bg-maroon-active,
|
||||
.bg-black-active {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.bg-gray {
|
||||
color: #000;
|
||||
background-color: @gray-lte !important;
|
||||
}
|
||||
|
||||
.bg-gray-light {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
||||
.bg-black {
|
||||
background-color: @black !important;
|
||||
}
|
||||
|
||||
.bg-red {
|
||||
background-color: @red !important;
|
||||
}
|
||||
|
||||
.bg-yellow {
|
||||
background-color: @yellow !important;
|
||||
}
|
||||
|
||||
.bg-aqua {
|
||||
background-color: @aqua !important;
|
||||
}
|
||||
|
||||
.bg-blue {
|
||||
background-color: @blue !important;
|
||||
}
|
||||
|
||||
.bg-light-blue {
|
||||
background-color: @light-blue !important;
|
||||
}
|
||||
|
||||
.bg-green {
|
||||
background-color: @green !important;
|
||||
}
|
||||
|
||||
.bg-navy {
|
||||
background-color: @navy !important;
|
||||
}
|
||||
|
||||
.bg-teal {
|
||||
background-color: @teal !important;
|
||||
}
|
||||
|
||||
.bg-olive {
|
||||
background-color: @olive !important;
|
||||
}
|
||||
|
||||
.bg-lime {
|
||||
background-color: @lime !important;
|
||||
}
|
||||
|
||||
.bg-orange {
|
||||
background-color: @orange !important;
|
||||
}
|
||||
|
||||
.bg-fuchsia {
|
||||
background-color: @fuchsia !important;
|
||||
}
|
||||
|
||||
.bg-purple {
|
||||
background-color: @purple !important;
|
||||
}
|
||||
|
||||
.bg-maroon {
|
||||
background-color: @maroon !important;
|
||||
}
|
||||
|
||||
//Set of Active Background Colors
|
||||
.bg-gray-active {
|
||||
color: #000;
|
||||
background-color: darken(@gray-lte, 10%) !important;
|
||||
}
|
||||
|
||||
.bg-black-active {
|
||||
background-color: darken(@black, 10%) !important;
|
||||
}
|
||||
|
||||
.bg-red-active {
|
||||
background-color: darken(@red , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-yellow-active {
|
||||
background-color: darken(@yellow , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-aqua-active {
|
||||
background-color: darken(@aqua , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-blue-active {
|
||||
background-color: darken(@blue , 10%) !important;
|
||||
}
|
||||
|
||||
.bg-light-blue-active {
|
||||
background-color: darken(@light-blue , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-green-active {
|
||||
background-color: darken(@green , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-navy-active {
|
||||
background-color: darken(@navy , 2%) !important;
|
||||
}
|
||||
|
||||
.bg-teal-active {
|
||||
background-color: darken(@teal , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-olive-active {
|
||||
background-color: darken(@olive , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-lime-active {
|
||||
background-color: darken(@lime , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-orange-active {
|
||||
background-color: darken(@orange , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-fuchsia-active {
|
||||
background-color: darken(@fuchsia , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-purple-active {
|
||||
background-color: darken(@purple , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-maroon-active {
|
||||
background-color: darken(@maroon , 3%) !important;
|
||||
}
|
||||
|
||||
//Disabled!
|
||||
[class^="bg-"].disabled {
|
||||
.opacity(.65);
|
||||
}
|
||||
|
||||
// Text colors
|
||||
.text-red {
|
||||
color: @red !important;
|
||||
}
|
||||
|
||||
.text-yellow {
|
||||
color: @yellow !important;
|
||||
}
|
||||
|
||||
.text-aqua {
|
||||
color: @aqua !important;
|
||||
}
|
||||
|
||||
.text-blue {
|
||||
color: @blue !important;
|
||||
}
|
||||
|
||||
.text-black {
|
||||
color: @black !important;
|
||||
}
|
||||
|
||||
.text-light-blue {
|
||||
color: @light-blue !important;
|
||||
}
|
||||
|
||||
.text-green {
|
||||
color: @green !important;
|
||||
}
|
||||
|
||||
.text-gray {
|
||||
color: @gray-lte !important;
|
||||
}
|
||||
|
||||
.text-navy {
|
||||
color: @navy !important;
|
||||
}
|
||||
|
||||
.text-teal {
|
||||
color: @teal !important;
|
||||
}
|
||||
|
||||
.text-olive {
|
||||
color: @olive !important;
|
||||
}
|
||||
|
||||
.text-lime {
|
||||
color: @lime !important;
|
||||
}
|
||||
|
||||
.text-orange {
|
||||
color: @orange !important;
|
||||
}
|
||||
|
||||
.text-fuchsia {
|
||||
color: @fuchsia !important;
|
||||
}
|
||||
|
||||
.text-purple {
|
||||
color: @purple !important;
|
||||
}
|
||||
|
||||
.text-maroon {
|
||||
color: @maroon !important;
|
||||
}
|
||||
|
||||
.link-muted {
|
||||
color: darken(@gray-lte, 30%);
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: darken(@gray-lte, 40%);
|
||||
}
|
||||
}
|
||||
|
||||
.link-black {
|
||||
color: #666;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
// Hide elements by display none only
|
||||
.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
// Remove borders
|
||||
.no-border {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
// Remove padding
|
||||
.no-padding {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
// Remove margins
|
||||
.no-margin {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
// Remove box shadow
|
||||
.no-shadow {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
// Unstyled List
|
||||
.list-unstyled {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.list-group-unbordered {
|
||||
> .list-group-item {
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-radius: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Remove border radius
|
||||
.flat {
|
||||
.border-radius(0) !important;
|
||||
}
|
||||
|
||||
.text-bold {
|
||||
&, &.table td, &.table th {
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
.text-sm {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
// _fix for sparkline tooltip
|
||||
.jqstooltip {
|
||||
padding: 5px !important;
|
||||
width: auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
// Gradient Background colors
|
||||
.bg-teal-gradient {
|
||||
.gradient(@teal; @teal; lighten(@teal, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-light-blue-gradient {
|
||||
.gradient(@light-blue; @light-blue; lighten(@light-blue, 12%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-blue-gradient {
|
||||
.gradient(@blue; @blue; lighten(@blue, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-aqua-gradient {
|
||||
.gradient(@aqua; @aqua; lighten(@aqua, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-yellow-gradient {
|
||||
.gradient(@yellow; @yellow; lighten(@yellow, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-purple-gradient {
|
||||
.gradient(@purple; @purple; lighten(@purple, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-green-gradient {
|
||||
.gradient(@green; @green; lighten(@green, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-red-gradient {
|
||||
.gradient(@red; @red; lighten(@red, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-black-gradient {
|
||||
.gradient(@black; @black; lighten(@black, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-maroon-gradient {
|
||||
.gradient(@maroon; @maroon; lighten(@maroon, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
//Description Block Extension
|
||||
.description-block {
|
||||
.description-icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
//Remove top padding
|
||||
.no-pad-top {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
//Make position static
|
||||
.position-static {
|
||||
position: static !important;
|
||||
}
|
||||
|
||||
//List utility classes
|
||||
.list-header {
|
||||
font-size: 15px;
|
||||
padding: 10px 4px;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.list-seperator {
|
||||
height: 1px;
|
||||
background: @box-border-color;
|
||||
margin: 15px 0 9px 0;
|
||||
}
|
||||
|
||||
.list-link {
|
||||
> a {
|
||||
padding: 4px;
|
||||
color: #777;
|
||||
&:hover {
|
||||
color: #222;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Light font weight
|
||||
.font-light {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
//User block
|
||||
.user-block {
|
||||
.clearfix();
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
float: left;
|
||||
}
|
||||
.username,
|
||||
.description,
|
||||
.comment {
|
||||
display: block;
|
||||
margin-left: 50px;
|
||||
}
|
||||
.username {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.description {
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
}
|
||||
&.user-block-sm {
|
||||
img {
|
||||
&:extend(.img-sm);
|
||||
}
|
||||
.username,
|
||||
.description,
|
||||
.comment {
|
||||
margin-left: 40px;
|
||||
}
|
||||
.username {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Image sizes
|
||||
.img-sm,
|
||||
.img-md,
|
||||
.img-lg {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.img-sm {
|
||||
width: 30px !important;
|
||||
height: 30px !important;
|
||||
+ .img-push {
|
||||
margin-left: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-md {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
+ .img-push {
|
||||
margin-left: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-lg {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
+ .img-push {
|
||||
margin-left: 110px;
|
||||
}
|
||||
}
|
||||
|
||||
// Image bordered
|
||||
.img-bordered {
|
||||
border: 3px solid @gray-lte;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.img-bordered-sm {
|
||||
border: 2px solid @gray-lte;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
//General attachemnt block
|
||||
.attachment-block {
|
||||
border: 1px solid @box-border-color;
|
||||
padding: 5px;
|
||||
margin-bottom: 10px;
|
||||
background: #f7f7f7;
|
||||
|
||||
.attachment-img {
|
||||
max-width: 100px;
|
||||
max-height: 100px;
|
||||
height: auto;
|
||||
float: left;
|
||||
}
|
||||
.attachment-pushed {
|
||||
margin-left: 110px;
|
||||
}
|
||||
.attachment-heading {
|
||||
margin: 0;
|
||||
}
|
||||
.attachment-text {
|
||||
color: #555;
|
||||
}
|
||||
}
|
||||
|
||||
.connectedSortable {
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
.ui-helper-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.sort-highlight {
|
||||
background: #f4f4f4;
|
||||
border: 1px dashed #ddd;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.full-opacity-hover {
|
||||
.opacity(.65);
|
||||
&:hover {
|
||||
.opacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Charts
|
||||
.chart {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
svg,
|
||||
canvas {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
312
build/less/mixins.less
Normal file
312
build/less/mixins.less
Normal file
@@ -0,0 +1,312 @@
|
||||
//AdminLTE mixins
|
||||
//===============
|
||||
|
||||
//Changes the color and the hovering properties of the navbar
|
||||
.navbar-variant(@color; @font-color: rgba(255, 255, 255, 0.8); @hover-color: #f6f6f6; @hover-bg: rgba(0, 0, 0, 0.1)) {
|
||||
background-color: @color;
|
||||
//Navbar links
|
||||
.nav > li > a {
|
||||
color: @font-color;
|
||||
}
|
||||
|
||||
.nav > li > a:hover,
|
||||
.nav > li > a:active,
|
||||
.nav > li > a:focus,
|
||||
.nav .open > a,
|
||||
.nav .open > a:hover,
|
||||
.nav .open > a:focus,
|
||||
.nav > .active > a {
|
||||
background: @hover-bg;
|
||||
color: @hover-color;
|
||||
}
|
||||
|
||||
//Add color to the sidebar toggle button
|
||||
.sidebar-toggle {
|
||||
color: @font-color;
|
||||
&:hover {
|
||||
color: @hover-color;
|
||||
background: @hover-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Logo color variation
|
||||
.logo-variant(@bg-color; @color: #fff; @border-bottom-color: transparent; @border-bottom-width: 0) {
|
||||
background-color: @bg-color;
|
||||
color: @color;
|
||||
border-bottom: @border-bottom-width solid @border-bottom-color;
|
||||
|
||||
&:hover {
|
||||
background-color: darken(@bg-color, 1%);
|
||||
}
|
||||
}
|
||||
|
||||
//Box solid color variantion creator
|
||||
.box-solid-variant(@color; @text-color: #fff) {
|
||||
border: 1px solid @color;
|
||||
> .box-header {
|
||||
color: @text-color;
|
||||
background: @color;
|
||||
background-color: @color;
|
||||
a,
|
||||
.btn {
|
||||
color: @text-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Direct Chat Variant
|
||||
.direct-chat-variant(@bg-color; @color: #fff) {
|
||||
.right > .direct-chat-text {
|
||||
background: @bg-color;
|
||||
border-color: @bg-color;
|
||||
color: @color;
|
||||
&:after,
|
||||
&:before {
|
||||
border-left-color: @bg-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//border radius creator
|
||||
.border-radius(@radius) {
|
||||
border-radius: @radius;
|
||||
}
|
||||
|
||||
//Different radius each side
|
||||
.border-radius(@top-left, @top-right, @bottom-left, @bottom-right)
|
||||
{
|
||||
border-top-left-radius: @top-left;
|
||||
border-top-right-radius: @top-right;
|
||||
border-bottom-right-radius: @bottom-right;
|
||||
border-bottom-left-radius: @bottom-left;
|
||||
}
|
||||
|
||||
//Gradient background
|
||||
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
||||
background: @color;
|
||||
background: -webkit-gradient(linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0, @start),
|
||||
color-stop(1, @stop));
|
||||
background: -ms-linear-gradient(bottom,
|
||||
@start,
|
||||
@stop);
|
||||
background: -moz-linear-gradient(center bottom,
|
||||
@start 0%,
|
||||
@stop 100%);
|
||||
background: -o-linear-gradient(@stop,
|
||||
@start);
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
|
||||
}
|
||||
|
||||
//Added 2.1.0
|
||||
//Skins Mixins
|
||||
|
||||
//Dark Sidebar Mixin
|
||||
.skin-dark-sidebar(@link-hover-border-color) {
|
||||
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
||||
.wrapper,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
background-color: @sidebar-dark-bg;
|
||||
}
|
||||
//User Panel (resides in the sidebar)
|
||||
.user-panel {
|
||||
> .info, > .info > a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
//Sidebar Menu. First level links
|
||||
.sidebar-menu > li {
|
||||
//Section Headning
|
||||
&.header {
|
||||
color: lighten(@sidebar-dark-bg, 20%);
|
||||
background: darken(@sidebar-dark-bg, 4%);
|
||||
}
|
||||
//links
|
||||
> a {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
//Hover and active states
|
||||
&:hover > a,
|
||||
&.active > a,
|
||||
&.menu-open > a {
|
||||
color: @sidebar-dark-hover-color;
|
||||
background: @sidebar-dark-hover-bg;
|
||||
}
|
||||
&.active > a {
|
||||
border-left-color: @link-hover-border-color;
|
||||
}
|
||||
//First Level Submenu
|
||||
> .treeview-menu {
|
||||
margin: 0 1px;
|
||||
background: @sidebar-dark-submenu-bg;
|
||||
}
|
||||
}
|
||||
//All links within the sidebar menu
|
||||
.sidebar a {
|
||||
color: @sidebar-dark-color;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
//All submenus
|
||||
.sidebar-menu .treeview-menu {
|
||||
> li {
|
||||
> a {
|
||||
color: @sidebar-dark-submenu-color;
|
||||
}
|
||||
&.active > a, > a:hover {
|
||||
color: @sidebar-dark-submenu-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
//The sidebar search form
|
||||
.sidebar-form {
|
||||
.border-radius(3px);
|
||||
border: 1px solid lighten(@sidebar-dark-bg, 10%);
|
||||
margin: 10px 10px;
|
||||
input[type="text"], .btn {
|
||||
box-shadow: none;
|
||||
background-color: lighten(@sidebar-dark-bg, 10%);
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
//.transition(all @transition-speed @transition-fn);
|
||||
}
|
||||
input[type="text"] {
|
||||
color: #666;
|
||||
.border-radius(2px, 0, 2px, 0);
|
||||
&:focus,
|
||||
&:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
&:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
color: #999;
|
||||
.border-radius(0, 2px, 0, 2px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Light Sidebar Mixin
|
||||
.skin-light-sidebar(@icon-active-color) {
|
||||
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
||||
.wrapper,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
background-color: @sidebar-light-bg;
|
||||
}
|
||||
.content-wrapper,
|
||||
.main-footer {
|
||||
//border-left: 1px solid @gray-lte;
|
||||
}
|
||||
.main-sidebar {
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
//User Panel (resides in the sidebar)
|
||||
.user-panel {
|
||||
> .info, > .info > a {
|
||||
color: @sidebar-light-color;
|
||||
}
|
||||
}
|
||||
//Sidebar Menu. First level links
|
||||
.sidebar-menu > li {
|
||||
.transition(border-left-color .3s ease);
|
||||
//border-left: 3px solid transparent;
|
||||
//Section Headning
|
||||
&.header {
|
||||
color: lighten(@sidebar-light-color, 25%);
|
||||
background: @sidebar-light-bg;
|
||||
}
|
||||
//links
|
||||
> a {
|
||||
border-left: 3px solid transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
//Hover and active states
|
||||
&:hover > a,
|
||||
&.active > a {
|
||||
color: @sidebar-light-hover-color;
|
||||
background: @sidebar-light-hover-bg;
|
||||
}
|
||||
&:hover > a {
|
||||
|
||||
}
|
||||
&.active {
|
||||
border-left-color: @icon-active-color;
|
||||
> a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
//First Level Submenu
|
||||
> .treeview-menu {
|
||||
background: @sidebar-light-submenu-bg;
|
||||
}
|
||||
}
|
||||
//All links within the sidebar menu
|
||||
.sidebar a {
|
||||
color: @sidebar-light-color;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
//All submenus
|
||||
.sidebar-menu .treeview-menu {
|
||||
> li {
|
||||
> a {
|
||||
color: @sidebar-light-submenu-color;
|
||||
}
|
||||
&.active > a,
|
||||
> a:hover {
|
||||
color: @sidebar-light-submenu-hover-color;
|
||||
}
|
||||
&.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
//The sidebar search form
|
||||
.sidebar-form {
|
||||
.border-radius(3px);
|
||||
border: 1px solid @gray-lte; //darken(@sidebar-light-bg, 5%);
|
||||
margin: 10px 10px;
|
||||
input[type="text"],
|
||||
.btn {
|
||||
box-shadow: none;
|
||||
background-color: #fff; //darken(@sidebar-light-bg, 3%);
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
//.transition(all @transition-speed @transition-fn);
|
||||
}
|
||||
input[type="text"] {
|
||||
color: #666;
|
||||
.border-radius(2px, 0, 2px, 0);
|
||||
&:focus,
|
||||
&:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
&:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
color: #999;
|
||||
.border-radius(0, 2px, 0, 2px);
|
||||
}
|
||||
}
|
||||
@media (min-width: @screen-sm-min) {
|
||||
&.sidebar-mini.sidebar-collapse {
|
||||
.sidebar-menu > li > .treeview-menu {
|
||||
border-left: 1px solid @gray-lte;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
80
build/less/modal.less
Normal file
80
build/less/modal.less
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Component: modal
|
||||
* ----------------
|
||||
*/
|
||||
.modal {
|
||||
background: rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
.border-radius(0);
|
||||
.box-shadow(0 2px 3px rgba(0, 0, 0, .125));
|
||||
border: 0;
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.box-shadow(0 2px 3px rgba(0, 0, 0, .125));
|
||||
}
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom-color: @box-border-color;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
border-top-color: @box-border-color;
|
||||
}
|
||||
|
||||
//Modal variants
|
||||
.modal-primary {
|
||||
.modal-body {
|
||||
&:extend(.bg-light-blue);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-light-blue-active);
|
||||
border-color: darken(@light-blue, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-warning {
|
||||
.modal-body {
|
||||
&:extend(.bg-yellow);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-yellow-active);
|
||||
border-color: darken(@yellow, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-info {
|
||||
.modal-body {
|
||||
&:extend(.bg-aqua);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-aqua-active);
|
||||
border-color: darken(@aqua, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-success {
|
||||
.modal-body {
|
||||
&:extend(.bg-green);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-green-active);
|
||||
border-color: darken(@green, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-danger {
|
||||
.modal-body {
|
||||
&:extend(.bg-red);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-red-active);
|
||||
border-color: darken(@red, 10%);
|
||||
}
|
||||
}
|
||||
232
build/less/navs.less
Normal file
232
build/less/navs.less
Normal file
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* Component: Nav
|
||||
* --------------
|
||||
*/
|
||||
|
||||
.nav {
|
||||
> li > a:hover,
|
||||
> li > a:active,
|
||||
> li > a:focus {
|
||||
color: #444;
|
||||
background: #f7f7f7;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV PILLS */
|
||||
.nav-pills {
|
||||
> li > a {
|
||||
.border-radius(0);
|
||||
border-top: 3px solid transparent;
|
||||
color: #444;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
> li.active > a,
|
||||
> li.active > a:hover,
|
||||
> li.active > a:focus {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
> li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV STACKED */
|
||||
.nav-stacked {
|
||||
> li > a {
|
||||
.border-radius(0);
|
||||
border-top: 0;
|
||||
border-left: 3px solid transparent;
|
||||
color: #444;
|
||||
}
|
||||
> li.active > a,
|
||||
> li.active > a:hover {
|
||||
background: transparent;
|
||||
color: #444;
|
||||
border-top: 0;
|
||||
border-left-color: @light-blue;
|
||||
}
|
||||
|
||||
> li.header {
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #777;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px 10px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV TABS */
|
||||
.nav-tabs-custom {
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
box-shadow: @box-boxshadow;
|
||||
border-radius: @box-border-radius;
|
||||
> .nav-tabs {
|
||||
margin: 0;
|
||||
border-bottom-color: #f4f4f4;
|
||||
|
||||
.border-top-radius(@box-border-radius);
|
||||
> li {
|
||||
border-top: 3px solid transparent;
|
||||
margin-bottom: -2px;
|
||||
|
||||
&.disabled > a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: #444;
|
||||
.border-radius(0);
|
||||
&.text-muted {
|
||||
color: #999;
|
||||
}
|
||||
&,
|
||||
&:hover {
|
||||
background: transparent;
|
||||
margin: 0;
|
||||
}
|
||||
&:hover {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
&:not(.active) {
|
||||
> a:hover,
|
||||
> a:focus,
|
||||
> a:active {
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
> li.active {
|
||||
border-top-color: @light-blue;
|
||||
& > a,
|
||||
&:hover > a {
|
||||
background-color: #fff;
|
||||
color: #444;
|
||||
}
|
||||
> a {
|
||||
border-top-color: transparent;
|
||||
border-left-color: #f4f4f4;
|
||||
border-right-color: #f4f4f4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
> li:first-of-type {
|
||||
margin-left: 0;
|
||||
&.active {
|
||||
> a {
|
||||
border-left-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Pulled to the right
|
||||
&.pull-right {
|
||||
float: none !important;
|
||||
> li {
|
||||
float: right;
|
||||
}
|
||||
> li:first-of-type {
|
||||
margin-right: 0;
|
||||
> a {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
&.active {
|
||||
> a {
|
||||
border-left-color: #f4f4f4;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> li.header {
|
||||
line-height: 35px;
|
||||
padding: 0 10px;
|
||||
font-size: 20px;
|
||||
color: #444;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .tab-content {
|
||||
background: #fff;
|
||||
padding: 10px;
|
||||
.border-bottom-radius(@box-border-radius);
|
||||
}
|
||||
|
||||
.dropdown.open > a {
|
||||
&:active,
|
||||
&:focus {
|
||||
background: transparent;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
// Tab color variations
|
||||
&.tab-primary {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-info {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @aqua;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-danger {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @red;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-warning {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @yellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-success {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @green;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-default {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* PAGINATION */
|
||||
.pagination {
|
||||
> li > a {
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
}
|
||||
&.pagination-flat {
|
||||
> li > a {
|
||||
.border-radius(0) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
5
build/less/plugins.less
Normal file
5
build/less/plugins.less
Normal file
@@ -0,0 +1,5 @@
|
||||
// Customized third-party plugins
|
||||
@import "bootstrap-social.less";
|
||||
@import "fullcalendar.less";
|
||||
@import "select2.less";
|
||||
@import "datepicker";
|
||||
54
build/less/print.less
Normal file
54
build/less/print.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Misc: print
|
||||
* -----------
|
||||
*/
|
||||
@media print {
|
||||
//Add to elements that you do not want to show when printing
|
||||
.no-print {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
//Elements that we want to hide when printing
|
||||
.main-sidebar,
|
||||
.left-side,
|
||||
.main-header,
|
||||
.content-header {
|
||||
&:extend(.no-print);
|
||||
}
|
||||
|
||||
//This is the only element that should appear, so let's remove the margins
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-left: 0 !important;
|
||||
min-height: 0 !important;
|
||||
.translate(0, 0) !important;
|
||||
}
|
||||
|
||||
.fixed .content-wrapper,
|
||||
.fixed .right-side {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
//Invoice printing
|
||||
.invoice {
|
||||
width: 100%;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.invoice-col {
|
||||
float: left;
|
||||
width: 33.3333333%;
|
||||
}
|
||||
|
||||
//Make sure table content displays properly
|
||||
.table-responsive {
|
||||
overflow: auto;
|
||||
> .table tr th,
|
||||
> .table tr td {
|
||||
white-space: normal !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
45
build/less/products.less
Normal file
45
build/less/products.less
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Component: Products List
|
||||
* ------------------------
|
||||
*/
|
||||
.products-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
> .item {
|
||||
.border-radius(@box-border-radius);
|
||||
.box-shadow(@box-boxshadow);
|
||||
.clearfix();
|
||||
padding: 10px 0;
|
||||
background: #fff;
|
||||
}
|
||||
.product-img {
|
||||
float: left;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
.product-info {
|
||||
margin-left: 60px;
|
||||
}
|
||||
.product-title {
|
||||
font-weight: 600;
|
||||
}
|
||||
.product-description {
|
||||
display: block;
|
||||
color: #999;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.product-list-in-box > .item {
|
||||
.box-shadow(none);
|
||||
.border-radius(0);
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
&:last-of-type {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
}
|
||||
31
build/less/profile.less
Normal file
31
build/less/profile.less
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Page: Profile
|
||||
* -------------
|
||||
*/
|
||||
|
||||
.profile-user-img {
|
||||
margin: 0 auto;
|
||||
width: 100px;
|
||||
padding: 3px;
|
||||
border: 3px solid @gray-lte;
|
||||
}
|
||||
|
||||
.profile-username {
|
||||
font-size: 21px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.post {
|
||||
border-bottom: 1px solid @gray-lte;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 15px;
|
||||
color: #666;
|
||||
&:last-of-type {
|
||||
border-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.user-block {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
111
build/less/progress-bars.less
Normal file
111
build/less/progress-bars.less
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Component: Progress Bar
|
||||
* -----------------------
|
||||
*/
|
||||
|
||||
//General CSS
|
||||
.progress,
|
||||
.progress > .progress-bar {
|
||||
.box-shadow(none);
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
/* size variation */
|
||||
.progress.sm,
|
||||
.progress-sm {
|
||||
height: 10px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-sm-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.progress.xs,
|
||||
.progress-xs {
|
||||
height: 7px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-xs-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.progress.xxs,
|
||||
.progress-xxs {
|
||||
height: 3px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-xs-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
/* Vertical bars */
|
||||
.progress.vertical {
|
||||
position: relative;
|
||||
width: 30px;
|
||||
height: 200px;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
> .progress-bar {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
//Sizes
|
||||
&.sm,
|
||||
&.progress-sm {
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
&.xs,
|
||||
&.progress-xs {
|
||||
width: 10px;
|
||||
}
|
||||
&.xxs,
|
||||
&.progress-xxs {
|
||||
width: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
//Progress Groups
|
||||
.progress-group {
|
||||
.progress-text {
|
||||
font-weight: 600;
|
||||
}
|
||||
.progress-number {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove margins from progress bars when put in a table */
|
||||
.table {
|
||||
tr > td .progress {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Variations
|
||||
// -------------------------
|
||||
.progress-bar-light-blue,
|
||||
.progress-bar-primary {
|
||||
.progress-bar-variant(@light-blue);
|
||||
}
|
||||
|
||||
.progress-bar-green,
|
||||
.progress-bar-success {
|
||||
.progress-bar-variant(@green);
|
||||
}
|
||||
|
||||
.progress-bar-aqua,
|
||||
.progress-bar-info {
|
||||
.progress-bar-variant(@aqua);
|
||||
}
|
||||
|
||||
.progress-bar-yellow,
|
||||
.progress-bar-warning {
|
||||
.progress-bar-variant(@yellow);
|
||||
}
|
||||
|
||||
.progress-bar-red,
|
||||
.progress-bar-danger {
|
||||
.progress-bar-variant(@red);
|
||||
}
|
||||
127
build/less/select2.less
Normal file
127
build/less/select2.less
Normal file
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* Plugin: Select2
|
||||
* ---------------
|
||||
*/
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
//Signle select
|
||||
.select2-container--default,
|
||||
.select2-selection {
|
||||
&.select2-container--focus,
|
||||
&:focus,
|
||||
&:active {
|
||||
outline: none;
|
||||
}
|
||||
.select2-selection--single {
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
padding: 6px 12px;
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default.select2-container--open {
|
||||
border-color: @light-blue;
|
||||
}
|
||||
|
||||
.select2-dropdown {
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: @light-blue;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.select2-results__option {
|
||||
padding: 6px 12px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
height: auto;
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 6px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
height: 28px;
|
||||
right: 3px;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.select2-dropdown,
|
||||
.select2-search--inline {
|
||||
.select2-search__field {
|
||||
border: 1px solid @gray-lte;
|
||||
&:focus {
|
||||
outline: none;
|
||||
//border: 1px solid @light-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple,
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
border-color: @light-blue !important;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||
background-color: #ddd;
|
||||
&,
|
||||
&:hover {
|
||||
color: #444;
|
||||
}
|
||||
}
|
||||
|
||||
//Multiple select
|
||||
.select2-container--default {
|
||||
.select2-selection--multiple {
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
&:focus {
|
||||
border-color: @light-blue;
|
||||
}
|
||||
}
|
||||
&.select2-container--focus .select2-selection--multiple {
|
||||
border-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: @light-blue;
|
||||
border-color: darken(@light-blue, 5%);
|
||||
padding: 1px 10px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-right: 5px;
|
||||
color: rgba(255, 255, 255, .7);
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 10px;
|
||||
}
|
||||
165
build/less/sidebar-mini.less
Normal file
165
build/less/sidebar-mini.less
Normal file
@@ -0,0 +1,165 @@
|
||||
/*
|
||||
* Component: Sidebar Mini
|
||||
*/
|
||||
|
||||
//Add sidebar-mini class to the body tag to activate this feature
|
||||
.sidebar-mini {
|
||||
//Sidebar mini should work only on devices larger than @screen-sm
|
||||
@media (min-width: @screen-sm) {
|
||||
//When the sidebar is collapsed...
|
||||
&.sidebar-collapse {
|
||||
|
||||
//Apply the new margining to the main content and footer
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-left: 50px !important;
|
||||
z-index: 840;
|
||||
}
|
||||
|
||||
//Modify the sidebar to shrink instead of disappearing
|
||||
.main-sidebar {
|
||||
//Don't go away! Just shrink
|
||||
.translate(0, 0);
|
||||
width: 50px !important;
|
||||
z-index: 850;
|
||||
}
|
||||
|
||||
.sidebar-menu {
|
||||
> li {
|
||||
position: relative;
|
||||
> a {
|
||||
margin-right: 0;
|
||||
}
|
||||
> a > span {
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
&:not(.treeview) {
|
||||
> a > span {
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
> .treeview-menu {
|
||||
// Add some padding to the treeview menu
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Make the sidebar links, menus, labels, badges
|
||||
//and angle icons disappear
|
||||
.main-sidebar .user-panel > .info,
|
||||
.sidebar-form,
|
||||
.sidebar-menu > li > a > span,
|
||||
.sidebar-menu > li > .treeview-menu,
|
||||
.sidebar-menu > li > a > .pull-right,
|
||||
.sidebar-menu li.header {
|
||||
display: none !important;
|
||||
-webkit-transform: translateZ(0);
|
||||
}
|
||||
|
||||
.main-header {
|
||||
//Let's make the logo also shrink and the mini logo to appear
|
||||
.logo {
|
||||
width: 50px;
|
||||
> .logo-mini {
|
||||
display: block;
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
font-size: 18px;
|
||||
}
|
||||
> .logo-lg {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Since the logo got smaller, we need to fix the navbar's position
|
||||
.navbar {
|
||||
margin-left: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Show menu items on hover
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse {
|
||||
.sidebar-menu > li:hover {
|
||||
> a {
|
||||
//overflow: visible;
|
||||
}
|
||||
> a > span:not(.pull-right), //:not(.pull-right-container),
|
||||
> .treeview-menu {
|
||||
display: block !important;
|
||||
position: absolute;
|
||||
width: @sidebar-width - 50;
|
||||
left: 50px;
|
||||
}
|
||||
|
||||
//position the header & treeview menus
|
||||
> a > span {
|
||||
top: 0;
|
||||
margin-left: -3px;
|
||||
padding: 12px 5px 12px 20px;
|
||||
background-color: inherit;
|
||||
}
|
||||
> a > .pull-right-container {
|
||||
//display: block!important;
|
||||
position: relative !important;
|
||||
float: right;
|
||||
width: auto !important;
|
||||
left: 200px - 20px !important;
|
||||
top: -22px !important;
|
||||
z-index: 900;
|
||||
> .label:not(:first-of-type) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
> .treeview-menu {
|
||||
top: 44px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-expanded-on-hover {
|
||||
.main-footer,
|
||||
.content-wrapper {
|
||||
margin-left: 50px;
|
||||
}
|
||||
.main-sidebar {
|
||||
box-shadow: @sidebar-expanded-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
//A fix for text overflow while transitioning from sidebar mini to full sidebar
|
||||
.sidebar-menu,
|
||||
.main-sidebar .user-panel,
|
||||
.sidebar-menu > li.header {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sidebar-menu:hover {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.sidebar-form,
|
||||
.sidebar-menu > li.header {
|
||||
overflow: hidden;
|
||||
text-overflow: clip;
|
||||
}
|
||||
|
||||
.sidebar-menu li > a {
|
||||
position: relative;
|
||||
> .pull-right-container {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
margin-top: -7px;
|
||||
}
|
||||
}
|
||||
141
build/less/sidebar.less
Normal file
141
build/less/sidebar.less
Normal file
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
* Component: Sidebar
|
||||
* ------------------
|
||||
*/
|
||||
// Main Sidebar
|
||||
.main-sidebar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding-top: 50px;
|
||||
min-height: 100%;
|
||||
width: @sidebar-width;
|
||||
z-index: 810;
|
||||
|
||||
// Using disposable variable to join statements with a comma
|
||||
@transition-rule: @transition-speed @transition-fn, width @transition-speed @transition-fn;
|
||||
.transition-transform(@transition-rule);
|
||||
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
padding-top: 100px;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(-@sidebar-width, 0);
|
||||
}
|
||||
|
||||
.sidebar-collapse & {
|
||||
@media (min-width: @screen-sm) {
|
||||
.translate(-@sidebar-width, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-open & {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
// Remove border from form
|
||||
.sidebar-form {
|
||||
input:focus {
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar user panel
|
||||
.user-panel {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
.clearfix();
|
||||
> .image > img {
|
||||
width: 100%;
|
||||
max-width: 45px;
|
||||
height: auto;
|
||||
}
|
||||
> .info {
|
||||
padding: 5px 5px 5px 15px;
|
||||
line-height: 1;
|
||||
position: absolute;
|
||||
left: 55px;
|
||||
> p {
|
||||
font-weight: 600;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
> a {
|
||||
text-decoration: none;
|
||||
padding-right: 5px;
|
||||
margin-top: 3px;
|
||||
font-size: 11px;
|
||||
> .fa,
|
||||
> .ion,
|
||||
> .glyphicon {
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar menu
|
||||
.sidebar-menu {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
//First Level
|
||||
> li {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
> a {
|
||||
padding: 12px 5px 12px 15px;
|
||||
display: block;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
.label,
|
||||
.badge {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.badge {
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
li.header {
|
||||
padding: 10px 25px 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
li > a > .fa-angle-left,
|
||||
li > a > .pull-right-container > .fa-angle-left {
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin-right: 10px;
|
||||
.transition(transform .5s ease);
|
||||
}
|
||||
li > a > .fa-angle-left {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 10px;
|
||||
margin-top: -8px;
|
||||
}
|
||||
|
||||
.menu-open {
|
||||
> a > .fa-angle-left,
|
||||
> a > .pull-right-container > .fa-angle-left {
|
||||
.rotate(-90deg);
|
||||
}
|
||||
}
|
||||
.active > .treeview-menu {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
13
build/less/skins/_all-skins.less
Normal file
13
build/less/skins/_all-skins.less
Normal file
@@ -0,0 +1,13 @@
|
||||
//All skins in one file
|
||||
@import "skin-blue.less";
|
||||
@import "skin-blue-light.less";
|
||||
@import "skin-black.less";
|
||||
@import "skin-black-light.less";
|
||||
@import "skin-green.less";
|
||||
@import "skin-green-light.less";
|
||||
@import "skin-red.less";
|
||||
@import "skin-red-light.less";
|
||||
@import "skin-yellow.less";
|
||||
@import "skin-yellow-light.less";
|
||||
@import "skin-purple.less";
|
||||
@import "skin-purple-light.less";
|
||||
65
build/less/skins/skin-black-light.less
Normal file
65
build/less/skins/skin-black-light.less
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
/* skin-black navbar */
|
||||
.skin-black-light {
|
||||
//Navbar & Logo
|
||||
.main-header {
|
||||
//.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
|
||||
border-bottom: 1px solid @gray-lte;
|
||||
.navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
.navbar {
|
||||
.navbar-variant(#fff; #333; #999; #fff);
|
||||
> .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
}
|
||||
.navbar-custom-menu .navbar-nav,
|
||||
.navbar-right {
|
||||
> li {
|
||||
> a {
|
||||
border-left: 1px solid @gray-lte;
|
||||
border-right-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .logo {
|
||||
.logo-variant(#fff; #333);
|
||||
border-right: 1px solid @gray-lte;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.logo-variant(#222; #fff);
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(#fff);
|
||||
}
|
||||
74
build/less/skins/skin-black.less
Normal file
74
build/less/skins/skin-black.less
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
/* skin-black navbar */
|
||||
.skin-black {
|
||||
//Navbar & Logo
|
||||
.main-header {
|
||||
.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
|
||||
.navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.navbar {
|
||||
.navbar-variant(#fff; #333; #999; #fff);
|
||||
> .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
}
|
||||
.navbar-custom-menu .navbar-nav,
|
||||
.navbar-right {
|
||||
> li {
|
||||
> a {
|
||||
border-left: 1px solid #eee;
|
||||
border-right-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .logo {
|
||||
.logo-variant(#fff; #333);
|
||||
border-right: 1px solid #eee;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.logo-variant(#222; #fff);
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(#fff);
|
||||
|
||||
.pace {
|
||||
.pace-progress {
|
||||
background: #222;
|
||||
}
|
||||
.pace-activity {
|
||||
border-top-color: #222;
|
||||
border-left-color: #222;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
build/less/skins/skin-blue-light.less
Normal file
61
build/less/skins/skin-blue-light.less
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-blue-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@light-blue; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @light-blue;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@light-blue);
|
||||
.main-footer {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
58
build/less/skins/skin-blue.less
Normal file
58
build/less/skins/skin-blue.less
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-blue {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@light-blue; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@light-blue, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @light-blue;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@light-blue);
|
||||
}
|
||||
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
55
build/less/skins/skin-green-light.less
Normal file
55
build/less/skins/skin-green-light.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Skin: Green
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-green-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@green; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@green);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@green);
|
||||
|
||||
}
|
||||
55
build/less/skins/skin-green.less
Normal file
55
build/less/skins/skin-green.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Skin: Green
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-green {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@green; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@green, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@green);
|
||||
|
||||
}
|
||||
54
build/less/skins/skin-purple-light.less
Normal file
54
build/less/skins/skin-purple-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Purple
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-purple-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@purple; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@purple);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @purple;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@purple);
|
||||
}
|
||||
54
build/less/skins/skin-purple.less
Normal file
54
build/less/skins/skin-purple.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Purple
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-purple {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@purple; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@purple, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @purple;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@purple);
|
||||
}
|
||||
54
build/less/skins/skin-red-light.less
Normal file
54
build/less/skins/skin-red-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Red
|
||||
* ---------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-red-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@red; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@red);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@red);
|
||||
}
|
||||
54
build/less/skins/skin-red.less
Normal file
54
build/less/skins/skin-red.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Red
|
||||
* ---------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-red {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@red; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@red, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@red);
|
||||
}
|
||||
54
build/less/skins/skin-yellow-light.less
Normal file
54
build/less/skins/skin-yellow-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Yellow
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-yellow-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@yellow);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@yellow);
|
||||
}
|
||||
54
build/less/skins/skin-yellow.less
Normal file
54
build/less/skins/skin-yellow.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Yellow
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-yellow {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@yellow, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@yellow);
|
||||
}
|
||||
89
build/less/small-box.less
Normal file
89
build/less/small-box.less
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Component: Small Box
|
||||
* --------------------
|
||||
*/
|
||||
|
||||
.small-box {
|
||||
.border-radius(2px);
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-bottom: 20px;
|
||||
box-shadow: @box-boxshadow;
|
||||
// content wrapper
|
||||
> .inner {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
> .small-box-footer {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
padding: 3px 0;
|
||||
color: #fff;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
display: block;
|
||||
z-index: 10;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
color: #fff;
|
||||
background: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 38px;
|
||||
font-weight: bold;
|
||||
margin: 0 0 10px 0;
|
||||
white-space: nowrap;
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 15px;
|
||||
> small {
|
||||
display: block;
|
||||
color: #f9f9f9;
|
||||
font-size: 13px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
h3, p {
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
// the icon
|
||||
.icon {
|
||||
.transition(all @transition-speed linear);
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
z-index: 0;
|
||||
font-size: 90px;
|
||||
color: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
// Small box hover state
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: #f9f9f9;
|
||||
// Animate icons on small box hover
|
||||
.icon {
|
||||
font-size: 95px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
// No need for icons on very small devices
|
||||
.small-box {
|
||||
text-align: center;
|
||||
.icon {
|
||||
display: none;
|
||||
}
|
||||
p {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
78
build/less/social-widgets.less
Normal file
78
build/less/social-widgets.less
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Component: Social Widgets
|
||||
* -------------------------
|
||||
*/
|
||||
//General widget style
|
||||
.box-widget {
|
||||
border: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
//User Widget Style 1
|
||||
.widget-user {
|
||||
//User name container
|
||||
.widget-user-header {
|
||||
padding: 20px;
|
||||
height: 120px;
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
//User name
|
||||
.widget-user-username {
|
||||
margin-top: 0;
|
||||
margin-bottom: 5px;
|
||||
font-size: 25px;
|
||||
font-weight: 300;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
//User single line description
|
||||
.widget-user-desc {
|
||||
margin-top: 0;
|
||||
}
|
||||
//User image container
|
||||
.widget-user-image {
|
||||
position: absolute;
|
||||
top: 65px;
|
||||
left: 50%;
|
||||
margin-left: -45px;
|
||||
> img {
|
||||
width: 90px;
|
||||
height: auto;
|
||||
border: 3px solid #fff;
|
||||
}
|
||||
}
|
||||
.box-footer {
|
||||
padding-top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
//User Widget Style 2
|
||||
.widget-user-2 {
|
||||
//User name container
|
||||
.widget-user-header {
|
||||
padding: 20px;
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
//User name
|
||||
.widget-user-username {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
font-size: 25px;
|
||||
font-weight: 300;
|
||||
}
|
||||
//User single line description
|
||||
.widget-user-desc {
|
||||
margin-top: 0;
|
||||
}
|
||||
.widget-user-username,
|
||||
.widget-user-desc {
|
||||
margin-left: 75px;
|
||||
}
|
||||
//User image container
|
||||
.widget-user-image {
|
||||
> img {
|
||||
width: 65px;
|
||||
height: auto;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
71
build/less/table.less
Normal file
71
build/less/table.less
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Component: Table
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
.table {
|
||||
//Cells
|
||||
> thead,
|
||||
> tbody,
|
||||
> tfoot {
|
||||
> tr {
|
||||
> th,
|
||||
> td {
|
||||
border-top: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
//thead cells
|
||||
> thead > tr > th {
|
||||
border-bottom: 2px solid @box-border-color;
|
||||
}
|
||||
//progress bars in tables
|
||||
tr td .progress {
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
//Bordered Table
|
||||
.table-bordered {
|
||||
border: 1px solid @box-border-color;
|
||||
> thead,
|
||||
> tbody,
|
||||
> tfoot {
|
||||
> tr {
|
||||
> th,
|
||||
> td {
|
||||
border: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
> thead > tr {
|
||||
> th,
|
||||
> td {
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table.no-border {
|
||||
&,
|
||||
td,
|
||||
th {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* .text-center in tables */
|
||||
table.text-center {
|
||||
&, td, th {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.table.align {
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
td {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
110
build/less/timeline.less
Normal file
110
build/less/timeline.less
Normal file
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
* Component: Timeline
|
||||
* -------------------
|
||||
*/
|
||||
|
||||
.timeline {
|
||||
position: relative;
|
||||
margin: 0 0 30px 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
// The line
|
||||
&:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 4px;
|
||||
background: #ddd;
|
||||
left: 31px;
|
||||
margin: 0;
|
||||
.border-radius(2px);
|
||||
}
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 15px;
|
||||
.clearfix();
|
||||
|
||||
// The content
|
||||
> .timeline-item {
|
||||
.box-shadow(@box-boxshadow);
|
||||
.border-radius(@box-border-radius);
|
||||
margin-top: 0;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
margin-left: 60px;
|
||||
margin-right: 15px;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
|
||||
// The time and header
|
||||
> .time {
|
||||
color: #999;
|
||||
float: right;
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
> .timeline-header {
|
||||
margin: 0;
|
||||
color: #555;
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
line-height: 1.1;
|
||||
> a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
// Item body and footer
|
||||
> .timeline-body, > .timeline-footer {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// The icons
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
font-size: 15px;
|
||||
line-height: 30px;
|
||||
position: absolute;
|
||||
color: #666;
|
||||
background: @gray-lte;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
left: 18px;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Time label
|
||||
> .time-label {
|
||||
> span {
|
||||
font-weight: 600;
|
||||
padding: 5px;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
|
||||
.border-radius(4px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-inverse {
|
||||
> li {
|
||||
> .timeline-item {
|
||||
background: #f0f0f0;
|
||||
border: 1px solid #ddd;
|
||||
.box-shadow(none);
|
||||
> .timeline-header {
|
||||
border-bottom-color: #ddd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
build/less/treeview.less
Normal file
30
build/less/treeview.less
Normal file
@@ -0,0 +1,30 @@
|
||||
// Tree view menu
|
||||
.treeview-menu {
|
||||
display: none;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
padding-left: 5px;
|
||||
.treeview-menu {
|
||||
padding-left: 20px;
|
||||
}
|
||||
> li {
|
||||
margin: 0;
|
||||
> a {
|
||||
padding: 5px 5px 5px 15px;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
> .pull-right-container > .fa-angle-left,
|
||||
> .pull-right-container > .fa-angle-down,
|
||||
> .fa-angle-left,
|
||||
> .fa-angle-down {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
42
build/less/users-list.less
Normal file
42
build/less/users-list.less
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Component: Users List
|
||||
* ---------------------
|
||||
*/
|
||||
.users-list {
|
||||
&:extend(.list-unstyled);
|
||||
> li {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
img {
|
||||
.border-radius(50%);
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
> a:hover {
|
||||
&,
|
||||
.users-list-name {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.users-list-name,
|
||||
.users-list-date {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.users-list-name {
|
||||
font-weight: 600;
|
||||
color: #444;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.users-list-date {
|
||||
color: #999;
|
||||
font-size: 12px;
|
||||
}
|
||||
125
build/less/variables.less
Normal file
125
build/less/variables.less
Normal file
@@ -0,0 +1,125 @@
|
||||
// AdminLTE 2 Variables.less
|
||||
// =========================
|
||||
|
||||
// PATHS
|
||||
// --------------------------------------------------------
|
||||
|
||||
@boxed-layout-bg-image-path: "../img/boxed-bg.jpg";
|
||||
|
||||
// COLORS
|
||||
// --------------------------------------------------------
|
||||
// Primary
|
||||
@light-blue: #3c8dbc;
|
||||
// Danger
|
||||
@red: #dd4b39;
|
||||
// Success
|
||||
@green: #00a65a;
|
||||
// Info
|
||||
@aqua: #00c0ef;
|
||||
// Warning
|
||||
@yellow: #f39c12;
|
||||
@blue: #0073b7;
|
||||
@navy: #001F3F;
|
||||
@teal: #39CCCC;
|
||||
@olive: #3D9970;
|
||||
@lime: #01FF70;
|
||||
@orange: #FF851B;
|
||||
@fuchsia: #F012BE;
|
||||
@purple: #605ca8;
|
||||
@maroon: #D81B60;
|
||||
@black: #111;
|
||||
@gray-lte: #d2d6de;
|
||||
|
||||
// LAYOUT
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Side bar and logo width
|
||||
@sidebar-width: 230px;
|
||||
// Boxed layout maximum width
|
||||
@boxed-layout-max-width: 1024px;
|
||||
// When the logo should go to the top of the screen
|
||||
@screen-header-collapse: @screen-xs-max;
|
||||
|
||||
// Link colors (Aka: <a> tags)
|
||||
@link-color: @light-blue;
|
||||
@link-hover-color: lighten(@link-color, 15%);
|
||||
|
||||
// Body background (Affects main content background only)
|
||||
@body-bg: #ecf0f5;
|
||||
|
||||
// SIDEBAR SKINS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Dark sidebar
|
||||
@sidebar-dark-bg: #222d32;
|
||||
@sidebar-dark-hover-bg: darken(@sidebar-dark-bg, 2%);
|
||||
@sidebar-dark-color: lighten(@sidebar-dark-bg, 60%);
|
||||
@sidebar-dark-hover-color: #fff;
|
||||
@sidebar-dark-submenu-bg: lighten(@sidebar-dark-bg, 5%);
|
||||
@sidebar-dark-submenu-color: lighten(@sidebar-dark-submenu-bg, 40%);
|
||||
@sidebar-dark-submenu-hover-color: #fff;
|
||||
|
||||
// Light sidebar
|
||||
@sidebar-light-bg: #f9fafc;
|
||||
@sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%);
|
||||
@sidebar-light-color: #444;
|
||||
@sidebar-light-hover-color: #000;
|
||||
@sidebar-light-submenu-bg: @sidebar-light-hover-bg;
|
||||
@sidebar-light-submenu-color: #777;
|
||||
@sidebar-light-submenu-hover-color: #000;
|
||||
|
||||
// sidebar-expanded-on-hover
|
||||
@sidebar-expanded-shadow: 3px 0 8px rgba(0,0,0,.125);
|
||||
|
||||
// CONTROL SIDEBAR
|
||||
// --------------------------------------------------------
|
||||
@control-sidebar-width: @sidebar-width;
|
||||
|
||||
// BOXES
|
||||
// --------------------------------------------------------
|
||||
@box-border-color: #f4f4f4;
|
||||
@box-border-radius: 3px;
|
||||
@box-footer-bg: #fff;
|
||||
@box-boxshadow: 0 1px 1px rgba(0, 0, 0, .1);
|
||||
@box-padding: 10px;
|
||||
|
||||
// Box variants
|
||||
@box-default-border-top-color: #d2d6de;
|
||||
|
||||
// BUTTONS
|
||||
// --------------------------------------------------------
|
||||
@btn-boxshadow: none;
|
||||
|
||||
// PROGRESS BARS
|
||||
// --------------------------------------------------------
|
||||
@progress-bar-border-radius: 1px;
|
||||
@progress-bar-sm-border-radius: 1px;
|
||||
@progress-bar-xs-border-radius: 1px;
|
||||
|
||||
// FORMS
|
||||
// --------------------------------------------------------
|
||||
@input-radius: 0;
|
||||
|
||||
// BUTTONS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Border radius for non flat buttons
|
||||
@btn-border-radius: 3px;
|
||||
|
||||
// DIRECT CHAT
|
||||
// --------------------------------------------------------
|
||||
@direct-chat-height: 250px;
|
||||
@direct-chat-default-msg-bg: @gray-lte;
|
||||
@direct-chat-default-font-color: #444;
|
||||
@direct-chat-default-msg-border-color: @gray-lte;
|
||||
|
||||
// CHAT WIDGET
|
||||
// --------------------------------------------------------
|
||||
@attachment-border-radius: 3px;
|
||||
|
||||
// TRANSITIONS SETTINGS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Transition global options
|
||||
@transition-speed: .3s;
|
||||
@transition-fn: ease-in-out;
|
||||
961
build/scss/_bootstrap_variables.scss
Normal file
961
build/scss/_bootstrap_variables.scss
Normal file
@@ -0,0 +1,961 @@
|
||||
// Variables
|
||||
//
|
||||
// Copy settings from this file into the provided `_custom.scss` to override
|
||||
// the Bootstrap defaults without modifying key, versioned files.
|
||||
|
||||
|
||||
// Table of Contents
|
||||
//
|
||||
// Colors
|
||||
// Options
|
||||
// Spacing
|
||||
// Body
|
||||
// Links
|
||||
// Grid breakpoints
|
||||
// Grid containers
|
||||
// Grid columns
|
||||
// Fonts
|
||||
// Components
|
||||
// Tables
|
||||
// Buttons
|
||||
// Forms
|
||||
// Dropdowns
|
||||
// Z-index master list
|
||||
// Navbar
|
||||
// Navs
|
||||
// Pagination
|
||||
// Jumbotron
|
||||
// Form states and alerts
|
||||
// Cards
|
||||
// Tooltips
|
||||
// Popovers
|
||||
// Badges
|
||||
// Modals
|
||||
// Alerts
|
||||
// Progress bars
|
||||
// List group
|
||||
// Image thumbnails
|
||||
// Figures
|
||||
// Breadcrumbs
|
||||
// Carousel
|
||||
// Close
|
||||
// Code
|
||||
|
||||
@mixin _assert-ascending($map, $map-name) {
|
||||
$prev-key: null;
|
||||
$prev-num: null;
|
||||
@each $key, $num in $map {
|
||||
@if $prev-num == null {
|
||||
// Do nothing
|
||||
} @else if not comparable($prev-num, $num) {
|
||||
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
} @else if $prev-num >= $num {
|
||||
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
}
|
||||
$prev-key: $key;
|
||||
$prev-num: $num;
|
||||
}
|
||||
}
|
||||
|
||||
// Replace `$search` with `$replace` in `$string`
|
||||
// @author Hugo Giraudel
|
||||
// @param {String} $string - Initial string
|
||||
// @param {String} $search - Substring to replace
|
||||
// @param {String} $replace ('') - New value
|
||||
// @return {String} - Updated string
|
||||
@function str-replace($string, $search, $replace: "") {
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
}
|
||||
|
||||
@mixin _assert-starts-at-zero($map) {
|
||||
$values: map-values($map);
|
||||
$first-value: nth($values, 1);
|
||||
@if $first-value != 0 {
|
||||
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// General variable structure
|
||||
//
|
||||
// Variable format should follow the `$component-modifier-state-property` order.
|
||||
|
||||
|
||||
// Colors
|
||||
//
|
||||
// Grayscale and brand colors for use across Bootstrap.
|
||||
|
||||
// Start with assigning color names to specific hex values.
|
||||
$white: #fff !default;
|
||||
$black: #000 !default;
|
||||
$red: #d9534f !default;
|
||||
$orange: #f0ad4e !default;
|
||||
$yellow: #ffd500 !default;
|
||||
$green: #5cb85c !default;
|
||||
$blue: #0275d8 !default;
|
||||
$teal: #5bc0de !default;
|
||||
$pink: #ff5b77 !default;
|
||||
$purple: #613d7c !default;
|
||||
|
||||
// Create grayscale
|
||||
$gray-dark: #292b2c !default;
|
||||
$gray: #464a4c !default;
|
||||
$gray-light: #636c72 !default;
|
||||
$gray-lighter: #eceeef !default;
|
||||
$gray-lightest: #f7f7f9 !default;
|
||||
|
||||
// Reassign color vars to semantic color scheme
|
||||
$brand-primary: $blue !default;
|
||||
$brand-success: $green !default;
|
||||
$brand-info: $teal !default;
|
||||
$brand-warning: $orange !default;
|
||||
$brand-danger: $red !default;
|
||||
$brand-inverse: $gray-dark !default;
|
||||
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-rounded: true !default;
|
||||
$enable-shadows: false !default;
|
||||
$enable-gradients: false !default;
|
||||
$enable-transitions: true !default;
|
||||
$enable-hover-media-query: false !default;
|
||||
$enable-grid-classes: true !default;
|
||||
$enable-print-styles: true !default;
|
||||
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
$spacer: 1rem !default;
|
||||
$spacer-x: $spacer !default;
|
||||
$spacer-y: $spacer !default;
|
||||
$spacers: (
|
||||
0: (
|
||||
x: 0,
|
||||
y: 0
|
||||
),
|
||||
1: (
|
||||
x: ($spacer-x * .25),
|
||||
y: ($spacer-y * .25)
|
||||
),
|
||||
2: (
|
||||
x: ($spacer-x * .5),
|
||||
y: ($spacer-y * .5)
|
||||
),
|
||||
3: (
|
||||
x: $spacer-x,
|
||||
y: $spacer-y
|
||||
),
|
||||
4: (
|
||||
x: ($spacer-x * 1.5),
|
||||
y: ($spacer-y * 1.5)
|
||||
),
|
||||
5: (
|
||||
x: ($spacer-x * 3),
|
||||
y: ($spacer-y * 3)
|
||||
)
|
||||
) !default;
|
||||
$border-width: 1px !default;
|
||||
|
||||
// This variable affects the `.h-*` and `.w-*` classes.
|
||||
$sizes: (
|
||||
25: 25%,
|
||||
50: 50%,
|
||||
75: 75%,
|
||||
100: 100%
|
||||
) !default;
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: $white !default;
|
||||
$body-color: $gray-dark !default;
|
||||
$inverse-bg: $gray-dark !default;
|
||||
$inverse-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: $brand-primary !default;
|
||||
$link-decoration: none !default;
|
||||
$link-hover-color: darken($link-color, 15%) !default;
|
||||
$link-hover-decoration: underline !default;
|
||||
|
||||
|
||||
// Grid breakpoints
|
||||
//
|
||||
// Define the minimum dimensions at which your layout will change,
|
||||
// adapting to different screen sizes, for use in media queries.
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
) !default;
|
||||
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
|
||||
@include _assert-starts-at-zero($grid-breakpoints);
|
||||
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 12 !default;
|
||||
$grid-gutter-width-base: 30px !default;
|
||||
$grid-gutter-widths: (
|
||||
xs: $grid-gutter-width-base,
|
||||
sm: $grid-gutter-width-base,
|
||||
md: $grid-gutter-width-base,
|
||||
lg: $grid-gutter-width-base,
|
||||
xl: $grid-gutter-width-base
|
||||
) !default;
|
||||
|
||||
// Fonts
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
|
||||
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
|
||||
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
||||
$font-family-base: $font-family-sans-serif !default;
|
||||
|
||||
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
|
||||
$font-size-lg: 1.25rem !default;
|
||||
$font-size-sm: .875rem !default;
|
||||
$font-size-xs: .75rem !default;
|
||||
|
||||
$font-weight-normal: normal !default;
|
||||
$font-weight-bold: bold !default;
|
||||
|
||||
$font-weight-base: $font-weight-normal !default;
|
||||
$line-height-base: 1.5 !default;
|
||||
|
||||
$font-size-h1: 2.5rem !default;
|
||||
$font-size-h2: 2rem !default;
|
||||
$font-size-h3: 1.75rem !default;
|
||||
$font-size-h4: 1.5rem !default;
|
||||
$font-size-h5: 1.25rem !default;
|
||||
$font-size-h6: 1rem !default;
|
||||
|
||||
$headings-margin-bottom: ($spacer / 2) !default;
|
||||
$headings-font-family: inherit !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$headings-line-height: 1.1 !default;
|
||||
$headings-color: inherit !default;
|
||||
|
||||
$display1-size: 6rem !default;
|
||||
$display2-size: 5.5rem !default;
|
||||
$display3-size: 4.5rem !default;
|
||||
$display4-size: 3.5rem !default;
|
||||
|
||||
$display1-weight: 300 !default;
|
||||
$display2-weight: 300 !default;
|
||||
$display3-weight: 300 !default;
|
||||
$display4-weight: 300 !default;
|
||||
$display-line-height: $headings-line-height !default;
|
||||
|
||||
$lead-font-size: 1.25rem !default;
|
||||
$lead-font-weight: 300 !default;
|
||||
|
||||
$small-font-size: 80% !default;
|
||||
|
||||
$text-muted: $gray-light !default;
|
||||
|
||||
$abbr-border-color: $gray-light !default;
|
||||
|
||||
$blockquote-small-color: $gray-light !default;
|
||||
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
||||
$blockquote-border-color: $gray-lighter !default;
|
||||
$blockquote-border-width: .25rem !default;
|
||||
|
||||
$hr-border-color: rgba($black,.1) !default;
|
||||
$hr-border-width: $border-width !default;
|
||||
|
||||
$mark-padding: .2em !default;
|
||||
|
||||
$dt-font-weight: $font-weight-bold !default;
|
||||
|
||||
$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;
|
||||
$nested-kbd-font-weight: $font-weight-bold !default;
|
||||
|
||||
$list-inline-padding: 5px !default;
|
||||
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$line-height-lg: (4 / 3) !default;
|
||||
$line-height-sm: 1.5 !default;
|
||||
|
||||
$border-radius: .25rem !default;
|
||||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$component-active-color: $white !default;
|
||||
$component-active-bg: $brand-primary !default;
|
||||
|
||||
$caret-width: .3em !default;
|
||||
|
||||
$transition-base: all .2s ease-in-out !default;
|
||||
$transition-fade: opacity .15s linear !default;
|
||||
$transition-collapse: height .35s ease !default;
|
||||
|
||||
|
||||
// Tables
|
||||
//
|
||||
// Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
$table-cell-padding: .75rem !default;
|
||||
$table-sm-cell-padding: .3rem !default;
|
||||
|
||||
$table-bg: transparent !default;
|
||||
|
||||
$table-inverse-bg: $gray-dark !default;
|
||||
$table-inverse-color: $body-bg !default;
|
||||
|
||||
$table-bg-accent: rgba($black,.05) !default;
|
||||
$table-bg-hover: rgba($black,.075) !default;
|
||||
$table-bg-active: $table-bg-hover !default;
|
||||
|
||||
$table-head-bg: $gray-lighter !default;
|
||||
$table-head-color: $gray !default;
|
||||
|
||||
$table-border-width: $border-width !default;
|
||||
$table-border-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Buttons
|
||||
//
|
||||
// For each of Bootstrap's buttons, define text, background and border color.
|
||||
|
||||
$btn-padding-x: 1rem !default;
|
||||
$btn-padding-y: .5rem !default;
|
||||
$btn-line-height: 1.25 !default;
|
||||
$btn-font-weight: $font-weight-normal !default;
|
||||
$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
|
||||
$btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
|
||||
$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
|
||||
|
||||
$btn-primary-color: $white !default;
|
||||
$btn-primary-bg: $brand-primary !default;
|
||||
$btn-primary-border: $btn-primary-bg !default;
|
||||
|
||||
$btn-secondary-color: $gray-dark !default;
|
||||
$btn-secondary-bg: $white !default;
|
||||
$btn-secondary-border: #ccc !default;
|
||||
|
||||
$btn-info-color: $white !default;
|
||||
$btn-info-bg: $brand-info !default;
|
||||
$btn-info-border: $btn-info-bg !default;
|
||||
|
||||
$btn-success-color: $white !default;
|
||||
$btn-success-bg: $brand-success !default;
|
||||
$btn-success-border: $btn-success-bg !default;
|
||||
|
||||
$btn-warning-color: $white !default;
|
||||
$btn-warning-bg: $brand-warning !default;
|
||||
$btn-warning-border: $btn-warning-bg !default;
|
||||
|
||||
$btn-danger-color: $white !default;
|
||||
$btn-danger-bg: $brand-danger !default;
|
||||
$btn-danger-border: $btn-danger-bg !default;
|
||||
|
||||
$btn-link-disabled-color: $gray-light !default;
|
||||
|
||||
$btn-padding-x-sm: .5rem !default;
|
||||
$btn-padding-y-sm: .25rem !default;
|
||||
|
||||
$btn-padding-x-lg: 1.5rem !default;
|
||||
$btn-padding-y-lg: .75rem !default;
|
||||
|
||||
$btn-block-spacing-y: .5rem !default;
|
||||
$btn-toolbar-margin: .5rem !default;
|
||||
|
||||
// Allows for customizing button radius independently from global border radius
|
||||
$btn-border-radius: $border-radius !default;
|
||||
$btn-border-radius-lg: $border-radius-lg !default;
|
||||
$btn-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$btn-transition: all .2s ease-in-out !default;
|
||||
|
||||
|
||||
// Forms
|
||||
|
||||
$input-padding-x: .75rem !default;
|
||||
$input-padding-y: .5rem !default;
|
||||
$input-line-height: 1.25 !default;
|
||||
|
||||
$input-bg: $white !default;
|
||||
$input-bg-disabled: $gray-lighter !default;
|
||||
|
||||
$input-color: $gray !default;
|
||||
$input-border-color: rgba($black,.15) !default;
|
||||
$input-btn-border-width: $border-width !default; // For form controls and buttons
|
||||
$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;
|
||||
|
||||
$input-border-radius: $border-radius !default;
|
||||
$input-border-radius-lg: $border-radius-lg !default;
|
||||
$input-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$input-bg-focus: $input-bg !default;
|
||||
$input-border-focus: lighten($brand-primary, 25%) !default;
|
||||
$input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
|
||||
$input-color-focus: $input-color !default;
|
||||
|
||||
$input-color-placeholder: $gray-light !default;
|
||||
|
||||
$input-padding-x-sm: .5rem !default;
|
||||
$input-padding-y-sm: .25rem !default;
|
||||
|
||||
$input-padding-x-lg: 1.5rem !default;
|
||||
$input-padding-y-lg: .75rem !default;
|
||||
|
||||
$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
|
||||
$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
|
||||
$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
|
||||
|
||||
$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
|
||||
|
||||
$form-text-margin-top: .25rem !default;
|
||||
$form-feedback-margin-top: $form-text-margin-top !default;
|
||||
|
||||
$form-check-margin-bottom: .5rem !default;
|
||||
$form-check-input-gutter: 1.25rem !default;
|
||||
$form-check-input-margin-y: .25rem !default;
|
||||
$form-check-input-margin-x: .25rem !default;
|
||||
|
||||
$form-check-inline-margin-x: .75rem !default;
|
||||
|
||||
$form-group-margin-bottom: $spacer-y !default;
|
||||
|
||||
$input-group-addon-bg: $gray-lighter !default;
|
||||
$input-group-addon-border-color: $input-border-color !default;
|
||||
|
||||
$cursor-disabled: not-allowed !default;
|
||||
|
||||
$custom-control-gutter: 1.5rem !default;
|
||||
$custom-control-spacer-x: 1rem !default;
|
||||
$custom-control-spacer-y: .25rem !default;
|
||||
|
||||
$custom-control-indicator-size: 1rem !default;
|
||||
$custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
|
||||
$custom-control-indicator-bg: #ddd !default;
|
||||
$custom-control-indicator-bg-size: 50% 50% !default;
|
||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
|
||||
|
||||
$custom-control-disabled-cursor: $cursor-disabled !default;
|
||||
$custom-control-disabled-indicator-bg: $gray-lighter !default;
|
||||
$custom-control-disabled-description-color: $gray-light !default;
|
||||
|
||||
$custom-control-checked-indicator-color: $white !default;
|
||||
$custom-control-checked-indicator-bg: $brand-primary !default;
|
||||
$custom-control-checked-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
|
||||
|
||||
$custom-control-active-indicator-color: $white !default;
|
||||
$custom-control-active-indicator-bg: lighten($brand-primary, 35%) !default;
|
||||
$custom-control-active-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-checkbox-radius: $border-radius !default;
|
||||
$custom-checkbox-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-checkbox-indeterminate-bg: $brand-primary !default;
|
||||
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
|
||||
$custom-checkbox-indeterminate-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-checkbox-indeterminate-box-shadow: none !default;
|
||||
|
||||
$custom-radio-radius: 50% !default;
|
||||
$custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-select-padding-x: .75rem !default;
|
||||
$custom-select-padding-y: .375rem !default;
|
||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||
$custom-select-line-height: $input-line-height !default;
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-light !default;
|
||||
$custom-select-bg: $white !default;
|
||||
$custom-select-disabled-bg: $gray-lighter !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: #333 !default;
|
||||
$custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-select-border-width: $input-btn-border-width !default;
|
||||
$custom-select-border-color: $input-border-color !default;
|
||||
$custom-select-border-radius: $border-radius !default;
|
||||
|
||||
$custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
|
||||
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
|
||||
|
||||
$custom-select-sm-padding-y: .2rem !default;
|
||||
$custom-select-sm-font-size: 75% !default;
|
||||
|
||||
$custom-file-height: 2.5rem !default;
|
||||
$custom-file-width: 14rem !default;
|
||||
$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
|
||||
|
||||
$custom-file-padding-x: .5rem !default;
|
||||
$custom-file-padding-y: 1rem !default;
|
||||
$custom-file-line-height: 1.5 !default;
|
||||
$custom-file-color: $gray !default;
|
||||
$custom-file-bg: $white !default;
|
||||
$custom-file-border-width: $border-width !default;
|
||||
$custom-file-border-color: $input-border-color !default;
|
||||
$custom-file-border-radius: $border-radius !default;
|
||||
$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;
|
||||
$custom-file-button-color: $custom-file-color !default;
|
||||
$custom-file-button-bg: $gray-lighter !default;
|
||||
$custom-file-text: (
|
||||
placeholder: (
|
||||
en: "Choose file..."
|
||||
),
|
||||
button-label: (
|
||||
en: "Browse"
|
||||
)
|
||||
) !default;
|
||||
|
||||
|
||||
// Form validation icons
|
||||
$form-icon-success-color: $brand-success !default;
|
||||
$form-icon-success: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$form-icon-warning-color: $brand-warning !default;
|
||||
$form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$form-icon-danger-color: $brand-danger !default;
|
||||
$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
|
||||
// Dropdowns
|
||||
//
|
||||
// Dropdown menu container and contents.
|
||||
|
||||
$dropdown-min-width: 10rem !default;
|
||||
$dropdown-padding-y: .5rem !default;
|
||||
$dropdown-margin-top: .125rem !default;
|
||||
$dropdown-bg: $white !default;
|
||||
$dropdown-border-color: rgba($black,.15) !default;
|
||||
$dropdown-border-width: $border-width !default;
|
||||
$dropdown-divider-bg: $gray-lighter !default;
|
||||
$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;
|
||||
|
||||
$dropdown-link-color: $gray-dark !default;
|
||||
$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
|
||||
$dropdown-link-hover-bg: $gray-lightest !default;
|
||||
|
||||
$dropdown-link-active-color: $component-active-color !default;
|
||||
$dropdown-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$dropdown-link-disabled-color: $gray-light !default;
|
||||
|
||||
$dropdown-item-padding-x: 1.5rem !default;
|
||||
|
||||
$dropdown-header-color: $gray-light !default;
|
||||
|
||||
|
||||
// Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
|
||||
$zindex-dropdown-backdrop: 990 !default;
|
||||
$zindex-navbar: 1000 !default;
|
||||
$zindex-dropdown: 1000 !default;
|
||||
$zindex-fixed: 1030 !default;
|
||||
$zindex-sticky: 1030 !default;
|
||||
$zindex-modal-backdrop: 1040 !default;
|
||||
$zindex-modal: 1050 !default;
|
||||
$zindex-popover: 1060 !default;
|
||||
$zindex-tooltip: 1070 !default;
|
||||
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-border-radius: $border-radius !default;
|
||||
$navbar-padding-x: $spacer !default;
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
|
||||
$navbar-brand-padding-y: .25rem !default;
|
||||
|
||||
$navbar-toggler-padding-x: .75rem !default;
|
||||
$navbar-toggler-padding-y: .25rem !default;
|
||||
$navbar-toggler-font-size: $font-size-lg !default;
|
||||
$navbar-toggler-border-radius: $btn-border-radius !default;
|
||||
|
||||
$navbar-inverse-color: rgba($white,.5) !default;
|
||||
$navbar-inverse-hover-color: rgba($white,.75) !default;
|
||||
$navbar-inverse-active-color: rgba($white,1) !default;
|
||||
$navbar-inverse-disabled-color: rgba($white,.25) !default;
|
||||
$navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-inverse-toggler-border: rgba($white,.1) !default;
|
||||
|
||||
$navbar-light-color: rgba($black,.5) !default;
|
||||
$navbar-light-hover-color: rgba($black,.7) !default;
|
||||
$navbar-light-active-color: rgba($black,.9) !default;
|
||||
$navbar-light-disabled-color: rgba($black,.3) !default;
|
||||
$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-light-toggler-border: rgba($black,.1) !default;
|
||||
|
||||
// Navs
|
||||
|
||||
$nav-item-margin: .2rem !default;
|
||||
$nav-item-inline-spacer: 1rem !default;
|
||||
$nav-link-padding: .5em 1em !default;
|
||||
$nav-link-hover-bg: $gray-lighter !default;
|
||||
$nav-disabled-link-color: $gray-light !default;
|
||||
|
||||
$nav-tabs-border-color: #ddd !default;
|
||||
$nav-tabs-border-width: $border-width !default;
|
||||
$nav-tabs-border-radius: $border-radius !default;
|
||||
$nav-tabs-link-hover-border-color: $gray-lighter !default;
|
||||
$nav-tabs-active-link-hover-color: $gray !default;
|
||||
$nav-tabs-active-link-hover-bg: $body-bg !default;
|
||||
$nav-tabs-active-link-hover-border-color: #ddd !default;
|
||||
$nav-tabs-justified-link-border-color: #ddd !default;
|
||||
$nav-tabs-justified-active-link-border-color: $body-bg !default;
|
||||
|
||||
$nav-pills-border-radius: $border-radius !default;
|
||||
$nav-pills-active-link-color: $component-active-color !default;
|
||||
$nav-pills-active-link-bg: $component-active-bg !default;
|
||||
|
||||
|
||||
// Pagination
|
||||
|
||||
$pagination-padding-x: .75rem !default;
|
||||
$pagination-padding-y: .5rem !default;
|
||||
$pagination-padding-x-sm: .5rem !default;
|
||||
$pagination-padding-y-sm: .25rem !default;
|
||||
$pagination-padding-x-lg: 1.5rem !default;
|
||||
$pagination-padding-y-lg: .75rem !default;
|
||||
$pagination-line-height: 1.25 !default;
|
||||
|
||||
$pagination-color: $link-color !default;
|
||||
$pagination-bg: $white !default;
|
||||
$pagination-border-width: $border-width !default;
|
||||
$pagination-border-color: #ddd !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-lighter !default;
|
||||
$pagination-hover-border: #ddd !default;
|
||||
|
||||
$pagination-active-color: $white !default;
|
||||
$pagination-active-bg: $brand-primary !default;
|
||||
$pagination-active-border: $brand-primary !default;
|
||||
|
||||
$pagination-disabled-color: $gray-light !default;
|
||||
$pagination-disabled-bg: $white !default;
|
||||
$pagination-disabled-border: #ddd !default;
|
||||
|
||||
|
||||
// Jumbotron
|
||||
|
||||
$jumbotron-padding: 2rem !default;
|
||||
$jumbotron-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
//
|
||||
// Define colors for form feedback states and, by default, alerts.
|
||||
|
||||
$state-success-text: #3c763d !default;
|
||||
$state-success-bg: #dff0d8 !default;
|
||||
$state-success-border: darken($state-success-bg, 5%) !default;
|
||||
|
||||
$state-info-text: #31708f !default;
|
||||
$state-info-bg: #d9edf7 !default;
|
||||
$state-info-border: darken($state-info-bg, 7%) !default;
|
||||
|
||||
$state-warning-text: #8a6d3b !default;
|
||||
$state-warning-bg: #fcf8e3 !default;
|
||||
$mark-bg: $state-warning-bg !default;
|
||||
$state-warning-border: darken($state-warning-bg, 5%) !default;
|
||||
|
||||
$state-danger-text: #a94442 !default;
|
||||
$state-danger-bg: #f2dede !default;
|
||||
$state-danger-border: darken($state-danger-bg, 5%) !default;
|
||||
|
||||
|
||||
// Cards
|
||||
|
||||
$card-spacer-x: 1.25rem !default;
|
||||
$card-spacer-y: .75rem !default;
|
||||
$card-border-width: 1px !default;
|
||||
$card-border-radius: $border-radius !default;
|
||||
$card-border-color: rgba($black,.125) !default;
|
||||
$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
|
||||
$card-cap-bg: $gray-lightest !default;
|
||||
$card-bg: $white !default;
|
||||
|
||||
$card-link-hover-color: $white !default;
|
||||
|
||||
$card-img-overlay-padding: 1.25rem !default;
|
||||
|
||||
$card-deck-margin: ($grid-gutter-width-base / 2) !default;
|
||||
|
||||
$card-columns-count: 3 !default;
|
||||
$card-columns-gap: 1.25rem !default;
|
||||
$card-columns-margin: $card-spacer-y !default;
|
||||
|
||||
|
||||
// Tooltips
|
||||
|
||||
$tooltip-max-width: 200px !default;
|
||||
$tooltip-color: $white !default;
|
||||
$tooltip-bg: $black !default;
|
||||
$tooltip-opacity: .9 !default;
|
||||
$tooltip-padding-y: 3px !default;
|
||||
$tooltip-padding-x: 8px !default;
|
||||
$tooltip-margin: 3px !default;
|
||||
|
||||
$tooltip-arrow-width: 5px !default;
|
||||
$tooltip-arrow-color: $tooltip-bg !default;
|
||||
|
||||
|
||||
// Popovers
|
||||
|
||||
$popover-inner-padding: 1px !default;
|
||||
$popover-bg: $white !default;
|
||||
$popover-max-width: 276px !default;
|
||||
$popover-border-width: $border-width !default;
|
||||
$popover-border-color: rgba($black,.2) !default;
|
||||
$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
|
||||
|
||||
$popover-title-bg: darken($popover-bg, 3%) !default;
|
||||
$popover-title-padding-x: 14px !default;
|
||||
$popover-title-padding-y: 8px !default;
|
||||
|
||||
$popover-content-padding-x: 14px !default;
|
||||
$popover-content-padding-y: 9px !default;
|
||||
|
||||
$popover-arrow-width: 10px !default;
|
||||
$popover-arrow-color: $popover-bg !default;
|
||||
|
||||
$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
|
||||
$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
|
||||
|
||||
|
||||
// Badges
|
||||
|
||||
$badge-default-bg: $gray-light !default;
|
||||
$badge-primary-bg: $brand-primary !default;
|
||||
$badge-success-bg: $brand-success !default;
|
||||
$badge-info-bg: $brand-info !default;
|
||||
$badge-warning-bg: $brand-warning !default;
|
||||
$badge-danger-bg: $brand-danger !default;
|
||||
|
||||
$badge-color: $white !default;
|
||||
$badge-link-hover-color: $white !default;
|
||||
$badge-font-size: 75% !default;
|
||||
$badge-font-weight: $font-weight-bold !default;
|
||||
$badge-padding-x: .4em !default;
|
||||
$badge-padding-y: .25em !default;
|
||||
|
||||
$badge-pill-padding-x: .6em !default;
|
||||
// Use a higher than normal value to ensure completely rounded edges when
|
||||
// customizing padding or font-size on labels.
|
||||
$badge-pill-border-radius: 10rem !default;
|
||||
|
||||
|
||||
// Modals
|
||||
|
||||
// Padding applied to the modal body
|
||||
$modal-inner-padding: 15px !default;
|
||||
|
||||
$modal-dialog-margin: 10px !default;
|
||||
$modal-dialog-sm-up-margin-y: 30px !default;
|
||||
|
||||
$modal-title-line-height: $line-height-base !default;
|
||||
|
||||
$modal-content-bg: $white !default;
|
||||
$modal-content-border-color: rgba($black,.2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-xs-box-shadow: 0 3px 9px rgba($black,.5) !default;
|
||||
$modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
|
||||
|
||||
$modal-backdrop-bg: $black !default;
|
||||
$modal-backdrop-opacity: .5 !default;
|
||||
$modal-header-border-color: $gray-lighter !default;
|
||||
$modal-footer-border-color: $modal-header-border-color !default;
|
||||
$modal-header-border-width: $modal-content-border-width !default;
|
||||
$modal-footer-border-width: $modal-header-border-width !default;
|
||||
$modal-header-padding: 15px !default;
|
||||
|
||||
$modal-lg: 800px !default;
|
||||
$modal-md: 500px !default;
|
||||
$modal-sm: 300px !default;
|
||||
|
||||
$modal-transition: transform .3s ease-out !default;
|
||||
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding-x: 1.25rem !default;
|
||||
$alert-padding-y: .75rem !default;
|
||||
$alert-margin-bottom: $spacer-y !default;
|
||||
$alert-border-radius: $border-radius !default;
|
||||
$alert-link-font-weight: $font-weight-bold !default;
|
||||
$alert-border-width: $border-width !default;
|
||||
|
||||
$alert-success-bg: $state-success-bg !default;
|
||||
$alert-success-text: $state-success-text !default;
|
||||
$alert-success-border: $state-success-border !default;
|
||||
|
||||
$alert-info-bg: $state-info-bg !default;
|
||||
$alert-info-text: $state-info-text !default;
|
||||
$alert-info-border: $state-info-border !default;
|
||||
|
||||
$alert-warning-bg: $state-warning-bg !default;
|
||||
$alert-warning-text: $state-warning-text !default;
|
||||
$alert-warning-border: $state-warning-border !default;
|
||||
|
||||
$alert-danger-bg: $state-danger-bg !default;
|
||||
$alert-danger-text: $state-danger-text !default;
|
||||
$alert-danger-border: $state-danger-border !default;
|
||||
|
||||
|
||||
// Progress bars
|
||||
|
||||
$progress-height: 1rem !default;
|
||||
$progress-font-size: .75rem !default;
|
||||
$progress-bg: $gray-lighter !default;
|
||||
$progress-border-radius: $border-radius !default;
|
||||
$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
|
||||
$progress-bar-color: $white !default;
|
||||
$progress-bar-bg: $brand-primary !default;
|
||||
$progress-bar-animation-timing: 1s linear infinite !default;
|
||||
|
||||
// List group
|
||||
|
||||
$list-group-color: $body-color !default;
|
||||
$list-group-bg: $white !default;
|
||||
$list-group-border-color: rgba($black,.125) !default;
|
||||
$list-group-border-width: $border-width !default;
|
||||
$list-group-border-radius: $border-radius !default;
|
||||
|
||||
$list-group-item-padding-x: 1.25rem !default;
|
||||
$list-group-item-padding-y: .75rem !default;
|
||||
|
||||
$list-group-hover-bg: $gray-lightest !default;
|
||||
$list-group-active-color: $component-active-color !default;
|
||||
$list-group-active-bg: $component-active-bg !default;
|
||||
$list-group-active-border: $list-group-active-bg !default;
|
||||
$list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
|
||||
|
||||
$list-group-disabled-color: $gray-light !default;
|
||||
$list-group-disabled-bg: $list-group-bg !default;
|
||||
$list-group-disabled-text-color: $list-group-disabled-color !default;
|
||||
|
||||
$list-group-link-color: $gray !default;
|
||||
$list-group-link-heading-color: $gray-dark !default;
|
||||
$list-group-link-hover-color: $list-group-link-color !default;
|
||||
|
||||
$list-group-link-active-color: $list-group-color !default;
|
||||
$list-group-link-active-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Image thumbnails
|
||||
|
||||
$thumbnail-padding: .25rem !default;
|
||||
$thumbnail-bg: $body-bg !default;
|
||||
$thumbnail-border-width: $border-width !default;
|
||||
$thumbnail-border-color: #ddd !default;
|
||||
$thumbnail-border-radius: $border-radius !default;
|
||||
$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;
|
||||
$thumbnail-transition: all .2s ease-in-out !default;
|
||||
|
||||
|
||||
// Figures
|
||||
|
||||
$figure-caption-font-size: 90% !default;
|
||||
$figure-caption-color: $gray-light !default;
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
|
||||
$breadcrumb-padding-y: .75rem !default;
|
||||
$breadcrumb-padding-x: 1rem !default;
|
||||
$breadcrumb-item-padding: .5rem !default;
|
||||
|
||||
$breadcrumb-bg: $gray-lighter !default;
|
||||
$breadcrumb-divider-color: $gray-light !default;
|
||||
$breadcrumb-active-color: $gray-light !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
||||
$carousel-control-color: $white !default;
|
||||
$carousel-control-width: 15% !default;
|
||||
$carousel-control-opacity: .5 !default;
|
||||
|
||||
$carousel-indicator-width: 30px !default;
|
||||
$carousel-indicator-height: 3px !default;
|
||||
$carousel-indicator-spacer: 3px !default;
|
||||
$carousel-indicator-active-bg: $white !default;
|
||||
|
||||
$carousel-caption-width: 70% !default;
|
||||
$carousel-caption-color: $white !default;
|
||||
|
||||
$carousel-control-icon-width: 20px !default;
|
||||
|
||||
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$carousel-transition: transform .6s ease-in-out !default;
|
||||
|
||||
|
||||
// Close
|
||||
|
||||
$close-font-size: $font-size-base * 1.5 !default;
|
||||
$close-font-weight: $font-weight-bold !default;
|
||||
$close-color: $black !default;
|
||||
$close-text-shadow: 0 1px 0 $white !default;
|
||||
|
||||
|
||||
// Code
|
||||
|
||||
$code-font-size: 90% !default;
|
||||
$code-padding-x: .4rem !default;
|
||||
$code-padding-y: .2rem !default;
|
||||
$code-color: #bd4147 !default;
|
||||
$code-bg: $gray-lightest !default;
|
||||
|
||||
$kbd-color: $white !default;
|
||||
$kbd-bg: $gray-dark !default;
|
||||
|
||||
$pre-bg: $gray-lightest !default;
|
||||
$pre-color: $gray-dark !default;
|
||||
$pre-border-color: #ccc !default;
|
||||
$pre-scrollable-max-height: 340px !default;
|
||||
843
build/scss/_bootstrap_variables_old2.scss
Normal file
843
build/scss/_bootstrap_variables_old2.scss
Normal file
@@ -0,0 +1,843 @@
|
||||
// Variables
|
||||
//
|
||||
// Copy settings from this file into the provided `_custom.scss` to override
|
||||
// the Bootstrap defaults without modifying key, versioned files.
|
||||
|
||||
|
||||
// Table of Contents
|
||||
//
|
||||
// Colors
|
||||
// Options
|
||||
// Spacing
|
||||
// Body
|
||||
// Links
|
||||
// Grid breakpoints
|
||||
// Grid containers
|
||||
// Grid columns
|
||||
// Fonts
|
||||
// Components
|
||||
|
||||
@mixin _assert-ascending($map, $map-name) {
|
||||
$prev-key: null;
|
||||
$prev-num: null;
|
||||
@each $key, $num in $map {
|
||||
@if $prev-num == null {
|
||||
// Do nothing
|
||||
} @else if not comparable($prev-num, $num) {
|
||||
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
} @else if $prev-num >= $num {
|
||||
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
}
|
||||
$prev-key: $key;
|
||||
$prev-num: $num;
|
||||
}
|
||||
}
|
||||
|
||||
// General variable structure
|
||||
//
|
||||
// Variable format should follow the `$component-modifier-state-property` order.
|
||||
|
||||
|
||||
// Colors
|
||||
//
|
||||
// Grayscale and brand colors for use across Bootstrap.
|
||||
|
||||
$gray-dark: #373a3c !default;
|
||||
$gray: #55595c !default;
|
||||
$gray-light: #818a91 !default;
|
||||
$gray-lighter: #eceeef !default;
|
||||
$gray-lightest: #f7f7f9 !default;
|
||||
|
||||
$brand-primary: #3c8dbc !default;
|
||||
$brand-success: #00a65a !default;
|
||||
$brand-info: #00c0ef !default;
|
||||
$brand-warning: #f39c12 !default;
|
||||
$brand-danger: #dd4b39 !default;
|
||||
$brand-inverse: $gray-dark !default;
|
||||
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-flex: false !default;
|
||||
$enable-rounded: true !default;
|
||||
$enable-shadows: true !default;
|
||||
$enable-gradients: false !default;
|
||||
$enable-transitions: true !default;
|
||||
$enable-hover-media-query: false !default;
|
||||
$enable-grid-classes: true !default;
|
||||
$enable-print-styles: true !default;
|
||||
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
$spacer: 1rem !default;
|
||||
$spacer-x: $spacer !default;
|
||||
$spacer-y: $spacer !default;
|
||||
$spacers: (
|
||||
0: (
|
||||
x: 0,
|
||||
y: 0
|
||||
),
|
||||
1: (
|
||||
x: $spacer-x,
|
||||
y: $spacer-y
|
||||
),
|
||||
2: (
|
||||
x: ($spacer-x * 1.5),
|
||||
y: ($spacer-y * 1.5)
|
||||
),
|
||||
3: (
|
||||
x: ($spacer-x * 3),
|
||||
y: ($spacer-y * 3)
|
||||
)
|
||||
) !default;
|
||||
$border-width: 1px !default;
|
||||
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: #fff !default;
|
||||
$body-color: $gray !default;
|
||||
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: $brand-primary !default;
|
||||
$link-decoration: none !default;
|
||||
$link-hover-color: darken($link-color, 15%) !default;
|
||||
$link-hover-decoration: underline !default;
|
||||
|
||||
|
||||
// Grid breakpoints
|
||||
//
|
||||
// Define the minimum dimensions at which your layout will change,
|
||||
// adapting to different screen sizes, for use in media queries.
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
) !default;
|
||||
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
|
||||
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 12 !default;
|
||||
$grid-gutter-width-base: 30px !default;
|
||||
$grid-gutter-widths: (
|
||||
xs: $grid-gutter-width-base,
|
||||
sm: $grid-gutter-width-base,
|
||||
md: $grid-gutter-width-base,
|
||||
lg: $grid-gutter-width-base,
|
||||
xl: $grid-gutter-width-base
|
||||
) !default;
|
||||
|
||||
// Typography
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
$font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
|
||||
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
|
||||
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
||||
$font-family-base: $font-family-sans-serif !default;
|
||||
|
||||
// Pixel value used to responsively scale all typography. Applied to the `<html>` element.
|
||||
$font-size-root: 16px !default;
|
||||
|
||||
$font-size-base: 1rem !default;
|
||||
$font-size-lg: 1.25rem !default;
|
||||
$font-size-sm: .875rem !default;
|
||||
$font-size-xs: .75rem !default;
|
||||
|
||||
$line-height-base: 1.5 !default;
|
||||
|
||||
$font-size-h1: 2.5rem !default;
|
||||
$font-size-h2: 2rem !default;
|
||||
$font-size-h3: 1.75rem !default;
|
||||
$font-size-h4: 1.5rem !default;
|
||||
$font-size-h5: 1.25rem !default;
|
||||
$font-size-h6: 1rem !default;
|
||||
|
||||
$display1-size: 6rem !default;
|
||||
$display2-size: 5.5rem !default;
|
||||
$display3-size: 4.5rem !default;
|
||||
$display4-size: 3.5rem !default;
|
||||
|
||||
$display1-weight: 300 !default;
|
||||
$display2-weight: 300 !default;
|
||||
$display3-weight: 300 !default;
|
||||
$display4-weight: 300 !default;
|
||||
|
||||
$headings-margin-bottom: ($spacer / 2) !default;
|
||||
$headings-font-family: inherit !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$headings-line-height: 1.1 !default;
|
||||
$headings-color: inherit !default;
|
||||
|
||||
$lead-font-size: 1.25rem !default;
|
||||
$lead-font-weight: 300 !default;
|
||||
|
||||
$text-muted: $gray-light !default;
|
||||
|
||||
$abbr-border-color: $gray-light !default;
|
||||
|
||||
$blockquote-small-color: $gray-light !default;
|
||||
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
||||
$blockquote-border-color: $gray-lighter !default;
|
||||
$blockquote-border-width: .25rem !default;
|
||||
|
||||
$hr-border-color: rgba(0,0,0,.1) !default;
|
||||
$hr-border-width: $border-width !default;
|
||||
|
||||
$mark-padding: .2em !default;
|
||||
|
||||
$dt-font-weight: bold !default;
|
||||
|
||||
$kbd-box-shadow: inset 0 -.1rem 0 rgba(0,0,0,.25) !default;
|
||||
$nested-kbd-font-weight: bold !default;
|
||||
|
||||
$list-inline-padding: 5px !default;
|
||||
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$line-height-lg: (4 / 3) !default;
|
||||
$line-height-sm: 1.5 !default;
|
||||
|
||||
$border-radius: .25rem !default;
|
||||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$component-active-color: #fff !default;
|
||||
$component-active-bg: $brand-primary !default;
|
||||
|
||||
$caret-width: .3em !default;
|
||||
$caret-width-lg: $caret-width !default;
|
||||
|
||||
|
||||
// Tables
|
||||
//
|
||||
// Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
$table-cell-padding: .75rem !default;
|
||||
$table-sm-cell-padding: .3rem !default;
|
||||
|
||||
$table-bg: transparent !default;
|
||||
$table-bg-accent: rgba(0,0,0,.05) !default;
|
||||
$table-bg-hover: rgba(0,0,0,.075) !default;
|
||||
$table-bg-active: $table-bg-hover !default;
|
||||
|
||||
$table-border-width: $border-width !default;
|
||||
$table-border-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Buttons
|
||||
//
|
||||
// For each of Bootstrap's buttons, define text, background and border color.
|
||||
|
||||
$btn-padding-x: 1rem !default;
|
||||
$btn-padding-y: .5rem !default;
|
||||
$btn-line-height: 1.25 !default;
|
||||
$btn-font-weight: normal !default;
|
||||
$btn-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075) !default;
|
||||
$btn-active-box-shadow: inset 0 3px 5px rgba(0,0,0,.125) !default;
|
||||
|
||||
$btn-primary-color: #fff !default;
|
||||
$btn-primary-bg: $brand-primary !default;
|
||||
$btn-primary-border: $btn-primary-bg !default;
|
||||
|
||||
$btn-secondary-color: $gray-dark !default;
|
||||
$btn-secondary-bg: #fff !default;
|
||||
$btn-secondary-border: #ccc !default;
|
||||
|
||||
$btn-info-color: #fff !default;
|
||||
$btn-info-bg: $brand-info !default;
|
||||
$btn-info-border: $btn-info-bg !default;
|
||||
|
||||
$btn-success-color: #fff !default;
|
||||
$btn-success-bg: $brand-success !default;
|
||||
$btn-success-border: $btn-success-bg !default;
|
||||
|
||||
$btn-warning-color: #fff !default;
|
||||
$btn-warning-bg: $brand-warning !default;
|
||||
$btn-warning-border: $btn-warning-bg !default;
|
||||
|
||||
$btn-danger-color: #fff !default;
|
||||
$btn-danger-bg: $brand-danger !default;
|
||||
$btn-danger-border: $btn-danger-bg !default;
|
||||
|
||||
$btn-link-disabled-color: $gray-light !default;
|
||||
|
||||
$btn-padding-x-sm: .5rem !default;
|
||||
$btn-padding-y-sm: .25rem !default;
|
||||
|
||||
$btn-padding-x-lg: 1.5rem !default;
|
||||
$btn-padding-y-lg: .75rem !default;
|
||||
|
||||
$btn-block-spacing-y: .5rem !default;
|
||||
$btn-toolbar-margin: .5rem !default;
|
||||
|
||||
// Allows for customizing button radius independently from global border radius
|
||||
$btn-border-radius: $border-radius !default;
|
||||
$btn-border-radius-lg: $border-radius-lg !default;
|
||||
$btn-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
|
||||
// Forms
|
||||
|
||||
$input-padding-x: .75rem !default;
|
||||
$input-padding-y: .5rem !default;
|
||||
$input-line-height: 1.25 !default;
|
||||
|
||||
$input-bg: #fff !default;
|
||||
$input-bg-disabled: $gray-lighter !default;
|
||||
|
||||
$input-color: $gray !default;
|
||||
$input-border-color: rgba(0,0,0,.15) !default;
|
||||
$input-btn-border-width: $border-width !default; // For form controls and buttons
|
||||
$input-box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !default;
|
||||
|
||||
$input-border-radius: $border-radius !default;
|
||||
$input-border-radius-lg: $border-radius-lg !default;
|
||||
$input-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$input-bg-focus: $input-bg !default;
|
||||
$input-border-focus: #66afe9 !default;
|
||||
$input-box-shadow-focus: $input-box-shadow, 0 0 8px rgba(102,175,233,.6) !default;
|
||||
$input-color-focus: $input-color !default;
|
||||
|
||||
$input-color-placeholder: #999 !default;
|
||||
|
||||
$input-padding-x-sm: .5rem !default;
|
||||
$input-padding-y-sm: .25rem !default;
|
||||
|
||||
$input-padding-x-lg: 1.5rem !default;
|
||||
$input-padding-y-lg: .75rem !default;
|
||||
|
||||
$input-height: (($font-size-base * $line-height-base) + ($input-padding-y * 2)) !default;
|
||||
$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
|
||||
$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
|
||||
|
||||
$form-group-margin-bottom: $spacer-y !default;
|
||||
|
||||
$input-group-addon-bg: $gray-lighter !default;
|
||||
$input-group-addon-border-color: $input-border-color !default;
|
||||
|
||||
$cursor-disabled: not-allowed !default;
|
||||
|
||||
$custom-control-gutter: 1.5rem !default;
|
||||
$custom-control-spacer-x: 1rem !default;
|
||||
$custom-control-spacer-y: .25rem !default;
|
||||
|
||||
$custom-control-indicator-size: 1rem !default;
|
||||
$custom-control-indicator-bg: #ddd !default;
|
||||
$custom-control-indicator-bg-size: 50% 50% !default;
|
||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba(0,0,0,.1) !default;
|
||||
|
||||
$custom-control-disabled-cursor: $cursor-disabled !default;
|
||||
$custom-control-disabled-indicator-bg: #eee !default;
|
||||
$custom-control-disabled-description-color: #767676 !default;
|
||||
|
||||
$custom-control-checked-indicator-color: #fff !default;
|
||||
$custom-control-checked-indicator-bg: #0074d9 !default;
|
||||
$custom-control-checked-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-control-focus-indicator-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default;
|
||||
|
||||
$custom-control-active-indicator-color: #fff !default;
|
||||
$custom-control-active-indicator-bg: #84c6ff !default;
|
||||
$custom-control-active-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-checkbox-radius: $border-radius !default;
|
||||
$custom-checkbox-checked-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$custom-checkbox-indeterminate-bg: #0074d9 !default;
|
||||
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
|
||||
$custom-checkbox-indeterminate-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E") !default;
|
||||
$custom-checkbox-indeterminate-box-shadow: none !default;
|
||||
|
||||
$custom-radio-radius: 50% !default;
|
||||
$custom-radio-checked-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$custom-select-padding-x: .75rem !default;
|
||||
$custom-select-padding-y: .375rem !default;
|
||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-light !default;
|
||||
$custom-select-bg: #fff !default;
|
||||
$custom-select-disabled-bg: $gray-lighter !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: #333 !default;
|
||||
$custom-select-indicator: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") !default;
|
||||
$custom-select-border-width: $input-btn-border-width !default;
|
||||
$custom-select-border-color: $input-border-color !default;
|
||||
$custom-select-border-radius: $border-radius !default;
|
||||
|
||||
$custom-select-focus-border-color: #51a7e8 !default;
|
||||
$custom-select-focus-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba(81, 167, 232, .5) !default;
|
||||
|
||||
$custom-select-sm-padding-y: .2rem !default;
|
||||
$custom-select-sm-font-size: 75% !default;
|
||||
|
||||
$custom-file-height: 2.5rem !default;
|
||||
$custom-file-width: 14rem !default;
|
||||
$custom-file-focus-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default;
|
||||
|
||||
$custom-file-padding-x: .5rem !default;
|
||||
$custom-file-padding-y: 1rem !default;
|
||||
$custom-file-line-height: 1.5 !default;
|
||||
$custom-file-color: #555 !default;
|
||||
$custom-file-bg: #fff !default;
|
||||
$custom-file-border-width: $border-width !default;
|
||||
$custom-file-border-color: #ddd !default;
|
||||
$custom-file-border-radius: $border-radius !default;
|
||||
$custom-file-box-shadow: inset 0 .2rem .4rem rgba(0,0,0,.05) !default;
|
||||
$custom-file-button-color: $custom-file-color !default;
|
||||
$custom-file-button-bg: #eee !default;
|
||||
$custom-file-text: (
|
||||
placeholder: (
|
||||
en: "Choose file..."
|
||||
),
|
||||
button-label: (
|
||||
en: "Browse"
|
||||
)
|
||||
) !default;
|
||||
|
||||
|
||||
// Form validation icons
|
||||
$form-icon-success-color: $brand-success !default;
|
||||
$form-icon-success: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$form-icon-warning-color: $brand-warning !default;
|
||||
$form-icon-warning: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$form-icon-danger-color: $brand-danger !default;
|
||||
$form-icon-danger: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") !default;
|
||||
|
||||
|
||||
// Dropdowns
|
||||
//
|
||||
// Dropdown menu container and contents.
|
||||
|
||||
$dropdown-min-width: 10rem !default;
|
||||
$dropdown-padding-y: .5rem !default;
|
||||
$dropdown-margin-top: .125rem !default;
|
||||
$dropdown-bg: #fff !default;
|
||||
$dropdown-border-color: rgba(0,0,0,.15) !default;
|
||||
$dropdown-border-width: $border-width !default;
|
||||
$dropdown-divider-bg: #e5e5e5 !default;
|
||||
$dropdown-box-shadow: 0 .5rem 1rem rgba(0,0,0,.175) !default;
|
||||
|
||||
$dropdown-link-color: $gray-dark !default;
|
||||
$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
|
||||
$dropdown-link-hover-bg: #f5f5f5 !default;
|
||||
|
||||
$dropdown-link-active-color: $component-active-color !default;
|
||||
$dropdown-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$dropdown-link-disabled-color: $gray-light !default;
|
||||
|
||||
$dropdown-item-padding-x: 1rem !default;
|
||||
|
||||
$dropdown-header-color: $gray-light !default;
|
||||
|
||||
|
||||
// Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
|
||||
$zindex-dropdown-backdrop: 990 !default;
|
||||
$zindex-navbar: 1000 !default;
|
||||
$zindex-dropdown: 1000 !default;
|
||||
$zindex-popover: 1060 !default;
|
||||
$zindex-tooltip: 1070 !default;
|
||||
$zindex-navbar-fixed: 1030 !default;
|
||||
$zindex-navbar-sticky: 1030 !default;
|
||||
$zindex-modal-bg: 1040 !default;
|
||||
$zindex-modal: 1050 !default;
|
||||
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-border-radius: $border-radius !default;
|
||||
$navbar-padding-x: $spacer !default;
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
$navbar-brand-padding-y: .25rem !default;
|
||||
|
||||
$navbar-dark-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-hover-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-active-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-disabled-color: rgba(255,255,255,.25) !default;
|
||||
$navbar-dark-toggler-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$navbar-light-color: rgba(0,0,0,.3) !default;
|
||||
$navbar-light-hover-color: rgba(0,0,0,.6) !default;
|
||||
$navbar-light-active-color: rgba(0,0,0,.8) !default;
|
||||
$navbar-light-disabled-color: rgba(0,0,0,.15) !default;
|
||||
$navbar-light-toggler-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
|
||||
|
||||
|
||||
// Navs
|
||||
|
||||
$nav-item-margin: .2rem !default;
|
||||
$nav-item-inline-spacer: 1rem !default;
|
||||
$nav-link-padding: .5em 1em !default;
|
||||
$nav-link-hover-bg: $gray-lighter !default;
|
||||
$nav-disabled-link-color: $gray-light !default;
|
||||
$nav-disabled-link-hover-color: $gray-light !default;
|
||||
$nav-disabled-link-hover-bg: transparent !default;
|
||||
|
||||
$nav-tabs-border-color: #ddd !default;
|
||||
$nav-tabs-border-width: $border-width !default;
|
||||
$nav-tabs-border-radius: $border-radius !default;
|
||||
$nav-tabs-link-hover-border-color: $gray-lighter !default;
|
||||
$nav-tabs-active-link-hover-color: $gray !default;
|
||||
$nav-tabs-active-link-hover-bg: transparent !default;
|
||||
$nav-tabs-active-link-hover-border-color: #ddd !default;
|
||||
$nav-tabs-justified-link-border-color: #ddd !default;
|
||||
$nav-tabs-justified-active-link-border-color: $body-bg !default;
|
||||
|
||||
$nav-pills-border-radius: $border-radius !default;
|
||||
$nav-pills-active-link-color: $component-active-color !default;
|
||||
$nav-pills-active-link-bg: $component-active-bg !default;
|
||||
|
||||
|
||||
// Pagination
|
||||
|
||||
$pagination-padding-x: .75rem !default;
|
||||
$pagination-padding-y: .5rem !default;
|
||||
$pagination-padding-x-sm: .75rem !default;
|
||||
$pagination-padding-y-sm: .275rem !default;
|
||||
$pagination-padding-x-lg: 1.5rem !default;
|
||||
$pagination-padding-y-lg: .75rem !default;
|
||||
|
||||
|
||||
$pagination-color: $link-color !default;
|
||||
$pagination-bg: #fff !default;
|
||||
$pagination-border-width: $border-width !default;
|
||||
$pagination-border-color: #ddd !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-lighter !default;
|
||||
$pagination-hover-border: #ddd !default;
|
||||
|
||||
$pagination-active-color: #fff !default;
|
||||
$pagination-active-bg: $brand-primary !default;
|
||||
$pagination-active-border: $brand-primary !default;
|
||||
|
||||
$pagination-disabled-color: $gray-light !default;
|
||||
$pagination-disabled-bg: #fff !default;
|
||||
$pagination-disabled-border: #ddd !default;
|
||||
|
||||
|
||||
// Jumbotron
|
||||
|
||||
$jumbotron-padding: 2rem !default;
|
||||
$jumbotron-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
//
|
||||
// Define colors for form feedback states and, by default, alerts.
|
||||
|
||||
$state-success-text: #3c763d !default;
|
||||
$state-success-bg: #dff0d8 !default;
|
||||
$state-success-border: darken($state-success-bg, 5%) !default;
|
||||
|
||||
$state-info-text: #31708f !default;
|
||||
$state-info-bg: #d9edf7 !default;
|
||||
$state-info-border: darken($state-info-bg, 7%) !default;
|
||||
|
||||
$state-warning-text: #8a6d3b !default;
|
||||
$state-warning-bg: #fcf8e3 !default;
|
||||
$mark-bg: $state-warning-bg !default;
|
||||
$state-warning-border: darken($state-warning-bg, 5%) !default;
|
||||
|
||||
$state-danger-text: #a94442 !default;
|
||||
$state-danger-bg: #f2dede !default;
|
||||
$state-danger-border: darken($state-danger-bg, 5%) !default;
|
||||
|
||||
|
||||
// Cards
|
||||
$card-spacer-x: 1.25rem !default;
|
||||
$card-spacer-y: .75rem !default;
|
||||
$card-border-width: 1px !default;
|
||||
$card-border-radius: $border-radius !default;
|
||||
$card-border-color: rgba(0,0,0,.125) !default;
|
||||
$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
|
||||
$card-cap-bg: #f5f5f5 !default;
|
||||
$card-bg: #fff !default;
|
||||
|
||||
$card-link-hover-color: #fff !default;
|
||||
|
||||
$card-img-overlay-padding: 1.25rem !default;
|
||||
|
||||
$card-deck-margin: .625rem !default;
|
||||
|
||||
$card-columns-sm-up-column-gap: 1.25rem !default;
|
||||
|
||||
|
||||
// Tooltips
|
||||
|
||||
$tooltip-max-width: 200px !default;
|
||||
$tooltip-color: #fff !default;
|
||||
$tooltip-bg: #000 !default;
|
||||
$tooltip-opacity: .9 !default;
|
||||
$tooltip-padding-y: 3px !default;
|
||||
$tooltip-padding-x: 8px !default;
|
||||
$tooltip-margin: 3px !default;
|
||||
|
||||
$tooltip-arrow-width: 5px !default;
|
||||
$tooltip-arrow-color: $tooltip-bg !default;
|
||||
|
||||
|
||||
// Popovers
|
||||
|
||||
$popover-inner-padding: 1px !default;
|
||||
$popover-bg: #fff !default;
|
||||
$popover-max-width: 276px !default;
|
||||
$popover-border-width: $border-width !default;
|
||||
$popover-border-color: rgba(0,0,0,.2) !default;
|
||||
$popover-box-shadow: 0 5px 10px rgba(0,0,0,.2) !default;
|
||||
|
||||
$popover-title-bg: darken($popover-bg, 3%) !default;
|
||||
$popover-title-padding-x: 14px !default;
|
||||
$popover-title-padding-y: 8px !default;
|
||||
|
||||
$popover-content-padding-x: 14px !default;
|
||||
$popover-content-padding-y: 9px !default;
|
||||
|
||||
$popover-arrow-width: 10px !default;
|
||||
$popover-arrow-color: $popover-bg !default;
|
||||
|
||||
$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
|
||||
$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
|
||||
|
||||
|
||||
// Tags
|
||||
|
||||
$tag-default-bg: $gray-light !default;
|
||||
$tag-primary-bg: $brand-primary !default;
|
||||
$tag-success-bg: $brand-success !default;
|
||||
$tag-info-bg: $brand-info !default;
|
||||
$tag-warning-bg: $brand-warning !default;
|
||||
$tag-danger-bg: $brand-danger !default;
|
||||
|
||||
$tag-color: #fff !default;
|
||||
$tag-link-hover-color: #fff !default;
|
||||
$tag-font-size: 75% !default;
|
||||
$tag-font-weight: bold !default;
|
||||
$tag-padding-x: .4em !default;
|
||||
$tag-padding-y: .25em !default;
|
||||
|
||||
$tag-pill-padding-x: .6em !default;
|
||||
// Use a higher than normal value to ensure completely rounded edges when
|
||||
// customizing padding or font-size on labels.
|
||||
$tag-pill-border-radius: 10rem !default;
|
||||
|
||||
// Modals
|
||||
|
||||
// Padding applied to the modal body
|
||||
$modal-inner-padding: 15px !default;
|
||||
|
||||
$modal-dialog-margin: 10px !default;
|
||||
$modal-dialog-sm-up-margin-y: 30px !default;
|
||||
|
||||
$modal-title-padding: 15px !default;
|
||||
$modal-title-line-height: $line-height-base !default;
|
||||
|
||||
$modal-content-bg: #fff !default;
|
||||
$modal-content-border-color: rgba(0,0,0,.2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-xs-box-shadow: 0 3px 9px rgba(0,0,0,.5) !default;
|
||||
$modal-content-sm-up-box-shadow: 0 5px 15px rgba(0,0,0,.5) !default;
|
||||
|
||||
$modal-backdrop-bg: #000 !default;
|
||||
$modal-backdrop-opacity: .5 !default;
|
||||
$modal-header-border-color: #e5e5e5 !default;
|
||||
$modal-footer-border-color: $modal-header-border-color !default;
|
||||
$modal-header-border-width: $modal-content-border-width !default;
|
||||
$modal-footer-border-width: $modal-header-border-width !default;
|
||||
|
||||
$modal-lg: 900px !default;
|
||||
$modal-md: 600px !default;
|
||||
$modal-sm: 300px !default;
|
||||
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding: 1rem !default;
|
||||
$alert-border-radius: $border-radius !default;
|
||||
$alert-link-font-weight: bold !default;
|
||||
$alert-border-width: $border-width !default;
|
||||
|
||||
$alert-success-bg: $state-success-bg !default;
|
||||
$alert-success-text: $state-success-text !default;
|
||||
$alert-success-border: $state-success-border !default;
|
||||
|
||||
$alert-info-bg: $state-info-bg !default;
|
||||
$alert-info-text: $state-info-text !default;
|
||||
$alert-info-border: $state-info-border !default;
|
||||
|
||||
$alert-warning-bg: $state-warning-bg !default;
|
||||
$alert-warning-text: $state-warning-text !default;
|
||||
$alert-warning-border: $state-warning-border !default;
|
||||
|
||||
$alert-danger-bg: $state-danger-bg !default;
|
||||
$alert-danger-text: $state-danger-text !default;
|
||||
$alert-danger-border: $state-danger-border !default;
|
||||
|
||||
|
||||
// Progress bars
|
||||
|
||||
$progress-bg: #eee !default;
|
||||
$progress-bar-color: #0074d9 !default;
|
||||
$progress-border-radius: $border-radius !default;
|
||||
$progress-box-shadow: none !default;
|
||||
|
||||
$progress-bar-bg: $brand-primary !default;
|
||||
$progress-bar-success-bg: $brand-success !default;
|
||||
$progress-bar-warning-bg: $brand-warning !default;
|
||||
$progress-bar-danger-bg: $brand-danger !default;
|
||||
$progress-bar-info-bg: $brand-info !default;
|
||||
|
||||
|
||||
// List group
|
||||
|
||||
$list-group-bg: #fff !default;
|
||||
$list-group-border-color: #ddd !default;
|
||||
$list-group-border-width: $border-width !default;
|
||||
$list-group-border-radius: $border-radius !default;
|
||||
|
||||
$list-group-hover-bg: #f5f5f5 !default;
|
||||
$list-group-active-color: $component-active-color !default;
|
||||
$list-group-active-bg: $component-active-bg !default;
|
||||
$list-group-active-border: $list-group-active-bg !default;
|
||||
$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
|
||||
|
||||
$list-group-disabled-color: $gray-light !default;
|
||||
$list-group-disabled-bg: $gray-lighter !default;
|
||||
$list-group-disabled-text-color: $list-group-disabled-color !default;
|
||||
|
||||
$list-group-link-color: #555 !default;
|
||||
$list-group-link-hover-color: $list-group-link-color !default;
|
||||
$list-group-link-heading-color: #333 !default;
|
||||
|
||||
$list-group-item-padding-x: 1.25rem !default;
|
||||
$list-group-item-padding-y: .75rem !default;
|
||||
$list-group-item-heading-margin-bottom: 5px !default;
|
||||
|
||||
|
||||
// Image thumbnails
|
||||
|
||||
$thumbnail-padding: .25rem !default;
|
||||
$thumbnail-bg: $body-bg !default;
|
||||
$thumbnail-border-width: $border-width !default;
|
||||
$thumbnail-border-color: #ddd !default;
|
||||
$thumbnail-border-radius: $border-radius !default;
|
||||
$thumbnail-box-shadow: 0 1px 2px rgba(0,0,0,.075) !default;
|
||||
|
||||
|
||||
// Figures
|
||||
|
||||
$figure-caption-font-size: 90% !default;
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
|
||||
$breadcrumb-padding-y: .75rem !default;
|
||||
$breadcrumb-padding-x: 1rem !default;
|
||||
$breadcrumb-item-padding: .5rem !default;
|
||||
|
||||
$breadcrumb-bg: $gray-lighter !default;
|
||||
$breadcrumb-divider-color: $gray-light !default;
|
||||
$breadcrumb-active-color: $gray-light !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
|
||||
|
||||
// Media objects
|
||||
|
||||
$media-margin-top: 15px !default;
|
||||
$media-heading-margin-bottom: 5px !default;
|
||||
$media-alignment-padding-x: 10px !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
||||
$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
|
||||
|
||||
$carousel-control-color: #fff !default;
|
||||
$carousel-control-width: 15% !default;
|
||||
$carousel-control-sm-up-size: 30px !default;
|
||||
$carousel-control-opacity: .5 !default;
|
||||
$carousel-control-font-size: 20px !default;
|
||||
|
||||
$carousel-indicators-width: 60% !default;
|
||||
|
||||
$carousel-indicator-size: 10px !default;
|
||||
$carousel-indicator-active-size: 12px !default;
|
||||
$carousel-indicator-active-bg: #fff !default;
|
||||
$carousel-indicator-border-color: #fff !default;
|
||||
|
||||
$carousel-caption-width: 70% !default;
|
||||
$carousel-caption-sm-up-width: 60% !default;
|
||||
$carousel-caption-color: #fff !default;
|
||||
|
||||
$carousel-icon-width: 20px !default;
|
||||
|
||||
|
||||
// Close
|
||||
|
||||
$close-font-weight: bold !default;
|
||||
$close-color: #000 !default;
|
||||
$close-text-shadow: 0 1px 0 #fff !default;
|
||||
|
||||
|
||||
// Code
|
||||
|
||||
$code-font-size: 90% !default;
|
||||
$code-padding-x: .4rem !default;
|
||||
$code-padding-y: .2rem !default;
|
||||
$code-color: #bd4147 !default;
|
||||
$code-bg: #f7f7f9 !default;
|
||||
|
||||
$kbd-color: #fff !default;
|
||||
$kbd-bg: #333 !default;
|
||||
|
||||
$pre-bg: #f7f7f9 !default;
|
||||
$pre-color: $gray-dark !default;
|
||||
$pre-border-color: #ccc !default;
|
||||
$pre-scrollable-max-height: 340px !default;
|
||||
95
build/scss/_header.scss
Normal file
95
build/scss/_header.scss
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Component: Main Header
|
||||
* ----------------------
|
||||
*/
|
||||
|
||||
.main-header {
|
||||
padding: 0 16px 0 0;
|
||||
.navbar-brand {
|
||||
font-weight: 200;
|
||||
width: $sidebar-width;
|
||||
padding: $main-header-brand-padding-y $main-header-brand-padding-x;
|
||||
background: darken($brand-primary, 5%);
|
||||
transition: width $transition-speed $transition-fn;
|
||||
overflow: hidden;
|
||||
margin-right: 0;
|
||||
|
||||
> .logo-mini {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.sidebar-mini.sidebar-collapse & {
|
||||
width: $sidebar-mini-width;
|
||||
> .logo {
|
||||
display: none;
|
||||
}
|
||||
> .logo-mini {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
width: $sidebar-mini-width;
|
||||
> .logo {
|
||||
display: none;
|
||||
}
|
||||
> .logo-mini {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*.navbar-nav .nav-item {
|
||||
margin: 0;
|
||||
}*/
|
||||
|
||||
&.navbar-toggleable .navbar-nav .nav-link {
|
||||
padding: $main-header-link-padding-y $main-header-link-padding-x;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/*.open > .nav-link,
|
||||
.nav-link:hover {
|
||||
background: rgba(0, 0, 0, .1);
|
||||
}*/
|
||||
|
||||
.has-img {
|
||||
padding-top: $main-header-link-padding-y - 2;
|
||||
padding-bottom: $main-header-link-padding-y - 2;
|
||||
}
|
||||
|
||||
.navbar-nav[class*="-right"] {
|
||||
.dropdown-menu {
|
||||
margin-top: -3px;
|
||||
right: 0;
|
||||
left: auto;
|
||||
@media (max-width: breakpoint-max(xs)) {
|
||||
left: 0;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Add shadow to the navbar if wanted
|
||||
.navbar-shadow {
|
||||
@include box-shadow(0 3px 3px rgba(0, 0, 0, 0.1));
|
||||
}
|
||||
|
||||
// Add this class to images within a nav-link
|
||||
.navbar-img {
|
||||
height: $main-header-height / 2;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
// Navbar tags (used as badges in nav-link)
|
||||
.navbar-tag {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 5px;
|
||||
font-size: $font-size-xs - .1;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
129
build/scss/_variables.scss
Normal file
129
build/scss/_variables.scss
Normal file
@@ -0,0 +1,129 @@
|
||||
// AdminLTE 3 Variables.less
|
||||
// =========================
|
||||
|
||||
// PATHS
|
||||
// --------------------------------------------------------
|
||||
$path-to-bootstrap-sass: "../../bower_components/bootstrap/scss" !default;
|
||||
$boxed-layout-bg-image-path: "../img/boxed-bg.jpg" !default;
|
||||
|
||||
// COLORS
|
||||
// --------------------------------------------------------
|
||||
/*
|
||||
$blue: #0073b7 !default;
|
||||
$black: #111 !default;
|
||||
$orange: #FF851B !default;
|
||||
*/
|
||||
$fuchsia: #F012BE !default;
|
||||
$purple: #605ca8 !default;
|
||||
$maroon: #D81B60 !default;
|
||||
$teal: #39CCCC !default;
|
||||
$olive: #3D9970 !default;
|
||||
$lime: #01FF70 !default;
|
||||
$navy: #001F3F !default;
|
||||
$gray-x-light: #d2d6de !default;
|
||||
|
||||
// TEXT
|
||||
// --------------------------------------------------------
|
||||
$font-size-root: 16px !default;
|
||||
|
||||
// LAYOUT
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Side bar and logo width
|
||||
$sidebar-width: 230px !default;
|
||||
// Boxed layout maximum width
|
||||
$boxed-layout-max-width: 1250px !default;
|
||||
// When to show the smaller logo
|
||||
$screen-header-collapse: map-get($grid-breakpoints, md) !default;
|
||||
|
||||
// Link colors (aka: <a> tags)
|
||||
$link-color: $brand-primary !default;
|
||||
$link-hover-color: lighten($link-color, 15%) !default;
|
||||
|
||||
// Body background (Affects main content background only)
|
||||
$main-bg: $gray-lighter !default;
|
||||
|
||||
// MAIN HEADER
|
||||
// --------------------------------------------------------
|
||||
$main-header-link-padding-y: 15px !default;
|
||||
$main-header-link-padding-x: 15px !default;
|
||||
$main-header-brand-padding-y: 12px !default;
|
||||
$main-header-brand-padding-x: $main-header-brand-padding-y !default;
|
||||
$main-header-height: (($font-size-root * $line-height-base) + ($main-header-link-padding-y * 2)) !default;
|
||||
|
||||
// MAIN FOOTER
|
||||
// --------------------------------------------------------
|
||||
$main-footer-padding: 15px !default;
|
||||
$main-footer-border-top-width: 2px !default;
|
||||
$main-footer-border-top: $main-footer-border-top-width solid darken($main-bg, 10%) !default;
|
||||
$main-footer-height: (($font-size-root * $line-height-base) + ($main-footer-padding * 2)) + $main-footer-border-top-width !default;
|
||||
|
||||
// SIDEBAR SKINS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Dark sidebar
|
||||
$sidebar-dark-bg: #2c333c !default;//#222d32 !default;
|
||||
$sidebar-dark-hover-bg: darken($sidebar-dark-bg, 4%) !default;
|
||||
$sidebar-dark-color: #C2C7D0!default;//lighten($sidebar-dark-bg, 60%) !default;
|
||||
$sidebar-dark-hover-color: #fff !default;
|
||||
$sidebar-dark-submenu-bg: lighten($sidebar-dark-bg, 5%) !default;
|
||||
$sidebar-dark-submenu-color: #C2C7D0!default;//lighten($sidebar-dark-submenu-bg, 40%) !default;
|
||||
$sidebar-dark-submenu-hover-color: #fff !default;
|
||||
|
||||
// Light sidebar
|
||||
$sidebar-light-bg: #f9fafc !default;
|
||||
$sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%) !default;
|
||||
$sidebar-light-color: #444 !default;
|
||||
$sidebar-light-hover-color: #000 !default;
|
||||
$sidebar-light-submenu-bg: $sidebar-light-hover-bg !default;
|
||||
$sidebar-light-submenu-color: #777 !default;
|
||||
$sidebar-light-submenu-hover-color: #000 !default;
|
||||
|
||||
// SIDEBAR MINI
|
||||
// --------------------------------------------------------
|
||||
$sidebar-mini-width: 55px !default;
|
||||
|
||||
// CONTROL SIDEBAR
|
||||
// --------------------------------------------------------
|
||||
$control-sidebar-width: $sidebar-width !default;
|
||||
|
||||
// BOXES
|
||||
// --------------------------------------------------------
|
||||
$box-border-color: #f4f4f4 !default;
|
||||
$box-border-radius: 3px !default;
|
||||
$box-footer-bg: #fff !default;
|
||||
$box-boxshadow: 0 1px 1px rgba(0, 0, 0, 0.125) !default;
|
||||
$box-padding: 10px !default;
|
||||
|
||||
// Box variants
|
||||
$box-default-border-top-color: $gray-x-light !default;// #d2d6de !default;
|
||||
|
||||
// BUTTONS
|
||||
// --------------------------------------------------------
|
||||
$btn-boxshadow: none !default;
|
||||
|
||||
// PROGRESS BARS
|
||||
// --------------------------------------------------------
|
||||
$progress-bar-border-radius: 1px !default;
|
||||
$progress-bar-sm-border-radius: 1px !default;
|
||||
$progress-bar-xs-border-radius: 1px !default;
|
||||
|
||||
|
||||
|
||||
// DIRECT CHAT
|
||||
// --------------------------------------------------------
|
||||
$direct-chat-height: 250px !default;
|
||||
$direct-chat-default-msg-bg: $gray-x-light !default;
|
||||
$direct-chat-default-font-color: #444 !default;
|
||||
$direct-chat-default-msg-border-color: $gray-x-light !default;
|
||||
|
||||
// CHAT WIDGET
|
||||
// --------------------------------------------------------
|
||||
$attachment-border-radius: 3px !default;
|
||||
|
||||
// TRANSITIONS SETTINGS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Transition global options
|
||||
$transition-speed: 0.3s !default;
|
||||
$transition-fn: ease-in-out !default;
|
||||
277
changelog.md
Normal file
277
changelog.md
Normal file
@@ -0,0 +1,277 @@
|
||||
### CHANGE LOG:
|
||||
**v2.3.11:**
|
||||
- Update colors @gray color to @gray-lte
|
||||
|
||||
**v2.3.10:**
|
||||
- Fix default box solid color issue
|
||||
|
||||
**v2.3.9:**
|
||||
- Remove test from starter page
|
||||
- Merge branch 'PeterDaveHelloKitchen-image-optimize'
|
||||
- Merge PR #1108 to optimize images
|
||||
- Fix #1256
|
||||
- Fix #1269
|
||||
- Fix #1276
|
||||
- Fix #1296
|
||||
- Fix #1300
|
||||
- Allow for adminlte without plugin override
|
||||
- Merge pull request #1101 from almasaeed2010/issue-668
|
||||
- Causes bootstrap slider to disappear Revert "Merge pull request #1186 from manhhailua/patch-1"
|
||||
- Merge pull request #1186 from manhhailua/patch-1
|
||||
- Merge pull request #1205 from tyrollins/master
|
||||
- Merge pull request #1211 from cquanu/master
|
||||
- Merge pull request #1224 from kennynaoh/master
|
||||
- Fix typo
|
||||
- Merge pull request #1239 from zzzeep/master
|
||||
- Fix typo
|
||||
- Merge pull request #1242 from gauravmak/patch-1
|
||||
- Merge pull request #1264 from Strato/patch-1
|
||||
- Merge pull request #1286 from marcusportmann/master
|
||||
- Merge branch 'master' of https://github.com/almasaeed2010/AdminLTE
|
||||
- add laravel implementation PR #1301
|
||||
- Merge pull request #1268 from eryshev/master
|
||||
- Happy New Years! <U+1F389>
|
||||
- Fixed jumping buttons with Bootstrap tooltip
|
||||
- Run LESS
|
||||
- Remove font antialiasing
|
||||
- Add option to control sidemenu's tree views.
|
||||
- Fixed a typo
|
||||
- Wrong Spell
|
||||
- Fix issue #1191
|
||||
- Add yarn lock file
|
||||
- Removed redundant punctuation ":"
|
||||
- Add CDNJS version badge in readme
|
||||
- Update BS to v3.3.7
|
||||
- remove unnecessary coma
|
||||
- sliders bug fixes
|
||||
- optimize png images using zopflipng
|
||||
- Provide fix for issue #668
|
||||
|
||||
**v2.3.8:**
|
||||
- Fix sidebar angle icon issue #1237
|
||||
- Update version
|
||||
- Update Bootstrap to 3.3.7
|
||||
|
||||
**v2.3.7:**
|
||||
- Merge pull request #1160 from antoniocambados/antoniocambados-patch-1158
|
||||
- Merge branch 'rickysang-master'
|
||||
- merge pull request #1165
|
||||
- Merge pull request #1166 from liamgall/master
|
||||
- Merge pull request #1178 from mortonfox/patch-1
|
||||
- Merge pull request #1184 from leoncheek/master
|
||||
- Fix sidebar li.active fa-angle-left rotate.
|
||||
- Fix link to changelog
|
||||
- Merge pull request #1 from liamgall/liamgall-patch-1
|
||||
- changed index2.html to ../index2.html
|
||||
- Fix issue #1008
|
||||
- Update sidebar.less
|
||||
|
||||
**v2.3.6:**
|
||||
- Update version
|
||||
- Use markdown in the changelog file
|
||||
- Patch for issue #1098
|
||||
- Update support emails
|
||||
- Merge pull request #1096 from nobusugi246/fix_css_content_too_large
|
||||
- min-height of .content is too large.
|
||||
|
||||
**v2.3.5:**
|
||||
- Fix issue #1097
|
||||
- Remove changelog from readme and specify new source
|
||||
- Merge pull request #1040 from OskarStark/patch-1
|
||||
- Update package.json version
|
||||
- updated changelog with already released versions
|
||||
|
||||
**v2.3.4:**
|
||||
- Fix issue #1093
|
||||
- Fix issue #427 by updating slimscroll
|
||||
- Fix isse #683
|
||||
- Fix issue #1091
|
||||
- Merge branch 'master' of https://github.com/almasaeed2010/AdminLTE
|
||||
- Fix issue #995
|
||||
- Merge pull request #1094 from xvonabur/patch-2
|
||||
- Merge pull request #1006 from Jerome1337/fix-sidebar-label
|
||||
- Merge pull request #1090 from choonho/master
|
||||
- Update typo replaced with jQuery
|
||||
- Merge pull request #1003 from yu1ro/replace-year
|
||||
- Merge pull request #1015 from Fl0ux/master
|
||||
- Merge pull request #1029 from angelitomg/master
|
||||
- Merge branch 'master' of https://github.com/almasaeed2010/AdminLTE
|
||||
- Merge pull request #1089 from almasaeed2010/revert-1084-master
|
||||
- Merge branch 'master' of https://github.com/almasaeed2010/AdminLTE
|
||||
- Merge pull request #1084 from blz-ea/master
|
||||
- Merge branch 'master' of https://github.com/almasaeed2010/AdminLTE
|
||||
- Update ChartJS to 1.1.1
|
||||
- Merge pull request #1061 from freedayko/update-select2
|
||||
- Update Readme
|
||||
- Merge pull request #1041 from OskarStark/patch-2
|
||||
- Update AdminLTE.css
|
||||
- Update app.js
|
||||
- Update Select2 plugin to version 4.0.3
|
||||
- added missing changelog to README. refs #1040
|
||||
- Update jQuery version to 2.2.3
|
||||
- Update Date Range Picker
|
||||
- Update Date Range Picker
|
||||
- Newest momentjs version
|
||||
- Delete old momentjs version
|
||||
- Update Date Range Picker
|
||||
- Update sidebar label template to allow multiple labels
|
||||
- replace 2015 to 2016
|
||||
- Merge pull request #991 from johnberberich/patch-1
|
||||
- Add Bower, NPM and Packagist versions to README.md
|
||||
- Add notification for changelog
|
||||
- Remove sidebar click handler, before assigning one
|
||||
|
||||
**v2.3.3:**
|
||||
- Update version number
|
||||
- Merge pull request #976 from suvjunmd/markup
|
||||
- Merge pull request #983 from johnberberich/fix-help-block-validation
|
||||
- Apply form validation state colors to help blocks
|
||||
- Fixed W3C Markup Validation errors and warnings
|
||||
- Merge #918. Fix date-range button selection issue
|
||||
- Merge pull request #944 from bluemanos/master
|
||||
- Merge pull request #935 from schulzetenberg/master
|
||||
- Merge pull request #904 from 0xMatt/master
|
||||
- Merge pull request #816 from magikMaker/feature/package-json
|
||||
- Fix #957. Make pace visible in skin black
|
||||
- Update ckeditor
|
||||
- Fix typo
|
||||
- updated momentjs library to 2.11.2
|
||||
- update font-awesome to 4.5.0, change CDN to cdnjs.com
|
||||
- Fix sentence
|
||||
- Update README.md
|
||||
- Formatting fix
|
||||
- Add datepicker plugin to examples
|
||||
- Merge remote-tracking branch 'refs/remotes/almasaeed2010/master'
|
||||
- Update License
|
||||
- Improve click event handler
|
||||
- Merge pull request #877 from suvjunmd/jQuery
|
||||
- Add Laravel implementation #858
|
||||
- Updated jQuery to version 2.2.0
|
||||
- Fix issue #812
|
||||
- Update BS to v3.3.6
|
||||
- Merge pull
|
||||
- Add .sass-cache to gitignore
|
||||
- Merge pull request #822 from condor-bird/patch-5
|
||||
- Merge pull request #818 from gabel/update_bootstrap_slider
|
||||
- Merge pull request #821 from pdesmarais/master
|
||||
- Merge pull request #829 from gabel/update_momentjs
|
||||
- Merge pull request #831 from gabel/update_colorpicker
|
||||
- Merge pull request #854 from aqnouch/patch-1
|
||||
- Merge pull request #825 from gabel/update_select2
|
||||
- Updated copyright to 2016
|
||||
- Update to bootstrap-colorpicker version 2.3.0
|
||||
- update moment.js cdn links to version 2.10.6
|
||||
- Update to select2 version 4.0.1
|
||||
- Duplicate attribute type button
|
||||
- Changing the img paths in the css files
|
||||
- Updating to ion.RangeSlider v2.1.2
|
||||
- update to bootsrap-slider 5.3.1
|
||||
- added npm install to readme
|
||||
- added main property to package.json
|
||||
|
||||
**v2.3.2:**
|
||||
- Fix issue #752 (badges, labels and arrows didn't align on sidebar menu properly on FireFox)
|
||||
|
||||
**v2.3.1:**
|
||||
- Fix sidebar issue #676
|
||||
- Fix BootLint warnings and errors
|
||||
- Minor bug fixes and code reformat
|
||||
|
||||
**v2.3.0:**
|
||||
- Added social widgets (found in the widgets page)
|
||||
- Added profile page
|
||||
- Fix issue #430 (requires ```.hold-transition``` to be added to ```<body>```)
|
||||
- Fix issue #578
|
||||
- Fix issue #579
|
||||
|
||||
**v2.2.1:**
|
||||
- Bug Fixes
|
||||
- Removed many ```!important``` statements in css
|
||||
- Activate boxWidget automatically when created after the page has loaded
|
||||
- Activate sidebar menu treeview links automatically when created after the page has loaded
|
||||
- Updated Font Awesome thanks to @Dennis14e
|
||||
- Added JSHint to Grunt tasks (Find JS errors)
|
||||
- Added CSSLint to Grunt tasks (Find CSS errors)
|
||||
- Added Image to Grunt tasks (compress images)
|
||||
- Added Clean to Grunt tasks (remove unwanted files like uncompressed images)
|
||||
- Updated Bootstrap to 3.3.5
|
||||
|
||||
**v2.2.0:**
|
||||
- Bug fixes
|
||||
- Added support for [Select2](https://select2.github.io/)
|
||||
- Updated ChartJS
|
||||
|
||||
**v2.1.2:**
|
||||
- Added explicit BoxWidget activation function issue #450
|
||||
- Crushed some bugs
|
||||
|
||||
**v2.1.1:**
|
||||
- Fix version error
|
||||
|
||||
**v2.1.0:**
|
||||
- Update Ion Icons
|
||||
- Added right sidebar ```.control-sidebar```
|
||||
- Control sidebar has 2 open effects: slide over content and push content
|
||||
- Control sidebar converts to always slide over content on small screens
|
||||
- Added 6 new light sidebar skins
|
||||
- Updated demo menu
|
||||
- Added ChartJS preview page
|
||||
- Fixed some minor bugs
|
||||
- Added light control sidebar skin
|
||||
- Added expand on hover option for sidebar mini
|
||||
- Added fixed control sidebar layout
|
||||
|
||||
**v2.0.5:**
|
||||
- Fixed issue #288
|
||||
|
||||
**v2.0.4:**
|
||||
- Fixed bower.json to pick up newest release.
|
||||
|
||||
**v2.0.3:**
|
||||
- Bug fixes
|
||||
- Fixed extra page when printing issue #264
|
||||
- Updated documentation and fixed links scrolling issue
|
||||
- Created print.less file (this makes it easier if you want to create a seperate CSS file for printing)
|
||||
- Fixed sidebar stretching issue #275
|
||||
- Fixed checkbox out of bounds issue in WYSIHTML5 editor.
|
||||
|
||||
**v2.0.2:**
|
||||
- Solved issue with hidden arrow in select inputs.
|
||||
|
||||
**v2.0.1:**
|
||||
- Updated README.md
|
||||
- Fixed versioning issue in CSS, LESS, and JS
|
||||
- Updated box-shadow for boxes
|
||||
- Updated docs
|
||||
|
||||
**v2.0.0:**
|
||||
- Major layout bug fixes
|
||||
- Change in layout mark up
|
||||
- Added transitions to the sidebar
|
||||
- New skins and modified previous skins
|
||||
- Change in color scheme to a more complementing scheme
|
||||
- Added footer support
|
||||
- Removed pace.js from the main app.js
|
||||
- Added support for collapsed sidebar as an initial state (add .sidebar-collapse to the body tag)
|
||||
- Added boxed layout (.layout-boxed)
|
||||
- Enhanced consistency in padding and margining
|
||||
- Updated Bootstrap to 3.3.2
|
||||
- Fixed navbar dropdown menu on small screens positioning issues.
|
||||
- Updated Ion Icons to 2.0.0
|
||||
- Updated FontAwesome to 4.3.0
|
||||
- Added ChartJS 1.0.1
|
||||
- Removed iCheck dependency
|
||||
- Created Dashboard 2.0
|
||||
- Created new Chat widget (DirectChat)
|
||||
- Added transitions to DirectChat
|
||||
- Added contacts pane to DirectChat
|
||||
- Changed .right-side to .content-wrapper
|
||||
- Changed .navbar-right to .navbar-custom-menu
|
||||
- Removed unused files
|
||||
- Updated lockscreen style (HTML markup changed!)
|
||||
- Updated Login & Registration pages (HTML markup changed!)
|
||||
- Updated buttons style.
|
||||
- Enhanced border-radius consistency
|
||||
- Added mailbox: inbox, read, and compose pages
|
||||
- Bootstrap & jQuery are now hosted locally
|
||||
- Created documentation.
|
||||
26
composer.json
Normal file
26
composer.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "almasaeed2010/adminlte",
|
||||
"description": "AdminLTE - admin control panel and dashboard that's based on Bootstrap 3",
|
||||
"homepage": "https://adminlte.io/",
|
||||
"keywords": [
|
||||
"css",
|
||||
"js",
|
||||
"less",
|
||||
"responsive",
|
||||
"back-end",
|
||||
"template",
|
||||
"theme",
|
||||
"web",
|
||||
"admin"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Abdullah Almsaeed",
|
||||
"email": "abdullah@almsaeedstudio.com"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"support": {
|
||||
"issues": "https://github.com/almasaeed2010/AdminLTE/issues"
|
||||
}
|
||||
}
|
||||
BIN
css/.DS_Store
vendored
BIN
css/.DS_Store
vendored
Binary file not shown.
3404
css/AdminLTE.css
3404
css/AdminLTE.css
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
/*! bootstrap3-wysihtml5-bower 2013-11-22 */
|
||||
|
||||
ul.wysihtml5-toolbar{margin:0;padding:0;display:block}ul.wysihtml5-toolbar::after{clear:both;display:table;content:""}ul.wysihtml5-toolbar>li{float:left;display:list-item;list-style:none;margin:0 5px 10px 0}ul.wysihtml5-toolbar a[data-wysihtml5-command=bold]{font-weight:700}ul.wysihtml5-toolbar a[data-wysihtml5-command=italic]{font-style:italic}ul.wysihtml5-toolbar a[data-wysihtml5-command=underline]{text-decoration:underline}ul.wysihtml5-toolbar a.btn.wysihtml5-command-active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);background-color:#E6E6E6;background-color:#D9D9D9;outline:0}ul.wysihtml5-commands-disabled .dropdown-menu{display:none!important}ul.wysihtml5-toolbar div.wysihtml5-colors{display:block;width:50px;height:20px;margin-top:2px;margin-left:5px;position:absolute;pointer-events:none}ul.wysihtml5-toolbar a.wysihtml5-colors-title{padding-left:70px}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=black]{background:#000!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=silver]{background:silver!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=gray]{background:gray!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=maroon]{background:maroon!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=red]{background:red!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=purple]{background:purple!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=green]{background:green!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=olive]{background:olive!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=navy]{background:navy!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=blue]{background:#00f!important}ul.wysihtml5-toolbar div[data-wysihtml5-command-value=orange]{background:orange!important}
|
||||
7118
css/bootstrap.css
vendored
7118
css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
7
css/bootstrap.min.css
vendored
7
css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
214
css/colorpicker/bootstrap-colorpicker.css
vendored
214
css/colorpicker/bootstrap-colorpicker.css
vendored
@@ -1,214 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap Colorpicker
|
||||
* http://mjolnic.github.io/bootstrap-colorpicker/
|
||||
*
|
||||
* Originally written by (c) 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*
|
||||
*/
|
||||
|
||||
.colorpicker-saturation {
|
||||
float: left;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
cursor: crosshair;
|
||||
background-image: url("../../img/bootstrap-colorpicker/saturation.png");
|
||||
}
|
||||
|
||||
.colorpicker-saturation i {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
margin: -4px 0 0 -4px;
|
||||
border: 1px solid #000;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.colorpicker-saturation i b {
|
||||
display: block;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
border: 1px solid #fff;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.colorpicker-hue,
|
||||
.colorpicker-alpha {
|
||||
float: left;
|
||||
width: 15px;
|
||||
height: 100px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 4px;
|
||||
cursor: row-resize;
|
||||
}
|
||||
|
||||
.colorpicker-hue i,
|
||||
.colorpicker-alpha i {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
margin-top: -1px;
|
||||
background: #000;
|
||||
border-top: 1px solid #fff;
|
||||
}
|
||||
|
||||
.colorpicker-hue {
|
||||
background-image: url("../../img/bootstrap-colorpicker/hue.png");
|
||||
}
|
||||
|
||||
.colorpicker-alpha {
|
||||
display: none;
|
||||
background-image: url("../../img/bootstrap-colorpicker/alpha.png");
|
||||
}
|
||||
|
||||
.colorpicker {
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2500;
|
||||
min-width: 130px;
|
||||
padding: 4px;
|
||||
margin-top: 1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.colorpicker:before,
|
||||
.colorpicker:after {
|
||||
display: table;
|
||||
line-height: 0;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.colorpicker:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.colorpicker:before {
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
display: inline-block;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-left: 7px solid transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
content: '';
|
||||
}
|
||||
|
||||
.colorpicker:after {
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
display: inline-block;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
border-left: 6px solid transparent;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.colorpicker div {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-with-alpha {
|
||||
min-width: 140px;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.colorpicker-color {
|
||||
height: 10px;
|
||||
margin-top: 5px;
|
||||
clear: both;
|
||||
background-image: url("../../img/bootstrap-colorpicker/alpha.png");
|
||||
background-position: 0 100%;
|
||||
}
|
||||
|
||||
.colorpicker-color div {
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.colorpicker-element .input-group-addon i {
|
||||
display: block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-inline {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal {
|
||||
width: 110px;
|
||||
height: auto;
|
||||
min-width: 110px;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-color {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
float: left;
|
||||
width: 100px;
|
||||
height: 15px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 0;
|
||||
cursor: col-resize;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue i,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 1px;
|
||||
height: 15px;
|
||||
margin-top: 0;
|
||||
background: #ffffff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
||||
background-image: url("../../img/bootstrap-colorpicker/hue-horizontal.png");
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
background-image: url("../../img/bootstrap-colorpicker/alpha-horizontal.png");
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.colorpicker.colorpicker-visible {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.colorpicker-inline.colorpicker-visible {
|
||||
display: inline-block;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap Colorpicker
|
||||
* http://mjolnic.github.io/bootstrap-colorpicker/
|
||||
*
|
||||
* Originally written by (c) 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*
|
||||
*/.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../../img/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../../img/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../../img/bootstrap-colorpicker/alpha.png")}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("../../img/bootstrap-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-element .input-group-addon i{display:block;width:16px;height:16px;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../../img/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../../img/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}
|
||||
@@ -1,223 +0,0 @@
|
||||
div.dataTables_length label {
|
||||
font-weight: normal;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.dataTables_length select {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
div.dataTables_filter label {
|
||||
font-weight: normal;
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.dataTables_filter input {
|
||||
width: 16em;
|
||||
}
|
||||
|
||||
div.dataTables_info {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
div.dataTables_paginate {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.dataTables_paginate ul.pagination {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table.dataTable,
|
||||
table.dataTable td,
|
||||
table.dataTable th {
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
|
||||
table.dataTable {
|
||||
clear: both;
|
||||
margin-top: 6px !important;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting { background: url('images/sort_both.png') no-repeat center right; }
|
||||
table.dataTable thead .sorting_asc { background: url('images/sort_asc.png') no-repeat center right; }
|
||||
table.dataTable thead .sorting_desc { background: url('images/sort_desc.png') no-repeat center right; }
|
||||
|
||||
table.dataTable thead .sorting_asc_disabled { background: url('images/sort_asc_disabled.png') no-repeat center right; }
|
||||
table.dataTable thead .sorting_desc_disabled { background: url('images/sort_desc_disabled.png') no-repeat center right; }
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Scrolling */
|
||||
div.dataTables_scrollHead table {
|
||||
margin-bottom: 0 !important;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table thead tr:last-child th:first-child,
|
||||
div.dataTables_scrollHead table thead tr:last-child td:first-child {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody tbody tr:first-child th,
|
||||
div.dataTables_scrollBody tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot table {
|
||||
margin-top: 0 !important;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* TableTools styles
|
||||
*/
|
||||
.table tbody tr.active td,
|
||||
.table tbody tr.active th {
|
||||
background-color: #08C;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.table tbody tr.active:hover td,
|
||||
.table tbody tr.active:hover th {
|
||||
background-color: #0075b0 !important;
|
||||
}
|
||||
|
||||
.table tbody tr.active a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.table-striped tbody tr.active:nth-child(odd) td,
|
||||
.table-striped tbody tr.active:nth-child(odd) th {
|
||||
background-color: #017ebc;
|
||||
}
|
||||
|
||||
table.DTTT_selectable tbody tr {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.DTTT .btn {
|
||||
color: #333 !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
div.DTTT .btn:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
ul.DTTT_dropdown.dropdown-menu {
|
||||
z-index: 2003;
|
||||
}
|
||||
|
||||
ul.DTTT_dropdown.dropdown-menu a {
|
||||
color: #333 !important; /* needed only when demo_page.css is included */
|
||||
}
|
||||
|
||||
ul.DTTT_dropdown.dropdown-menu li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
ul.DTTT_dropdown.dropdown-menu li:hover a {
|
||||
background-color: #0088cc;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
div.DTTT_collection_background {
|
||||
z-index: 2002;
|
||||
}
|
||||
|
||||
/* TableTools information display */
|
||||
div.DTTT_print_info.modal {
|
||||
height: 150px;
|
||||
margin-top: -75px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.DTTT_print_info h6 {
|
||||
font-weight: normal;
|
||||
font-size: 28px;
|
||||
line-height: 28px;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
div.DTTT_print_info p {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* FixedColumns styles
|
||||
*/
|
||||
div.DTFC_LeftHeadWrapper table,
|
||||
div.DTFC_LeftFootWrapper table,
|
||||
div.DTFC_RightHeadWrapper table,
|
||||
div.DTFC_RightFootWrapper table,
|
||||
table.DTFC_Cloned tr.even {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
div.DTFC_RightHeadWrapper table ,
|
||||
div.DTFC_LeftHeadWrapper table {
|
||||
margin-bottom: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
|
||||
div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
|
||||
div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
|
||||
div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
div.DTFC_RightBodyWrapper table,
|
||||
div.DTFC_LeftBodyWrapper table {
|
||||
border-top: none;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.DTFC_RightBodyWrapper tbody tr:first-child th,
|
||||
div.DTFC_RightBodyWrapper tbody tr:first-child td,
|
||||
div.DTFC_LeftBodyWrapper tbody tr:first-child th,
|
||||
div.DTFC_LeftBodyWrapper tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.DTFC_RightFootWrapper table,
|
||||
div.DTFC_LeftFootWrapper table {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,245 +0,0 @@
|
||||
/*!
|
||||
* Stylesheet for the Date Range Picker, for use with Bootstrap 3.x
|
||||
*
|
||||
* Copyright 2013 Dan Grossman ( http://www.dangrossman.info )
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Built for http://www.improvely.com
|
||||
*/
|
||||
|
||||
.daterangepicker.dropdown-menu {
|
||||
max-width: none;
|
||||
z-index: 3000;
|
||||
}
|
||||
|
||||
.daterangepicker.opensleft .ranges, .daterangepicker.opensleft .calendar {
|
||||
float: left;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.daterangepicker.opensright .ranges, .daterangepicker.opensright .calendar {
|
||||
float: right;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges {
|
||||
width: 160px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges .range_inputs>div {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges .range_inputs>div:nth-child(2) {
|
||||
padding-left: 11px;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar {
|
||||
display: none;
|
||||
max-width: 270px;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar th, .daterangepicker .calendar td {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
min-width: 32px;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges label {
|
||||
color: #333;
|
||||
display: block;
|
||||
font-size: 11px;
|
||||
font-weight: normal;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
margin-bottom: 2px;
|
||||
text-shadow: #fff 1px 1px 0px;
|
||||
text-transform: uppercase;
|
||||
width: 74px;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges input {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges .input-mini {
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
color: #555;
|
||||
display: block;
|
||||
font-size: 11px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
vertical-align: middle;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 0 6px;
|
||||
width: 74px;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges li {
|
||||
font-size: 13px;
|
||||
background: #f5f5f5;
|
||||
border: 1px solid #f5f5f5;
|
||||
color: #08c;
|
||||
padding: 3px 12px;
|
||||
margin-bottom: 8px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges li.active, .daterangepicker .ranges li:hover {
|
||||
background: #08c;
|
||||
border: 1px solid #08c;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-date {
|
||||
border: 1px solid #ddd;
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-time {
|
||||
text-align: center;
|
||||
margin: 8px auto 0 auto;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.daterangepicker {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
top: 100px;
|
||||
left: 20px;
|
||||
padding: 4px;
|
||||
margin-top: 1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.daterangepicker.opensleft:before {
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
right: 9px;
|
||||
display: inline-block;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-left: 7px solid transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
content: '';
|
||||
}
|
||||
|
||||
.daterangepicker.opensleft:after {
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
right: 10px;
|
||||
display: inline-block;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #fff;
|
||||
border-left: 6px solid transparent;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.daterangepicker.opensright:before {
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 9px;
|
||||
display: inline-block;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-left: 7px solid transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
content: '';
|
||||
}
|
||||
|
||||
.daterangepicker.opensright:after {
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 10px;
|
||||
display: inline-block;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #fff;
|
||||
border-left: 6px solid transparent;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.daterangepicker table {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.daterangepicker td, .daterangepicker th {
|
||||
text-align: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.daterangepicker td.off {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.daterangepicker td.disabled {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.daterangepicker td.in-range {
|
||||
background: #ebf4f8;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.daterangepicker td.active, .daterangepicker td.active:hover {
|
||||
background-color: #357ebd;
|
||||
border-color: #3071a9;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.daterangepicker td.week, .daterangepicker th.week {
|
||||
font-size: 80%;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.daterangepicker select.monthselect, .daterangepicker select.yearselect {
|
||||
font-size: 12px;
|
||||
padding: 1px;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.daterangepicker select.monthselect {
|
||||
margin-right: 2%;
|
||||
width: 56%;
|
||||
}
|
||||
|
||||
.daterangepicker select.yearselect {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.ampmselect {
|
||||
width: 50px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
1338
css/font-awesome.css
vendored
1338
css/font-awesome.css
vendored
File diff suppressed because it is too large
Load Diff
4
css/font-awesome.min.css
vendored
4
css/font-awesome.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -1,617 +0,0 @@
|
||||
/*!
|
||||
* FullCalendar v1.6.4 Stylesheet
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
|
||||
|
||||
.fc {
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fc table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
html .fc,
|
||||
.fc table {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.fc td,
|
||||
.fc th {
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Header
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-header td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fc-header-left {
|
||||
width: 25%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fc-header-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fc-header-right {
|
||||
width: 25%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.fc-header-title {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fc-header-title h2 {
|
||||
margin-top: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fc .fc-header-space {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.fc-header .fc-button {
|
||||
margin-bottom: 1em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* buttons edges butting together */
|
||||
|
||||
.fc-header .fc-button {
|
||||
margin-right: -1px;
|
||||
}
|
||||
|
||||
.fc-header .fc-corner-right, /* non-theme */
|
||||
.fc-header .ui-corner-right { /* theme */
|
||||
margin-right: 0; /* back to normal */
|
||||
}
|
||||
|
||||
/* button layering (for border precedence) */
|
||||
|
||||
.fc-header .fc-state-hover,
|
||||
.fc-header .ui-state-hover {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.fc-header .fc-state-down {
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.fc-header .fc-state-active,
|
||||
.fc-header .ui-state-active {
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Content
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-content {
|
||||
clear: both;
|
||||
zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */
|
||||
}
|
||||
|
||||
.fc-view {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Cell Styles
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-widget-header, /* <th>, usually */
|
||||
.fc-widget-content { /* <td>, usually */
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
|
||||
background: #fcf8e3;
|
||||
}
|
||||
|
||||
.fc-cell-overlay { /* semi-transparent rectangle while dragging */
|
||||
background: #bce8f1;
|
||||
opacity: .3;
|
||||
filter: alpha(opacity=30); /* for IE */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Buttons
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-button {
|
||||
display: inline-block;
|
||||
padding: 4px 9px;
|
||||
margin-bottom: 0;
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
line-height: 1.428571429;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
background-image: none;
|
||||
border: 1px solid transparent;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.fc-state-default { /* non-theme */
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
.fc-state-default.fc-corner-left { /* non-theme */
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
|
||||
.fc-state-default.fc-corner-right { /* non-theme */
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
/*
|
||||
Our default prev/next buttons use HTML entities like ‹ › « »
|
||||
and we'll try to make them look good cross-browser.
|
||||
*/
|
||||
|
||||
.fc-text-arrow {
|
||||
margin: 0 .1em;
|
||||
font-size: 2em;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
vertical-align: baseline; /* for IE7 */
|
||||
}
|
||||
|
||||
.fc-button-prev .fc-text-arrow,
|
||||
.fc-button-next .fc-text-arrow { /* for ‹ › */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* icon (for jquery ui) */
|
||||
|
||||
.fc-button .fc-icon-wrap {
|
||||
position: relative;
|
||||
float: left;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.fc-button .ui-icon {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-top: -50%;
|
||||
*margin-top: 0;
|
||||
*top: -50%;
|
||||
}
|
||||
|
||||
/*
|
||||
button states
|
||||
borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
|
||||
*/
|
||||
|
||||
.fc-state-default {
|
||||
background-color: #f5f5f5;
|
||||
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
|
||||
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
color: #333;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.fc-button.fc-state-default {
|
||||
border: 1px solid #d9dadc;
|
||||
border-bottom-color: #d3d5d7;
|
||||
border-bottom-width: 2px;
|
||||
margin-left: 0px!important;
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
.fc-state-hover,
|
||||
.fc-state-down,
|
||||
.fc-state-active,
|
||||
.fc-state-disabled {
|
||||
color: #333333;
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
|
||||
.fc-state-hover {
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
background-position: 0 -15px;
|
||||
-webkit-transition: background-position 0.1s linear;
|
||||
-moz-transition: background-position 0.1s linear;
|
||||
-o-transition: background-position 0.1s linear;
|
||||
transition: background-position 0.1s linear;
|
||||
}
|
||||
|
||||
.fc-state-down,
|
||||
.fc-state-active {
|
||||
background-color: #cccccc;
|
||||
background-image: none;
|
||||
outline: 0;
|
||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.fc-state-disabled {
|
||||
cursor: default;
|
||||
background-image: none;
|
||||
opacity: 0.65;
|
||||
filter: alpha(opacity=65);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Global Event Styles
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-event-container > * {
|
||||
z-index: 8;
|
||||
}
|
||||
|
||||
.fc-event-container > .ui-draggable-dragging,
|
||||
.fc-event-container > .ui-resizable-resizing {
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.fc-event {
|
||||
border: 1px solid #3a87ad; /* default BORDER color */
|
||||
background-color: #3a87ad; /* default BACKGROUND color */
|
||||
color: #fff; /* default TEXT color */
|
||||
font-size: .85em;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
a.fc-event {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.fc-event,
|
||||
.fc-event-draggable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fc-rtl .fc-event {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.fc-event-inner {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fc-event-time,
|
||||
.fc-event-title {
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
.fc .ui-resizable-handle {
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: 99999;
|
||||
overflow: hidden; /* hacky spaces (IE6/7) */
|
||||
font-size: 300%; /* */
|
||||
line-height: 50%; /* */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Horizontal Events
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-event-hori {
|
||||
border-width: 1px 0;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.fc-ltr .fc-event-hori.fc-event-start,
|
||||
.fc-rtl .fc-event-hori.fc-event-end {
|
||||
border-left-width: 1px;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
.fc-ltr .fc-event-hori.fc-event-end,
|
||||
.fc-rtl .fc-event-hori.fc-event-start {
|
||||
border-right-width: 1px;
|
||||
border-top-right-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
/* resizable */
|
||||
|
||||
.fc-event-hori .ui-resizable-e {
|
||||
top: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
||||
right: -3px !important;
|
||||
width: 7px !important;
|
||||
height: 100% !important;
|
||||
cursor: e-resize;
|
||||
}
|
||||
|
||||
.fc-event-hori .ui-resizable-w {
|
||||
top: 0 !important;
|
||||
left: -3px !important;
|
||||
width: 7px !important;
|
||||
height: 100% !important;
|
||||
cursor: w-resize;
|
||||
}
|
||||
|
||||
.fc-event-hori .ui-resizable-handle {
|
||||
_padding-bottom: 14px; /* IE6 had 0 height */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Reusable Separate-border Table
|
||||
------------------------------------------------------------*/
|
||||
|
||||
table.fc-border-separate {
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
.fc-border-separate th,
|
||||
.fc-border-separate td {
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
|
||||
.fc-border-separate th.fc-last,
|
||||
.fc-border-separate td.fc-last {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
|
||||
.fc-border-separate tr.fc-last th,
|
||||
.fc-border-separate tr.fc-last td {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
.fc-border-separate tbody tr.fc-first td,
|
||||
.fc-border-separate tbody tr.fc-first th {
|
||||
border-top-width: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Month View, Basic Week View, Basic Day View
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-grid th {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fc .fc-week-number {
|
||||
width: 22px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fc .fc-week-number div {
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
.fc-grid .fc-day-number {
|
||||
float: right;
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
.fc-grid .fc-other-month .fc-day-number {
|
||||
opacity: 0.3;
|
||||
filter: alpha(opacity=30); /* for IE */
|
||||
/* opacity with small font can sometimes look too faded
|
||||
might want to set the 'color' property instead
|
||||
making day-numbers bold also fixes the problem */
|
||||
}
|
||||
|
||||
.fc-grid .fc-day-content {
|
||||
clear: both;
|
||||
padding: 2px 2px 1px; /* distance between events and day edges */
|
||||
}
|
||||
|
||||
/* event styles */
|
||||
|
||||
.fc-grid .fc-event-time {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* right-to-left */
|
||||
|
||||
.fc-rtl .fc-grid .fc-day-number {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.fc-rtl .fc-grid .fc-event-time {
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Agenda Week View, Agenda Day View
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-agenda table {
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
.fc-agenda-days th {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fc-agenda .fc-agenda-axis {
|
||||
width: 50px;
|
||||
padding: 0 4px;
|
||||
vertical-align: middle;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fc-agenda .fc-week-number {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.fc-agenda .fc-day-content {
|
||||
padding: 2px 2px 1px;
|
||||
}
|
||||
|
||||
/* make axis border take precedence */
|
||||
|
||||
.fc-agenda-days .fc-agenda-axis {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
|
||||
.fc-agenda-days .fc-col0 {
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
/* all-day area */
|
||||
|
||||
.fc-agenda-allday th {
|
||||
border-width: 0 1px;
|
||||
}
|
||||
|
||||
.fc-agenda-allday .fc-day-content {
|
||||
min-height: 34px; /* TODO: doesnt work well in quirksmode */
|
||||
_height: 34px;
|
||||
}
|
||||
|
||||
/* divider (between all-day and slots) */
|
||||
|
||||
.fc-agenda-divider-inner {
|
||||
height: 2px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fc-widget-header .fc-agenda-divider-inner {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
/* slot rows */
|
||||
|
||||
.fc-agenda-slots th {
|
||||
border-width: 1px 1px 0;
|
||||
}
|
||||
|
||||
.fc-agenda-slots td {
|
||||
border-width: 1px 0 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.fc-agenda-slots td div {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.fc-agenda-slots tr.fc-slot0 th,
|
||||
.fc-agenda-slots tr.fc-slot0 td {
|
||||
border-top-width: 0;
|
||||
}
|
||||
|
||||
.fc-agenda-slots tr.fc-minor th,
|
||||
.fc-agenda-slots tr.fc-minor td {
|
||||
border-top-style: dotted;
|
||||
}
|
||||
|
||||
.fc-agenda-slots tr.fc-minor th.ui-widget-header {
|
||||
*border-top-style: solid; /* doesn't work with background in IE6/7 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Vertical Events
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
.fc-event-vert {
|
||||
border-width: 0 1px;
|
||||
}
|
||||
|
||||
.fc-event-vert.fc-event-start {
|
||||
border-top-width: 1px;
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
|
||||
.fc-event-vert.fc-event-end {
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
.fc-event-vert .fc-event-time {
|
||||
white-space: nowrap;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.fc-event-vert .fc-event-inner {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
opacity: .25;
|
||||
filter: alpha(opacity=25);
|
||||
}
|
||||
|
||||
.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
|
||||
.fc-select-helper .fc-event-bg {
|
||||
display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */
|
||||
}
|
||||
|
||||
/* resizable */
|
||||
|
||||
.fc-event-vert .ui-resizable-s {
|
||||
bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */
|
||||
width: 100% !important;
|
||||
height: 8px !important;
|
||||
overflow: hidden !important;
|
||||
line-height: 8px !important;
|
||||
font-size: 11px !important;
|
||||
font-family: monospace;
|
||||
text-align: center;
|
||||
cursor: s-resize;
|
||||
}
|
||||
|
||||
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
|
||||
_overflow: hidden;
|
||||
}
|
||||
|
||||
/* Custom calendar */
|
||||
.external-event {
|
||||
margin: 10px 0;
|
||||
padding: 3px 5px;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
font-weight: 600;
|
||||
display: inline-block;
|
||||
margin: 0 5px 5px 0;
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
/*!
|
||||
* FullCalendar v1.6.4 Print Stylesheet
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include this stylesheet on your page to get a more printer-friendly calendar.
|
||||
* When including this stylesheet, use the media='print' attribute of the <link> tag.
|
||||
* Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
|
||||
*/
|
||||
|
||||
|
||||
/* Events
|
||||
-----------------------------------------------------*/
|
||||
.fc-event {
|
||||
background: #fff !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
/* for vertical events */
|
||||
|
||||
.fc-event-bg {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.fc-event .ui-resizable-handle {
|
||||
display: none !important;
|
||||
}
|
||||
BIN
css/iCheck/.DS_Store
vendored
BIN
css/iCheck/.DS_Store
vendored
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.7 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user