@energysage/es-ds-components 3.0.0-alpha.15 → 3.0.0-alpha.16
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.
package/components/es-footer.vue
CHANGED
|
@@ -25,6 +25,27 @@ export default {
|
|
|
25
25
|
return this.content.copyrightText.replace('{currentYear}', new Date().getFullYear());
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
|
+
mounted() {
|
|
29
|
+
// TODO: update with GTM tag in prod once we've gone live
|
|
30
|
+
// See https://tagmanager.google.com/#/container/accounts/2920232696/containers/8806152/workspaces/126/tags
|
|
31
|
+
// for GTM script that triggers this event.
|
|
32
|
+
window.addEventListener('OneTrustLoadedCb', () => {
|
|
33
|
+
(window as any).OneTrust.OnConsentChanged(() => {
|
|
34
|
+
// OneTrust modal should modify cookie values, a hard-refresh will
|
|
35
|
+
// trigger re-loading GTM with updated cookie values, which in turn
|
|
36
|
+
// will only fire tags aligned with new preferences
|
|
37
|
+
window.location.reload();
|
|
38
|
+
return false;
|
|
39
|
+
});
|
|
40
|
+
document.querySelectorAll('.toggle-info-display').forEach((elem) => {
|
|
41
|
+
// Function closure to ensure event only fires on one elem
|
|
42
|
+
elem.addEventListener('click', (e) => {
|
|
43
|
+
e.stopImmediatePropagation();
|
|
44
|
+
(window as any).OneTrust.ToggleInfoDisplay();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
},
|
|
28
49
|
};
|
|
29
50
|
</script>
|
|
30
51
|
|
|
@@ -120,16 +141,26 @@ export default {
|
|
|
120
141
|
<!-- Trademark Info -->
|
|
121
142
|
<!-- Legal -->
|
|
122
143
|
<hr class="border-top border-blue-500 m-0" />
|
|
123
|
-
<div class="row
|
|
144
|
+
<div class="row pt-100">
|
|
124
145
|
<div
|
|
125
146
|
v-for="link in content.legalLinks"
|
|
126
147
|
:key="link.text"
|
|
127
|
-
class="col col-6 col-lg-auto
|
|
148
|
+
class="col col-6 col-lg-auto">
|
|
128
149
|
<es-nav-bar-link
|
|
150
|
+
v-if="link.url"
|
|
129
151
|
:href="link.url"
|
|
130
|
-
class="text-reset font-weight-normal">
|
|
152
|
+
class="text-reset font-weight-normal font-size-75 font-size-md-50 font-weight-md-normal mt-25 mb-50 pr-lg-300">
|
|
131
153
|
{{ link.text }}
|
|
132
154
|
</es-nav-bar-link>
|
|
155
|
+
<div v-else>
|
|
156
|
+
<icon-ccpa-opt-out />
|
|
157
|
+
<es-button
|
|
158
|
+
inline
|
|
159
|
+
class="toggle-info-display text-reset font-weight-normal font-size-75 font-size-md-50 font-weight-md-normal ml-1"
|
|
160
|
+
variant="link">
|
|
161
|
+
{{ link.text }}
|
|
162
|
+
</es-button>
|
|
163
|
+
</div>
|
|
133
164
|
</div>
|
|
134
165
|
</div>
|
|
135
166
|
<!-- Legal -->
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export default {
|
|
3
|
+
name: 'IconCcpaOptOut',
|
|
4
|
+
props: {
|
|
5
|
+
/**
|
|
6
|
+
* Width
|
|
7
|
+
*/
|
|
8
|
+
width: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: '30px',
|
|
11
|
+
required: false,
|
|
12
|
+
},
|
|
13
|
+
/**
|
|
14
|
+
* Height
|
|
15
|
+
*/
|
|
16
|
+
height: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: '14px',
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<svg
|
|
27
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
28
|
+
xml:space="preserve"
|
|
29
|
+
id="Layer_1"
|
|
30
|
+
:style="{
|
|
31
|
+
height: height,
|
|
32
|
+
width: width,
|
|
33
|
+
}"
|
|
34
|
+
aria-label="California Consumer Privacy Act (CCPA) Opt-Out Icon"
|
|
35
|
+
role="img"
|
|
36
|
+
x="0"
|
|
37
|
+
y="0"
|
|
38
|
+
version="1.1"
|
|
39
|
+
viewBox="0 0 30 14">
|
|
40
|
+
<g
|
|
41
|
+
id="Final-Copy-2"
|
|
42
|
+
style="display: inline">
|
|
43
|
+
<path
|
|
44
|
+
class="st0"
|
|
45
|
+
d="M7.4,12.8h6.8l3.1-11.6H7.4C4.2,1.2,1.6,3.8,1.6,7S4.2,12.8,7.4,12.8z"
|
|
46
|
+
style="fill: #fff" />
|
|
47
|
+
<path
|
|
48
|
+
id="path2"
|
|
49
|
+
d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8Z"
|
|
50
|
+
style="clip-rule: evenodd; fill: #06f; fill-rule: evenodd" />
|
|
51
|
+
<path
|
|
52
|
+
id="x"
|
|
53
|
+
d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0Z"
|
|
54
|
+
style="fill: #fff" />
|
|
55
|
+
<path
|
|
56
|
+
id="y"
|
|
57
|
+
d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z"
|
|
58
|
+
style="fill: #06f" />
|
|
59
|
+
</g>
|
|
60
|
+
</svg>
|
|
61
|
+
</template>
|
package/package.json
CHANGED
|
@@ -76,6 +76,7 @@ export default (
|
|
|
76
76
|
{ text: 'Privacy policy', url: `${ES_DOMAIN}/privacy-policy/` },
|
|
77
77
|
{ text: 'Mobile terms of use', url: `${ES_DOMAIN}/mobile-terms-of-use/` },
|
|
78
78
|
{ text: 'Non-discrimination policy', url: `${ES_DOMAIN}/nondiscrimination/` },
|
|
79
|
+
{ text: 'Your privacy choices' },
|
|
79
80
|
],
|
|
80
81
|
copyrightText: '© Copyright 2009-{currentYear} EnergySage, Inc. All rights reserved.',
|
|
81
82
|
trademarkText: `ENERGYSAGE is a registered trademark and the EnergySage logo is a trademark of EnergySage, Inc.
|