@kiva/kv-components 6.51.0 → 6.52.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.
@@ -1 +1 @@
1
- .header-link[data-v-a0d88ce7]{cursor:pointer;padding-top:1rem;padding-bottom:1rem;--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.header-link[data-v-a0d88ce7]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}
1
+ .header-link[data-v-47d9197a]{cursor:pointer;padding-top:1rem;padding-bottom:1rem;--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.header-link[data-v-47d9197a]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}
@@ -1,19 +1,19 @@
1
- import { defineAsyncComponent as M, ref as l, computed as P, onMounted as z, onUnmounted as W, resolveComponent as k, resolveDirective as j, openBlock as i, createElementBlock as c, withDirectives as d, normalizeClass as b, createVNode as U, createBlock as g, withCtx as T, createTextVNode as w, createElementVNode as N, createCommentVNode as h, vShow as F, toDisplayString as q } from "vue";
2
- import { mdiAccountCircle as G, mdiChevronDown as J, mdiMagnify as Q, mdiMenu as X } from "@mdi/js";
3
- import Y from "numeral";
4
- import Z from "../KvMaterialIcon.js";
5
- import $ from "../KvIconBag.js";
6
- import ee from "./KvHeaderDropdownLink.js";
7
- import ne from "../KvUserAvatar.js";
8
- import { throttle as te } from "../../utils/throttle.js";
1
+ import { defineAsyncComponent as w, ref as i, computed as j, onMounted as F, onUnmounted as q, resolveComponent as k, resolveDirective as G, openBlock as a, createElementBlock as c, withDirectives as v, normalizeClass as b, createVNode as _, createBlock as g, withCtx as x, createTextVNode as M, createElementVNode as D, createCommentVNode as h, vShow as J, toDisplayString as Q } from "vue";
2
+ import { mdiAccountCircle as X, mdiChevronDown as Y, mdiMagnify as Z, mdiMenu as $ } from "@mdi/js";
3
+ import ee from "numeral";
4
+ import ne from "../KvMaterialIcon.js";
5
+ import te from "../KvIconBag.js";
6
+ import oe from "./KvHeaderDropdownLink.js";
7
+ import le from "../KvUserAvatar.js";
8
+ import { throttle as ie } from "../../utils/throttle.js";
9
9
  import "./KvHeaderLinkBar.css";
