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: cd428335d9e453cb77be3f193338d2e4489be52644e5b8bcb15ff9959b1ac204
4
- data.tar.gz: 6202d6c43b487210fc45bd4a12e2114da2923d1aea3aa3602e5aafba9cb10b61
3
+ metadata.gz: a6662b9e71069928a5149456469caa5d789e7cfbc4f059b0dcc9e6e9757ea508
4
+ data.tar.gz: 359615962bc574bd5c2b191706f693bb598d4dd4a841cb61c34b925972ba9d2d
5
5
  SHA512:
6
- metadata.gz: af0f8ad97d68287d9be6804849c3ebffa8545c202dba91377aa3d54b0121364f39afceed8ef67a5cee892b49666dfd5eaa42b00d8b5adb65d49d77f5cd0d9c68
7
- data.tar.gz: c5f66fc5db07f45c8d8277e4bb5633a57aac602e384bc9bbfab786382da98c59691904aa4733076d232686dffbc8ac8f0a23d4c997c061d0542ee3d6ef871f55
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
+ }
@@ -14,3 +14,4 @@
14
14
  @import 'search';
15
15
  @import 'search-page';
16
16
  @import 'footer';
17
+ @import 'cookie-banner';
@@ -1,3 +1,5 @@
1
+ <div id="heroku-cookie-banner"></div>
2
+
1
3
  <header id="header">
2
4
  <nav id="navigation" role="navigation">
3
5
  <span class="mobile-nav" aria-hidden="true">
@@ -1,3 +1,3 @@
1
1
  module Bookends
2
- VERSION = '7.0.0'.freeze
2
+ VERSION = '8.0.0'.freeze
3
3
  end
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: 7.0.0
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-25 00:00:00.000000000 Z
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