bookends 7.0.0 → 8.0.0
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
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
|