.
8 | .list-group {
9 | // No need to set list-style: none; since .list-group-item is block level
10 | margin-bottom: 20px;
11 | padding-left: 0; // reset padding because ul and ol
12 | }
13 |
14 | // Individual list items
15 | // -------------------------
16 |
17 | .list-group-item {
18 | position: relative;
19 | display: block;
20 | padding: 10px 15px;
21 | // Place the border on the list items and negative margin up for better styling
22 | margin-bottom: -1px;
23 | background-color: @list-group-bg;
24 | border: 1px solid @list-group-border;
25 |
26 | // Round the first and last items
27 | &:first-child {
28 | .border-top-radius(@list-group-border-radius);
29 | }
30 | &:last-child {
31 | margin-bottom: 0;
32 | .border-bottom-radius(@list-group-border-radius);
33 | }
34 |
35 | // Align badges within list items
36 | > .badge {
37 | float: right;
38 | }
39 | > .badge + .badge {
40 | margin-right: 5px;
41 | }
42 |
43 | // Linked list items
44 | a& {
45 | color: @list-group-link-color;
46 |
47 | .list-group-item-heading {
48 | color: @list-group-link-heading-color;
49 | }
50 |
51 | // Hover state
52 | &:hover,
53 | &:focus {
54 | text-decoration: none;
55 | background-color: @list-group-hover-bg;
56 | }
57 | }
58 |
59 | // Active class on item itself, not parent
60 | &.active,
61 | &.active:hover,
62 | &.active:focus {
63 | z-index: 2; // Place active items above their siblings for proper border styling
64 | color: @list-group-active-color;
65 | background-color: @list-group-active-bg;
66 | border-color: @list-group-active-border;
67 |
68 | // Force color to inherit for custom content
69 | .list-group-item-heading {
70 | color: inherit;
71 | }
72 | .list-group-item-text {
73 | color: lighten(@list-group-active-bg, 40%);
74 | }
75 | }
76 | }
77 |
78 | // Custom content options
79 | // -------------------------
80 |
81 | .list-group-item-heading {
82 | margin-top: 0;
83 | margin-bottom: 5px;
84 | }
85 | .list-group-item-text {
86 | margin-bottom: 0;
87 | line-height: 1.3;
88 | }
89 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/media.less:
--------------------------------------------------------------------------------
1 | // Media objects
2 | // Source: http://stubbornella.org/content/?p=497
3 | // --------------------------------------------------
4 |
5 |
6 | // Common styles
7 | // -------------------------
8 |
9 | // Clear the floats
10 | .media,
11 | .media-body {
12 | overflow: hidden;
13 | zoom: 1;
14 | }
15 |
16 | // Proper spacing between instances of .media
17 | .media,
18 | .media .media {
19 | margin-top: 15px;
20 | }
21 | .media:first-child {
22 | margin-top: 0;
23 | }
24 |
25 | // For images and videos, set to block
26 | .media-object {
27 | display: block;
28 | }
29 |
30 | // Reset margins on headings for tighter default spacing
31 | .media-heading {
32 | margin: 0 0 5px;
33 | }
34 |
35 |
36 | // Media image alignment
37 | // -------------------------
38 |
39 | .media {
40 | > .pull-left {
41 | margin-right: 10px;
42 | }
43 | > .pull-right {
44 | margin-left: 10px;
45 | }
46 | }
47 |
48 |
49 | // Media list variation
50 | // -------------------------
51 |
52 | // Undo default ul/ol styles
53 | .media-list {
54 | padding-left: 0;
55 | list-style: none;
56 | }
57 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/modals.less:
--------------------------------------------------------------------------------
1 | //
2 | // Modals
3 | // --------------------------------------------------
4 |
5 | // .modal-open - body class for killing the scroll
6 | // .modal - container to scroll within
7 | // .modal-dialog - positioning shell for the actual modal
8 | // .modal-content - actual modal w/ bg and corners and shit
9 |
10 | // Kill the scroll on the body
11 | .modal-open {
12 | overflow: hidden;
13 |
14 |
15 | // Account for hiding of scrollbar
16 | body&,
17 | .navbar-fixed-top,
18 | .navbar-fixed-bottom {
19 | margin-right: 15px
20 | }
21 | }
22 |
23 | // Container that the modal scrolls within
24 | .modal {
25 | display: none;
26 | overflow: auto;
27 | overflow-y: scroll;
28 | position: fixed;
29 | top: 0;
30 | right: 0;
31 | bottom: 0;
32 | left: 0;
33 | z-index: @zindex-modal-background;
34 |
35 | // When fading in the modal, animate it to slide down
36 | &.fade .modal-dialog {
37 | .translate(0, -25%);
38 | .transition-transform(~"0.3s ease-out");
39 | }
40 | &.in .modal-dialog { .translate(0, 0)}
41 | }
42 |
43 | // Shell div to position the modal with bottom padding
44 | .modal-dialog {
45 | margin-left: auto;
46 | margin-right: auto;
47 | width: auto;
48 | padding: 10px;
49 | z-index: (@zindex-modal-background + 10);
50 | }
51 |
52 | // Actual modal
53 | .modal-content {
54 | position: relative;
55 | background-color: @modal-content-bg;
56 | border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
57 | border: 1px solid @modal-content-border-color;
58 | border-radius: @border-radius-large;
59 | .box-shadow(0 3px 9px rgba(0,0,0,.5));
60 | background-clip: padding-box;
61 | // Remove focus outline from opened modal
62 | outline: none;
63 | }
64 |
65 | // Modal background
66 | .modal-backdrop {
67 | position: fixed;
68 | top: 0;
69 | right: 0;
70 | bottom: 0;
71 | left: 0;
72 | z-index: (@zindex-modal-background - 10);
73 | background-color: @modal-backdrop-bg;
74 | // Fade for backdrop
75 | &.fade { .opacity(0); }
76 | &.in { .opacity(.5); }
77 | }
78 |
79 | // Modal header
80 | // Top section of the modal w/ title and dismiss
81 | .modal-header {
82 | padding: @modal-title-padding;
83 | border-bottom: 1px solid @modal-header-border-color;
84 | min-height: (@modal-title-padding + @modal-title-line-height);
85 | }
86 | // Close icon
87 | .modal-header .close {
88 | margin-top: -2px;
89 | }
90 |
91 | // Title text within header
92 | .modal-title {
93 | margin: 0;
94 | line-height: @modal-title-line-height;
95 | }
96 |
97 | // Modal body
98 | // Where all modal content resides (sibling of .modal-header and .modal-footer)
99 | .modal-body {
100 | position: relative;
101 | padding: @modal-inner-padding;
102 | }
103 |
104 | // Footer (for actions)
105 | .modal-footer {
106 | margin-top: 15px;
107 | padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;
108 | text-align: right; // right align buttons
109 | border-top: 1px solid @modal-footer-border-color;
110 | .clearfix(); // clear it in case folks use .pull-* classes on buttons
111 |
112 | // Properly space out buttons
113 | .btn + .btn {
114 | margin-left: 5px;
115 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
116 | }
117 | // but override that for button groups
118 | .btn-group .btn + .btn {
119 | margin-left: -1px;
120 | }
121 | // and override it for block buttons as well
122 | .btn-block + .btn-block {
123 | margin-left: 0;
124 | }
125 | }
126 |
127 | // Scale up the modal
128 | @media screen and (min-width: @screen-tablet) {
129 |
130 | .modal-dialog {
131 | left: 50%;
132 | right: auto;
133 | width: 600px;
134 | padding-top: 30px;
135 | padding-bottom: 30px;
136 | }
137 | .modal-content {
138 | .box-shadow(0 5px 15px rgba(0,0,0,.5));
139 | }
140 |
141 | }
142 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | .clearfix();
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pagination-bg;
19 | border: 1px solid @pagination-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pagination-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pagination-bg;
51 | cursor: not-allowed;
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/pagination.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pagination (multiple pages)
3 | // --------------------------------------------------
4 | .pagination {
5 | display: inline-block;
6 | padding-left: 0;
7 | margin: @line-height-computed 0;
8 | border-radius: @border-radius-base;
9 |
10 | > li {
11 | display: inline; // Remove list-style and block-level defaults
12 | > a,
13 | > span {
14 | position: relative;
15 | float: left; // Collapse white-space
16 | padding: @padding-base-vertical @padding-base-horizontal;
17 | line-height: @line-height-base;
18 | text-decoration: none;
19 | background-color: @pagination-bg;
20 | border: 1px solid @pagination-border;
21 | margin-left: -1px;
22 | }
23 | &:first-child {
24 | > a,
25 | > span {
26 | margin-left: 0;
27 | .border-left-radius(@border-radius-base);
28 | }
29 | }
30 | &:last-child {
31 | > a,
32 | > span {
33 | .border-right-radius(@border-radius-base);
34 | }
35 | }
36 | }
37 |
38 | > li > a,
39 | > li > span {
40 | &:hover,
41 | &:focus {
42 | background-color: @pagination-hover-bg;
43 | }
44 | }
45 |
46 | > .active > a,
47 | > .active > span {
48 | &,
49 | &:hover,
50 | &:focus {
51 | z-index: 2;
52 | color: @pagination-active-color;
53 | background-color: @pagination-active-bg;
54 | border-color: @pagination-active-bg;
55 | cursor: default;
56 | }
57 | }
58 |
59 | > .disabled {
60 | > span,
61 | > a,
62 | > a:hover,
63 | > a:focus {
64 | color: @pagination-disabled-color;
65 | background-color: @pagination-bg;
66 | border-color: @pagination-border;
67 | cursor: not-allowed;
68 | }
69 | }
70 | }
71 |
72 | // Sizing
73 | // --------------------------------------------------
74 |
75 | // Large
76 | .pagination-lg {
77 | .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
78 | }
79 |
80 | // Small
81 | .pagination-sm {
82 | .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
83 | }
84 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/panels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Panels
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .panel {
8 | margin-bottom: @line-height-computed;
9 | background-color: @panel-bg;
10 | border: 1px solid transparent;
11 | border-radius: @panel-border-radius;
12 | .box-shadow(0 1px 1px rgba(0,0,0,.05));
13 | }
14 |
15 | // Panel contents
16 | .panel-body {
17 | padding: 15px;
18 | .clearfix();
19 | }
20 |
21 |
22 | // List groups in panels
23 | //
24 | // By default, space out list group content from panel headings to account for
25 | // any kind of custom content between the two.
26 |
27 | .panel {
28 | > .list-group {
29 | margin-bottom: 0;
30 |
31 | .list-group-item {
32 | border-width: 1px 0;
33 |
34 | // Remove border radius for top one
35 | &:first-child {
36 | .border-top-radius(0);
37 | }
38 | // But keep it for the last one
39 | &:last-child {
40 | border-bottom: 0;
41 | }
42 | }
43 | }
44 | }
45 | // Collapse space between when there's no additional content.
46 | .panel-heading + .list-group {
47 | .list-group-item:first-child {
48 | border-top-width: 0;
49 | }
50 | }
51 |
52 |
53 | // Tables in panels
54 | //
55 | // Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
56 | // watch it go full width.
57 |
58 | .panel {
59 | > .table {
60 | margin-bottom: 0;
61 | }
62 | > .panel-body + .table {
63 | border-top: 1px solid @table-border-color;
64 | }
65 | }
66 |
67 |
68 | // Optional heading
69 | .panel-heading {
70 | padding: 10px 15px;
71 | border-bottom: 1px solid transparent;
72 | .border-top-radius(@panel-border-radius - 1);
73 | }
74 |
75 | // Within heading, strip any `h*` tag of it's default margins for spacing.
76 | .panel-title {
77 | margin-top: 0;
78 | margin-bottom: 0;
79 | font-size: ceil((@font-size-base * 1.125));
80 | > a {
81 | color: inherit;
82 | }
83 | }
84 |
85 | // Optional footer (stays gray in every modifier class)
86 | .panel-footer {
87 | padding: 10px 15px;
88 | background-color: @panel-footer-bg;
89 | border-top: 1px solid @panel-inner-border;
90 | .border-bottom-radius(@panel-border-radius - 1);
91 | }
92 |
93 |
94 | // Collapsable panels (aka, accordion)
95 | //
96 | // Wrap a series of panels in `.panel-group` to turn them into an accordion with
97 | // the help of our collapse JavaScript plugin.
98 |
99 | .panel-group {
100 | // Tighten up margin so it's only between panels
101 | .panel {
102 | margin-bottom: 0;
103 | border-radius: @panel-border-radius;
104 | overflow: hidden; // crop contents when collapsed
105 | + .panel {
106 | margin-top: 5px;
107 | }
108 | }
109 |
110 | .panel-heading {
111 | border-bottom: 0;
112 | + .panel-collapse .panel-body {
113 | border-top: 1px solid @panel-inner-border;
114 | }
115 | }
116 | .panel-footer {
117 | border-top: 0;
118 | + .panel-collapse .panel-body {
119 | border-bottom: 1px solid @panel-inner-border;
120 | }
121 | }
122 |
123 | // New subcomponent for wrapping collapsable content for proper animations
124 | .panel-collapse {
125 |
126 | }
127 | }
128 |
129 |
130 | // Contextual variations
131 | .panel-default {
132 | .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
133 | }
134 | .panel-primary {
135 | .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
136 | }
137 | .panel-success {
138 | .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
139 | }
140 | .panel-warning {
141 | .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
142 | }
143 | .panel-danger {
144 | .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
145 | }
146 | .panel-info {
147 | .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
148 | }
149 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/popovers.less:
--------------------------------------------------------------------------------
1 | //
2 | // Popovers
3 | // --------------------------------------------------
4 |
5 |
6 | .popover {
7 | position: absolute;
8 | top: 0;
9 | left: 0;
10 | z-index: @zindex-popover;
11 | display: none;
12 | max-width: @popover-max-width;
13 | padding: 1px;
14 | text-align: left; // Reset given new insertion method
15 | background-color: @popover-bg;
16 | background-clip: padding-box;
17 | border: 1px solid @popover-fallback-border-color;
18 | border: 1px solid @popover-border-color;
19 | border-radius: @border-radius-large;
20 | .box-shadow(0 5px 10px rgba(0,0,0,.2));
21 |
22 | // Overrides for proper insertion
23 | white-space: normal;
24 |
25 | // Offset the popover to account for the popover arrow
26 | &.top { margin-top: -10px; }
27 | &.right { margin-left: 10px; }
28 | &.bottom { margin-top: 10px; }
29 | &.left { margin-left: -10px; }
30 | }
31 |
32 | .popover-title {
33 | margin: 0; // reset heading margin
34 | padding: 8px 14px;
35 | font-size: @font-size-base;
36 | font-weight: normal;
37 | line-height: 18px;
38 | background-color: @popover-title-bg;
39 | border-bottom: 1px solid darken(@popover-title-bg, 5%);
40 | border-radius: 5px 5px 0 0;
41 | }
42 |
43 | .popover-content {
44 | padding: 9px 14px;
45 | }
46 |
47 | // Arrows
48 | //
49 | // .arrow is outer, .arrow:after is inner
50 |
51 | .popover .arrow {
52 | &,
53 | &:after {
54 | position: absolute;
55 | display: block;
56 | width: 0;
57 | height: 0;
58 | border-color: transparent;
59 | border-style: solid;
60 | }
61 | }
62 | .popover .arrow {
63 | border-width: @popover-arrow-outer-width;
64 | }
65 | .popover .arrow:after {
66 | border-width: @popover-arrow-width;
67 | content: "";
68 | }
69 |
70 | .popover {
71 | &.top .arrow {
72 | left: 50%;
73 | margin-left: -@popover-arrow-outer-width;
74 | border-bottom-width: 0;
75 | border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
76 | border-top-color: @popover-arrow-outer-color;
77 | bottom: -@popover-arrow-outer-width;
78 | &:after {
79 | content: " ";
80 | bottom: 1px;
81 | margin-left: -@popover-arrow-width;
82 | border-bottom-width: 0;
83 | border-top-color: @popover-arrow-color;
84 | }
85 | }
86 | &.right .arrow {
87 | top: 50%;
88 | left: -@popover-arrow-outer-width;
89 | margin-top: -@popover-arrow-outer-width;
90 | border-left-width: 0;
91 | border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
92 | border-right-color: @popover-arrow-outer-color;
93 | &:after {
94 | content: " ";
95 | left: 1px;
96 | bottom: -@popover-arrow-width;
97 | border-left-width: 0;
98 | border-right-color: @popover-arrow-color;
99 | }
100 | }
101 | &.bottom .arrow {
102 | left: 50%;
103 | margin-left: -@popover-arrow-outer-width;
104 | border-top-width: 0;
105 | border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
106 | border-bottom-color: @popover-arrow-outer-color;
107 | top: -@popover-arrow-outer-width;
108 | &:after {
109 | content: " ";
110 | top: 1px;
111 | margin-left: -@popover-arrow-width;
112 | border-top-width: 0;
113 | border-bottom-color: @popover-arrow-color;
114 | }
115 | }
116 |
117 | &.left .arrow {
118 | top: 50%;
119 | right: -@popover-arrow-outer-width;
120 | margin-top: -@popover-arrow-outer-width;
121 | border-right-width: 0;
122 | border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
123 | border-left-color: @popover-arrow-outer-color;
124 | &:after {
125 | content: " ";
126 | right: 1px;
127 | border-right-width: 0;
128 | border-left-color: @popover-arrow-color;
129 | bottom: -@popover-arrow-width;
130 | }
131 | }
132 |
133 | }
134 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/print.less:
--------------------------------------------------------------------------------
1 | //
2 | // Basic print styles
3 | // --------------------------------------------------
4 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
5 |
6 | @media print {
7 |
8 | * {
9 | text-shadow: none !important;
10 | color: #000 !important; // Black prints faster: h5bp.com/s
11 | background: transparent !important;
12 | box-shadow: none !important;
13 | }
14 |
15 | a,
16 | a:visited {
17 | text-decoration: underline;
18 | }
19 |
20 | a[href]:after {
21 | content: " (" attr(href) ")";
22 | }
23 |
24 | abbr[title]:after {
25 | content: " (" attr(title) ")";
26 | }
27 |
28 | // Don't show links for images, or javascript/internal links
29 | .ir a:after,
30 | a[href^="javascript:"]:after,
31 | a[href^="#"]:after {
32 | content: "";
33 | }
34 |
35 | pre,
36 | blockquote {
37 | border: 1px solid #999;
38 | page-break-inside: avoid;
39 | }
40 |
41 | thead {
42 | display: table-header-group; // h5bp.com/t
43 | }
44 |
45 | tr,
46 | img {
47 | page-break-inside: avoid;
48 | }
49 |
50 | img {
51 | max-width: 100% !important;
52 | }
53 |
54 | @page {
55 | margin: 2cm .5cm;
56 | }
57 |
58 | p,
59 | h2,
60 | h3 {
61 | orphans: 3;
62 | widows: 3;
63 | }
64 |
65 | h2,
66 | h3 {
67 | page-break-after: avoid;
68 | }
69 |
70 | // Bootstrap components
71 | .navbar {
72 | display: none;
73 | }
74 | .table {
75 | td,
76 | th {
77 | background-color: #fff !important;
78 | }
79 | }
80 | .btn,
81 | .dropup > .btn {
82 | > .caret {
83 | border-top-color: #000 !important;
84 | }
85 | }
86 | .label {
87 | border: 1px solid #000;
88 | }
89 |
90 | .table {
91 | border-collapse: collapse !important;
92 | }
93 | .table-bordered {
94 | th,
95 | td {
96 | border: 1px solid #ddd !important;
97 | }
98 | }
99 |
100 | }
101 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/progress-bars.less:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // Webkit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Firefox
16 | @-moz-keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 | // Opera
22 | @-o-keyframes progress-bar-stripes {
23 | from { background-position: 0 0; }
24 | to { background-position: 40px 0; }
25 | }
26 |
27 | // Spec and IE10+
28 | @keyframes progress-bar-stripes {
29 | from { background-position: 40px 0; }
30 | to { background-position: 0 0; }
31 | }
32 |
33 |
34 |
35 | // Bar itself
36 | // -------------------------
37 |
38 | // Outer container
39 | .progress {
40 | overflow: hidden;
41 | height: @line-height-computed;
42 | margin-bottom: @line-height-computed;
43 | background-color: @progress-bg;
44 | border-radius: @border-radius-base;
45 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
46 | }
47 |
48 | // Bar of progress
49 | .progress-bar {
50 | float: left;
51 | width: 0%;
52 | height: 100%;
53 | font-size: @font-size-small;
54 | color: @progress-bar-color;
55 | text-align: center;
56 | background-color: @progress-bar-bg;
57 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
58 | .transition(width .6s ease);
59 | }
60 |
61 | // Striped bars
62 | .progress-striped .progress-bar {
63 | #gradient > .striped(@progress-bar-bg);
64 | background-size: 40px 40px;
65 | }
66 |
67 | // Call animation for the active one
68 | .progress.active .progress-bar {
69 | -webkit-animation: progress-bar-stripes 2s linear infinite;
70 | -moz-animation: progress-bar-stripes 2s linear infinite;
71 | -ms-animation: progress-bar-stripes 2s linear infinite;
72 | -o-animation: progress-bar-stripes 2s linear infinite;
73 | animation: progress-bar-stripes 2s linear infinite;
74 | }
75 |
76 |
77 |
78 | // Variations
79 | // -------------------------
80 |
81 | .progress-bar-success {
82 | .progress-bar-variant(@progress-bar-success-bg);
83 | }
84 |
85 | .progress-bar-info {
86 | .progress-bar-variant(@progress-bar-info-bg);
87 | }
88 |
89 | .progress-bar-warning {
90 | .progress-bar-variant(@progress-bar-warning-bg);
91 | }
92 |
93 | .progress-bar-danger {
94 | .progress-bar-variant(@progress-bar-danger-bg);
95 | }
96 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/scaffolding.less:
--------------------------------------------------------------------------------
1 | //
2 | // Scaffolding
3 | // --------------------------------------------------
4 |
5 |
6 | // Reset the box-sizing
7 |
8 | *,
9 | *:before,
10 | *:after {
11 | .box-sizing(border-box);
12 | }
13 |
14 |
15 | // Body reset
16 |
17 | html {
18 | font-size: 62.5%;
19 | -webkit-tap-highlight-color: rgba(0,0,0,0);
20 | }
21 |
22 | body {
23 | font-family: @font-family-base;
24 | font-size: @font-size-base;
25 | line-height: @line-height-base;
26 | color: @text-color;
27 | background-color: @body-bg;
28 | }
29 |
30 | // Reset fonts for relevant elements
31 | input,
32 | button,
33 | select,
34 | textarea {
35 | font-family: inherit;
36 | font-size: inherit;
37 | line-height: inherit;
38 | }
39 |
40 | // Reset unusual Firefox-on-Android default style.
41 | //
42 | // See https://github.com/necolas/normalize.css/issues/214
43 |
44 | button,
45 | input,
46 | select[multiple],
47 | textarea {
48 | background-image: none;
49 | }
50 |
51 |
52 | // Links
53 |
54 | a {
55 | color: @link-color;
56 | text-decoration: none;
57 |
58 | &:hover,
59 | &:focus {
60 | color: @link-hover-color;
61 | text-decoration: underline;
62 | }
63 |
64 | &:focus {
65 | .tab-focus();
66 | }
67 | }
68 |
69 |
70 | // Images
71 |
72 | img {
73 | vertical-align: middle;
74 | }
75 |
76 | // Responsive images (ensure images don't scale beyond their parents)
77 | .img-responsive {
78 | .img-responsive();
79 | }
80 |
81 | // Rounded corners
82 | .img-rounded {
83 | border-radius: @border-radius-large;
84 | }
85 |
86 | // Image thumbnails
87 | //
88 | // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
89 | .img-thumbnail {
90 | padding: @thumbnail-padding;
91 | line-height: @line-height-base;
92 | background-color: @thumbnail-bg;
93 | border: 1px solid @thumbnail-border;
94 | border-radius: @thumbnail-border-radius;
95 | .transition(all .2s ease-in-out);
96 |
97 | // Keep them at most 100% wide
98 | .img-responsive(inline-block);
99 | }
100 |
101 | // Perfect circle
102 | .img-circle {
103 | border-radius: 50%; // set radius in percents
104 | }
105 |
106 |
107 | // Horizontal rules
108 |
109 | hr {
110 | margin-top: @line-height-computed;
111 | margin-bottom: @line-height-computed;
112 | border: 0;
113 | border-top: 1px solid @hr-border;
114 | }
115 |
116 |
117 | // Only display content to screen readers
118 | //
119 | // See: http://a11yproject.com/posts/how-to-hide-content/
120 |
121 | .sr-only {
122 | position: absolute;
123 | width: 1px;
124 | height: 1px;
125 | margin: -1px;
126 | padding: 0;
127 | overflow: hidden;
128 | clip: rect(0 0 0 0);
129 | border: 0;
130 | }
131 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | .img-thumbnail();
9 | display: block; // Override the inline-block from `.img-thumbnail`
10 |
11 | > img {
12 | .img-responsive();
13 | }
14 | }
15 |
16 |
17 | // Add a hover state for linked versions only
18 | a.thumbnail:hover,
19 | a.thumbnail:focus {
20 | border-color: @link-color;
21 | }
22 |
23 | // Images and captions
24 | .thumbnail > img {
25 | margin-left: auto;
26 | margin-right: auto;
27 | }
28 | .thumbnail .caption {
29 | padding: @thumbnail-caption-padding;
30 | color: @thumbnail-caption-color;
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/tooltip.less:
--------------------------------------------------------------------------------
1 | //
2 | // Tooltips
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .tooltip {
8 | position: absolute;
9 | z-index: @zindex-tooltip;
10 | display: block;
11 | visibility: visible;
12 | font-size: @font-size-small;
13 | line-height: 1.4;
14 | .opacity(0);
15 |
16 | &.in { .opacity(.9); }
17 | &.top { margin-top: -3px; padding: 5px 0; }
18 | &.right { margin-left: 3px; padding: 0 5px; }
19 | &.bottom { margin-top: 3px; padding: 5px 0; }
20 | &.left { margin-left: -3px; padding: 0 5px; }
21 | }
22 |
23 | // Wrapper for the tooltip content
24 | .tooltip-inner {
25 | max-width: @tooltip-max-width;
26 | padding: 3px 8px;
27 | color: @tooltip-color;
28 | text-align: center;
29 | text-decoration: none;
30 | background-color: @tooltip-bg;
31 | border-radius: @border-radius-base;
32 | }
33 |
34 | // Arrows
35 | .tooltip-arrow {
36 | position: absolute;
37 | width: 0;
38 | height: 0;
39 | border-color: transparent;
40 | border-style: solid;
41 | }
42 | .tooltip {
43 | &.top .tooltip-arrow {
44 | bottom: 0;
45 | left: 50%;
46 | margin-left: -@tooltip-arrow-width;
47 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
48 | border-top-color: @tooltip-arrow-color;
49 | }
50 | &.top-left .tooltip-arrow {
51 | bottom: 0;
52 | left: 5px;
53 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
54 | border-top-color: @tooltip-arrow-color;
55 | }
56 | &.top-right .tooltip-arrow {
57 | bottom: 0;
58 | right: 5px;
59 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
60 | border-top-color: @tooltip-arrow-color;
61 | }
62 | &.right .tooltip-arrow {
63 | top: 50%;
64 | left: 0;
65 | margin-top: -@tooltip-arrow-width;
66 | border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
67 | border-right-color: @tooltip-arrow-color;
68 | }
69 | &.left .tooltip-arrow {
70 | top: 50%;
71 | right: 0;
72 | margin-top: -@tooltip-arrow-width;
73 | border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
74 | border-left-color: @tooltip-arrow-color;
75 | }
76 | &.bottom .tooltip-arrow {
77 | top: 0;
78 | left: 50%;
79 | margin-left: -@tooltip-arrow-width;
80 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
81 | border-bottom-color: @tooltip-arrow-color;
82 | }
83 | &.bottom-left .tooltip-arrow {
84 | top: 0;
85 | left: 5px;
86 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
87 | border-bottom-color: @tooltip-arrow-color;
88 | }
89 | &.bottom-right .tooltip-arrow {
90 | top: 0;
91 | right: 5px;
92 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93 | border-bottom-color: @tooltip-arrow-color;
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .pull-right {
13 | float: right !important;
14 | }
15 | .pull-left {
16 | float: left !important;
17 | }
18 |
19 |
20 | // Toggling content
21 | // -------------------------
22 |
23 | .hide {
24 | display: none !important;
25 | }
26 | .show {
27 | display: block !important;
28 | }
29 | .invisible {
30 | visibility: hidden;
31 | }
32 | .text-hide {
33 | .hide-text();
34 | }
35 |
36 |
37 | // For Affix plugin
38 | // -------------------------
39 |
40 | .affix {
41 | position: fixed;
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/bootstrap/less/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid darken(@well-bg, 7%);
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/breadcrumbs.zul:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/alert.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Welcome to
5 |
6 |
7 | , the lightweight, feature-rich and easy to use admin template.
8 |
9 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/conversation.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | admin
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/domain.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/infobox.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
comments + 2 reviews
10 |
11 |
8%
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
new followers
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
new orders
32 |
33 |
4%
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
experiments
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | 42%
61 |
62 |
63 |
64 |
65 |
66 | ~
67 | 58GB remaining
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | 61%
77 |
78 |
79 |
80 |
Task
81 |
Completion
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
Earnings
91 |
$32,000
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
Downloads
101 |
1,205
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/piechart.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
27 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/content/saleschart.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/css/fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Open Sans';
3 | font-style: normal;
4 | font-weight: 300;
5 | src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff');
6 | }
7 | @font-face {
8 | font-family: 'Open Sans';
9 | font-style: normal;
10 | font-weight: 400;
11 | src: local('Open Sans'), local('OpenSans'), url(../fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
12 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/applications2/fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff
--------------------------------------------------------------------------------
/src/main/webapp/applications2/fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/applications2/fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff
--------------------------------------------------------------------------------
/src/main/webapp/applications2/js/jquery.easy-pie-chart.min.js:
--------------------------------------------------------------------------------
1 | (function(a){a.easyPieChart=function(d,l){var f,g,i,j,c,k,e,b,h=this;this.el=d;this.$el=a(d);this.$el.data("easyPieChart",this);this.init=function(){var n,m;h.options=a.extend({},a.easyPieChart.defaultOptions,l);n=parseInt(h.$el.data("percent"),10);h.percentage=0;h.canvas=a("
").get(0);h.$el.append(h.canvas);if(typeof G_vmlCanvasManager!=="undefined"&&G_vmlCanvasManager!==null){G_vmlCanvasManager.initElement(h.canvas)}h.ctx=h.canvas.getContext("2d");if(window.devicePixelRatio>1){m=window.devicePixelRatio;a(h.canvas).css({width:h.options.size,height:h.options.size});h.canvas.width*=m;h.canvas.height*=m;h.ctx.scale(m,m)}h.ctx.translate(h.options.size/2,h.options.size/2);h.ctx.rotate(h.options.rotate*Math.PI/180);h.$el.addClass("easyPieChart");h.$el.css({width:h.options.size,height:h.options.size,lineHeight:""+h.options.size+"px"});h.update(n);return h};this.update=function(m){m=parseFloat(m)||0;if(h.options.animate===false){i(m)}else{if(h.options.delay){g(h.percentage,0);setTimeout(function(){return g(h.percentage,m)},h.options.delay)}else{g(h.percentage,m)}}return h};e=function(){var n,o,m;h.ctx.fillStyle=h.options.scaleColor;h.ctx.lineWidth=1;m=[];for(n=o=0;o<=24;n=++o){m.push(f(n))}return m};f=function(m){var n;n=m%6===0?0:h.options.size*0.017;h.ctx.save();h.ctx.rotate(m*Math.PI/12);h.ctx.fillRect(h.options.size/2-n,0,-h.options.size*0.05+n,1);h.ctx.restore()};b=function(){var m;m=h.options.size/2-h.options.lineWidth/2;if(h.options.scaleColor!==false){m-=h.options.size*0.08}h.ctx.beginPath();h.ctx.arc(0,0,m,0,Math.PI*2,true);h.ctx.closePath();h.ctx.strokeStyle=h.options.trackColor;h.ctx.lineWidth=h.options.lineWidth;h.ctx.stroke()};k=function(){if(h.options.scaleColor!==false){e()}if(h.options.trackColor!==false){b()}};i=function(m){var n;k();h.ctx.strokeStyle=a.isFunction(h.options.barColor)?h.options.barColor(m):h.options.barColor;h.ctx.lineCap=h.options.lineCap;h.ctx.lineWidth=h.options.lineWidth;n=h.options.size/2-h.options.lineWidth/2;if(h.options.scaleColor!==false){n-=h.options.size*0.08}h.ctx.save();h.ctx.rotate(-Math.PI/2);h.ctx.beginPath();h.ctx.arc(0,0,n,0,Math.PI*2*m/100,false);h.ctx.stroke();h.ctx.restore()};c=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(m){return window.setTimeout(m,1000/60)}})();g=function(p,o){var n,m;h.options.onStart.call(h);h.percentage=o;Date.now||(Date.now=function(){return +(new Date)});m=Date.now();n=function(){var q,r;r=Math.min(Date.now()-m,h.options.animate);h.ctx.clearRect(-h.options.size/2,-h.options.size/2,h.options.size,h.options.size);k.call(h);q=[j(r,p,o-p,h.options.animate)];h.options.onStep.call(h,q);i.call(h,q);if(r>=h.options.animate){return h.options.onStop.call(h,q,o)}else{return c(n)}};c(n)};j=function(o,n,r,p){var m,q;m=function(s){return Math.pow(s,2)};q=function(s){if(s<1){return m(s)}else{return 2-m((s/2)*-2+2)}};o/=p/2;return r/2*q(o)+n};return this.init()};a.easyPieChart.defaultOptions={barColor:"#ef1e25",trackColor:"#f2f2f2",scaleColor:"#dfe0e0",lineCap:"round",rotate:0,size:110,lineWidth:3,animate:false,delay:false,onStart:a.noop,onStop:a.noop,onStep:a.noop};a.fn.easyPieChart=function(b){return a.each(this,function(d,e){var c,f;c=a(e);if(!c.data("easyPieChart")){f=a.extend({},b,c.data());return c.data("easyPieChart",new a.easyPieChart(e,f))}})};return void 0})(jQuery);
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/3rdparty.less:
--------------------------------------------------------------------------------
1 | /* the third party css */
2 | .easy-pie-chart {
3 | position: relative;
4 | text-align: center;
5 |
6 | canvas {
7 | position: absolute;
8 | top: 0;
9 | left: 0;
10 | }
11 | }
12 |
13 | .jqstooltip , .legendColorBox div {
14 | .box-sizing(content-box);
15 | }
16 | .legendLabel {
17 | .box-sizing(content-box);
18 | height: 20px;
19 | font-size: 10px;
20 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/breadcrumbs.less:
--------------------------------------------------------------------------------
1 | .breadcrumbs {
2 | position: relative;
3 | border-bottom: 1px solid #E5E5E5;
4 | background-color: #F5F5F5;
5 | min-height: @bcHeight;
6 | line-height: (@bcHeight - 1);
7 | padding: 0 12px 0 0;
8 | }
9 |
10 | .breadcrumb {
11 | background-color: transparent;
12 | display: inline-block;
13 | line-height: 24px;
14 | margin: 0 22px 0 12px;
15 | padding: 0;
16 | color: #333;
17 | .borderRadius(0);
18 | > .z-a {
19 | color: #4C8FBD;
20 | &:hover, &:focus {
21 | text-decoration: underline;
22 | }
23 | & + .z-label {
24 | padding-right: 4px;
25 | &:before {
26 | .baseIconFont();
27 | .iconFontStyle(14px, #B2B6BF);
28 | content: "\f105";
29 | margin-right: 2px;
30 | padding: 0 5px 0 2px;
31 | position: relative;
32 | top: 1px;
33 | }
34 | }
35 | }
36 | .z-label, .home-icon {
37 | color: #555;
38 | }
39 | .home-icon {
40 | margin-left: 4px;
41 | margin-right: 2px;
42 | font-size: 20px;
43 | position: relative;
44 | top: 2px;
45 | cursor: default;
46 | }
47 | }
48 | .nav-search {
49 | position: absolute;
50 | top: 6px;
51 | right: 22px;
52 | line-height: 24px;
53 | .z-bandbox-input {
54 | .fontStyle('Open Sans', 13px, normal, #666);
55 | .size(152px, 28px);
56 | border: 1px solid #6FB3E0;
57 | .borderRadius(4px);
58 | padding-left: 24px;
59 | padding-right: 6px;
60 | &:focus {
61 | .boxShadow(none);
62 | }
63 | }
64 | .z-bandbox-button {
65 | position: absolute;
66 | top: 1px;
67 | bottom: 1px;
68 | left: 3px;
69 | min-width: 19px;
70 | .resetGradient();
71 | line-height: auto;
72 | padding: 0;
73 | &, &:hover, &:focus, &:active {
74 | background-color: transparent;
75 | border: 0;
76 | .boxShadow(none);
77 | }
78 | & [class*="z-icon-"] {
79 | .iconFontStyle(14px, #6FB3E0);
80 | line-height: 24px;
81 | }
82 | }
83 |
84 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/button.less:
--------------------------------------------------------------------------------
1 |
2 | .z-button {
3 | position: relative;
4 | padding: 3px 12px;
5 | .borderRadius(0);
6 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
7 | min-height: 0;
8 | color: #FFF !important;
9 | //.transition(~"all ease .15s");
10 | .transition(all, ease, .15s);
11 |
12 | &:active {
13 | top: 1px;
14 | left: 1px;
15 | }
16 |
17 | &, &:hover, &:focus, &:active {
18 | .resetGradient();
19 | }
20 |
21 | /* Icon in the button */
22 | > [class*="z-icon-"] {
23 | display: inline;
24 | margin-right: 4px;
25 | }
26 |
27 | > .icon-only[class*="z-icon-"] {
28 | margin: 0;
29 | vertical-align: middle;
30 | text-align: center;
31 | padding: 0;
32 | }
33 | }
34 |
35 | .btn {
36 | color: #FFF !important;
37 | }
38 |
39 | /** buttons */
40 |
41 | .btn-sm {
42 | border-width:4px;
43 | font-size: 13px;
44 | padding: 4px 9px;
45 | line-height: 1.39;
46 | }
47 |
48 | .btn-xs {
49 | border-width: 3px;
50 | }
51 |
52 | .btn-minier {
53 | padding: 0 4px;
54 | line-height: 18px;
55 | border-width: 2px;
56 | font-size: 12px;
57 | }
58 |
59 | //button color
60 | .btn-color(@color1, @color2) {
61 | & , &:focus {
62 | background-color: @color1 !important;
63 | border-color: @color1;
64 | }
65 | &:hover, &.open {
66 | background-color: @color2 !important;
67 | border-color: @color1;
68 | }
69 | &.no-border:hover {
70 | border-color: @color2;
71 | }
72 | &.no-hover:hover {
73 | background-color: @color1 !important;
74 | }
75 | }
76 |
77 | .btn-color(@color-name) {
78 | @color1-name : ~`"btn-@{color-name}"`;
79 | @color2-name : ~`"btn-@{color-name}-hover"`;
80 |
81 | .btn-color(@@color1-name, @@color2-name);
82 | }
83 |
84 |
85 | .btn-primary {
86 | .btn-color(~"primary");
87 | }
88 | .btn-info {
89 | .btn-color(~"info");
90 | }
91 | .btn-success {
92 | .btn-color(~"success");
93 | }
94 | .btn-warning {
95 | .btn-color(~"warning");
96 | }
97 | .btn-danger {
98 | .btn-color(~"danger");
99 | }
100 | .btn-inverse {
101 | .btn-color(~"inverse");
102 | }
103 | .btn-pink {
104 | .btn-color(~"pink");
105 | }
106 |
107 | .btn-yellow {
108 | .btn-color(~"yellow");
109 | color: @btn-yellow-color !important;
110 | text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.4) !important;
111 | }
112 |
113 | .btn-sm > [class*="z-icon-"] {
114 | margin-right: 3px;
115 |
116 | &.icon-on-right {
117 | margin-right: 0;
118 | margin-left: 3px;
119 | }
120 | }
121 |
122 | .btn-xs > [class*="z-icon-"],
123 | .btn-minier > [class*="z-icon-"] {
124 | margin-right: 2px;
125 | }
126 |
127 | .z-button.btn-no-border {
128 | border-width: 0 !important;
129 | }
130 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/general.less:
--------------------------------------------------------------------------------
1 | a {
2 | &:hover, &:focus {
3 | text-decoration: none;
4 | }
5 | }
6 |
7 | .z-a,
8 | .z-button,
9 | .z-label,
10 | .z-menu-text, .z-menuitem-text,
11 | .z-nav-text, .z-navitem-text {
12 | font-family: @baseFontFamily;
13 | font-size: @baseFontSize;
14 | }
15 |
16 | .z-a {
17 | > [class*="icon-"] {
18 | margin-right: 5px;
19 | }
20 | &[disabled] {
21 | color: #669FC7;
22 | }
23 | }
24 |
25 | .link.z-a:hover {
26 | text-decoration: underline;
27 | }
28 |
29 | .z-caption {
30 | min-height: 38px;
31 | padding-left: 3px;
32 | font-size: 18px;
33 | &.small {
34 | min-height: 31px;
35 | padding-left: 10px;
36 | .z-caption-content {
37 | line-height: 30px;
38 | font-size: 15px;
39 | }
40 | }
41 | &-content {
42 | padding: 0;
43 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
44 | font-weight: lighter;
45 | line-height: 32px;
46 | & [class*="z-icon-"] {
47 | margin-right: 5px
48 | }
49 | }
50 | .z-button {
51 | margin: 3px 8px;
52 | &:after {
53 | content: "\f107";
54 | .displaySize(inline-block, 14px, 14px);
55 | .baseIconFont();
56 | .iconFontStyle(13px, #FFF);
57 | content: "\f107";
58 | margin-left: 2px;
59 | }
60 | }
61 | }
62 |
63 | /* Customize horizontal separtor */
64 | .z-separator-horizontal-bar {
65 | position: relative;
66 | height: 64px;
67 | background-image: none;
68 | &:before {
69 | .displaySize(block, 100%, 0);
70 | content: "";
71 | border-width: 0;
72 | border-top: 1px dotted #E3E3E3;
73 | position: absolute;
74 | top: 32px;
75 | }
76 | }
77 |
78 | .double16.z-separator-horizontal-bar {
79 | height: 16px;
80 | &:before {
81 | height: 3px;
82 | border-bottom: 1px dotted #E3E3E3;
83 | top: 6px;
84 | }
85 | }
86 |
87 | .solid.z-separator-horizontal-bar {
88 | &:before {
89 | border-style: solid;
90 | }
91 | }
92 |
93 | /* Customize the scrollbar in Meshwidget */
94 | .z-scrollbar.z-scrollbar-vertical {
95 | width: 7px;
96 | .z-scrollbar-up, .z-scrollbar-down,
97 | .z-scrollbar-icon, .z-scrollbar-rail {
98 | display: none;
99 | }
100 | .z-scrollbar-wrapper {
101 | top: 0;
102 | .z-scrollbar-indicator {
103 | background-image: none;
104 | .borderRadius(0);
105 | background-color: #999;
106 | border: 0;
107 | }
108 | .z-scrollbar-rail {
109 | background-color: transparent;
110 | }
111 | }
112 | }
113 |
114 | .z-drop-ghost {
115 | .z-drop-content {
116 | width: auto;
117 | height: auto;
118 | font-family: 'Open Sans';
119 | font-size: 13px;
120 | border: 1px solid #CCC;
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/label-badge.less:
--------------------------------------------------------------------------------
1 |
2 | /* labels & badges */
3 | .label {
4 | .borderRadius(0);
5 | text-shadow: none;
6 | font-weight: normal;
7 | display: inline-block;
8 | background-color: @label-default !important;
9 | }
10 |
11 | .badge {
12 | text-shadow: none;
13 | font-size: 12px;
14 | padding-top: 1px;
15 | padding-bottom: 3px;
16 | font-weight: normal;
17 | line-height: 15px;
18 | background-color: @label-default !important;
19 | }
20 |
21 | //labels
22 | .label-color(@color) {
23 | @label-class: ~`"label-@{color}"`;
24 | @badge-class: ~`"badge-@{color}"`;
25 | @label-color: @@label-class;
26 |
27 | .@{label-class}, .@{badge-class} {
28 | background-color: @label-color !important;
29 | }
30 | }
31 |
32 | .label-arrow(@color) {
33 | @label-class: ~`"label-@{color}"`;
34 | @label-color: @@label-class;
35 |
36 | .@{label-class} {
37 | &.arrowed:before {
38 | border-right-color: @label-color;
39 | }
40 | &.arrowed-in:before {
41 | border-color: @label-color;
42 | }
43 | &.arrowed-right:after {
44 | border-left-color: @label-color;
45 | }
46 | &.arrowed-in-right:after {
47 | border-color: @label-color;
48 | }
49 | }
50 | }
51 |
52 | .label-color(~"grey");
53 | .label-color(~"info");
54 | .label-color(~"primary");
55 | .label-color(~"success");
56 | .label-color(~"danger");
57 | .label-color(~"important");
58 | .label-color(~"inverse");
59 | .label-color(~"warning");
60 | .label-color(~"pink");
61 | .label-color(~"purple");
62 | .label-color(~"yellow");
63 | .label-color(~"light");
64 |
65 |
66 | .badge-yellow, .label-yellow {
67 | color: #996633 !important;
68 | border-color: @label-yellow;
69 | }
70 |
71 | .label.arrowed, .label.arrowed-in {
72 | position: relative;
73 | z-index: 1;
74 | &:before {
75 | display: inline-block;
76 | content: "";
77 | position: absolute;
78 | top: 0;
79 | z-index: -1;
80 | border: 1px solid transparent;
81 | border-right-color: @label-default;
82 | }
83 | }
84 | .label.arrowed-in:before {
85 | border-color: @label-default;
86 | border-left-color: transparent !important;
87 | }
88 |
89 | .label.arrowed-right , .label.arrowed-in-right {
90 | position: relative;
91 | z-index: 1;
92 | &:after {
93 | display: inline-block;
94 | content: "";
95 | position: absolute;
96 | top: 0;
97 | z-index: -1;
98 | border: 1px solid transparent;
99 | border-left-color: @label-default;
100 | }
101 | }
102 | .label.arrowed-in-right:after {
103 | border-color: @label-default;
104 | border-right-color: transparent !important;
105 | }
106 |
107 | .label-arrow(~"info");
108 | .label-arrow(~"primary");
109 | .label-arrow(~"success");
110 | .label-arrow(~"warning");
111 | .label-arrow(~"important");
112 | .label-arrow(~"danger");
113 | .label-arrow(~"inverse");
114 | .label-arrow(~"pink");
115 | .label-arrow(~"purple");
116 | .label-arrow(~"yellow");
117 | .label-arrow(~"light");
118 | .label-arrow(~"grey");
119 |
120 | .label {
121 | .label-size(12px, 1.15, 20px, 10px, 5px);
122 | }
123 |
124 | .label-sm {
125 | padding:0.2em 0.4em 0.3em;
126 | .label-size(11px, 1, 18px, 9px, 4px);
127 | }
128 |
129 | .label > span , .label > [class*="z-icon-"] {
130 | line-height: 1;
131 | vertical-align: bottom;
132 | }
133 |
134 | .label-size(@font-size, @line-height, @height, @border-height, @border-width) {
135 | font-size: @font-size;
136 | line-height: @line-height;
137 | height: @height;
138 | &.arrowed {
139 | margin-left: @border-width;
140 | &:before {
141 | left: -(@border-width * 2);
142 | border-width: @border-height @border-width;
143 | }
144 | }
145 | &.arrowed-in {
146 | margin-left: (@border-width);
147 | &:before {
148 | left: -@border-width;
149 | border-width: @border-height @border-width;
150 | }
151 | }
152 |
153 | &.arrowed-right {
154 | margin-right: @border-width;
155 | &:after {
156 | right: -(@border-width * 2);
157 | border-width: @border-height @border-width;
158 | }
159 | }
160 | &.arrowed-in-right {
161 | margin-right: (@border-width);
162 | &:after {
163 | right: -@border-width;
164 | border-width: @border-height @border-width;
165 | }
166 | }
167 | }
168 |
169 |
170 |
171 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/layout.less:
--------------------------------------------------------------------------------
1 | .alert.z-window {
2 | .borderRadius(0);
3 | .z-caption {
4 | min-height: 0;
5 | }
6 | .z-caption-content, .z-caption .z-label {
7 | float: none;
8 | }
9 | .z-label {
10 | font-size: 14px;
11 | }
12 | .z-window-content {
13 | display: none;
14 | }
15 | .z-window-icon.z-window-close {
16 | position: absolute;
17 | top: 20px;
18 | right: 15px;
19 | border: 0;
20 | .opacity(.2);
21 | color: #000;
22 | .resetGradient();
23 | &:hover, &:focus, &:active {
24 | background-color: transparent;
25 | }
26 | &:hover {
27 | .opacity(.5);
28 | }
29 | }
30 | }
31 |
32 | // Hard to override
33 | .alert-success.z-window {
34 | .z-window-header {
35 | color: #468847;
36 | padding: 0;
37 | }
38 | }
39 |
40 | .infobox-container,
41 | .rtab
42 | {
43 | .z-hlayout {
44 | white-space: normal;
45 | }
46 | }
47 |
48 | .ie8 .z-panel-icon {
49 | background-color: #FFF;
50 | }
51 |
52 | .z-panel {
53 | &-head {
54 | .borderRadius(0);
55 | padding: 0;
56 | border-top-color: #CCC;
57 | border-left-color: #CCC;
58 | border-right-color: #CCC;
59 | border-bottom-color: #DCE8F1;
60 | }
61 |
62 | &-header {
63 | font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
64 | padding: 0;
65 | background: #F7F7F7;
66 | }
67 |
68 | .z-caption {
69 | color : #669FC7;
70 | }
71 |
72 | &.transparent &-head{
73 | border: 0;
74 | .boxShadow(none);
75 | .resetGradient();
76 | .z-panel-header {
77 | .resetGradient();
78 | border-bottom: 1px solid #DCE8F1;
79 | color: #4383B4;
80 | }
81 | .z-caption {
82 | background: transparent;
83 | color : #669FC7;
84 | }
85 | }
86 |
87 | &-icon {
88 | .size(35px, 37px);
89 | border: 0;
90 | .borderRadius(0);
91 | padding: 0 10px;
92 | position: relative;
93 | .resetGradient();
94 | background-color: transparent;
95 | border-color: #CCC;
96 |
97 | &, &:hover, &:focus, &:active {
98 | .resetGradient();
99 | background-color: transparent;
100 | }
101 |
102 | > i {
103 | .iconFontStyle(14px, #AAA);
104 | }
105 |
106 | .z-icon-caret-up:before {
107 | content: "\f077";
108 | }
109 |
110 | .z-icon-caret-down:before {
111 | content: "\f078";
112 | }
113 |
114 | &:before {
115 | display: inline-block;
116 | content: "";
117 | position: absolute;
118 | top: 3px;
119 | bottom: 3px;
120 | left: 0;
121 | border: 1px solid #D9D9D9;
122 | border-width: 0 1px 0 0;
123 | }
124 |
125 | }
126 | }
127 |
128 | .traffic .z-panelchildren {
129 | padding: 9px;
130 | }
131 |
132 | .rcaption.z-a {
133 | font-size: 17px;
134 | cursor: default;
135 | > [class*="z-icon-"] {
136 | margin-right: 8px;
137 | }
138 | }
139 | .rtab.z-tabbox {
140 | position: absolute;
141 | top: 0;
142 | .z-tabs-content {
143 | border-bottom-color: #DCE8F1;
144 | padding: 0 10px 0 3px;
145 | }
146 | .z-tab {
147 | float: right;
148 | border: 0;
149 | .borderRadius(0);
150 | padding-top: 0;
151 | font-family: 'Open Sans';
152 | &, &:hover, &:focus, &:active {
153 | .resetGradient();
154 | background-color: transparent;
155 | }
156 | &-selected {
157 | .z-tab-text {
158 | font-weight: normal;
159 | }
160 | border-width: 2px 1px 0 1px;
161 | border-color: #DCE8F1;
162 | border-top-color: #4C8FBD;
163 | border-style: solid;
164 | }
165 | }
166 | .z-tabpanel {
167 | border: 0;
168 | padding: 8px 6px;
169 | }
170 | .rcaption {
171 | .displaySize(block, auto, 18px);
172 | margin: 10px 0;
173 | font-size: 17px;
174 | line-height: normal;
175 | }
176 | .z-tab:first-child.z-tab-selected+.z-tab {
177 | .boxShadow(none);
178 | }
179 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/mixins.less:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/applications2/less/import/mixins.less
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/navbar.less:
--------------------------------------------------------------------------------
1 | .navbar {
2 | margin-bottom: 0;
3 | padding-left: 0;
4 | padding-right: 0;
5 | margin: 0;
6 | border: none;
7 | .boxShadow(none);
8 | border-radius: 0;
9 | min-height: @navMinHeight;
10 | position: relative;
11 | background: @navBackground;
12 |
13 | .navbar-brand {
14 | color: @navTextColor;
15 | font-size: @brandSize;
16 | text-shadow: none;
17 | padding-top: 10px;
18 | padding-bottom: 10px;
19 | &:hover,
20 | &:focus {
21 | color: @navTextColor;
22 | }
23 | }
24 | }
25 |
26 | /* nav-user */
27 |
28 | .nav-user > div {
29 | > a,
30 | .user-menu {
31 | background-color: @nav-user-default;
32 | color: #FFF;
33 |
34 | display: block;
35 | line-height: @navMinHeight;
36 | height: @navMinHeight;
37 |
38 | border-left: 1px solid #DDD;
39 |
40 | position: relative;
41 | text-align: center;
42 |
43 | height: 100%;
44 | width: auto;
45 | min-width: 50px;
46 | padding: 0 8px;
47 |
48 | position: relative;
49 |
50 | .nav-user-color(@color) {
51 | @ace-nav-class: ~`"nav-user-@{color}"`;
52 | @ace-nav-bg: ~`"nav-user-@{color}"`;
53 | @ace-nav-cl: @@ace-nav-bg;
54 |
55 | &.@{color} {
56 | background-color: @ace-nav-cl ! important;
57 | &.open, &:hover , &:focus,
58 | .z-menu-selected {
59 | background-color: desaturate(darken(@ace-nav-cl, 4%), 4%) ! important;
60 | }
61 | }
62 | }
63 | .z-menu-selected {
64 | color: #FFF !important;
65 | }
66 | .nav-user-color(~"grey");
67 | .nav-user-color(~"purple");
68 | .nav-user-color(~"green");
69 | .nav-user-color(~"light-blue");
70 |
71 | //margins
72 | .marginX (@index) when (@index > 0) {
73 | &.margin-@{index} {
74 | margin-left: unit(@index,px);
75 | }
76 | .marginX(@index - 1);
77 | }
78 | .marginX(4);
79 |
80 | &.no-border {
81 | border: none !important;
82 | }
83 | }
84 |
85 | .badge {
86 | position: relative;
87 | top: -4px;
88 | left: 2px;
89 | padding-right: 5px;
90 | padding-left: 5px;
91 | }
92 |
93 | > a:hover,
94 | > a:focus {
95 | background-color: desaturate(darken(@nav-user-default, 4%), 4%);
96 | }
97 |
98 | .user-menu.z-menubar {
99 | padding: 0;
100 | border: 0;
101 | .resetGradient();
102 | border-left: 1px solid #DDD;
103 | & img {
104 | margin: -4px 8px 0 0;
105 | .borderRadius(100%);
106 | border: 2px solid #FFF;
107 | max-width: 40px;
108 | }
109 | .z-menu-content {
110 | line-height: @navMinHeight;
111 | height: @navMinHeight;
112 | border: 0;
113 | padding: 0 8px;
114 | & [class*="z-icon-"] {
115 | display: inline-block;
116 | width: 1.25em;
117 | text-align: center;
118 | }
119 | }
120 | .z-menu, .z-menu-content {
121 | &:hover, &:focus {
122 | .resetGradient();
123 | }
124 | }
125 | .z-menu {
126 | margin: 0;
127 | }
128 | .z-menu-selected > .z-menu-content,
129 | .z-menu-content:active {
130 | border: 0;
131 | .boxShadow(none);
132 | .resetGradient();
133 | }
134 | .z-menu-text {
135 | max-width: 80px;
136 | display: inline-block;
137 | overflow: hidden;
138 | text-overflow: ellipsis;
139 | white-space: normal;
140 | text-align: left;
141 | vertical-align: top;
142 | line-height: 15px;
143 | position: relative;
144 | top: 6px;
145 | color: #FFF;
146 | font-size: 13px;
147 | }
148 | .z-menu-icon {
149 | top: 0;
150 | right: 8px;
151 | }
152 | .z-menu-text {
153 | text-shadow: none;
154 | }
155 | }
156 | [class*="z-icon-"] {
157 | .iconFontStyle(16px, #FFF);
158 | display: inline-block;
159 | width: 20px;
160 | text-align: center;
161 | }
162 | &:first-child > a {
163 | border-left: none;
164 | }
165 | }
166 |
167 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/progressmeter.less:
--------------------------------------------------------------------------------
1 | .z-progressmeter {
2 | height: 9px;
3 | border: 0;
4 | background-image: none;
5 | background-color: #DADADA;
6 |
7 | &-image {
8 | display: inline-block;
9 | .resetGradient();
10 | background-color: #2A91D8;
11 | }
12 | }
13 |
14 | // Striped bars
15 | .z-progressmeter.striped .z-progressmeter-image {
16 | #gradient > .striped(@progress-bar-bg);
17 | background-size: 40px 40px;
18 | }
19 |
20 | .z-progressmeter.active .z-progressmeter-image {
21 | -webkit-animation: progress-bar-stripes 2s linear infinite;
22 | -moz-animation: progress-bar-stripes 2s linear infinite;
23 | -ms-animation: progress-bar-stripes 2s linear infinite;
24 | -o-animation: progress-bar-stripes 2s linear infinite;
25 | animation: progress-bar-stripes 2s linear infinite;
26 | }
27 |
28 | .progressmeter-variant(@color) {
29 | .z-progressmeter-image {
30 | .progress-bar-variant(@color);
31 | }
32 | }
33 |
34 | .progressmeter-danger {
35 | .progressmeter-variant(@progress-danger);
36 | }
37 | .progressmeter-success {
38 | .progressmeter-variant(@progress-success);
39 | }
40 | .progressmeter-warning {
41 | .progressmeter-variant(@progress-warning);
42 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/tooltip.less:
--------------------------------------------------------------------------------
1 |
2 | .jqstooltip , .legendColorBox div {
3 | .box-sizing(content-box);
4 | }
5 | .legendLabel {
6 | .box-sizing(content-box);
7 | height:20px;
8 | font-size:10px;
9 | }
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/utility.less:
--------------------------------------------------------------------------------
1 |
2 | .blue {
3 | color: #478FCA!important;
4 | }
5 | .green {
6 | color: #69AA46 !important;
7 | }
8 | .grey {
9 | color: #777 !important;
10 | }
11 | .purple {
12 | color: #A069C3 !important;
13 | }
14 | .red {
15 | color: #DD5A43 !important;
16 | }
17 | .orange {
18 | color: #FF892A !important;
19 | }
20 | .lighter {
21 | font-weight: lighter;
22 | }
23 | .sign {
24 | > [class*="z-icon-"] {
25 | margin:0 8px;
26 | }
27 | }
28 | .sign-group {
29 | div+div {
30 | border-left:1px solid #E3E3E3;
31 | }
32 | }
33 | .icon-2x {
34 | font-size: 2em;
35 | }
36 | .icon-mr8 {
37 | margin-right: 8px;
38 | }
39 | .bigger-130 {
40 | font-size: 130%;
41 | }
42 | .bigger-110 {
43 | font-size: 110%;
44 | }
45 | .bigger-120 {
46 | font-size: 120%;
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/variables.less:
--------------------------------------------------------------------------------
1 | //
2 | // Variables
3 | // --------------------------------------------------
4 | @baseFontFamily: 'Open Sans';
5 | @baseFontSize: 13px;
6 |
7 | // Global values
8 | // --------------------------------------------------
9 |
10 | // Grays
11 | // -------------------------
12 |
13 | @gray-darker: lighten(#000, 13.5%); // #222
14 | @gray-dark: lighten(#000, 20%); // #333
15 | @gray: lighten(#000, 33.5%); // #555
16 | @gray-light: lighten(#000, 60%); // #999
17 | @gray-lighter: lighten(#000, 93.5%); // #eee
18 |
19 |
20 | @bodyBackground: #E4E6E9;
21 | @textColor: #393939;
22 | @sidebarBackground: #F2F2F2;
23 | @sidebarWidth: 190px;
24 | @sidebarBorderRight: #CCC;
25 | @menu-focus-color: #1963AA;
26 | @menu-active-color: #2B7DBC;
27 |
28 | @submenu-left-border:mix(#BCCFE0 , #7EAACB);
29 | @submenu-active-left-border:mix(mix(#BCCFE0 , #7EAACB) , #7EAACB);
30 |
31 | @menumin-border:#CCC;
32 |
33 |
34 | @navMinHeight: 45px;
35 | @navBackground: #438EB9;
36 | @navOpenBackground: #FAFAFA;
37 | @navTextColor: #FFF;
38 | @brandSize: 20px;
39 |
40 |
41 | // Navbar's nav background color
42 | @nav-user-default: #2E6589;
43 | @nav-user-grey: #555;
44 | @nav-user-purple: #892E65;
45 | @nav-user-green: #2E8965;
46 | @nav-user-light-blue:#62A8D1;
47 |
48 | //some text colors
49 | @ace-dark: #333;
50 | @ace-white: #FFF;
51 | @ace-red: #DD5A43;
52 | @ace-light-red: #FF7777;
53 | @ace-blue: #478FCA;
54 | @ace-light-blue: #93CBF9;
55 | @ace-green: #69AA46;
56 | @ace-light-green: #B0D877;
57 | @ace-orange: #FF892A;
58 | @ace-orange2: #FEB902;
59 | @ace-light-orange: #FCAC6F;
60 | @ace-purple: #A069C3;
61 | @ace-pink: #C6699F;
62 | @ace-pink2: #D6487E;
63 | @ace-brown: brown;
64 | @ace-grey: #777;
65 | @ace-light-grey: #BBB;
66 |
67 |
68 | // Sidebar
69 | @sidebar-width: 190px;
70 | @sidebar-min-width: 43px;
71 |
72 | // Breadcrumbs
73 | // -------------------------
74 | @bcHeight: 41px;
75 |
76 | //infobox colors
77 | @infobox-purple: #6F3CC4;
78 | @infobox-pink: #CB6FD7;
79 | @infobox-blue: #6FB3E0;
80 | @infobox-blue2: #3983C2;
81 | @infobox-red: #D53F40;
82 | @infobox-orange: #F79263;
83 | @infobox-green: #9ABC32;
84 | @infobox-grey: #999999;
85 |
86 |
87 | //label & badge colors
88 | @label-default: #ABBAC3;
89 | @label-primary: @btn-primary;
90 | @label-info: #3A87AD;
91 | @label-success: #82AF6F;
92 | @label-danger: #D15B47;
93 | @label-important: @label-danger;
94 | @label-warning: #F89406;
95 | @label-inverse: #333333;
96 | @label-pink: #D6487E;
97 | @label-purple: #9585BF;
98 | @label-yellow: #FEE188;
99 | @label-light: #E7E7E7;
100 | @label-grey: @btn-grey;
101 |
102 |
103 |
104 | //button colors
105 | @btn-default: #ABBAC3;
106 | @btn-default-hover: #8B9AA3;
107 |
108 | @btn-primary: #428BCA;
109 | @btn-primary-hover: #1B6AAA;
110 |
111 | @btn-info: #6FB3E0;
112 | @btn-info-hover: #4F99C6;
113 |
114 | @btn-success: #87B87F;
115 | @btn-success-hover: #629B58;
116 |
117 | @btn-warning: #FFB752;
118 | @btn-warning-hover: #E59729;
119 |
120 | @btn-danger: #D15B47;
121 | @btn-danger-hover: #B74635;
122 |
123 | @btn-inverse: #555555;
124 | @btn-inverse-hover: #303030;
125 |
126 | @btn-pink: #D6487E;
127 | @btn-pink-hover: #B73766;
128 |
129 | @btn-purple: #9585BF;
130 | @btn-purple-hover: #7461AA;
131 |
132 | @btn-yellow: #FEE188;
133 | @btn-yellow-hover: #F7D05B;
134 | @btn-yellow-color: #996633;
135 |
136 | @btn-light: #E7E7E7;
137 | @btn-light-hover: #D9D9D9;
138 | @btn-light-color: #888;
139 |
140 | @btn-grey: #A0A0A0;
141 | @btn-grey-hover: #888888;
142 |
143 | //active state:
144 | @btn-active-color: #EFE5B5;
145 | @btn-yellow-active-border: #C96338;
146 |
147 |
148 | //tasks
149 | @task-orange-border: #E8B110;
150 | @task-red-border: #D53F40;
151 | @task-green-border: #9ABC32;
152 | @task-blue-border: @btn-info-hover;
153 | @task-pink-border: #CB6FD7;
154 | @task-grey-border: #A0A0A0;
155 | @task-default-border: @btn-default;
156 |
157 | //progress bar
158 | @progress-danger: #CA5952;
159 | @progress-success: #59A84B;
160 | @progress-warning: #F2BB46;
161 |
162 | //tooltip
163 | @tooltip-color: #333;
164 | @tooltip-error-color: #C94D32;
165 | @tooltip-success-color: #629B58;
166 | @tooltip-warning-color: #ED9421;
167 | @tooltip-info-color: #4B89AA;
168 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/zk/_header.less:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" %>
2 | <%@ taglib uri="http://www.zkoss.org/dsp/zk/core" prefix="z" %>
3 | <%@ taglib uri="http://www.zkoss.org/dsp/web/theme" prefix="t" %>
4 |
5 | // Core variables and mixins
6 | @import "_zkvariables.less"; // variables needed for ZK
7 | @import "_zkmixins.less";
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/import/zk/_zkmixins.less:
--------------------------------------------------------------------------------
1 | // ZK Mixins Utility
2 |
3 | // EL Function
4 | // --------------------------------------------
5 |
6 | //---------------------------------------------
7 | // web/core.dsp.tld
8 | //---------------------------------------------
9 | .encodeURL(@property, @url, @rest...) when (@property = background) {
10 | background: url(${ c:encodeURL('@{url}') }) @rest;
11 | }
12 | .encodeURL(@property, @url, @rest...) when (@property = background-image) {
13 | background-image: url(${ c:encodeURL('@{url}') });
14 | }
15 | .encodeThemeURL(@property, @url, @rest...) when (@property = background) {
16 | background: url(${ c:encodeThemeURL('@{url}') }) @rest;
17 | }
18 | .encodeThemeURL(@property, @url, @rest...) when (@property = background-image) {
19 | background-image: url(${ c:encodeThemeURL('@{url}') });
20 | }
21 | .encodeURL-horGradient(@url, @start, @end) {
22 | background: url(${ c:encodeURL('@{url}') }), ${ t:gradValue('hor', '@{start} 0%; @{end} 100%') };
23 | }
24 | .encodeURL-verGradient(@url, @start, @end) {
25 | background: url(${ c:encodeURL('@{url}') }), ${ t:gradValue('ver', '@{start} 0%; @{end} 100%') };
26 | }
27 | //---------------------------------------------
28 | // theme.dsp.tld
29 | //---------------------------------------------
30 | // gradient
31 | .gradient(@direction, @value) {
32 | ${ t:gradient('@{direction}', '@{value}') };
33 | }
34 | .gradValue(@direction, @value) {
35 | background: ${ t:gradValue('@{direction}', '@{value}') };
36 | }
37 | .gradients(@direction, @value) {
38 | ${ t:gradients('@{direction}', '@{value}') };
39 | }
40 | // box layout
41 | .box(@name, @value) {
42 | ${ t:box('@{name}', '@{value}') };
43 | }
44 | .box2(@name, @value, @name2, @value2) {
45 | ${ t:box2('@{name}', '@{value}', '@{name2}', '@{value2}') };
46 | }
47 | .box3(@name, @value, @name2, @value2, @name3, @value3) {
48 | ${ t:box3('@{name}', '@{value}', '@{name2}', '@{value2}', '@{name3}', '@{value3}') };
49 | }
50 | // box-shadow
51 | .boxShadow(@value) {
52 | ${ t:boxShadow('@{value}') };
53 | }
54 | // border-radius
55 | .borderRadius(@size) {
56 | ${ t:borderRadius('@{size}') };
57 | }
58 | // transform
59 | .transform(@value) {
60 | ${ t:transform('@{value}') };
61 | }
62 | // CSS3
63 | .applyCSS3(@key, @value) {
64 | ${ t:applyCSS3('@{key}', '@{value}') };
65 | }
66 |
67 | //---------------------------------------------
68 | // Other helpful utilities
69 | //---------------------------------------------
70 | // gradient utility
71 | .horGradient(@start, @end) when (@start = @end) {
72 | background: @start;
73 | }
74 | .horGradient(@start, @end) when not (@start = @end) {
75 | ${ t:gradient('hor', '@{start} 0%; @{end} 100%') };
76 | }
77 | .verGradient(@start, @end) when (@start = @end) {
78 | background: @start;
79 | }
80 | .verGradient(@start, @end) when not (@start = @end) {
81 | ${ t:gradient('ver', '@{start} 0%; @{end} 100%') };
82 | }
83 | .gradientFallback(@start, @end) {
84 | background: average(@start, @end);
85 | }
86 | .resetGradient() {
87 | background: none;
88 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
89 | }
90 |
91 | // border-radius utility
92 | .topBorderRadius(@size) {
93 | ${ t:borderRadius('@{size} @{size} 0 0') };
94 | }
95 | .rightBorderRadius(@size) {
96 | ${ t:borderRadius('0 @{size} @{size} 0') };
97 | }
98 | .bottomBorderRadius(@size) {
99 | ${ t:borderRadius('0 0 @{size} @{size}') };
100 | }
101 | .leftBorderRadius(@size) {
102 | ${ t:borderRadius('@{size} 0 0 @{size}') };
103 | }
104 |
105 | // transition utility
106 | .transition(@property, @duration, @timingFunc, @delay: 0) {
107 | ${ t:applyCSS3('transition', '@{property} @{duration} @{timingFunc} @{delay}') };
108 | }
109 |
110 | // opacity utility
111 | .opacity(@opacity) {
112 | opacity: @opacity;
113 | @opacity100: @opacity * 100;
114 | filter: ~"alpha(opacity=@{opacity100})";
115 | }
116 |
117 | // icon font utility
118 | .baseIconFont() {
119 | font-family: FontAwesome;
120 | font-weight: normal;
121 | font-style: normal;
122 | text-decoration: inherit;
123 | -webkit-font-smoothing: antialiased;
124 | *margin-right: .3em; // fixes ie7 issues
125 | }
126 |
127 | // other utility
128 | .size(@width, @height) {
129 | width: @width;
130 | height: @height;
131 | }
132 | .displaySize(@display, @width, @height) {
133 | display: @display;
134 | .size(@width, @height);
135 | }
136 | .fontStyle(@family, @size, @weight, @color) {
137 | font-family: @family;
138 | font-size: @size;
139 | font-weight: @weight;
140 | font-style: normal;
141 | color: @color;
142 | }
143 | .fontStyle(@family, @size, @weight) {
144 | font-family: @family;
145 | font-size: @size;
146 | font-weight: @weight;
147 | font-style: normal;
148 | }
149 | .iconFontStyle(@size, @color) {
150 | font-size: @size;
151 | color: @color;
152 | }
153 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/less/index.less:
--------------------------------------------------------------------------------
1 | @import "../bootstrap/less/variables.less";
2 | @import "../bootstrap/less/mixins.less";
3 | @import "import/zk/_header.less";
4 | @import "import/variables.less";
5 | @import "import/general.less";
6 | @import "import/utility.less";
7 | @import "import/navbar.less";
8 | @import "import/sidebar.less";
9 | @import "import/breadcrumbs.less";
10 | @import "import/button.less";
11 | @import "import/label-badge.less";
12 | @import "import/infobox.less";
13 | @import "import/layout.less";
14 | @import "import/mesh.less";
15 | @import "import/popup.less";
16 | @import "import/progressmeter.less";
17 | @import "import/3rdparty.less";
18 |
19 | body {
20 | padding: 0;
21 | background-color: @bodyBackground;
22 | min-height: 100%;
23 | .fontStyle('Open Sans', 13px, normal);
24 | color: @textColor;
25 | line-height: 1.5;
26 | }
27 |
28 | .navbar {
29 | margin: 0;
30 | padding: 0 20px;
31 | border: 0;
32 | min-height: 45px;
33 | position: relative;
34 | background: #438eb9;
35 | .borderRadius(0);
36 | &-brand {
37 | color: @navTextColor;
38 | font-size: @brandSize;
39 | text-shadow: none;
40 | padding-top: 10px;
41 | padding-bottom: 10px;
42 | letter-spacing: 1px;
43 | &:hover,
44 | &:focus {
45 | color: @navTextColor;
46 | }
47 | }
48 | }
49 |
50 | .page-content {
51 | background: #fff;
52 | margin: 0;
53 | padding: 8px 20px 24px;
54 | }
55 |
56 | .page-header {
57 | margin: 0 0 12px;
58 | border-bottom: 1px dotted #E2E2E2;
59 | padding-bottom: 16px;
60 | padding-top: 7px;
61 | .z-label {
62 | padding: 0;
63 | margin: 0 8px;
64 | font-size: 24px;
65 | font-weight: lighter;
66 | color: #2679B5;
67 | }
68 | .subtitle {
69 | font-size: 14px;
70 | cursor: default;
71 | &, & i {
72 | margin: 0 6px;
73 | }
74 | &, &:hover, &:focus {
75 | color: #8089A0;
76 | }
77 | }
78 | }
79 |
80 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/navbar.zul:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/page.zul:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/main/webapp/applications2/sidebar.zul:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zkoss-demo/ui-examples/cdd598e723e532cebafdaf731e9955b7bee45506/src/main/webapp/bootstrap/v3/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/index.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Button groups
5 |
6 |
7 | Navbar
8 |
9 |
10 | Panels
11 |
12 |
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/button-groups.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Button toolbar
11 |
27 |
28 | Sizing
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | Themes
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/js/button-bs.js:
--------------------------------------------------------------------------------
1 | /* button-bs.js
2 |
3 | Purpose:
4 |
5 | Description:
6 |
7 | History:
8 | Wed, Aug 28, 2013 12:51:51 PM, Created by jumperchen
9 |
10 | Copyright (C) 2013 Potix Corporation. All Rights Reserved.
11 | */
12 | zk.afterLoad('zul.wgt', function () {
13 | var _button = {};
14 |
15 | zk.override(zul.wgt.Button.prototype, _button, {
16 | _sclass: 'btn-default',
17 | getZclass: function () {
18 | return 'btn';
19 | }
20 | });
21 |
22 | });
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/js/navbar-bs.js:
--------------------------------------------------------------------------------
1 | /* navbar-bs.js
2 |
3 | Purpose:
4 |
5 | Description:
6 |
7 | History:
8 | Wed, Aug 28, 2013 12:51:51 PM, Created by jumperchen
9 |
10 | Copyright (C) 2013 Potix Corporation. All Rights Reserved.
11 | */
12 | zk.afterLoad('zkmax.nav', function () {
13 | var _navbar = {};
14 |
15 | zk.override(zkmax.nav.Navbar.prototype, _navbar, {
16 | _sclass: 'navbar-default',
17 | getZclass: function () {
18 | return 'navbar';
19 | },
20 | bind_: function (subclass) {
21 | _navbar.bind_.apply(this, arguments);
22 | jq(this.$n('cave')).addClass('nav navbar-nav');
23 | },
24 | redraw: function (out) {
25 |
26 | var uuid = this.uuid;
27 | out.push('
');
33 | }
34 | });
35 |
36 | var _navitem = {};
37 |
38 | zk.override(zkmax.nav.Navitem.prototype, _navitem, {
39 | getZclass: function () {
40 | return '';
41 | },
42 | $s: function (subclass) {
43 | switch (subclass) {
44 | case 'selected':
45 | return 'active';
46 | }
47 | return _navitem.$s.apply(this, arguments);
48 | },
49 |
50 | onFloatUp: function(ctl){
51 | if (this.isTopmost())
52 | return;
53 | var wgt = ctl.origin;
54 |
55 | for (var floatFound; wgt; wgt = wgt.parent) {
56 | if (wgt == this) {
57 | if (!floatFound)
58 | this.setTopmost();
59 | return;
60 | }
61 | if (wgt == this.parent && wgt.ignoreDescendantFloatUp_(this))
62 | return;
63 | floatFound = floatFound || wgt.isFloating_();
64 | }
65 | this.parent.setOpen(false);
66 | },
67 | bind_: function () {
68 | _navitem.bind_.apply(this, arguments);
69 | zWatch.listen({onFloatUp: this});
70 | },
71 | unbind_: function () {
72 | zWatch.unlisten({onFloatUp: this});
73 | _navitem.unbind_.apply(this, arguments);
74 | }
75 | });
76 |
77 |
78 | var _nav = {};
79 |
80 | zk.override(zkmax.nav.Nav.prototype, _nav, {
81 | _iconSclass: 'caret',
82 | getZclass: function () {
83 | return 'dropdown';
84 | },
85 | $s: function (subclass) {
86 | switch (subclass) {
87 | case 'content':
88 | subclass = 'dropdown-toggle';
89 | break;
90 | case 'open':
91 | return 'open';
92 | }
93 | return _nav.$s.apply(this, arguments);
94 | },
95 |
96 | domContent_: function () {
97 | var label = '
' +
98 | (zUtl.encodeXML(this.getLabel())) + '',
99 | img = this.getImage(),
100 | iconSclass = this.domIcon_();
101 |
102 | if (img) {
103 | img = '

'
104 | + (iconSclass ? ' ' + iconSclass : '');
105 | } else {
106 | if (iconSclass) {
107 | img = iconSclass;
108 | } else {
109 | img = '

';
111 | }
112 | }
113 | var info = this._detailed ? '
' + this.nChildren + '' : '';
115 | return label + info + img;
116 | },
117 | bind_: function (subclass) {
118 | _nav.bind_.apply(this, arguments);
119 | jq(this.$n('cave')).addClass('dropdown-menu');
120 | }
121 | });
122 |
123 | });
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/js/panel-bs.js:
--------------------------------------------------------------------------------
1 | /* panel-bs.js
2 |
3 | Purpose:
4 |
5 | Description:
6 |
7 | History:
8 | Wed, Aug 28, 2013 12:51:51 PM, Created by jumperchen
9 |
10 | Copyright (C) 2013 Potix Corporation. All Rights Reserved.
11 | */
12 | zk.afterLoad('zul.wnd', function () {
13 | var _panel = {};
14 |
15 | zk.override(zul.wnd.Panel.prototype, _panel, {
16 | _sclass: 'panel-default',
17 | getZclass: function () {
18 | return 'panel';
19 | },
20 | $s: function (subclass) {
21 | switch (subclass) {
22 | case 'head':
23 | subclass = 'heading';
24 | break;
25 | case 'header':
26 | return '';
27 | }
28 |
29 | return _panel.$s.apply(this, arguments);
30 | }
31 | });
32 |
33 | var _panelchildren = {};
34 |
35 | zk.override(zul.wnd.Panelchildren.prototype, _panelchildren, {
36 | getZclass: function () {
37 | return '';
38 | },
39 | $s: function (subclass) {
40 | return '';
41 | }
42 | });
43 |
44 | });
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/navbar.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/webapp/bootstrap/v3/zk/panel.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Panel content
5 |
6 |
7 |
8 | Panel content
9 |
10 |
11 |
12 | Panel content
13 |
14 |
15 |
16 | Panel content
17 |
18 |
19 |
20 | Panel content
21 |
22 |
23 |
24 | Panel content
25 |
26 |
27 |
28 | Panel content
29 |
30 |
--------------------------------------------------------------------------------
/src/main/webapp/zkless/index.zul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------