uikit3-rails 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +41 -0
- data/Rakefile +10 -0
- data/assets/images/backgrounds/accordion-close.svg +4 -0
- data/assets/images/backgrounds/accordion-open.svg +3 -0
- data/assets/images/backgrounds/divider-icon.svg +3 -0
- data/assets/images/backgrounds/form-checkbox-indeterminate.svg +3 -0
- data/assets/images/backgrounds/form-checkbox.svg +3 -0
- data/assets/images/backgrounds/form-radio.svg +3 -0
- data/assets/images/backgrounds/form-select.svg +4 -0
- data/assets/images/backgrounds/list-bullet.svg +3 -0
- data/assets/images/backgrounds/nav-parent-close.svg +3 -0
- data/assets/images/backgrounds/nav-parent-open.svg +3 -0
- data/assets/images/components/close-large.svg +4 -0
- data/assets/images/components/close.svg +4 -0
- data/assets/images/components/navbar-toggle.svg +5 -0
- data/assets/images/components/overlay.svg +4 -0
- data/assets/images/components/pagination-next.svg +3 -0
- data/assets/images/components/pagination-previous.svg +3 -0
- data/assets/images/components/search-default.svg +4 -0
- data/assets/images/components/search-large.svg +4 -0
- data/assets/images/components/search-navbar.svg +4 -0
- data/assets/images/components/slidenav-large-next.svg +3 -0
- data/assets/images/components/slidenav-large-previous.svg +3 -0
- data/assets/images/components/slidenav-next.svg +3 -0
- data/assets/images/components/slidenav-previous.svg +3 -0
- data/assets/images/components/spinner.svg +3 -0
- data/assets/images/components/totop.svg +3 -0
- data/assets/images/symbols/album.svg +5 -0
- data/assets/images/symbols/arrow-down.svg +4 -0
- data/assets/images/symbols/arrow-left.svg +4 -0
- data/assets/images/symbols/arrow-right.svg +4 -0
- data/assets/images/symbols/arrow-up.svg +4 -0
- data/assets/images/symbols/ban.svg +4 -0
- data/assets/images/symbols/behance.svg +5 -0
- data/assets/images/symbols/bell.svg +4 -0
- data/assets/images/symbols/bold.svg +3 -0
- data/assets/images/symbols/bolt.svg +3 -0
- data/assets/images/symbols/bookmark.svg +3 -0
- data/assets/images/symbols/calendar.svg +5 -0
- data/assets/images/symbols/camera.svg +4 -0
- data/assets/images/symbols/cart.svg +5 -0
- data/assets/images/symbols/check.svg +3 -0
- data/assets/images/symbols/chevron-down.svg +3 -0
- data/assets/images/symbols/chevron-left.svg +3 -0
- data/assets/images/symbols/chevron-right.svg +3 -0
- data/assets/images/symbols/chevron-up.svg +3 -0
- data/assets/images/symbols/clock.svg +5 -0
- data/assets/images/symbols/close.svg +4 -0
- data/assets/images/symbols/cloud-download.svg +5 -0
- data/assets/images/symbols/cloud-upload.svg +5 -0
- data/assets/images/symbols/code.svg +4 -0
- data/assets/images/symbols/cog.svg +4 -0
- data/assets/images/symbols/comment.svg +3 -0
- data/assets/images/symbols/commenting.svg +6 -0
- data/assets/images/symbols/comments.svg +4 -0
- data/assets/images/symbols/copy.svg +4 -0
- data/assets/images/symbols/credit-card.svg +4 -0
- data/assets/images/symbols/database.svg +6 -0
- data/assets/images/symbols/desktop.svg +6 -0
- data/assets/images/symbols/download.svg +5 -0
- data/assets/images/symbols/dribbble.svg +6 -0
- data/assets/images/symbols/expand.svg +6 -0
- data/assets/images/symbols/facebook.svg +3 -0
- data/assets/images/symbols/file-edit.svg +4 -0
- data/assets/images/symbols/file.svg +3 -0
- data/assets/images/symbols/flickr.svg +4 -0
- data/assets/images/symbols/folder.svg +3 -0
- data/assets/images/symbols/forward.svg +3 -0
- data/assets/images/symbols/foursquare.svg +3 -0
- data/assets/images/symbols/future.svg +6 -0
- data/assets/images/symbols/git-branch.svg +6 -0
- data/assets/images/symbols/git-fork.svg +6 -0
- data/assets/images/symbols/github-alt.svg +3 -0
- data/assets/images/symbols/github.svg +3 -0
- data/assets/images/symbols/google-plus.svg +4 -0
- data/assets/images/symbols/google.svg +3 -0
- data/assets/images/symbols/grid.svg +11 -0
- data/assets/images/symbols/happy.svg +6 -0
- data/assets/images/symbols/hashtag.svg +3 -0
- data/assets/images/symbols/heart.svg +3 -0
- data/assets/images/symbols/history.svg +6 -0
- data/assets/images/symbols/home.svg +5 -0
- data/assets/images/symbols/image.svg +6 -0
- data/assets/images/symbols/info.svg +4 -0
- data/assets/images/symbols/instagram.svg +5 -0
- data/assets/images/symbols/italic.svg +3 -0
- data/assets/images/symbols/joomla.svg +6 -0
- data/assets/images/symbols/laptop.svg +4 -0
- data/assets/images/symbols/lifesaver.svg +3 -0
- data/assets/images/symbols/link.svg +5 -0
- data/assets/images/symbols/linkedin.svg +4 -0
- data/assets/images/symbols/list.svg +8 -0
- data/assets/images/symbols/location.svg +4 -0
- data/assets/images/symbols/lock.svg +4 -0
- data/assets/images/symbols/mail.svg +4 -0
- data/assets/images/symbols/menu.svg +5 -0
- data/assets/images/symbols/minus-circle.svg +4 -0
- data/assets/images/symbols/minus.svg +3 -0
- data/assets/images/symbols/more-vertical.svg +5 -0
- data/assets/images/symbols/more.svg +5 -0
- data/assets/images/symbols/move.svg +8 -0
- data/assets/images/symbols/nut.svg +4 -0
- data/assets/images/symbols/pagekit.svg +3 -0
- data/assets/images/symbols/paint-bucket.svg +5 -0
- data/assets/images/symbols/pencil.svg +4 -0
- data/assets/images/symbols/phone-landscape.svg +4 -0
- data/assets/images/symbols/phone-receiver.svg +3 -0
- data/assets/images/symbols/phone.svg +4 -0
- data/assets/images/symbols/pinterest.svg +3 -0
- data/assets/images/symbols/play-circle.svg +4 -0
- data/assets/images/symbols/play.svg +3 -0
- data/assets/images/symbols/plus-circle.svg +5 -0
- data/assets/images/symbols/plus.svg +4 -0
- data/assets/images/symbols/pull.svg +5 -0
- data/assets/images/symbols/push.svg +5 -0
- data/assets/images/symbols/question.svg +5 -0
- data/assets/images/symbols/quote-right.svg +4 -0
- data/assets/images/symbols/refresh.svg +4 -0
- data/assets/images/symbols/reply.svg +3 -0
- data/assets/images/symbols/rss.svg +5 -0
- data/assets/images/symbols/search.svg +4 -0
- data/assets/images/symbols/server.svg +15 -0
- data/assets/images/symbols/settings.svg +11 -0
- data/assets/images/symbols/shrink.svg +6 -0
- data/assets/images/symbols/sign-in.svg +4 -0
- data/assets/images/symbols/sign-out.svg +4 -0
- data/assets/images/symbols/social.svg +7 -0
- data/assets/images/symbols/soundcloud.svg +6 -0
- data/assets/images/symbols/star.svg +3 -0
- data/assets/images/symbols/strikethrough.svg +4 -0
- data/assets/images/symbols/table.svg +6 -0
- data/assets/images/symbols/tablet-landscape.svg +4 -0
- data/assets/images/symbols/tablet.svg +4 -0
- data/assets/images/symbols/tag.svg +4 -0
- data/assets/images/symbols/thumbnails.svg +6 -0
- data/assets/images/symbols/trash.svg +7 -0
- data/assets/images/symbols/triangle-down.svg +3 -0
- data/assets/images/symbols/triangle-left.svg +3 -0
- data/assets/images/symbols/triangle-right.svg +3 -0
- data/assets/images/symbols/triangle-up.svg +3 -0
- data/assets/images/symbols/tumblr.svg +3 -0
- data/assets/images/symbols/tv.svg +4 -0
- data/assets/images/symbols/twitter.svg +3 -0
- data/assets/images/symbols/uikit.svg +4 -0
- data/assets/images/symbols/unlock.svg +4 -0
- data/assets/images/symbols/upload.svg +5 -0
- data/assets/images/symbols/user.svg +4 -0
- data/assets/images/symbols/users.svg +5 -0
- data/assets/images/symbols/video-camera.svg +4 -0
- data/assets/images/symbols/vimeo.svg +3 -0
- data/assets/images/symbols/warning.svg +5 -0
- data/assets/images/symbols/whatsapp.svg +3 -0
- data/assets/images/symbols/wordpress.svg +3 -0
- data/assets/images/symbols/world.svg +7 -0
- data/assets/images/symbols/xing.svg +4 -0
- data/assets/images/symbols/youtube.svg +3 -0
- data/assets/javascripts/uikit.js +6398 -0
- data/assets/stylesheets/components/_import.components.less +55 -0
- data/assets/stylesheets/components/_import.utilities.less +19 -0
- data/assets/stylesheets/components/accordion.less +110 -0
- data/assets/stylesheets/components/alert.less +147 -0
- data/assets/stylesheets/components/align.less +142 -0
- data/assets/stylesheets/components/animation.less +638 -0
- data/assets/stylesheets/components/article.less +113 -0
- data/assets/stylesheets/components/background.less +136 -0
- data/assets/stylesheets/components/badge.less +104 -0
- data/assets/stylesheets/components/base.less +737 -0
- data/assets/stylesheets/components/breadcrumb.less +150 -0
- data/assets/stylesheets/components/button.less +541 -0
- data/assets/stylesheets/components/card.less +363 -0
- data/assets/stylesheets/components/close.less +119 -0
- data/assets/stylesheets/components/column.less +285 -0
- data/assets/stylesheets/components/comment.less +171 -0
- data/assets/stylesheets/components/container.less +106 -0
- data/assets/stylesheets/components/cover.less +56 -0
- data/assets/stylesheets/components/description-list.less +71 -0
- data/assets/stylesheets/components/divider.less +147 -0
- data/assets/stylesheets/components/dotnav.less +190 -0
- data/assets/stylesheets/components/drop.less +74 -0
- data/assets/stylesheets/components/dropdown.less +150 -0
- data/assets/stylesheets/components/flex.less +335 -0
- data/assets/stylesheets/components/form.less +836 -0
- data/assets/stylesheets/components/grid.less +363 -0
- data/assets/stylesheets/components/heading.less +238 -0
- data/assets/stylesheets/components/icon.less +242 -0
- data/assets/stylesheets/components/iconnav.less +166 -0
- data/assets/stylesheets/components/inverse.less +52 -0
- data/assets/stylesheets/components/label.less +110 -0
- data/assets/stylesheets/components/link.less +91 -0
- data/assets/stylesheets/components/list.less +205 -0
- data/assets/stylesheets/components/margin.less +161 -0
- data/assets/stylesheets/components/mixin.less +20 -0
- data/assets/stylesheets/components/modal.less +403 -0
- data/assets/stylesheets/components/nav.less +438 -0
- data/assets/stylesheets/components/navbar.less +596 -0
- data/assets/stylesheets/components/notification.less +190 -0
- data/assets/stylesheets/components/offcanvas.less +250 -0
- data/assets/stylesheets/components/overlay.less +89 -0
- data/assets/stylesheets/components/padding.less +79 -0
- data/assets/stylesheets/components/pagination.less +169 -0
- data/assets/stylesheets/components/placeholder.less +45 -0
- data/assets/stylesheets/components/position.less +221 -0
- data/assets/stylesheets/components/print.less +61 -0
- data/assets/stylesheets/components/progress.less +102 -0
- data/assets/stylesheets/components/search.less +442 -0
- data/assets/stylesheets/components/section.less +230 -0
- data/assets/stylesheets/components/slidenav.less +145 -0
- data/assets/stylesheets/components/sortable.less +101 -0
- data/assets/stylesheets/components/spinner.less +103 -0
- data/assets/stylesheets/components/sticky.less +57 -0
- data/assets/stylesheets/components/subnav.less +305 -0
- data/assets/stylesheets/components/switcher.less +47 -0
- data/assets/stylesheets/components/tab.less +226 -0
- data/assets/stylesheets/components/table.less +207 -0
- data/assets/stylesheets/components/text.less +254 -0
- data/assets/stylesheets/components/tooltip.less +84 -0
- data/assets/stylesheets/components/totop.less +97 -0
- data/assets/stylesheets/components/transition.less +187 -0
- data/assets/stylesheets/components/utility.less +516 -0
- data/assets/stylesheets/components/variables.less +117 -0
- data/assets/stylesheets/components/visibility.less +109 -0
- data/assets/stylesheets/components/width.less +418 -0
- data/assets/stylesheets/theme/_import.less +72 -0
- data/assets/stylesheets/theme/accordion.less +76 -0
- data/assets/stylesheets/theme/alert.less +76 -0
- data/assets/stylesheets/theme/align.less +14 -0
- data/assets/stylesheets/theme/animation.less +14 -0
- data/assets/stylesheets/theme/article.less +60 -0
- data/assets/stylesheets/theme/background.less +14 -0
- data/assets/stylesheets/theme/badge.less +29 -0
- data/assets/stylesheets/theme/base.less +134 -0
- data/assets/stylesheets/theme/breadcrumb.less +42 -0
- data/assets/stylesheets/theme/button.less +221 -0
- data/assets/stylesheets/theme/card.less +193 -0
- data/assets/stylesheets/theme/close.less +34 -0
- data/assets/stylesheets/theme/column.less +14 -0
- data/assets/stylesheets/theme/comment.less +72 -0
- data/assets/stylesheets/theme/container.less +14 -0
- data/assets/stylesheets/theme/description-list.less +36 -0
- data/assets/stylesheets/theme/divider.less +41 -0
- data/assets/stylesheets/theme/dotnav.less +41 -0
- data/assets/stylesheets/theme/drop.less +14 -0
- data/assets/stylesheets/theme/dropdown.less +45 -0
- data/assets/stylesheets/theme/form.less +150 -0
- data/assets/stylesheets/theme/grid.less +14 -0
- data/assets/stylesheets/theme/heading.less +59 -0
- data/assets/stylesheets/theme/icon.less +55 -0
- data/assets/stylesheets/theme/iconnav.less +34 -0
- data/assets/stylesheets/theme/inverse.less +14 -0
- data/assets/stylesheets/theme/label.less +46 -0
- data/assets/stylesheets/theme/link.less +35 -0
- data/assets/stylesheets/theme/list.less +49 -0
- data/assets/stylesheets/theme/margin.less +14 -0
- data/assets/stylesheets/theme/modal.less +95 -0
- data/assets/stylesheets/theme/nav.less +94 -0
- data/assets/stylesheets/theme/navbar.less +175 -0
- data/assets/stylesheets/theme/notification.less +44 -0
- data/assets/stylesheets/theme/offcanvas.less +26 -0
- data/assets/stylesheets/theme/overlay.less +33 -0
- data/assets/stylesheets/theme/padding.less +14 -0
- data/assets/stylesheets/theme/pagination.less +44 -0
- data/assets/stylesheets/theme/placeholder.less +29 -0
- data/assets/stylesheets/theme/position.less +14 -0
- data/assets/stylesheets/theme/progress.less +27 -0
- data/assets/stylesheets/theme/search.less +67 -0
- data/assets/stylesheets/theme/section.less +34 -0
- data/assets/stylesheets/theme/slidenav.less +49 -0
- data/assets/stylesheets/theme/sortable.less +38 -0
- data/assets/stylesheets/theme/spinner.less +14 -0
- data/assets/stylesheets/theme/sticky.less +14 -0
- data/assets/stylesheets/theme/subnav.less +81 -0
- data/assets/stylesheets/theme/tab.less +139 -0
- data/assets/stylesheets/theme/table.less +65 -0
- data/assets/stylesheets/theme/text.less +60 -0
- data/assets/stylesheets/theme/tooltip.less +20 -0
- data/assets/stylesheets/theme/totop.less +35 -0
- data/assets/stylesheets/theme/transition.less +14 -0
- data/assets/stylesheets/theme/utility.less +46 -0
- data/assets/stylesheets/theme/variables.less +36 -0
- data/assets/stylesheets/theme/width.less +14 -0
- data/assets/stylesheets/uikit.less +17 -0
- data/assets/stylesheets/uikit.theme.less +23 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/uikit3/rails.rb +8 -0
- data/lib/uikit3/rails/version.rb +5 -0
- data/uikit3-rails.gemspec +29 -0
- metadata +391 -0
@@ -0,0 +1,190 @@
|
|
1
|
+
// Name: Notification
|
2
|
+
// Description: Component to create notification messages
|
3
|
+
//
|
4
|
+
// Component: `uk-notification`
|
5
|
+
//
|
6
|
+
// Sub-objects: `uk-notification-message`
|
7
|
+
//
|
8
|
+
// Adopted: `uk-notification-close`
|
9
|
+
//
|
10
|
+
// Modifiers: `uk-notification-top-center`
|
11
|
+
// `uk-notification-top-right`
|
12
|
+
// `uk-notification-bottom-left`
|
13
|
+
// `uk-notification-bottom-center`
|
14
|
+
// `uk-notification-bottom-right`
|
15
|
+
// `uk-notification-message-primary`
|
16
|
+
// `uk-notification-message-success`
|
17
|
+
// `uk-notification-message-warning`
|
18
|
+
// `uk-notification-message-danger`
|
19
|
+
//
|
20
|
+
// ========================================================================
|
21
|
+
|
22
|
+
|
23
|
+
// Variables
|
24
|
+
// ========================================================================
|
25
|
+
|
26
|
+
@notification-position: 10px;
|
27
|
+
@notification-z-index: @global-z-index + 40;
|
28
|
+
@notification-width: 350px;
|
29
|
+
|
30
|
+
@notification-message-margin-bottom: 10px;
|
31
|
+
@notification-message-padding: @global-small-gutter;;
|
32
|
+
@notification-message-background: @global-muted-background;
|
33
|
+
@notification-message-color: @global-color;
|
34
|
+
@notification-message-font-size: @global-medium-font-size;
|
35
|
+
@notification-message-line-height: 1.4;
|
36
|
+
|
37
|
+
@notification-close-top: @notification-message-padding + 5px;
|
38
|
+
@notification-close-right: @notification-message-padding;
|
39
|
+
|
40
|
+
@notification-message-primary-color: @global-primary-background;
|
41
|
+
@notification-message-success-color: @global-success-background;
|
42
|
+
@notification-message-warning-color: @global-warning-background;
|
43
|
+
@notification-message-danger-color: @global-danger-background;
|
44
|
+
|
45
|
+
|
46
|
+
/* ========================================================================
|
47
|
+
Component: Notification
|
48
|
+
========================================================================== */
|
49
|
+
|
50
|
+
/*
|
51
|
+
* 1. Set position
|
52
|
+
* 2. Dimensions
|
53
|
+
*/
|
54
|
+
|
55
|
+
.uk-notification {
|
56
|
+
/* 1 */
|
57
|
+
position: fixed;
|
58
|
+
top: @notification-position;
|
59
|
+
left: @notification-position;
|
60
|
+
z-index: @notification-z-index;
|
61
|
+
/* 2 */
|
62
|
+
box-sizing: border-box;
|
63
|
+
width: @notification-width;
|
64
|
+
.hook-notification;
|
65
|
+
}
|
66
|
+
|
67
|
+
|
68
|
+
/* Position modifiers
|
69
|
+
========================================================================== */
|
70
|
+
|
71
|
+
.uk-notification-top-right,
|
72
|
+
.uk-notification-bottom-right {
|
73
|
+
left: auto;
|
74
|
+
right: @notification-position;
|
75
|
+
}
|
76
|
+
|
77
|
+
.uk-notification-top-center,
|
78
|
+
.uk-notification-bottom-center {
|
79
|
+
left: 50%;
|
80
|
+
margin-left: (@notification-width / -2);
|
81
|
+
}
|
82
|
+
|
83
|
+
.uk-notification-bottom-left,
|
84
|
+
.uk-notification-bottom-right,
|
85
|
+
.uk-notification-bottom-center {
|
86
|
+
top: auto;
|
87
|
+
bottom: @notification-position;
|
88
|
+
}
|
89
|
+
|
90
|
+
|
91
|
+
/* Responsiveness
|
92
|
+
========================================================================== */
|
93
|
+
|
94
|
+
/* Phones portrait and smaller */
|
95
|
+
@media (max-width: @breakpoint-xsmall-max) {
|
96
|
+
|
97
|
+
.uk-notification {
|
98
|
+
left: @notification-position;
|
99
|
+
right: @notification-position;
|
100
|
+
width: auto;
|
101
|
+
margin: 0;
|
102
|
+
}
|
103
|
+
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
/* Message
|
108
|
+
========================================================================== */
|
109
|
+
|
110
|
+
.uk-notification-message {
|
111
|
+
position: relative;
|
112
|
+
margin-bottom: @notification-message-margin-bottom;
|
113
|
+
padding: @notification-message-padding;
|
114
|
+
background: @notification-message-background;
|
115
|
+
color: @notification-message-color;
|
116
|
+
font-size: @notification-message-font-size;
|
117
|
+
line-height: @notification-message-line-height;
|
118
|
+
cursor: pointer;
|
119
|
+
.hook-notification-message;
|
120
|
+
}
|
121
|
+
|
122
|
+
|
123
|
+
/* Close
|
124
|
+
* Adopts `uk-close`
|
125
|
+
========================================================================== */
|
126
|
+
|
127
|
+
.uk-notification-close {
|
128
|
+
display: none;
|
129
|
+
position: absolute;
|
130
|
+
top: @notification-close-top;
|
131
|
+
right: @notification-close-right;
|
132
|
+
.hook-notification-close;
|
133
|
+
}
|
134
|
+
|
135
|
+
.uk-notification-message:hover .uk-notification-close { display: block; }
|
136
|
+
|
137
|
+
|
138
|
+
/* Style modifiers
|
139
|
+
========================================================================== */
|
140
|
+
|
141
|
+
/*
|
142
|
+
* Primary
|
143
|
+
*/
|
144
|
+
|
145
|
+
.uk-notification-message-primary {
|
146
|
+
color: @notification-message-primary-color;
|
147
|
+
.hook-notification-message-primary;
|
148
|
+
}
|
149
|
+
|
150
|
+
/*
|
151
|
+
* Success
|
152
|
+
*/
|
153
|
+
|
154
|
+
.uk-notification-message-success {
|
155
|
+
color: @notification-message-success-color;
|
156
|
+
.hook-notification-message-success;
|
157
|
+
}
|
158
|
+
|
159
|
+
/*
|
160
|
+
* Warning
|
161
|
+
*/
|
162
|
+
|
163
|
+
.uk-notification-message-warning {
|
164
|
+
color: @notification-message-warning-color;
|
165
|
+
.hook-notification-message-warning;
|
166
|
+
}
|
167
|
+
|
168
|
+
/*
|
169
|
+
* Danger
|
170
|
+
*/
|
171
|
+
|
172
|
+
.uk-notification-message-danger {
|
173
|
+
color: @notification-message-danger-color;
|
174
|
+
.hook-notification-message-danger;
|
175
|
+
}
|
176
|
+
|
177
|
+
|
178
|
+
// Hooks
|
179
|
+
// ========================================================================
|
180
|
+
|
181
|
+
.hook-notification-misc;
|
182
|
+
|
183
|
+
.hook-notification() {}
|
184
|
+
.hook-notification-message() {}
|
185
|
+
.hook-notification-close() {}
|
186
|
+
.hook-notification-message-primary() {}
|
187
|
+
.hook-notification-message-success() {}
|
188
|
+
.hook-notification-message-warning() {}
|
189
|
+
.hook-notification-message-danger() {}
|
190
|
+
.hook-notification-misc() {}
|
@@ -0,0 +1,250 @@
|
|
1
|
+
// Name: Off-canvas
|
2
|
+
// Description: Component to create an off-canvas sidebar
|
3
|
+
//
|
4
|
+
// Component: `uk-offcanvas`
|
5
|
+
//
|
6
|
+
// Sub-objects: `uk-offcanvas-page`
|
7
|
+
// `uk-offcanvas-overlay`
|
8
|
+
// `uk-offcanvas-bar`
|
9
|
+
//
|
10
|
+
// Modifiers: `uk-offcanvas-flip`
|
11
|
+
// `uk-offcanvas-page-animation`
|
12
|
+
// `uk-offcanvas-page-overlay`
|
13
|
+
// `uk-offcanvas-bar-animation`
|
14
|
+
// `uk-offcanvas-reveal`
|
15
|
+
//
|
16
|
+
// States: `uk-open`
|
17
|
+
//
|
18
|
+
// ========================================================================
|
19
|
+
|
20
|
+
|
21
|
+
// Variables
|
22
|
+
// ========================================================================
|
23
|
+
|
24
|
+
@offcanvas-z-index: @global-z-index;
|
25
|
+
|
26
|
+
@offcanvas-overlay-background: rgba(0,0,0,0.1);
|
27
|
+
|
28
|
+
@offcanvas-bar-width: 270px;
|
29
|
+
@offcanvas-bar-padding-vertical: @global-margin;
|
30
|
+
@offcanvas-bar-padding-horizontal: @global-margin;
|
31
|
+
@offcanvas-bar-background: @global-secondary-background;
|
32
|
+
@offcanvas-bar-color-mode: light;
|
33
|
+
|
34
|
+
|
35
|
+
/* ========================================================================
|
36
|
+
Component: Off-canvas
|
37
|
+
========================================================================== */
|
38
|
+
|
39
|
+
/*
|
40
|
+
* 1. Hide by default
|
41
|
+
* 2. Set position
|
42
|
+
*/
|
43
|
+
|
44
|
+
.uk-offcanvas {
|
45
|
+
/* 1 */
|
46
|
+
display: none;
|
47
|
+
/* 2 */
|
48
|
+
position: fixed;
|
49
|
+
top: 0;
|
50
|
+
bottom: 0;
|
51
|
+
left: 0;
|
52
|
+
z-index: @offcanvas-z-index;
|
53
|
+
}
|
54
|
+
|
55
|
+
/*
|
56
|
+
* Flip modifier
|
57
|
+
*/
|
58
|
+
|
59
|
+
.uk-offcanvas-flip .uk-offcanvas {
|
60
|
+
right: 0;
|
61
|
+
left: auto;
|
62
|
+
}
|
63
|
+
|
64
|
+
|
65
|
+
/* Page
|
66
|
+
========================================================================== */
|
67
|
+
|
68
|
+
/*
|
69
|
+
* 1. Prepare slide-out animation (Used in reveal and push mode)
|
70
|
+
* 2. Prevent horizontal scrollbar when page is slide-out
|
71
|
+
* Note: JS sets a fixed width so the page can slide-out without shinking
|
72
|
+
*/
|
73
|
+
|
74
|
+
.uk-offcanvas-page {
|
75
|
+
/* 1 */
|
76
|
+
-webkit-transition: margin-left 0.3s ease-in-out;
|
77
|
+
transition: margin-left 0.3s ease-in-out;
|
78
|
+
/* 2 */
|
79
|
+
overflow-x: hidden;
|
80
|
+
}
|
81
|
+
|
82
|
+
/*
|
83
|
+
* Activate slide-out animation
|
84
|
+
*/
|
85
|
+
|
86
|
+
.uk-offcanvas-page-animation { margin-left: @offcanvas-bar-width; }
|
87
|
+
|
88
|
+
/* Flip modifier */
|
89
|
+
.uk-offcanvas-flip.uk-offcanvas-page-animation { margin-left: -@offcanvas-bar-width; }
|
90
|
+
|
91
|
+
/*
|
92
|
+
* Prevent scrollbar on page if overlay is used
|
93
|
+
*/
|
94
|
+
|
95
|
+
.uk-offcanvas-page-overlay { overflow: hidden; }
|
96
|
+
|
97
|
+
|
98
|
+
/* Overlay
|
99
|
+
========================================================================== */
|
100
|
+
|
101
|
+
/*
|
102
|
+
* Overlay the whole page. Needed for the `::before`
|
103
|
+
* Using `100vw` so no modification is needed when off-canvas is flipped
|
104
|
+
*/
|
105
|
+
|
106
|
+
.uk-offcanvas-overlay { width: 100vw; }
|
107
|
+
|
108
|
+
/*
|
109
|
+
* 1. Mask the whole page
|
110
|
+
* 2. Fade-in transition
|
111
|
+
*/
|
112
|
+
|
113
|
+
.uk-offcanvas-overlay::before {
|
114
|
+
/* 1 */
|
115
|
+
content: "";
|
116
|
+
position: absolute;
|
117
|
+
top: 0;
|
118
|
+
bottom: 0;
|
119
|
+
left: 0;
|
120
|
+
right: 0;
|
121
|
+
background: @offcanvas-overlay-background;
|
122
|
+
/* 2 */
|
123
|
+
opacity: 0;
|
124
|
+
-webkit-transition: opacity 0.15s linear;
|
125
|
+
transition: opacity 0.15s linear;
|
126
|
+
.hook-offcanvas-overlay;
|
127
|
+
}
|
128
|
+
|
129
|
+
.uk-offcanvas-overlay.uk-open::before { opacity: 1; }
|
130
|
+
|
131
|
+
|
132
|
+
/* Bar
|
133
|
+
========================================================================== */
|
134
|
+
|
135
|
+
/*
|
136
|
+
* 1. Set position
|
137
|
+
* 2. Size and style
|
138
|
+
* 3. Allow scrolling
|
139
|
+
* 4. Transform
|
140
|
+
*/
|
141
|
+
|
142
|
+
.uk-offcanvas-bar {
|
143
|
+
/* 1 */
|
144
|
+
position: absolute;
|
145
|
+
top: 0;
|
146
|
+
bottom: 0;
|
147
|
+
left: 0;
|
148
|
+
/* 2 */
|
149
|
+
box-sizing: border-box;
|
150
|
+
width: @offcanvas-bar-width;
|
151
|
+
padding: @offcanvas-bar-padding-vertical @offcanvas-bar-padding-horizontal;
|
152
|
+
background: @offcanvas-bar-background;
|
153
|
+
/* 3 */
|
154
|
+
overflow-y: auto;
|
155
|
+
-webkit-overflow-scrolling: touch;
|
156
|
+
/* 4 */
|
157
|
+
-webkit-transform: translateX(-100%);
|
158
|
+
transform: translateX(-100%);
|
159
|
+
.hook-offcanvas-bar;
|
160
|
+
}
|
161
|
+
|
162
|
+
// Color Mode
|
163
|
+
.uk-offcanvas-bar:extend(.uk-light all) when (@offcanvas-bar-color-mode = light) {}
|
164
|
+
.uk-offcanvas-bar:extend(.uk-dark all) when (@offcanvas-bar-color-mode = dark) {}
|
165
|
+
|
166
|
+
/* Flip modifier */
|
167
|
+
.uk-offcanvas-flip .uk-offcanvas-bar {
|
168
|
+
left: auto;
|
169
|
+
right: 0;
|
170
|
+
-webkit-transform: translateX(100%);
|
171
|
+
transform: translateX(100%);
|
172
|
+
}
|
173
|
+
|
174
|
+
/*
|
175
|
+
* Open
|
176
|
+
*/
|
177
|
+
|
178
|
+
.uk-open > .uk-offcanvas-bar {
|
179
|
+
-webkit-transform: translateX(0);
|
180
|
+
transform: translateX(0);
|
181
|
+
}
|
182
|
+
|
183
|
+
/*
|
184
|
+
* Slide Animation (Used in slide and push mode)
|
185
|
+
*/
|
186
|
+
|
187
|
+
.uk-offcanvas-bar-animation {
|
188
|
+
-webkit-transition: -webkit-transform 0.3s ease-in-out;
|
189
|
+
transition: transform 0.3s ease-in-out;
|
190
|
+
}
|
191
|
+
|
192
|
+
/*
|
193
|
+
* Reveal Animation
|
194
|
+
* 1. Set the bar to target position
|
195
|
+
* 2. Clip the bar with `clip-path` and use `clip` as fallback
|
196
|
+
* 3. Animation
|
197
|
+
* Note: Future `clip-path` is commented out (it's not working on iOS)
|
198
|
+
*/
|
199
|
+
|
200
|
+
.uk-offcanvas-reveal {
|
201
|
+
/* 1 */
|
202
|
+
-webkit-transform: translateX(0);
|
203
|
+
transform: translateX(0);
|
204
|
+
/* 2 */
|
205
|
+
clip: rect(0, 0, 100vh, 0);
|
206
|
+
//-webkit-clip-path: inset(0 @offcanvas-bar-width 0 0);
|
207
|
+
//clip-path: inset(0 @offcanvas-bar-width 0 0);
|
208
|
+
/* 3 */
|
209
|
+
-webkit-transition: clip 0.3s ease-in-out; //, -webkit-clip-path 0.3s ease-in-out;
|
210
|
+
transition: clip 0.3s ease-in-out; //, -webkit-clip-path 0.3s ease-in-out, clip-path 0.3s ease-in-out;
|
211
|
+
}
|
212
|
+
|
213
|
+
/* Fix weird scrollbar bug in Chrome if overlay is used */
|
214
|
+
.uk-offcanvas-page:not(.uk-offcanvas-flip) .uk-offcanvas-reveal {
|
215
|
+
-webkit-backface-visibility: hidden;
|
216
|
+
backface-visibility: hidden;
|
217
|
+
}
|
218
|
+
|
219
|
+
.uk-open > .uk-offcanvas-reveal {
|
220
|
+
clip: rect(0, @offcanvas-bar-width, 100vh, 0);
|
221
|
+
//-webkit-clip-path: inset(0);
|
222
|
+
//clip-path: inset(0);
|
223
|
+
}
|
224
|
+
|
225
|
+
/* Flip modifier */
|
226
|
+
.uk-offcanvas-flip .uk-offcanvas-reveal {
|
227
|
+
/* 1 */
|
228
|
+
-webkit-transform: translateX(0);
|
229
|
+
transform: translateX(0);
|
230
|
+
/* 2 */
|
231
|
+
clip: rect(0, @offcanvas-bar-width, 100vh, @offcanvas-bar-width);
|
232
|
+
//-webkit-clip-path: inset(0 0 0 @offcanvas-bar-width);
|
233
|
+
//clip-path: inset(0 0 0 @offcanvas-bar-width);
|
234
|
+
}
|
235
|
+
|
236
|
+
.uk-offcanvas-flip .uk-open > .uk-offcanvas-reveal {
|
237
|
+
clip: rect(0, @offcanvas-bar-width, 100vh, 0);
|
238
|
+
//-webkit-clip-path: inset(0);
|
239
|
+
//clip-path: inset(0);
|
240
|
+
}
|
241
|
+
|
242
|
+
|
243
|
+
// Hooks
|
244
|
+
// ========================================================================
|
245
|
+
|
246
|
+
.hook-offcanvas-misc;
|
247
|
+
|
248
|
+
.hook-offcanvas-overlay() {}
|
249
|
+
.hook-offcanvas-bar() {}
|
250
|
+
.hook-offcanvas-misc() {}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
// Name: Overlay
|
2
|
+
// Description: Component to create content areas overlaying an image
|
3
|
+
//
|
4
|
+
// Component: `uk-overlay`
|
5
|
+
//
|
6
|
+
// Adopted: `uk-overlay-icon`
|
7
|
+
//
|
8
|
+
// Modifier: `uk-overlay-default`
|
9
|
+
// `uk-overlay-primary`
|
10
|
+
//
|
11
|
+
// ========================================================================
|
12
|
+
|
13
|
+
|
14
|
+
// Variables
|
15
|
+
// ========================================================================
|
16
|
+
|
17
|
+
@overlay-padding-horizontal: @global-gutter;
|
18
|
+
@overlay-padding-vertical: @global-gutter;
|
19
|
+
|
20
|
+
@overlay-default-background: fade(@global-background, 80%);
|
21
|
+
|
22
|
+
@overlay-primary-background: fade(@global-secondary-background, 80%);
|
23
|
+
@overlay-primary-color-mode: light;
|
24
|
+
|
25
|
+
@internal-overlay-image: "../../images/components/overlay.svg";
|
26
|
+
|
27
|
+
|
28
|
+
/* ========================================================================
|
29
|
+
Component: Overlay
|
30
|
+
========================================================================== */
|
31
|
+
|
32
|
+
.uk-overlay {
|
33
|
+
padding: @overlay-padding-vertical @overlay-padding-horizontal;
|
34
|
+
.hook-overlay;
|
35
|
+
}
|
36
|
+
|
37
|
+
/*
|
38
|
+
* Remove margin from the last-child
|
39
|
+
*/
|
40
|
+
|
41
|
+
.uk-overlay > :last-child { margin-bottom: 0; }
|
42
|
+
|
43
|
+
|
44
|
+
/* Icon
|
45
|
+
========================================================================== */
|
46
|
+
|
47
|
+
.uk-overlay-icon::before { background-image: data-uri('image/svg+xml;charset=UTF-8', @internal-overlay-image); }
|
48
|
+
|
49
|
+
.uk-overlay-icon {
|
50
|
+
.hook-overlay-icon;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
/* Style modifiers
|
55
|
+
========================================================================== */
|
56
|
+
|
57
|
+
/*
|
58
|
+
* Default
|
59
|
+
*/
|
60
|
+
|
61
|
+
.uk-overlay-default {
|
62
|
+
background: @overlay-default-background;
|
63
|
+
.hook-overlay-default;
|
64
|
+
}
|
65
|
+
|
66
|
+
/*
|
67
|
+
* Primary
|
68
|
+
*/
|
69
|
+
|
70
|
+
.uk-overlay-primary {
|
71
|
+
background: @overlay-primary-background;
|
72
|
+
.hook-overlay-primary;
|
73
|
+
}
|
74
|
+
|
75
|
+
// Color Mode
|
76
|
+
.uk-overlay-primary:extend(.uk-light all) when (@overlay-primary-color-mode = light) {}
|
77
|
+
.uk-overlay-primary:extend(.uk-dark all) when (@overlay-primary-color-mode = dark) {}
|
78
|
+
|
79
|
+
|
80
|
+
// Hooks
|
81
|
+
// ========================================================================
|
82
|
+
|
83
|
+
.hook-overlay-misc;
|
84
|
+
|
85
|
+
.hook-overlay() {}
|
86
|
+
.hook-overlay-icon() {}
|
87
|
+
.hook-overlay-default() {}
|
88
|
+
.hook-overlay-primary() {}
|
89
|
+
.hook-overlay-misc() {}
|