blueberry_admin 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +32 -0
- data/Rakefile +34 -0
- data/app/assets/stylesheets/blueberry_admin.sass +11 -0
- data/app/assets/stylesheets/blueberry_admin/base/_forms.sass +130 -0
- data/app/assets/stylesheets/blueberry_admin/base/_miscellaneous.sass +356 -0
- data/app/assets/stylesheets/blueberry_admin/base/_table.sass +126 -0
- data/app/assets/stylesheets/blueberry_admin/base/_typography.sass +41 -0
- data/app/assets/stylesheets/blueberry_admin/common/_variables-origin.sass +118 -0
- data/app/assets/stylesheets/blueberry_admin/common/_variables.sass +78 -0
- data/app/assets/stylesheets/blueberry_admin/common/bootstrap-ms.sass +128 -0
- data/app/assets/stylesheets/blueberry_admin/common/bootstrap-override.sass +4 -0
- data/app/assets/stylesheets/blueberry_admin/components/_alerts.sass +47 -0
- data/app/assets/stylesheets/blueberry_admin/components/_boxes.sass +132 -0
- data/app/assets/stylesheets/blueberry_admin/components/_buttons.sass +310 -0
- data/app/assets/stylesheets/blueberry_admin/components/_callout.sass +48 -0
- data/app/assets/stylesheets/blueberry_admin/components/_carousel.sass +13 -0
- data/app/assets/stylesheets/blueberry_admin/components/_control-sidebar.sass +274 -0
- data/app/assets/stylesheets/blueberry_admin/components/_def-list.sass +38 -0
- data/app/assets/stylesheets/blueberry_admin/components/_direct-chat.sass +172 -0
- data/app/assets/stylesheets/blueberry_admin/components/_dropdown.sass +296 -0
- data/app/assets/stylesheets/blueberry_admin/components/_filter.sass +9 -0
- data/app/assets/stylesheets/blueberry_admin/components/_header.sass +246 -0
- data/app/assets/stylesheets/blueberry_admin/components/_info-box.sass +66 -0
- data/app/assets/stylesheets/blueberry_admin/components/_labels.sass +22 -0
- data/app/assets/stylesheets/blueberry_admin/components/_modal.sass +73 -0
- data/app/assets/stylesheets/blueberry_admin/components/_navs.sass +174 -0
- data/app/assets/stylesheets/blueberry_admin/components/_products.sass +57 -0
- data/app/assets/stylesheets/blueberry_admin/components/_progress-bars.sass +107 -0
- data/app/assets/stylesheets/blueberry_admin/components/_redactor.sass +15 -0
- data/app/assets/stylesheets/blueberry_admin/components/_small-box.sass +89 -0
- data/app/assets/stylesheets/blueberry_admin/components/_timeline.sass +98 -0
- data/app/assets/stylesheets/blueberry_admin/components/_users-list.sass +39 -0
- data/app/assets/stylesheets/blueberry_admin/layout/_sidebar-mini.sass +137 -0
- data/app/assets/stylesheets/blueberry_admin/layout/_sidebar.sass +154 -0
- data/app/assets/stylesheets/blueberry_admin/layout/layout.sass +122 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_404_500_errors.sass +36 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_fullcalendar.sass +88 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_invoice.sass +16 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_lockscreen.sass +68 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_login_and_register.sass +40 -0
- data/app/assets/stylesheets/blueberry_admin/pages/_mailbox.sass +77 -0
- data/app/assets/stylesheets/blueberry_admin/skins/_skin-aerotec.sass +14 -0
- data/app/assets/stylesheets/blueberry_admin/utils/functions.sass +23 -0
- data/app/assets/stylesheets/blueberry_admin/utils/make-columns.sass +67 -0
- data/app/assets/stylesheets/blueberry_admin/utils/mixins-origin.sass +291 -0
- data/app/assets/stylesheets/blueberry_admin/utils/mixins.sass +24 -0
- data/app/assets/stylesheets/blueberry_admin/utils/render-to.sass +27 -0
- data/lib/blueberry_admin.rb +5 -0
- data/lib/blueberry_admin/engine.rb +4 -0
- data/lib/blueberry_admin/version.rb +3 -0
- data/lib/tasks/blueberry_admin_tasks.rake +4 -0
- metadata +156 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
@function getNumber($string)
|
2
|
+
$strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
|
3
|
+
$numbers: 0 1 2 3 4 5 6 7 8 9
|
4
|
+
$result: 0
|
5
|
+
|
6
|
+
@for $i from 1 through str-length($string)
|
7
|
+
$character: str-slice($string, $i, $i)
|
8
|
+
$index: index($strings, $character)
|
9
|
+
|
10
|
+
@if $index
|
11
|
+
$number: nth($numbers, $index)
|
12
|
+
$result: $result * 10 + $number
|
13
|
+
|
14
|
+
@return $result
|
15
|
+
|
16
|
+
// calculate rem size from pixel size
|
17
|
+
@function rem($px)
|
18
|
+
$default: getNumber(inspect($font-size-base))
|
19
|
+
@return $px / $default * 1rem
|
20
|
+
|
21
|
+
// calculate em size from pixel size
|
22
|
+
@function em($px, $parent: getNumber(inspect($font-size-base)))
|
23
|
+
@return $px / $parent * 1em
|
@@ -0,0 +1,67 @@
|
|
1
|
+
$sizes: ("0": 0,"1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "10": 10, "11": 11, "12": 12)
|
2
|
+
|
3
|
+
@function to-number($value)
|
4
|
+
@if type-of($value) == 'number'
|
5
|
+
@return $value
|
6
|
+
@else if type-of($value) != 'string'
|
7
|
+
$_: log('Value for `to-number` should be a number or a string.')
|
8
|
+
|
9
|
+
$result: 0
|
10
|
+
$digits: 0
|
11
|
+
$minus: str-slice($value, 1, 1) == '-'
|
12
|
+
$numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9)
|
13
|
+
|
14
|
+
@for $i from if($minus, 2, 1) through str-length($value)
|
15
|
+
$character: str-slice($value, $i, $i)
|
16
|
+
|
17
|
+
@if not (index(map-keys($numbers), $character) or $character == '.')
|
18
|
+
@return to-length(if($minus, -$result, $result), str-slice($value, $i))
|
19
|
+
|
20
|
+
@if $character == '.'
|
21
|
+
$digits: 1
|
22
|
+
@else if $digits == 0
|
23
|
+
$result: $result * 10 + map-get($numbers, $character)
|
24
|
+
@else
|
25
|
+
$digits: $digits * 10
|
26
|
+
$result: $result + map-get($numbers, $character) / $digits
|
27
|
+
|
28
|
+
@return if($minus, -$result, $result)
|
29
|
+
|
30
|
+
@function getsize($args, $i)
|
31
|
+
$needle: str-slice(nth($args, $i), 3, str-length(nth($args, $i)))
|
32
|
+
|
33
|
+
@if map-has-key($sizes, $needle)
|
34
|
+
@return map-get($sizes, $needle)
|
35
|
+
@else
|
36
|
+
@return to-number($needle)
|
37
|
+
|
38
|
+
=make-columns($args...)
|
39
|
+
@for $i from 1 through length($args)
|
40
|
+
$type: str-slice(nth($args, $i), 1, 2)
|
41
|
+
$size: getsize($args, $i)
|
42
|
+
|
43
|
+
@if $type == 'xs'
|
44
|
+
+make-xs-column($size)
|
45
|
+
@if $type == 'ms'
|
46
|
+
+make-ms-column($size)
|
47
|
+
@if $type == 'sm'
|
48
|
+
+make-sm-column($size)
|
49
|
+
@if $type == 'md'
|
50
|
+
+make-md-column($size)
|
51
|
+
@if $type == 'lg'
|
52
|
+
+make-lg-column($size)
|
53
|
+
|
54
|
+
=make-offsets($args...)
|
55
|
+
@for $i from 1 through length($args)
|
56
|
+
$type: str-slice(nth($args, $i), 1, 2)
|
57
|
+
$size: map-get($sizes, str-slice(nth($args, $i), 3, str-length(nth($args, $i))))
|
58
|
+
@if $type == 'xs'
|
59
|
+
+make-xs-column-offset($size)
|
60
|
+
@if $type == 'ms'
|
61
|
+
+make-ms-column-offset($size)
|
62
|
+
@if $type == 'sm'
|
63
|
+
+make-sm-column-offset($size)
|
64
|
+
@if $type == 'md'
|
65
|
+
+make-md-column-offset($size)
|
66
|
+
@if $type == 'lg'
|
67
|
+
+make-lg-column-offset($size)
|
@@ -0,0 +1,291 @@
|
|
1
|
+
//AdminLTE mixins
|
2
|
+
//===============
|
3
|
+
|
4
|
+
//Changes the color and the hovering properties of the navbar
|
5
|
+
@mixin navbar-variant($color, $font-color: rgba(255, 255, 255, 0.8), $hover-color: #f6f6f6, $hover-bg: rgba(0, 0, 0, 0.1))
|
6
|
+
background-color: $color
|
7
|
+
//Navbar links
|
8
|
+
.nav > li > a
|
9
|
+
color: $font-color
|
10
|
+
|
11
|
+
|
12
|
+
.nav > li > a:hover,
|
13
|
+
.nav > li > a:active,
|
14
|
+
.nav > li > a:focus,
|
15
|
+
.nav .open > a,
|
16
|
+
.nav .open > a:hover,
|
17
|
+
.nav .open > a:focus
|
18
|
+
background: $hover-bg
|
19
|
+
color: $hover-color
|
20
|
+
|
21
|
+
|
22
|
+
//Add color to the sidebar toggle button
|
23
|
+
.sidebar-toggle
|
24
|
+
color: $font-color
|
25
|
+
&:hover
|
26
|
+
color: $hover-color
|
27
|
+
background: $hover-bg
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
//Logo color variation
|
33
|
+
@mixin logo-variant($bg-color, $color: #fff, $border-bottom-color: transparent, $border-bottom-width: 0px)
|
34
|
+
background-color: $bg-color
|
35
|
+
color: $color
|
36
|
+
border-bottom: $border-bottom-width solid $border-bottom-color
|
37
|
+
|
38
|
+
&:hover
|
39
|
+
background-color: darken($bg-color, 1%)
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
//Box solid color variantion creator
|
44
|
+
@mixin box-solid-variant($color, $text-color: #fff)
|
45
|
+
border: 1px solid $color
|
46
|
+
> .box-header
|
47
|
+
color: $text-color
|
48
|
+
background: $color
|
49
|
+
background-color: $color
|
50
|
+
a,
|
51
|
+
.btn
|
52
|
+
color: $text-color
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
//Direct Chat Variant
|
58
|
+
@mixin direct-chat-variant($bg-color, $color: #fff)
|
59
|
+
.right > .direct-chat-text
|
60
|
+
background: $bg-color
|
61
|
+
border-color: $bg-color
|
62
|
+
color: $color
|
63
|
+
&:after,
|
64
|
+
&:before
|
65
|
+
border-left-color: $bg-color
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
//border radius creator
|
71
|
+
@mixin border-radius-same($radius)
|
72
|
+
border-radius: $radius
|
73
|
+
|
74
|
+
//Different radius each side
|
75
|
+
@mixin border-radius($top-left, $top-right, $bottom-left, $bottom-right)
|
76
|
+
border-top-left-radius: $top-left
|
77
|
+
border-top-right-radius: $top-right
|
78
|
+
border-bottom-right-radius: $bottom-right
|
79
|
+
border-bottom-left-radius: $bottom-left
|
80
|
+
|
81
|
+
|
82
|
+
//Gradient background
|
83
|
+
@mixin gradient($color: #F5F5F5, $start: #EEE, $stop: #FFF)
|
84
|
+
background: $color
|
85
|
+
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, $start), color-stop(1, $stop))
|
86
|
+
background: -ms-linear-gradient(bottom, $start, $stop)
|
87
|
+
background: -moz-linear-gradient(center bottom, $start 0%, $stop 100%)
|
88
|
+
background: -o-linear-gradient($stop, $start)
|
89
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ie-hex-str($stop)', endColorstr='#ie-hex-str($start)', GradientType=0) // IE9 and down
|
90
|
+
|
91
|
+
|
92
|
+
//Added 2.1.0
|
93
|
+
//Skins Mixins
|
94
|
+
|
95
|
+
//Dark Sidebar Mixin
|
96
|
+
@mixin skin-dark-sidebar($link-hover-border-color)
|
97
|
+
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
98
|
+
.wrapper,
|
99
|
+
.main-sidebar,
|
100
|
+
.left-side
|
101
|
+
background-color: $sidebar-dark-bg
|
102
|
+
|
103
|
+
//User Panel (resides in the sidebar)
|
104
|
+
.user-panel
|
105
|
+
> .info, > .info > a
|
106
|
+
color: #fff
|
107
|
+
|
108
|
+
|
109
|
+
//Sidebar Menu. First level links
|
110
|
+
.sidebar-menu > li
|
111
|
+
//Section Headning
|
112
|
+
&.header
|
113
|
+
color: lighten($sidebar-dark-bg, 20%)
|
114
|
+
background: darken($sidebar-dark-bg, 4%)
|
115
|
+
|
116
|
+
//links
|
117
|
+
> a
|
118
|
+
border-left: 3px solid transparent
|
119
|
+
|
120
|
+
//Hover and active states
|
121
|
+
&:hover > a, &.active > a
|
122
|
+
color: $sidebar-dark-hover-color
|
123
|
+
background: $sidebar-dark-hover-bg
|
124
|
+
border-left-color: $link-hover-border-color
|
125
|
+
|
126
|
+
//First Level Submenu
|
127
|
+
> .treeview-menu
|
128
|
+
margin: 0 1px
|
129
|
+
background: $sidebar-dark-submenu-bg
|
130
|
+
|
131
|
+
|
132
|
+
//All links within the sidebar menu
|
133
|
+
.sidebar a
|
134
|
+
color: $sidebar-dark-color
|
135
|
+
&:hover
|
136
|
+
text-decoration: none
|
137
|
+
|
138
|
+
|
139
|
+
//All submenus
|
140
|
+
.treeview-menu
|
141
|
+
> li
|
142
|
+
> a
|
143
|
+
color: $sidebar-dark-submenu-color
|
144
|
+
|
145
|
+
&.active > a, > a:hover
|
146
|
+
color: $sidebar-dark-submenu-hover-color
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
//The sidebar search form
|
151
|
+
.sidebar-form
|
152
|
+
@include border-radius-same(3px)
|
153
|
+
border: 1px solid lighten($sidebar-dark-bg, 10%)
|
154
|
+
margin: 10px 10px
|
155
|
+
input[type="text"], .btn
|
156
|
+
box-shadow: none
|
157
|
+
background-color: lighten($sidebar-dark-bg, 10%)
|
158
|
+
border: 1px solid transparent
|
159
|
+
height: 35px
|
160
|
+
@include transition(all $transition-speed $transition-fn)
|
161
|
+
|
162
|
+
input[type="text"]
|
163
|
+
color: #666
|
164
|
+
@include border-radius(2px !important, 0 !important, 2px !important, 0 !important)
|
165
|
+
&:focus, &:focus + .input-group-btn .btn
|
166
|
+
background-color: #fff
|
167
|
+
color: #666
|
168
|
+
|
169
|
+
&:focus + .input-group-btn .btn
|
170
|
+
border-left-color: #fff
|
171
|
+
|
172
|
+
|
173
|
+
.btn
|
174
|
+
color: #999
|
175
|
+
@include border-radius(0 !important, 2px !important, 0 !important, 2px !important)
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
//Light Sidebar Mixin
|
181
|
+
@mixin skin-light-sidebar($icon-active-color)
|
182
|
+
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
183
|
+
.wrapper,
|
184
|
+
.main-sidebar,
|
185
|
+
.left-side
|
186
|
+
background-color: $sidebar-light-bg
|
187
|
+
|
188
|
+
.content-wrapper,
|
189
|
+
.main-footer
|
190
|
+
border-left: 1px solid $gray
|
191
|
+
|
192
|
+
//User Panel (resides in the sidebar)
|
193
|
+
.user-panel
|
194
|
+
> .info, > .info > a
|
195
|
+
color: $sidebar-light-color
|
196
|
+
|
197
|
+
|
198
|
+
//Sidebar Menu. First level links
|
199
|
+
.sidebar-menu > li
|
200
|
+
@include transition(border-left-color .3s ease)
|
201
|
+
//border-left: 3px solid transparent
|
202
|
+
//Section Headning
|
203
|
+
&.header
|
204
|
+
color: lighten($sidebar-light-color, 25%)
|
205
|
+
background: $sidebar-light-bg
|
206
|
+
|
207
|
+
//links
|
208
|
+
> a
|
209
|
+
border-left: 3px solid transparent
|
210
|
+
font-weight: 600
|
211
|
+
|
212
|
+
//Hover and active states
|
213
|
+
&:hover > a,
|
214
|
+
&.active > a
|
215
|
+
color: $sidebar-light-hover-color
|
216
|
+
background: $sidebar-light-hover-bg
|
217
|
+
|
218
|
+
&:hover > a
|
219
|
+
|
220
|
+
|
221
|
+
&.active
|
222
|
+
border-left-color: $icon-active-color
|
223
|
+
> a
|
224
|
+
font-weight: 600
|
225
|
+
|
226
|
+
|
227
|
+
//First Level Submenu
|
228
|
+
> .treeview-menu
|
229
|
+
background: $sidebar-light-submenu-bg
|
230
|
+
|
231
|
+
|
232
|
+
//All links within the sidebar menu
|
233
|
+
.sidebar a
|
234
|
+
color: $sidebar-light-color
|
235
|
+
&:hover
|
236
|
+
text-decoration: none
|
237
|
+
|
238
|
+
|
239
|
+
//All submenus
|
240
|
+
.treeview-menu
|
241
|
+
> li
|
242
|
+
> a
|
243
|
+
color: $sidebar-light-submenu-color
|
244
|
+
|
245
|
+
&.active > a,
|
246
|
+
> a:hover
|
247
|
+
color: $sidebar-light-submenu-hover-color
|
248
|
+
|
249
|
+
&.active > a
|
250
|
+
font-weight: 600
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
//The sidebar search form
|
255
|
+
.sidebar-form
|
256
|
+
@include border-radius-same(3px)
|
257
|
+
border: 1px solid $gray//darken($sidebar-light-bg, 5%)
|
258
|
+
margin: 10px 10px
|
259
|
+
input[type="text"],
|
260
|
+
.btn
|
261
|
+
box-shadow: none
|
262
|
+
background-color: #fff//darken($sidebar-light-bg, 3%)
|
263
|
+
border: 1px solid transparent
|
264
|
+
height: 35px
|
265
|
+
@include transition(all $transition-speed $transition-fn)
|
266
|
+
|
267
|
+
input[type="text"]
|
268
|
+
color: #666
|
269
|
+
@include border-radius(2px !important, 0 !important, 2px !important, 0 !important)
|
270
|
+
&:focus,
|
271
|
+
&:focus + .input-group-btn .btn
|
272
|
+
background-color: #fff
|
273
|
+
color: #666
|
274
|
+
|
275
|
+
&:focus + .input-group-btn .btn
|
276
|
+
border-left-color: #fff
|
277
|
+
|
278
|
+
|
279
|
+
.btn
|
280
|
+
color: #999
|
281
|
+
@include border-radius(0 !important, 2px !important, 0 !important, 2px !important)
|
282
|
+
|
283
|
+
|
284
|
+
@media(min-width: $screen-sm-min)
|
285
|
+
&.sidebar-mini.sidebar-collapse
|
286
|
+
.sidebar-menu > li > .treeview-menu
|
287
|
+
border-left: 1px solid $gray
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
=centered($args...)
|
2
|
+
position: absolute
|
3
|
+
left: 50%
|
4
|
+
top: 50%
|
5
|
+
transform: translateX(-50%) translateY(-50%)
|
6
|
+
|
7
|
+
=antialiasing($type:antialiased)
|
8
|
+
-webkit-font-smoothing: $type
|
9
|
+
font-smoothing: $type
|
10
|
+
font-smooth: always
|
11
|
+
|
12
|
+
=pos($x, $y)
|
13
|
+
position: absolute
|
14
|
+
top: $x
|
15
|
+
left: $y
|
16
|
+
|
17
|
+
=display-flex
|
18
|
+
display: flex
|
19
|
+
flex-wrap: wrap
|
20
|
+
align-items: flex-end
|
21
|
+
justify-content: flex-start
|
22
|
+
&:after,
|
23
|
+
&:before
|
24
|
+
display: none
|
@@ -0,0 +1,27 @@
|
|
1
|
+
$xs: "(max-width: #{$screen-xs-max-new})"
|
2
|
+
$ms: "(min-width: #{$screen-ms-min}) and (max-width: #{$screen-ms-max})"
|
3
|
+
$sm: "(min-width: #{$screen-sm-min}) and (max-width: #{$screen-sm-max})"
|
4
|
+
$md: "(min-width: #{$screen-md-min}) and (max-width: #{$screen-md-max})"
|
5
|
+
$lg: "(min-width: #{$screen-lg-min})"
|
6
|
+
|
7
|
+
=render-to($type...)
|
8
|
+
@if $type == "xs"
|
9
|
+
@for $i from 1 through length($type)
|
10
|
+
@if nth($type, $i) == xs
|
11
|
+
@media #{$xs}
|
12
|
+
@content
|
13
|
+
@else if nth($type, $i) == sm
|
14
|
+
@media #{$sm}
|
15
|
+
@content
|
16
|
+
@else if nth($type, $i) == ms
|
17
|
+
@media #{$ms}
|
18
|
+
@content
|
19
|
+
@else if nth($type, $i) == md
|
20
|
+
@media #{$md}
|
21
|
+
@content
|
22
|
+
@else if nth($type, $i) == lg
|
23
|
+
@media #{$lg}
|
24
|
+
@content
|
25
|
+
@else
|
26
|
+
@media (max-width: $type)
|
27
|
+
@content
|