10
- import oe from "../../_virtual/_plugin-vue_export-helper.js";
11
- const re = M(() => import("./KvHeaderMobileMenu.js")), D = M(() => import("./KvHeaderMyKivaMenu.js")), le = M(() => import("./LendMenu/KvLendMenu.js")), ie = M(() => import("./KvHeaderTakeActionMenu.js")), ae = M(() => import("./KvHeaderAboutMenu.js")), C = 118, p = "avatar-menu", de = {
10
+ import re from "../../_virtual/_plugin-vue_export-helper.js";
11
+ const ae = w(() => import("./KvHeaderMobileMenu.js")), C = w(() => import("./KvHeaderMyKivaMenu.js")), de = w(() => import("./LendMenu/KvLendMenu.js")), ue = w(() => import("./KvHeaderTakeActionMenu.js")), me = w(() => import("./KvHeaderAboutMenu.js")), E = 146, p = "avatar-menu", L = "menuButton", S = { top: "-3.75rem", width: "100%" }, se = {
12
12
  components: {
13
- KvMaterialIcon: Z,
14
- KvIconBag: $,
15
- KvHeaderDropdownLink: ee,
16
- KvUserAvatar: ne
13
+ KvMaterialIcon: ne,
14
+ KvIconBag: te,
15
+ KvHeaderDropdownLink: oe,
16
+ KvUserAvatar: le
17
17
  },
18
18
  props: {
19
19
  loggedIn: {
@@ -57,106 +57,113 @@ const re = M(() => import("./KvHeaderMobileMenu.js")), D = M(() => import("./KvH
57
57
  "item-hover"
58
58
  ],
59
59
  setup(u, { emit: e }) {
60
- const t = l(null), n = l(null), x = l(null), K = l(null), y = l(null), f = l(null), A = l(null), H = l(null), a = l(null), o = l(null), m = (r, s, v = null) => {
61
- e("item-hover", r, s, v);
62
- }, _ = (r, s, v = null) => {
63
- u.isMobile || m(r, s, v);
64
- }, S = (r) => {
65
- o.value === r && (o.value = null, m());
66
- }, E = () => {
67
- var B, O;
68
- const r = (O = (B = t.value) == null ? void 0 : B.userAvatar) == null ? void 0 : O.getBoundingClientRect();
69
- if (!r) return null;
70
- const v = r.left + r.width / 2 - C / 2;
60
+ const t = i(null), n = i(null), B = i(null), K = i(null), A = i(null), f = i(null), y = i(null), I = i(null), d = i(null), o = i(null), T = i(!1), m = (l, s, r = null) => {
61
+ e("item-hover", l, s, r);
62
+ }, V = (l, s, r = null) => {
63
+ u.isMobile || m(
64
+ l,
65
+ s,
66
+ l === L && u.isMobile ? S : r
67
+ );
68
+ }, R = (l) => {
69
+ !T.value && o.value === l && (o.value = null, m());
70
+ }, P = () => {
71
+ var U, N;
72
+ const l = (N = (U = t.value) == null ? void 0 : U.userAvatar) == null ? void 0 : N.getBoundingClientRect();
73
+ if (!l) return null;
74
+ const r = l.left + l.width / 2 - E / 2;
71
75
  return {
72
- ...v + C > window.outerWidth ? { right: 0 } : { left: u.isMobile ? 0 : `${v}px` },
76
+ ...r + E > window.innerWidth ? { right: 0 } : { left: u.isMobile ? 0 : `${r}px` },
73
77
  marginTop: "-2px",
74
78
  // Avoid closing avatar menu on header edge
75
79
  borderRadius: u.isMobile ? "auto" : "0px 0px 8px 8px",
76
80
  width: u.isMobile ? "100%" : "auto"
77
81
  };
78
- }, I = () => {
79
- o.value = p, m(t.value, D, E());
80
- }, V = (r, s) => {
81
- !o.value || o.value !== r ? (o.value = r, r === p ? I() : m(r, s)) : (o.value = null, m());
82
- }, L = te(() => {
83
- o.value === p && I();
84
- }, 50), R = P(() => u.isMobile ? void 0 : "/lend-by-category");
85
- return z(() => {
86
- import("./KvHeaderMobileMenu.js"), import("./KvHeaderMyKivaMenu.js"), import("./LendMenu/KvLendMenu.js"), import("./KvHeaderTakeActionMenu.js"), import("./KvHeaderAboutMenu.js"), window.addEventListener("resize", L);
87
- }), W(() => {
88
- window.removeEventListener("resize", L);
82
+ }, H = () => {
83
+ o.value = p, m(t.value, C, P());
84
+ }, z = (l, s) => {
85
+ let r = null;
86
+ T.value = !0, r && clearTimeout(r), o.value === L && (o.value = null), !o.value || o.value !== l ? (o.value = l, l === p ? H() : l === L && u.isMobile ? m(l, s, S) : m(l, s)) : (o.value = null, m()), r = setTimeout(() => {
87
+ T.value = !1;
88
+ });
89
+ }, O = ie(() => {
90
+ o.value === p && H();
91
+ }, 50), W = j(() => u.isMobile ? void 0 : "/lend-by-category");
92
+ return F(() => {
93
+ import("./KvHeaderMobileMenu.js"), import("./KvHeaderMyKivaMenu.js"), import("./LendMenu/KvLendMenu.js"), import("./KvHeaderTakeActionMenu.js"), import("./KvHeaderAboutMenu.js"), window.addEventListener("resize", O);
94
+ }), q(() => {
95
+ window.removeEventListener("resize", O);
89
96
  }), {
90
97
  AVATAR_MENU_ID: p,
91
98
  openMenuId: o,
92
- numeral: Y,
93
- mdiAccountCircle: G,
94
- mdiChevronDown: J,
95
- mdiMagnify: Q,
96
- mdiMenu: X,
99
+ numeral: ee,
100
+ mdiAccountCircle: X,
101
+ mdiChevronDown: Y,
102
+ mdiMagnify: Z,
103
+ mdiMenu: $,
97
104
  onHover: m,
98
105
  avatar: t,
99
106
  lendButton: n,
100
- aboutUsLink: x,
107
+ aboutUsLink: B,
101
108
  partnerWithUsLink: K,
102
- borrowLink: y,
109
+ borrowLink: A,
103
110
  supportKivaLink: f,
104
- basketLink: A,
105
- signInLink: H,
106
- menuButton: a,
107
- lendUrl: R,
108
- handleOnHover: _,
109
- handleTouchStart: V,
110
- handleMouseOut: S,
111
- handleAvatarMenuPosition: I,
112
- KvHeaderMobileMenu: re,
113
- KvHeaderMyKivaMenu: D,
114
- KvLendMenu: le,
115
- KvHeaderTakeActionMenu: ie,
116
- KvHeaderAboutMenu: ae
111
+ basketLink: y,
112
+ signInLink: I,
113
+ menuButton: d,
114
+ lendUrl: W,
115
+ handleOnHover: V,
116
+ handleTouchStart: z,
117
+ handleMouseOut: R,
118
+ handleAvatarMenuPosition: H,
119
+ KvHeaderMobileMenu: ae,
120
+ KvHeaderMyKivaMenu: C,
121
+ KvLendMenu: de,
122
+ KvHeaderTakeActionMenu: ue,
123
+ KvHeaderAboutMenu: me
117
124
  };
118
125
  }
119
- }, ue = { class: "tw-h-full tw-flex tw-items-center tw-gap-2.5" }, me = ["href"], se = {
126
+ }, ve = { class: "tw-h-full tw-flex tw-items-center tw-gap-0.5 md:tw-gap-1.5 lg:tw-gap-2.5" }, ce = ["href"], fe = {
120
127
  key: 0,
121
128
  class: "tw-bg-eco-green-1 tw-py-0.5 tw-px-1 tw-text-eco-green-4"
122
- }, ve = ["href"];
123
- function ce(u, e, t, n, x, K) {
124
- const y = k("kv-material-icon"), f = k("KvHeaderDropdownLink"), A = k("kv-icon-bag"), H = k("KvUserAvatar"), a = j("kv-track-event");
125
- return i(), c("div", ue, [
126
- d((i(), c("button", {
129
+ }, Me = ["href"];
130
+ function we(u, e, t, n, B, K) {
131
+ const A = k("kv-material-icon"), f = k("KvHeaderDropdownLink"), y = k("kv-icon-bag"), I = k("KvUserAvatar"), d = G("kv-track-event");
132
+ return a(), c("div", ve, [
133
+ v((a(), c("button", {
127
134
  ref: "menuButton",
128
- class: b(["header-link tw-inline-flex lg:tw-hidden", {
135
+ class: b(["header-link tw-inline-flex md:tw-hidden", {
129
136
  "tw-text-tertiary": t.openMenuItem && t.openMenuItem !== n.KvHeaderMobileMenu
130
137
  }]),
131
- onMouseover: e[0] || (e[0] = (o) => n.handleOnHover(n.menuButton, n.KvHeaderMobileMenu)),
138
+ onMouseover: e[0] || (e[0] = (o) => n.handleOnHover("menuButton", n.KvHeaderMobileMenu)),
132
139
  onMouseout: e[1] || (e[1] = (o) => n.handleMouseOut("menuButton")),
133
140
  onTouchstart: e[2] || (e[2] = (o) => n.handleTouchStart("menuButton", n.KvHeaderMobileMenu))
134
141
  }, [
135
- U(y, { icon: n.mdiMenu }, null, 8, ["icon"])
142
+ _(A, { icon: n.mdiMenu }, null, 8, ["icon"])
136
143
  ], 34)), [
137
- [a, t.openMenuItem === n.KvHeaderMobileMenu ? ["TopNav", "click-Hamburger-menu"] : null]
144
+ [d, t.openMenuItem === n.KvHeaderMobileMenu ? ["TopNav", "click-Hamburger-menu"] : null]
138
145
  ]),
139
- d((i(), g(f, {
146
+ v((a(), g(f, {
140
147
  "ref-name": "lendButton",
141
148
  href: n.lendUrl,
142
149
  "menu-component": n.KvLendMenu,
143
150
  "open-menu-item": t.openMenuItem,
144
151
  "dropdown-icon": n.mdiChevronDown,
145
- "base-class": "tw-inline-flex tw-border tw-rounded-md tw-px-1.5 tw-py-1",
152
+ "base-class": "tw-inline-flex md:tw-border md:tw-rounded-md tw-px-1.5 tw-py-1",
146
153
  onOnHover: n.handleOnHover,
147
154
  onMouseout: e[3] || (e[3] = (o) => n.handleMouseOut("lendButton")),
148
155
  onTouchstart: e[4] || (e[4] = (o) => n.handleTouchStart("lendButton", n.KvLendMenu))
149
156
  }, {
150
- default: T(() => e[10] || (e[10] = [
151
- w(" Lend ")
157
+ default: x(() => e[10] || (e[10] = [
158
+ M(" Lend ")
152
159
  ])),
153
160
  _: 1
154
161
  }, 8, ["href", "menu-component", "open-menu-item", "dropdown-icon", "onOnHover"])), [
155
- [a, ["TopNav", "click-Lend"]]
162
+ [d, ["TopNav", "click-Lend"]]
156
163
  ]),
157
- d((i(), g(f, {
164
+ v((a(), g(f, {
158
165
  "ref-name": "takeActionButton",
159
- "base-class": "tw-hidden lg:tw-inline-flex tw-py-2",
166
+ "base-class": "tw-hidden md:tw-inline-flex tw-py-2",
160
167
  "menu-component": n.KvHeaderTakeActionMenu,
161
168
  "open-menu-item": t.openMenuItem,
162
169
  "dropdown-icon": n.mdiChevronDown,
@@ -164,17 +171,17 @@ function ce(u, e, t, n, x, K) {
164
171
  onOnHover: n.handleOnHover,
165
172
  onMouseout: e[5] || (e[5] = (o) => n.handleMouseOut("takeActionButton"))
166
173
  }, {
167
- default: T(() => e[11] || (e[11] = [
168
- w(" Take action ")
174
+ default: x(() => e[11] || (e[11] = [
175
+ M(" Take action ")
169
176
  ])),
170
177
  _: 1
171
178
  }, 8, ["menu-component", "open-menu-item", "dropdown-icon", "onOnHover"])), [
172
- [a, ["TopNav", "click-TakeAction"]]
179
+ [d, ["TopNav", "click-TakeAction"]]
173
180
  ]),
174
- d((i(), g(f, {
181
+ v((a(), g(f, {
175
182
  "ref-name": "aboutUsLink",
176
183
  "data-testid": "header-about",
177
- "base-class": "tw-hidden lg:tw-inline-flex tw-py-2",
184
+ "base-class": "tw-hidden md:tw-inline-flex tw-py-2",
178
185
  "menu-component": n.KvHeaderAboutMenu,
179
186
  "open-menu-item": t.openMenuItem,
180
187
  "dropdown-icon": n.mdiChevronDown,
@@ -182,46 +189,46 @@ function ce(u, e, t, n, x, K) {
182
189
  onOnHover: n.handleOnHover,
183
190
  onMouseout: e[6] || (e[6] = (o) => n.handleMouseOut("aboutUsLink"))
184
191
  }, {
185
- default: T(() => e[12] || (e[12] = [
186
- w(" About ")
192
+ default: x(() => e[12] || (e[12] = [
193
+ M(" About ")
187
194
  ])),
188
195
  _: 1
189
196
  }, 8, ["menu-component", "open-menu-item", "dropdown-icon", "onOnHover"])), [
190
- [a, ["TopNav", "click-About"]]
197
+ [d, ["TopNav", "click-About"]]
191
198
  ]),
192
- e[15] || (e[15] = N("div", { class: "tw-flex-1 tw-h-full" }, null, -1)),
193
- t.loggedIn ? d((i(), c("a", {
199
+ e[15] || (e[15] = D("div", { class: "tw-flex-1 tw-h-full" }, null, -1)),
200
+ t.loggedIn ? v((a(), c("a", {
194
201
  key: 0,
195
202
  ref: "dashboardLink",
196
203
  href: t.myDashboardUrl,
197
- class: b(["header-link tw-hidden lg:tw-block", { "tw-text-tertiary": !!t.openMenuItem }])
204
+ class: b(["header-link tw-hidden md:tw-block", { "tw-text-tertiary": !!t.openMenuItem }])
198
205
  }, e[13] || (e[13] = [
199
- w(" My dashboard ")
200
- ]), 10, me)), [
201
- [a, ["TopNav", "click-Dashboard"]]
206
+ M(" My dashboard ")
207
+ ]), 10, ce)), [
208
+ [d, ["TopNav", "click-Dashboard"]]
202
209
  ]) : h("", !0),
203
- d((i(), c("a", {
210
+ v((a(), c("a", {
204
211
  ref: "basketLink",
205
212
  href: "/basket",
206
213
  class: b(["header-link tw-relative", { "tw-text-tertiary": !!t.openMenuItem }]),
207
214
  "data-testid": "header-basket"
208
215
  }, [
209
- U(A, {
216
+ _(y, {
210
217
  class: "tw-w-3 tw-h-3 tw-pointer-events-none",
211
218
  count: t.basketCount
212
219
  }, null, 8, ["count"])
213
220
  ], 2)), [
214
- [F, t.basketCount > 0],
215
- [a, ["TopNav", "click-Basket"]]
221
+ [J, t.basketCount > 0],
222
+ [d, ["TopNav", "click-Basket"]]
216
223
  ]),
217
- N("div", {
224
+ D("div", {
218
225
  class: "tw-cursor-pointer tw-flex tw-items-center tw-gap-1 tw-py-1.5",
219
226
  onMouseover: e[7] || (e[7] = (...o) => n.handleAvatarMenuPosition && n.handleAvatarMenuPosition(...o)),
220
227
  onMouseout: e[8] || (e[8] = (o) => n.handleMouseOut(n.AVATAR_MENU_ID)),
221
228
  onTouchstart: e[9] || (e[9] = (o) => n.handleTouchStart(n.AVATAR_MENU_ID))
222
229
  }, [
223
- t.loggedIn ? (i(), c("span", se, q(n.numeral(t.balance).format("$0")), 1)) : h("", !0),
224
- t.loggedIn ? (i(), g(H, {
230
+ t.loggedIn ? (a(), c("span", fe, Q(n.numeral(t.balance).format("$0")), 1)) : h("", !0),
231
+ t.loggedIn ? (a(), g(I, {
225
232
  key: 1,
226
233
  ref: "avatar",
227
234
  "lender-name": t.lenderName,
@@ -229,19 +236,19 @@ function ce(u, e, t, n, x, K) {
229
236
  "is-small": ""
230
237
  }, null, 8, ["lender-name", "lender-image-url"])) : h("", !0)
231
238
  ], 32),
232
- t.loggedIn ? h("", !0) : d((i(), c("a", {
239
+ t.loggedIn ? h("", !0) : v((a(), c("a", {
233
240
  key: 1,
234
241
  ref: "signInLink",
235
242
  href: t.loginUrl,
236
243
  class: b(["header-link", { "tw-text-tertiary": !!t.openMenuItem }])
237
244
  }, e[14] || (e[14] = [
238
- w(" Sign in ")
239
- ]), 10, ve)), [
240
- [a, ["TopNav", "click-Sign-in"]]
245
+ M(" Sign in ")
246
+ ]), 10, Me)), [
247
+ [d, ["TopNav", "click-Sign-in"]]
241
248
  ])
242
249
  ]);
243
250
  }
244
- const Ie = /* @__PURE__ */ oe(de, [["render", ce], ["__scopeId", "data-v-a0d88ce7"]]);
251
+ const Le = /* @__PURE__ */ re(se, [["render", we], ["__scopeId", "data-v-47d9197a"]]);
245
252
  export {
246
- Ie as default
253
+ Le as default
247
254
  };
@@ -5,14 +5,14 @@ const a = {
5
5
  components: {
6
6
  KvLogo: t
7
7
  }
8
- }, m = { class: "tw-h-3 tw-w-2 md:tw-w-8 tw-overflow-hidden" };
9
- function p(_, d, l, w, f, i) {
8
+ }, p = { class: "tw-h-2 lg:tw-h-3" };
9
+ function _(l, m, d, f, i, u) {
10
10
  const o = e("kv-logo");
11
- return n(), r("div", m, [
11
+ return n(), r("div", p, [
12
12
  c(o, { class: "tw-text-brand tw-w-auto tw-h-full tw-mx-auto" })
13
13
  ]);
14
14
  }
15
- const x = /* @__PURE__ */ s(a, [["render", p]]);
15
+ const h = /* @__PURE__ */ s(a, [["render", _]]);
16
16
  export {
17
- x as default
17
+ h as default
18
18
  };
@@ -1 +1 @@
1
- .mobile-link[data-v-58995423]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-58995423]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:underline}
1
+ .mobile-link[data-v-ba014b01]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-ba014b01]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:underline}
@@ -1,10 +1,13 @@
1
- import m from "../KvAccordionItem.js";
2
- import { resolveComponent as k, resolveDirective as v, openBlock as t, createElementBlock as o, createVNode as d, withCtx as a, createElementVNode as l, Fragment as w, renderList as f, withDirectives as n, toDisplayString as p, createTextVNode as s } from "vue";
1
+ import { mdiClose as w } from "@mdi/js";
2
+ import b from "../KvAccordionItem.js";
3
+ import h from "../KvMaterialIcon.js";
4
+ import { resolveComponent as u, resolveDirective as _, openBlock as t, createElementBlock as o, createBlock as g, createCommentVNode as y, createVNode as p, withCtx as a, createElementVNode as r, Fragment as N, renderList as x, withDirectives as n, toDisplayString as m, createTextVNode as s } from "vue";
3
5
  import "./KvHeaderMobileMenu.css";
4
- import h from "../../_virtual/_plugin-vue_export-helper.js";
5
- const b = {
6
+ import I from "../../_virtual/_plugin-vue_export-helper.js";
7
+ const K = {
6
8
  components: {
7
- KvAccordionItem: m
9
+ KvAccordionItem: b,
10
+ KvMaterialIcon: h
8
11
  },
9
12
  props: {
10
13
  loggedIn: {
@@ -14,10 +17,16 @@ const b = {
14
17
  loginUrl: {
15
18
  type: String,
16
19
  default: "/ui-login"
20
+ },
21
+ isMobile: {
22
+ type: Boolean,
23
+ default: !1
17
24
  }
18
25
  },
26
+ emits: ["closing-menu"],
19
27
  data() {
20
28
  return {
29
+ mdiClose: w,
21
30
  menuItems: [
22
31
  {
23
32
  title: "Choose someone to help",
@@ -46,100 +55,106 @@ const b = {
46
55
  ]
47
56
  };
48
57
  }
49
- }, _ = { class: "tw--mt-0.5 tw-pb-0.5 tw-gap-2 tw-flex tw-flex-col tw-items-end lg:tw-hidden tw-font-medium tw-px-2.5" }, g = { class: "tw-flex tw-flex-col tw-gap-2" }, x = ["href"], y = { class: "tw-text-secondary tw-font-book" }, N = { class: "tw-flex tw-flex-col tw-gap-2 tw-pt-1 tw-pb-2" }, T = {
58
+ }, T = { class: "tw--mt-0.5 tw-pb-0.5 tw-gap-2 tw-flex tw-flex-col tw-items-end md:tw-hidden tw-font-medium tw-p-2.5" }, C = { class: "tw-flex tw-flex-col tw-gap-2" }, M = ["href"], E = { class: "tw-text-secondary tw-font-book" }, B = { class: "tw-flex tw-flex-col tw-gap-2 tw-pt-1 tw-pb-2" }, D = {
50
59
  href: "/about",
51
60
  class: "mobile-link"
52
- }, I = {
61
+ }, A = {
53
62
  href: "/about/how",
54
63
  class: "mobile-link"
55
- }, K = {
64
+ }, V = {
56
65
  href: "/about/where-kiva-works",
57
66
  class: "mobile-link"
58
- }, E = {
67
+ }, $ = {
59
68
  href: "/impact",
60
69
  class: "mobile-link"
61
- }, D = {
70
+ }, H = {
62
71
  href: "/about/leadership",
63
72
  class: "mobile-link"
64
- }, A = {
73
+ }, S = {
65
74
  href: "/about/finances",
66
75
  class: "mobile-link"
67
- }, B = {
76
+ }, F = {
68
77
  href: "/about/press-center",
69
78
  class: "mobile-link"
70
- }, C = {
79
+ }, L = {
71
80
  href: "/about/due-diligence",
72
81
  class: "mobile-link"
73
82
  };
74
- function $(H, e, M, S, u, V) {
75
- const c = k("KvAccordionItem"), i = v("kv-track-event");
76
- return t(), o("nav", _, [
77
- d(c, {
83
+ function P(k, e, v, j, c, q) {
84
+ const f = u("KvMaterialIcon"), d = u("KvAccordionItem"), i = _("kv-track-event");
85
+ return t(), o("nav", T, [
86
+ v.isMobile ? (t(), g(f, {
87
+ key: 0,
88
+ icon: c.mdiClose,
89
+ class: "tw-cursor-pointer",
90
+ onClick: e[0] || (e[0] = (l) => k.$emit("closing-menu"))
91
+ }, null, 8, ["icon"])) : y("", !0),
92
+ p(d, {
78
93
  open: "",
79
94
  class: "tw-w-full tw-border-b-0"
80
95
  }, {
81
- header: a(() => e[0] || (e[0] = [
82
- l("h3", null, "Take action", -1)
96
+ header: a(() => e[1] || (e[1] = [
97
+ r("h3", null, "Take action", -1)
83
98
  ])),
84
99
  default: a(() => [
85
- l("div", g, [
86
- (t(!0), o(w, null, f(u.menuItems, (r) => n((t(), o("div", {
87
- key: r.title
100
+ r("div", C, [
101
+ (t(!0), o(N, null, x(c.menuItems, (l) => n((t(), o("div", {
102
+ key: l.title
88
103
  }, [
89
- l("a", {
90
- href: r.url,
104
+ r("a", {
105
+ href: l.url,
91
106
  class: "mobile-link"
92
- }, p(r.title), 9, x),
93
- l("p", y, p(r.description), 1)
107
+ }, m(l.title), 9, M),
108
+ r("p", E, m(l.description), 1)
94
109
  ])), [
95
- [i, ["TopNav", `click-menu-${r.trackEvent}`]]
110
+ [i, ["TopNav", `click-menu-${l.trackEvent}`]]
96
111
  ])), 128))
97
112
  ])
98
113
  ]),
99
114
  _: 1
100
115
  }),
101
- d(c, { class: "tw-w-full" }, {
102
- header: a(() => e[1] || (e[1] = [
103
- l("h3", null, "About", -1)
116
+ p(d, { class: "tw-w-full" }, {
117
+ header: a(() => e[2] || (e[2] = [
118
+ r("h3", null, "About", -1)
104
119
  ])),
105
120
  default: a(() => [
106
- l("div", N, [
107
- n((t(), o("a", T, e[2] || (e[2] = [
121
+ r("div", B, [
122
+ n((t(), o("a", D, e[3] || (e[3] = [
108
123
  s("About us")
109
124
  ]))), [
110
125
  [i, ["TopNav", "click-menu-about-us"]]
111
126
  ]),
112
- n((t(), o("a", I, e[3] || (e[3] = [
127
+ n((t(), o("a", A, e[4] || (e[4] = [
113
128
  s("How Kiva works")
114
129
  ]))), [
115
130
  [i, ["TopNav", "click-menu-how-kiva-works"]]
116
131
  ]),
117
- n((t(), o("a", K, e[4] || (e[4] = [
132
+ n((t(), o("a", V, e[5] || (e[5] = [
118
133
  s("Where Kiva works")
119
134
  ]))), [
120
135
  [i, ["TopNav", "click-menu-where-kiva-works"]]
121
136
  ]),
122
- n((t(), o("a", E, e[5] || (e[5] = [
137
+ n((t(), o("a", $, e[6] || (e[6] = [
123
138
  s("Impact")
124
139
  ]))), [
125
140
  [i, ["TopNav", "click-menu-impact"]]
126
141
  ]),
127
- n((t(), o("a", D, e[6] || (e[6] = [
142
+ n((t(), o("a", H, e[7] || (e[7] = [
128
143
  s("Leadership")
129
144
  ]))), [
130
145
  [i, ["TopNav", "click-menu-leadership"]]
131
146
  ]),
132
- n((t(), o("a", A, e[7] || (e[7] = [
147
+ n((t(), o("a", S, e[8] || (e[8] = [
133
148
  s("Finances")
134
149
  ]))), [
135
150
  [i, ["TopNav", "click-menu-finances"]]
136
151
  ]),
137
- n((t(), o("a", B, e[8] || (e[8] = [
152
+ n((t(), o("a", F, e[9] || (e[9] = [
138
153
  s("Press")
139
154
  ]))), [
140
155
  [i, ["TopNav", "click-menu-press"]]
141
156
  ]),
142
- n((t(), o("a", C, e[9] || (e[9] = [
157
+ n((t(), o("a", L, e[10] || (e[10] = [
143
158
  s("Due diligence")
144
159
  ]))), [
145
160
  [i, ["TopNav", "click-menu-due-diligence"]]
@@ -150,7 +165,7 @@ function $(H, e, M, S, u, V) {
150
165
  })
151
166
  ]);
152
167
  }
153
- const q = /* @__PURE__ */ h(b, [["render", $], ["__scopeId", "data-v-58995423"]]);
168
+ const Q = /* @__PURE__ */ I(K, [["render", P], ["__scopeId", "data-v-ba014b01"]]);
154
169
  export {
155
- q as default
170
+ Q as default
156
171
  };
@@ -1,9 +1,9 @@
1
- import d from "./KvHeaderMenuLink.js";
2
- import { resolveComponent as i, openBlock as a, createElementBlock as u, createVNode as s, withCtx as o, createTextVNode as r, createBlock as l, createCommentVNode as f } from "vue";
3
- import m from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = {
1
+ import f from "./KvHeaderMenuLink.js";
2
+ import { resolveComponent as m, openBlock as a, createElementBlock as u, createVNode as s, withCtx as r, createTextVNode as o, createBlock as l, createCommentVNode as d } from "vue";
3
+ import i from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const w = {
5
5
  components: {
6
- KvHeaderMenuLink: d
6
+ KvHeaderMenuLink: f
7
7
  },
8
8
  props: {
9
9
  balance: {
@@ -23,40 +23,40 @@ const p = {
23
23
  default: "/mykiva"
24
24
  }
25
25
  }
26
- }, y = { class: "tw--mt-0.5 tw-pb-0.5 tw-flex tw-flex-col tw-items-start lg:tw-items-start tw-font-medium tw-px-2.5" };
27
- function w(k, e, n, b, v, x) {
28
- const t = i("kv-header-menu-link");
29
- return a(), u("nav", y, [
26
+ }, p = { class: "tw--mt-0.5 tw-pb-0.5 tw-flex tw-flex-col tw-items-start md:tw-items-start tw-font-medium tw-px-2.5" };
27
+ function y(b, e, n, k, v, x) {
28
+ const t = m("kv-header-menu-link");
29
+ return a(), u("nav", p, [
30
30
  s(t, {
31
31
  href: n.myDashboardUrl,
32
- class: "lg:tw-hidden"
32
+ class: "md:tw-hidden"
33
33
  }, {
34
- default: o(() => e[0] || (e[0] = [
35
- r(" My Dashboard ")
34
+ default: r(() => e[0] || (e[0] = [
35
+ o(" My Dashboard ")
36
36
  ])),
37
37
  _: 1
38
38
  }, 8, ["href"]),
39
39
  s(t, { href: "/portfolio" }, {
40
- default: o(() => e[1] || (e[1] = [
41
- r(" Portfolio ")
40
+ default: r(() => e[1] || (e[1] = [
41
+ o(" Portfolio ")
42
42
  ])),
43
43
  _: 1
44
44
  }),
45
45
  s(t, { href: "/teams/my-teams" }, {
46
- default: o(() => e[2] || (e[2] = [
47
- r(" My Teams ")
46
+ default: r(() => e[2] || (e[2] = [
47
+ o(" My Teams ")
48
48
  ])),
49
49
  _: 1
50
50
  }),
51
51
  s(t, { href: "/portfolio/donations" }, {
52
- default: o(() => e[3] || (e[3] = [
53
- r(" Donations ")
52
+ default: r(() => e[3] || (e[3] = [
53
+ o(" Donations ")
54
54
  ])),
55
55
  _: 1
56
56
  }),
57
57
  s(t, { href: "/settings" }, {
58
- default: o(() => e[4] || (e[4] = [
59
- r(" Settings ")
58
+ default: r(() => e[4] || (e[4] = [
59
+ o(" Settings ")
60
60
  ])),
61
61
  _: 1
62
62
  }),
@@ -64,29 +64,32 @@ function w(k, e, n, b, v, x) {
64
64
  key: 0,
65
65
  href: "/my/borrower"
66
66
  }, {
67
- default: o(() => e[5] || (e[5] = [
68
- r(" Borrower Dashboard ")
67
+ default: r(() => e[5] || (e[5] = [
68
+ o(" Borrower Dashboard ")
69
69
  ])),
70
70
  _: 1
71
- })) : f("", !0),
71
+ })) : d("", !0),
72
72
  n.isTrustee ? (a(), l(t, {
73
73
  key: 1,
74
74
  href: "/my/trustee"
75
75
  }, {
76
- default: o(() => e[6] || (e[6] = [
77
- r(" Trustee Dashboard ")
76
+ default: r(() => e[6] || (e[6] = [
77
+ o(" Trustee Dashboard ")
78
78
  ])),
79
79
  _: 1
80
- })) : f("", !0),
81
- s(t, { href: "/ui-logout" }, {
82
- default: o(() => e[7] || (e[7] = [
83
- r(" Sign out ")
80
+ })) : d("", !0),
81
+ s(t, {
82
+ href: "/ui-logout",
83
+ class: "tw-border-t tw-border-secondary tw-w-full"
84
+ }, {
85
+ default: r(() => e[7] || (e[7] = [
86
+ o(" Sign out ")
84
87
  ])),
85
88
  _: 1
86
89
  })
87
90
  ]);
88
91
  }
89
- const D = /* @__PURE__ */ m(p, [["render", w]]);
92
+ const g = /* @__PURE__ */ i(w, [["render", y]]);
90
93
  export {
91
- D as default
94
+ g as default
92
95
  };
@@ -1 +1 @@
1
- .header-fade-enter-active[data-v-734ef2ba]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-734ef2ba]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-734ef2ba],.header-fade-leave-to[data-v-734ef2ba]{opacity:0}.header-fade-leave[data-v-734ef2ba],.header-fade-enter-to[data-v-734ef2ba]{opacity:1}.bg-opacity-50[data-v-734ef2ba]{background-color:rgba(var(--bg-action-highlight),.5)}
1
+ .header-fade-enter-active[data-v-15ce8e36]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-15ce8e36]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-15ce8e36],.header-fade-leave-to[data-v-15ce8e36]{opacity:0}.header-fade-leave[data-v-15ce8e36],.header-fade-enter-to[data-v-15ce8e36]{opacity:1}.bg-opacity-50[data-v-15ce8e36]{background-color:rgba(var(--bg-action-highlight),.5)}.header-container[data-v-15ce8e36]{max-width:67rem;margin-left:auto;margin-right:auto}@media screen and (width >= 67rem){.header-container>div[data-v-15ce8e36]{padding-left:0;padding-right:0}}
@@ -1,16 +1,18 @@
1
- import { ref as i, shallowRef as D, resolveComponent as u, resolveDirective as C, openBlock as c, createBlock as p, withCtx as v, createElementVNode as f, normalizeStyle as g, createVNode as d, Transition as H, withDirectives as _, vShow as I, createElementBlock as L, resolveDynamicComponent as M } from "vue";
2
- import T from "./KvWwwHeader/KvHeaderLinkBar.js";
3
- import B from "./KvWwwHeader/KvHeaderLogo.js";
4
- import U from "./KvThemeProvider.js";
5
- import x from "./KvPageContainer.js";
1
+ import { ref as l, shallowRef as T, onBeforeMount as D, onBeforeUnmount as B, resolveComponent as c, resolveDirective as U, openBlock as w, createBlock as I, withCtx as f, createElementVNode as b, normalizeStyle as k, createVNode as s, Transition as E, withDirectives as _, vShow as M, createElementBlock as x, resolveDynamicComponent as N } from "vue";
2
+ import G from "@kiva/kv-tokens";
3
+ import S from "./KvWwwHeader/KvHeaderLinkBar.js";
4
+ import K from "./KvWwwHeader/KvHeaderLogo.js";
5
+ import R from "./KvThemeProvider.js";
6
+ import z from "./KvPageContainer.js";
7
+ import { throttle as A } from "../utils/throttle.js";
6
8
  import "./KvWwwHeader.css";
7
- import N from "../_virtual/_plugin-vue_export-helper.js";
8
- const G = "3.75rem", S = {
9
+ import P from "../_virtual/_plugin-vue_export-helper.js";
10
+ const V = "3.75rem", O = {
9
11
  components: {
10
- KvHeaderLinkBar: T,
11
- KvHeaderLogo: B,
12
- KvThemeProvider: U,
13
- KvPageContainer: x
12
+ KvHeaderLinkBar: S,
13
+ KvHeaderLogo: K,
14
+ KvThemeProvider: R,
15
+ KvPageContainer: z
14
16
  },
15
17
  props: {
16
18
  loggedIn: {
@@ -53,10 +55,6 @@ const G = "3.75rem", S = {
53
55
  type: String,
54
56
  default: ""
55
57
  },
56
- isMobile: {
57
- type: Boolean,
58
- default: !1
59
- },
60
58
  showMGUpsellLink: {
61
59
  type: Boolean,
62
60
  default: !1
@@ -65,105 +63,115 @@ const G = "3.75rem", S = {
65
63
  emits: [
66
64
  "load-lend-menu-data"
67
65
  ],
68
- setup(E, { emit: o }) {
69
- const e = i(!0), n = i(null), l = i(!1), a = D(null), m = i(null), r = i({ left: 0, position: "relative" });
70
- let s;
71
- return {
72
- HEADER_HEIGHT: G,
73
- emitLendMenuEvent: () => {
74
- o("load-lend-menu-data");
75
- },
76
- linksVisible: e,
77
- menuOpen: l,
78
- onHover: (k, t, h) => {
79
- t ? (clearTimeout(s), a.value !== t && (r.value = { left: 0, position: "relative" }), a.value = t, l.value = !0, h && (r.value = {
80
- ...h,
81
- position: "absolute"
82
- })) : l.value && (s = setTimeout(() => {
83
- l.value = !1, a.value = null;
84
- }, 50));
85
- },
86
- loadMenuData: (k) => {
87
- var t;
88
- (t = m.value) == null || t.onLoad(k);
89
- },
90
- activeHeaderItem: n,
91
- menuComponent: a,
66
+ setup(C, { emit: n }) {
67
+ const o = l(!0), e = l(null), a = l(!1), r = T(null), m = l(null), i = l({ left: 0, position: "relative" }), d = l(!1);
68
+ let u;
69
+ const g = (p, t, H) => {
70
+ t ? (clearTimeout(u), r.value !== t && (i.value = { left: 0, position: "relative" }), r.value = t, a.value = !0, H && (i.value = {
71
+ ...H,
72
+ position: "absolute"
73
+ })) : a.value && (u = setTimeout(() => {
74
+ a.value = !1, r.value = null;
75
+ }, 50));
76
+ }, v = (p) => {
77
+ var t;
78
+ (t = m.value) == null || t.onLoad(p);
79
+ }, L = () => {
80
+ n("load-lend-menu-data");
81
+ }, h = () => {
82
+ d.value = (window == null ? void 0 : window.innerWidth) < G.breakpoints.md;
83
+ }, y = A(h, 100);
84
+ return D(() => {
85
+ h(), window.addEventListener("resize", y);
86
+ }), B(() => {
87
+ window.removeEventListener("resize", y);
88
+ }), {
89
+ HEADER_HEIGHT: V,
90
+ emitLendMenuEvent: L,
91
+ isMobile: d,
92
+ linksVisible: o,
93
+ menuOpen: a,
94
+ onHover: g,
95
+ loadMenuData: v,
96
+ activeHeaderItem: e,
97
+ menuComponent: r,
92
98
  menuComponentInstance: m,
93
- menuPosition: r
99
+ menuPosition: i
94
100
  };
95
101
  }
96
- }, K = {
102
+ }, W = {
97
103
  href: "/",
98
104
  class: "tw-px-1 tw-py-2 tw-cursor-pointer tw-absolute tw-top-1/2 tw-left-1/2 tw--translate-y-1/2 tw--translate-x-1/2 tw-transition-all tw-duration-300"
99
105
  };
100
- function R(E, o, e, n, l, a) {
101
- const m = u("kv-header-link-bar"), r = u("kv-header-logo"), s = u("kv-page-container"), b = u("kv-theme-provider"), w = C("kv-track-event");
102
- return c(), p(b, {
106
+ function j(C, n, o, e, a, r) {
107
+ const m = c("kv-header-link-bar"), i = c("kv-header-logo"), d = c("kv-page-container"), u = c("kv-theme-provider"), g = U("kv-track-event");
108
+ return w(), I(u, {
103
109
  tag: "div",
104
110
  class: "tw-bg-primary"
105
111
  }, {
106
- default: v(() => [
107
- f("nav", {
108
- class: "tw-font-medium tw-relative",
109
- style: g({ height: n.HEADER_HEIGHT })
112
+ default: f(() => [
113
+ b("nav", {
114
+ class: "tw-font-medium tw-relative header-container",
115
+ style: k({ height: e.HEADER_HEIGHT })
110
116
  }, [
111
- d(s, null, {
112
- default: v(() => [
113
- d(H, { name: "header-fade" }, {
114
- default: v(() => [
115
- _(d(m, {
116
- "logged-in": e.loggedIn,
117
- "basket-count": e.basketCount,
118
- "login-url": e.loginUrl,
119
- "open-menu-item": n.menuComponent,
120
- "my-dashboard-url": e.myDashboardUrl,
121
- "lender-name": e.lenderName,
122
- "lender-image-url": e.lenderImageUrl,
117
+ s(d, null, {
118
+ default: f(() => [
119
+ s(E, { name: "header-fade" }, {
120
+ default: f(() => [
121
+ _(s(m, {
122
+ "logged-in": o.loggedIn,
123
+ "basket-count": o.basketCount,
124
+ "login-url": o.loginUrl,
125
+ "open-menu-item": e.menuComponent,
126
+ "my-dashboard-url": o.myDashboardUrl,
127
+ "lender-name": o.lenderName,
128
+ "lender-image-url": o.lenderImageUrl,
123
129
  "is-mobile": e.isMobile,
124
- balance: e.balance,
125
- onItemHover: n.onHover
130
+ balance: o.balance,
131
+ onItemHover: e.onHover
126
132
  }, null, 8, ["logged-in", "basket-count", "login-url", "open-menu-item", "my-dashboard-url", "lender-name", "lender-image-url", "is-mobile", "balance", "onItemHover"]), [
127
- [I, n.linksVisible]
133
+ [M, e.linksVisible]
128
134
  ])
129
135
  ]),
130
136
  _: 1
131
137
  }),
132
- _((c(), L("a", K, [
133
- d(r)
138
+ _((w(), x("a", W, [
139
+ s(i)
134
140
  ])), [
135
- [w, ["TopNav", "click-Logo"]]
141
+ [g, ["TopNav", "click-Logo"]]
136
142
  ])
137
143
  ]),
138
144
  _: 1
139
145
  })
140
146
  ], 4),
141
- d(H, { name: "header-fade" }, {
142
- default: v(() => [
143
- _(f("div", {
147
+ s(E, { name: "header-fade" }, {
148
+ default: f(() => [
149
+ _(b("div", {
144
150
  class: "tw-absolute tw-z-modal tw-h-full tw-inset-x-0 tw-bg-eco-green-4 bg-opacity-50 tw-min-h-screen",
145
- style: g({ top: n.HEADER_HEIGHT })
151
+ style: k({ top: e.HEADER_HEIGHT })
146
152
  }, [
147
- f("div", {
153
+ b("div", {
148
154
  class: "tw-bg-primary tw-overflow-y-auto",
149
- style: g({ ...n.menuPosition, maxHeight: `calc(100dvh - ${n.HEADER_HEIGHT})` }),
150
- onMouseover: o[0] || (o[0] = (y) => n.onHover(n.activeHeaderItem, n.menuComponent)),
151
- onMouseout: o[1] || (o[1] = (y) => n.onHover())
155
+ style: k({ ...e.menuPosition, maxHeight: `calc(100dvh - ${e.HEADER_HEIGHT})` }),
156
+ onMouseover: n[1] || (n[1] = (v) => e.onHover(e.activeHeaderItem, e.menuComponent)),
157
+ onMouseout: n[2] || (n[2] = (v) => e.onHover())
152
158
  }, [
153
- (c(), p(M(n.menuComponent), {
159
+ (w(), I(N(e.menuComponent), {
154
160
  ref: "menuComponentInstance",
155
- "logged-in": e.loggedIn,
156
- "login-url": e.loginUrl,
157
- "user-id": e.userId,
158
- "is-borrower": e.isBorrower,
159
- "is-trustee": e.isTrustee,
160
- "my-dashboard-url": e.myDashboardUrl,
161
- "show-m-g-upsell-link": e.showMGUpsellLink,
162
- onLoadLendMenuData: n.emitLendMenuEvent
163
- }, null, 40, ["logged-in", "login-url", "user-id", "is-borrower", "is-trustee", "my-dashboard-url", "show-m-g-upsell-link", "onLoadLendMenuData"]))
161
+ "logged-in": o.loggedIn,
162
+ "login-url": o.loginUrl,
163
+ "user-id": o.userId,
164
+ "is-borrower": o.isBorrower,
165
+ "is-trustee": o.isTrustee,
166
+ "my-dashboard-url": o.myDashboardUrl,
167
+ "show-m-g-upsell-link": o.showMGUpsellLink,
168
+ "is-mobile": e.isMobile,
169
+ onLoadLendMenuData: e.emitLendMenuEvent,
170
+ onClosingMenu: n[0] || (n[0] = (v) => e.onHover())
171
+ }, null, 40, ["logged-in", "login-url", "user-id", "is-borrower", "is-trustee", "my-dashboard-url", "show-m-g-upsell-link", "is-mobile", "onLoadLendMenuData"]))
164
172
  ], 36)
165
173
  ], 4), [
166
- [I, n.menuOpen]
174
+ [M, e.menuOpen]
167
175
  ])
168
176
  ]),
169
177
  _: 1
@@ -172,7 +180,7 @@ function R(E, o, e, n, l, a) {
172
180
  _: 1
173
181
  });
174
182
  }
175
- const q = /* @__PURE__ */ N(S, [["render", R], ["__scopeId", "data-v-734ef2ba"]]);
183
+ const oe = /* @__PURE__ */ P(O, [["render", j], ["__scopeId", "data-v-15ce8e36"]]);
176
184
  export {
177
- q as default
185
+ oe as default
178
186
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiva/kv-components",
3
- "version": "6.51.0",
3
+ "version": "6.52.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -114,5 +114,5 @@
114
114
  "embla-carousel-fade",
115
115
  "popper.js"
116
116
  ],
117
- "gitHead": "2411548e20ffb0431066f9e34391b126d4fef4d6"
117
+ "gitHead": "b70a4ee4d2e8d41cbe2afc4ff3fb66fc4e8bd4e2"
118
118
  }