@energysage/es-ds-components 3.0.0-alpha.15 → 3.0.0-alpha.17

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.
@@ -25,6 +25,25 @@ export default {
25
25
  return this.content.copyrightText.replace('{currentYear}', new Date().getFullYear());
26
26
  },
27
27
  },
28
+ mounted() {
29
+ // https://energysage.atlassian.net/wiki/spaces/FG/pages/1427865649/One-trust+Consent+Initialization+and+GTM
30
+ window.addEventListener('OneTrustLoadedCb', () => {
31
+ (window as any).OneTrust.OnConsentChanged(() => {
32
+ // OneTrust modal should modify cookie values, a hard-refresh will
33
+ // trigger re-loading GTM with updated cookie values, which in turn
34
+ // will only fire tags aligned with new preferences
35
+ window.location.reload();
36
+ return false;
37
+ });
38
+ document.querySelectorAll('.toggle-info-display').forEach((elem) => {
39
+ // Function closure to ensure event only fires on one elem
40
+ elem.addEventListener('click', (e) => {
41
+ e.stopImmediatePropagation();
42
+ (window as any).OneTrust.ToggleInfoDisplay();
43
+ });
44
+ });
45
+ });
46
+ },
28
47
  };
29
48
  </script>
30
49
 
@@ -120,16 +139,26 @@ export default {
120
139
  <!-- Trademark Info -->
121
140
  <!-- Legal -->
122
141
  <hr class="border-top border-blue-500 m-0" />
123
- <div class="row justify-content-center pt-100">
142
+ <div class="row pt-100">
124
143
  <div
125
144
  v-for="link in content.legalLinks"
126
145
  :key="link.text"
127
- class="col col-6 col-lg-auto font-size-75 font-weight-semibold font-size-md-50 font-weight-md-normal mt-25 mb-50 px-lg-300">
146
+ class="col col-6 col-lg-auto mt-25 mb-50 pr-lg-300">
128
147
  <es-nav-bar-link
148
+ v-if="link.url"
129
149
  :href="link.url"
130
- class="text-reset font-weight-normal">
150
+ class="text-reset font-weight-normal font-size-75 font-size-md-50 font-weight-md-normal">
131
151
  {{ link.text }}
132
152
  </es-nav-bar-link>
153
+ <div v-else>
154
+ <icon-ccpa-opt-out />
155
+ <es-button
156
+ inline
157
+ class="toggle-info-display text-reset font-weight-normal font-size-75 font-size-md-50 font-weight-md-normal ml-1"
158
+ variant="link">
159
+ {{ link.text }}
160
+ </es-button>
161
+ </div>
133
162
  </div>
134
163
  </div>
135
164
  <!-- 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@energysage/es-ds-components",
3
- "version": "3.0.0-alpha.15",
3
+ "version": "3.0.0-alpha.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "An EnergySage Vue component library",
@@ -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.