bookends 7.0.0 → 8.0.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6662b9e71069928a5149456469caa5d789e7cfbc4f059b0dcc9e6e9757ea508
|
4
|
+
data.tar.gz: 359615962bc574bd5c2b191706f693bb598d4dd4a841cb61c34b925972ba9d2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2189ae175dd5d5322c14a9d8bb4e4876b1c3add37f4663b08573326864f768851e0757e80b5db818306ac787910cc5c8af0765c16c45af1347e33c8133e576f1
|
7
|
+
data.tar.gz: 188b7f68f95ed5462f008f68f1a2cba40d1d298476d82d0ec39c978c1b798b150985216e397cbfb8ea71f3d31edb06cb12d8985f12aad4207a4617d4cd867131
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// Uses cookies to see if users have dismissed the cookie banner.
|
2
|
+
// If they haven't, inserts the banner:
|
3
|
+
// - if an element with ID = Heroku.CookieBanner.domElementId exists, inserts the content of the banner there
|
4
|
+
// - if not, inserts the banner at the top of the body element
|
5
|
+
var Heroku = Heroku || {};
|
6
|
+
|
7
|
+
Heroku.CookieBanner = {
|
8
|
+
cookieName : 'heroku-cookie-banner-dismissed',
|
9
|
+
cookieDismissedValue : '1',
|
10
|
+
domElementId : 'heroku-cookie-banner',
|
11
|
+
domain : '.heroku.com', // accessible to all subdomains
|
12
|
+
init : function() {
|
13
|
+
var dismissed = Heroku.CookieBanner.getCookie(Heroku.CookieBanner.cookieName) == Heroku.CookieBanner.cookieDismissedValue;
|
14
|
+
if (!dismissed) {
|
15
|
+
Heroku.CookieBanner.insert();
|
16
|
+
}
|
17
|
+
},
|
18
|
+
insert : function() {
|
19
|
+
var html = '<div class="heroku-cookie-banner"><p>We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used and to tailor advertising. You can <a href="https://www.salesforce.com/company/privacy/full_privacy.jsp#nav_info">read more</a> and <a href="https://www.salesforce.com/company/privacy/full_privacy.jsp#nav_info">make your cookie choices here</a>. By continuing to use this site you are giving us your consent to do this.</p> <a class="heroku-cookie-banner__dismiss" href="#" onclick="Heroku.CookieBanner.dismiss(event)"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M6.663 8.01l-3.362 3.362a.955.955 0 0 0-.005 1.352.953.953 0 0 0 1.352-.005L8.01 9.357l3.362 3.362a.955.955 0 0 0 1.352.005.953.953 0 0 0-.005-1.352L9.357 8.01l3.362-3.362a.955.955 0 0 0 .005-1.352.953.953 0 0 0-1.352.005L8.01 6.663 4.648 3.301a.955.955 0 0 0-1.352-.005.953.953 0 0 0 .005 1.352L6.663 8.01z"></path></svg></a></div>';
|
20
|
+
var placeholder = document.getElementById('heroku-cookie-banner');
|
21
|
+
if (placeholder) {
|
22
|
+
placeholder.innerHTML = html;
|
23
|
+
} else {
|
24
|
+
var banner = document.createElement('div');
|
25
|
+
banner.setAttribute('id', Heroku.CookieBanner.domElementId);
|
26
|
+
banner.innerHTML = html;
|
27
|
+
document.body.insertBefore(banner, document.body.childNodes[0]);
|
28
|
+
}
|
29
|
+
},
|
30
|
+
getCookie: function(name) {
|
31
|
+
var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
|
32
|
+
return v ? v[2] : null;
|
33
|
+
},
|
34
|
+
setCookie : function(name, value, domain, days) {
|
35
|
+
var d = new Date;
|
36
|
+
d.setTime(d.getTime() + 24*60*60*1000*days);
|
37
|
+
document.cookie = name + '=' + value + ';domain=' + domain + ';path=/;expires=' + d.toGMTString();
|
38
|
+
},
|
39
|
+
dismiss : function(event) {
|
40
|
+
Heroku.CookieBanner.setCookie(Heroku.CookieBanner.cookieName, Heroku.CookieBanner.cookieDismissedValue, Heroku.CookieBanner.domain, 365);
|
41
|
+
var cookieBanner = document.getElementById(Heroku.CookieBanner.domElementId);
|
42
|
+
cookieBanner.parentElement.removeChild(cookieBanner);
|
43
|
+
event.preventDefault();
|
44
|
+
}
|
45
|
+
};
|
46
|
+
|
47
|
+
document.addEventListener("DOMContentLoaded", function(event) {
|
48
|
+
Heroku.CookieBanner.init();
|
49
|
+
});
|
@@ -0,0 +1,119 @@
|
|
1
|
+
/* Cookie Banner */
|
2
|
+
|
3
|
+
.heroku-cookie-banner {
|
4
|
+
background: #F9F9FB;
|
5
|
+
font-family: inherit;
|
6
|
+
line-height: 1.4;
|
7
|
+
box-shadow: 0 0 0 1px rgba(89,105,128,0.05),0 3px 20px 0 rgba(89,105,128,0.1),0 1px 2px 0 rgba(0,0,0,0.05);
|
8
|
+
position: relative;
|
9
|
+
z-index: 1000;
|
10
|
+
display: flex;
|
11
|
+
}
|
12
|
+
|
13
|
+
.heroku-cookie-banner a {
|
14
|
+
color: #4A90E2;
|
15
|
+
}
|
16
|
+
|
17
|
+
.heroku-cookie-banner.heroku-cookie-banner p {
|
18
|
+
margin: 0;
|
19
|
+
padding: 0;
|
20
|
+
color: #333D47;
|
21
|
+
padding: 15px 20px;
|
22
|
+
max-width: 1024px;
|
23
|
+
margin-right: auto;
|
24
|
+
font-size: 14px;
|
25
|
+
line-height: 1.4;
|
26
|
+
}
|
27
|
+
|
28
|
+
.heroku-cookie-banner__dismiss {
|
29
|
+
border-left: 1px solid #e7e7e7;
|
30
|
+
display: flex;
|
31
|
+
padding: 20px;
|
32
|
+
transition: background-color 0.3s;
|
33
|
+
}
|
34
|
+
|
35
|
+
.heroku-cookie-banner__dismiss:hover {
|
36
|
+
background-color: #F0F7FF;
|
37
|
+
}
|
38
|
+
|
39
|
+
.heroku-cookie-banner__dismiss svg {
|
40
|
+
width: 16px;
|
41
|
+
height: 100%;
|
42
|
+
fill: currentColor;
|
43
|
+
vertical-align: middle;
|
44
|
+
}
|
45
|
+
|
46
|
+
/* Media Queries */
|
47
|
+
|
48
|
+
@media (max-width: 600px) {
|
49
|
+
.heroku-cookie-banner {
|
50
|
+
font-size: 13px;
|
51
|
+
flex-direction: column;
|
52
|
+
}
|
53
|
+
|
54
|
+
.heroku-cookie-banner p,
|
55
|
+
.heroku-cookie-banner__dismiss {
|
56
|
+
padding: 15px;
|
57
|
+
}
|
58
|
+
|
59
|
+
.heroku-cookie-banner__dismiss {
|
60
|
+
text-decoration: none;
|
61
|
+
border-top: 1px solid #eee;
|
62
|
+
border-left: none;
|
63
|
+
}
|
64
|
+
|
65
|
+
.heroku-cookie-banner__dismiss::after {
|
66
|
+
content: "Dismiss";
|
67
|
+
padding-left: 10px;
|
68
|
+
}
|
69
|
+
|
70
|
+
.heroku-cookie-banner__dismiss svg {
|
71
|
+
height: 16px;
|
72
|
+
}
|
73
|
+
|
74
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner__dismiss {
|
75
|
+
border-top-color: rgba(255,255,255,0.1);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
/* Overrides */
|
80
|
+
/* Dark mode */
|
81
|
+
|
82
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner {
|
83
|
+
background: rgba(0,0,0,0.4);
|
84
|
+
border-bottom: 1px solid rgba(255,255,255,0.1);
|
85
|
+
}
|
86
|
+
|
87
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner p {
|
88
|
+
color: #fff;
|
89
|
+
}
|
90
|
+
|
91
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner a {
|
92
|
+
color: #5CA6FC;
|
93
|
+
}
|
94
|
+
|
95
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner__dismiss {
|
96
|
+
border-left-color: rgba(255,255,255,0.1);
|
97
|
+
}
|
98
|
+
|
99
|
+
#heroku-cookie-banner.dark-mode .heroku-cookie-banner__dismiss:hover {
|
100
|
+
background-color: #27507F;
|
101
|
+
}
|
102
|
+
|
103
|
+
/* Overrides */
|
104
|
+
/* Banner mode */
|
105
|
+
#heroku-cookie-banner.banner-mode .heroku-cookie-banner {
|
106
|
+
border-radius: 3px;
|
107
|
+
margin: 20px auto;
|
108
|
+
z-index: 0;
|
109
|
+
max-width: 1024px;
|
110
|
+
}
|
111
|
+
|
112
|
+
/* Overrides */
|
113
|
+
/* Fixed mode */
|
114
|
+
#heroku-cookie-banner.fixed-mode .heroku-cookie-banner {
|
115
|
+
position: fixed;
|
116
|
+
top: 0;
|
117
|
+
left: 0;
|
118
|
+
width: 100%;
|
119
|
+
}
|
data/lib/bookends/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bookends
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marketing Web Ops at heroku
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -263,6 +263,7 @@ files:
|
|
263
263
|
- app/assets/images/nav-flyout-caret.svg
|
264
264
|
- app/assets/javascripts/blog-fetcher.js
|
265
265
|
- app/assets/javascripts/bookends.js
|
266
|
+
- app/assets/javascripts/cookie-banner.js
|
266
267
|
- app/assets/javascripts/header.js
|
267
268
|
- app/assets/javascripts/heroku-namespace.js
|
268
269
|
- app/assets/javascripts/lscache.js
|
@@ -279,6 +280,7 @@ files:
|
|
279
280
|
- app/assets/javascripts/vendor/algoliasearch.js
|
280
281
|
- app/assets/stylesheets/bookends/_base.scss
|
281
282
|
- app/assets/stylesheets/bookends/_colors.scss
|
283
|
+
- app/assets/stylesheets/bookends/_cookie-banner.scss
|
282
284
|
- app/assets/stylesheets/bookends/_fonts.scss
|
283
285
|
- app/assets/stylesheets/bookends/_footer.scss
|
284
286
|
- app/assets/stylesheets/bookends/_glostick.scss
|