@kiva/kv-components 10.0.0 → 10.1.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.
@@ -5,4 +5,5 @@ export interface NavLink {
5
5
  track: [string, string];
6
6
  visibility: 'always' | 'visitor' | 'loggedIn';
7
7
  }
8
+ export declare const MAJOR_GIFTS_LINK: NavLink;
8
9
  export declare const PRIMARY_LINKS: NavLink[];
@@ -1,4 +1,10 @@
1
- const r = [
1
+ const r = {
2
+ id: "major-gifts",
3
+ label: "Major gifts",
4
+ href: "/lp/major-gifts",
5
+ track: ["TopNav", "click-Major-Gifts"],
6
+ visibility: "always"
7
+ }, i = [
2
8
  {
3
9
  id: "partner",
4
10
  label: "Partner with us",
@@ -15,5 +21,6 @@ const r = [
15
21
  }
16
22
  ];
17
23
  export {
18
- r as PRIMARY_LINKS
24
+ r as MAJOR_GIFTS_LINK,
25
+ i as PRIMARY_LINKS
19
26
  };
@@ -1 +1 @@
1
- .header-fade-enter-active[data-v-25e697e2]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-25e697e2]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-25e697e2],.header-fade-leave-to[data-v-25e697e2]{opacity:0}.header-fade-leave[data-v-25e697e2],.header-fade-enter-to[data-v-25e697e2]{opacity:1}
1
+ .header-fade-enter-active[data-v-919788a4]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-919788a4]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-919788a4],.header-fade-leave-to[data-v-919788a4]{opacity:0}.header-fade-leave[data-v-919788a4],.header-fade-enter-to[data-v-919788a4]{opacity:1}
@@ -1,8 +1,8 @@
1
1
  import u from "./KvWwwHeaderBasic2.js";
2
2
  import { resolveComponent as o, openBlock as g, createBlock as c, withCtx as r, createElementVNode as b, normalizeStyle as k, createVNode as l, Transition as v, withDirectives as f, vShow as w } from "vue";
3
3
  import "./KvWwwHeaderBasic.css";
4
- import _ from "../../_virtual/_plugin-vue_export-helper.js";
5
- function h(i, t, e, a, L, I) {
4
+ import h from "../../_virtual/_plugin-vue_export-helper.js";
5
+ function _(n, a, e, t, L, I) {
6
6
  const s = o("link-bar"), d = o("kv-page-container"), m = o("kv-theme-provider");
7
7
  return g(), c(m, {
8
8
  tag: "div",
@@ -11,7 +11,7 @@ function h(i, t, e, a, L, I) {
11
11
  default: r(() => [
12
12
  b("nav", {
13
13
  class: "tw-font-medium tw-relative",
14
- style: k({ minHeight: a.MIN_HEADER_HEIGHT })
14
+ style: k({ minHeight: t.MIN_HEADER_HEIGHT })
15
15
  }, [
16
16
  l(d, null, {
17
17
  default: r(() => [
@@ -33,18 +33,19 @@ function h(i, t, e, a, L, I) {
33
33
  "is-basket-data-loading": e.isBasketDataLoading,
34
34
  "use-esi-avatar": e.useEsiAvatar,
35
35
  "show-m-g-upsell-link": e.showMGUpsellLink,
36
+ "show-major-gifts-exp": e.showMajorGiftsExp,
36
37
  "login-url": e.loginUrl,
37
38
  "my-dashboard-url": e.myDashboardUrl,
38
39
  "countries-not-lent-to-url": e.countriesNotLentToUrl,
39
- "app-origin": a.resolvedAppOrigin,
40
- "search-suggestions": a.effectiveSuggestions,
41
- "is-mobile": a.isMobile,
42
- onLoadLendMenuData: t[0] || (t[0] = (n) => i.$emit("load-lend-menu-data")),
43
- onLoadSearchData: t[1] || (t[1] = (n) => i.$emit("load-search-data")),
44
- onSearchSubmit: t[2] || (t[2] = (n) => i.$emit("search-submit", n)),
45
- onLoginClick: t[3] || (t[3] = (n) => i.$emit("login-click", n))
46
- }, null, 8, ["logged-in", "basket-count", "balance", "user-id", "is-borrower", "is-trustee", "trustee-id", "most-recent-borrowed-loan-id", "lender-name", "lender-image-url", "is-user-data-loading", "is-basket-data-loading", "use-esi-avatar", "show-m-g-upsell-link", "login-url", "my-dashboard-url", "countries-not-lent-to-url", "app-origin", "search-suggestions", "is-mobile"]), [
47
- [w, a.linksVisible]
40
+ "app-origin": t.resolvedAppOrigin,
41
+ "search-suggestions": t.effectiveSuggestions,
42
+ "is-mobile": t.isMobile,
43
+ onLoadLendMenuData: a[0] || (a[0] = (i) => n.$emit("load-lend-menu-data")),
44
+ onLoadSearchData: a[1] || (a[1] = (i) => n.$emit("load-search-data")),
45
+ onSearchSubmit: a[2] || (a[2] = (i) => n.$emit("search-submit", i)),
46
+ onLoginClick: a[3] || (a[3] = (i) => n.$emit("login-click", i))
47
+ }, null, 8, ["logged-in", "basket-count", "balance", "user-id", "is-borrower", "is-trustee", "trustee-id", "most-recent-borrowed-loan-id", "lender-name", "lender-image-url", "is-user-data-loading", "is-basket-data-loading", "use-esi-avatar", "show-m-g-upsell-link", "show-major-gifts-exp", "login-url", "my-dashboard-url", "countries-not-lent-to-url", "app-origin", "search-suggestions", "is-mobile"]), [
48
+ [w, t.linksVisible]
48
49
  ])
49
50
  ]),
50
51
  _: 1
@@ -57,7 +58,7 @@ function h(i, t, e, a, L, I) {
57
58
  _: 1
58
59
  });
59
60
  }
60
- const U = /* @__PURE__ */ _(u, [["render", h], ["__scopeId", "data-v-25e697e2"]]);
61
+ const S = /* @__PURE__ */ h(u, [["render", _], ["__scopeId", "data-v-919788a4"]]);
61
62
  export {
62
- U as default
63
+ S as default
63
64
  };
@@ -1,7 +1,7 @@
1
1
  import { ref as o, computed as S, onMounted as h } from "vue";
2
2
  import { gql as b } from "@apollo/client/core";
3
- import v from "../KvThemeProvider.js";
4
- import B from "../KvPageContainer.js";
3
+ import B from "../KvThemeProvider.js";
4
+ import v from "../KvPageContainer.js";
5
5
  import { useBreakpoints as w } from "../../utils/useBreakpoints.js";
6
6
  import k from "./LinkBar.js";
7
7
  const N = "4rem", I = b`
@@ -17,8 +17,8 @@ const N = "4rem", I = b`
17
17
  `, _ = {
18
18
  name: "KvWwwHeaderBasic",
19
19
  components: {
20
- KvThemeProvider: v,
21
- KvPageContainer: B,
20
+ KvThemeProvider: B,
21
+ KvPageContainer: v,
22
22
  LinkBar: k
23
23
  },
24
24
  props: {
@@ -35,6 +35,8 @@ const N = "4rem", I = b`
35
35
  // Only for hosts whose ESI emits --user-avatar; without it the avatar renders an empty image.
36
36
  useEsiAvatar: { type: Boolean, default: !1 },
37
37
  showMGUpsellLink: { type: Boolean, default: !1 },
38
+ /** Adds the Major gifts nav link and relabels the support button "Give". */
39
+ showMajorGiftsExp: { type: Boolean, default: !1 },
38
40
  loginUrl: { type: String, default: "/ui-login" },
39
41
  myDashboardUrl: { type: String, default: "/mykiva" },
40
42
  countriesNotLentToUrl: { type: String, default: "/lend/countries-not-lent" },
@@ -44,15 +46,15 @@ const N = "4rem", I = b`
44
46
  mostRecentBorrowedLoanId: { type: Number, default: null }
45
47
  },
46
48
  emits: ["load-lend-menu-data", "load-search-data", "search-submit", "login-click"],
47
- setup(n) {
48
- const { isMobile: d, checkIsMobile: f } = w(), i = o(null), p = o(!0), s = o(n.appOrigin), l = o([]);
49
+ setup(l) {
50
+ const { isMobile: d, checkIsMobile: f } = w(), s = o(null), p = o(!0), i = o(l.appOrigin), n = o([]);
49
51
  let r = !1;
50
52
  const g = S(
51
- () => l.value.length ? l.value : n.searchSuggestions
53
+ () => n.value.length ? n.value : l.searchSuggestions
52
54
  );
53
55
  function c(u) {
54
56
  var e, t;
55
- (t = (e = i.value) == null ? void 0 : e.loadMenuData) == null || t.call(e, u);
57
+ (t = (e = s.value) == null ? void 0 : e.loadMenuData) == null || t.call(e, u);
56
58
  }
57
59
  async function m(u) {
58
60
  var e;
@@ -60,19 +62,19 @@ const N = "4rem", I = b`
60
62
  r = !0;
61
63
  try {
62
64
  const { data: t } = await u.query({ query: I }), y = ((e = t == null ? void 0 : t.lend) == null ? void 0 : e.loanSearchSuggestions) ?? [];
63
- l.value = y.filter((a) => !!a).map((a) => ({ group: a.group ?? "", label: a.label ?? "", query: a.query ?? void 0 }));
65
+ n.value = y.filter((a) => !!a).map((a) => ({ group: a.group ?? "", label: a.label ?? "", query: a.query ?? void 0 }));
64
66
  } catch {
65
67
  r = !1;
66
68
  }
67
69
  }
68
70
  }
69
71
  return h(() => {
70
- !n.appOrigin && typeof window < "u" && (s.value = window.location.origin), f();
72
+ !l.appOrigin && typeof window < "u" && (i.value = window.location.origin), f();
71
73
  }), {
72
74
  MIN_HEADER_HEIGHT: N,
73
- linkBarRef: i,
75
+ linkBarRef: s,
74
76
  linksVisible: p,
75
- resolvedAppOrigin: s,
77
+ resolvedAppOrigin: i,
76
78
  effectiveSuggestions: g,
77
79
  isMobile: d,
78
80
  loadMenuData: c,
@@ -1 +1 @@
1
- .link-bar[data-v-816544c3]{display:flex;align-items:center;gap:.5rem}.link-bar__logo[data-v-816544c3]{position:absolute;top:50%;left:50%;--tw-translate-x: -50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}@media(min-width:45.875rem){.link-bar[data-v-816544c3]{display:grid;-moz-column-gap:1rem;column-gap:1rem;grid-template-areas:"logo lend right" "search search search";grid-template-columns:1fr auto auto;grid-template-rows:4rem auto;row-gap:.5rem}.link-bar__logo[data-v-816544c3]{position:static;--tw-translate-x: 0;--tw-translate-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));grid-area:logo;justify-self:start}.link-bar__lend[data-v-816544c3]{grid-area:lend}.link-bar__search[data-v-816544c3]{grid-area:search;margin-bottom:.5rem}.link-bar__right[data-v-816544c3]{grid-area:right;align-self:stretch}}@media(min-width:64rem){.link-bar[data-v-816544c3]{-moz-column-gap:1.25rem;column-gap:1.25rem;grid-template-areas:"logo lend search right";grid-template-columns:auto auto 1fr auto;grid-template-rows:4rem}.link-bar__search[data-v-816544c3]{margin-bottom:0}}.header-link[data-v-816544c3]{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-816544c3]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}.menu-trigger[data-v-816544c3]{border:0;background:none;font:inherit;cursor:pointer}.backdrop[data-v-816544c3]{position:absolute;z-index:1300;top:var(--nav-height, 4rem);inset-inline:0;height:0;background-color:rgba(var(--bg-action-highlight),.5);visibility:hidden;opacity:0;transition:opacity var(--menu-close-fade) ease var(--menu-open-delay),visibility 0s calc(var(--menu-open-delay) + var(--menu-close-fade)),height 0s calc(var(--menu-open-delay) + var(--menu-close-fade))}.link-bar:has(.menu-group>[aria-expanded=true])>.backdrop[data-v-816544c3],.link-bar[data-pointer=mouse]:has(.menu-group:hover)>.backdrop[data-v-816544c3]{visibility:visible;opacity:1;height:100vh;transition:opacity .3s ease var(--menu-open-delay),visibility 0s var(--menu-open-delay),height 0s var(--menu-open-delay)}.chevron[data-v-816544c3]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.menu-group:has(>[aria-expanded=true]) .chevron[data-v-816544c3],[data-pointer=mouse] .menu-group:hover .chevron[data-v-816544c3]{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.link-bar__basket-count-loader[data-v-816544c3]{width:1.5ch;height:1.375em;height:1lh}
1
+ .link-bar[data-v-567c0b22]{display:flex;align-items:center;gap:.5rem}.link-bar__logo[data-v-567c0b22]{position:absolute;top:50%;left:50%;--tw-translate-x: -50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}@media(min-width:45.875rem){.link-bar[data-v-567c0b22]{display:grid;-moz-column-gap:1rem;column-gap:1rem;grid-template-areas:"logo lend right" "search search search";grid-template-columns:1fr auto auto;grid-template-rows:4rem auto;row-gap:.5rem}.link-bar__logo[data-v-567c0b22]{position:static;--tw-translate-x: 0;--tw-translate-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));grid-area:logo;justify-self:start}.link-bar__lend[data-v-567c0b22]{grid-area:lend}.link-bar__search[data-v-567c0b22]{grid-area:search;margin-bottom:.5rem}.link-bar__right[data-v-567c0b22]{grid-area:right;align-self:stretch}}@media(min-width:64rem){.link-bar[data-v-567c0b22]{-moz-column-gap:1.25rem;column-gap:1.25rem;grid-template-areas:"logo lend search right";grid-template-columns:auto auto 1fr auto;grid-template-rows:4rem}.link-bar__search[data-v-567c0b22]{margin-bottom:0}}@media(min-width:45.875rem){.link-bar--major-gifts[data-v-567c0b22]{grid-template-areas:"logo lend majorgifts right" "search search search";grid-template-columns:1fr auto auto auto}}@media(min-width:64rem){.link-bar--major-gifts[data-v-567c0b22]{grid-template-areas:"logo lend majorgifts search right";grid-template-columns:auto auto auto 1fr auto}}.link-bar__major-gifts[data-v-567c0b22]{grid-area:majorgifts}.major-gifts-enter-active[data-v-567c0b22]{overflow:hidden;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.major-gifts-enter-from[data-v-567c0b22]{opacity:0;max-width:0}.major-gifts-enter-to[data-v-567c0b22]{opacity:1;max-width:12rem}.header-link[data-v-567c0b22]{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-567c0b22]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}.menu-trigger[data-v-567c0b22]{border:0;background:none;font:inherit;cursor:pointer}.backdrop[data-v-567c0b22]{position:absolute;z-index:1300;top:var(--nav-height, 4rem);inset-inline:0;height:0;background-color:rgba(var(--bg-action-highlight),.5);visibility:hidden;opacity:0;transition:opacity var(--menu-close-fade) ease var(--menu-open-delay),visibility 0s calc(var(--menu-open-delay) + var(--menu-close-fade)),height 0s calc(var(--menu-open-delay) + var(--menu-close-fade))}.link-bar:has(.menu-group>[aria-expanded=true])>.backdrop[data-v-567c0b22],.link-bar[data-pointer=mouse]:has(.menu-group:hover)>.backdrop[data-v-567c0b22]{visibility:visible;opacity:1;height:100vh;transition:opacity .3s ease var(--menu-open-delay),visibility 0s var(--menu-open-delay),height 0s var(--menu-open-delay)}.chevron[data-v-567c0b22]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.menu-group:has(>[aria-expanded=true]) .chevron[data-v-567c0b22],[data-pointer=mouse] .menu-group:hover .chevron[data-v-567c0b22]{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.link-bar__basket-count-loader[data-v-567c0b22]{width:1.5ch;height:1.375em;height:1lh}
@@ -1,260 +1,276 @@
1
- import I from "./LinkBar2.js";
2
- import { resolveComponent as r, openBlock as l, createElementBlock as s, normalizeStyle as h, createVNode as o, withCtx as d, createElementVNode as i, mergeProps as k, Fragment as f, renderList as U, toDisplayString as g, createTextVNode as b, createCommentVNode as m, withDirectives as O, vShow as N, createBlock as y } from "vue";
1
+ import S from "./LinkBar2.js";
2
+ import { resolveComponent as r, openBlock as o, createElementBlock as s, normalizeStyle as v, normalizeClass as I, createVNode as i, withCtx as d, createElementVNode as l, mergeProps as g, Transition as U, toDisplayString as w, createCommentVNode as m, Fragment as _, renderList as G, createTextVNode as b, withDirectives as O, vShow as E, createBlock as f } from "vue";
3
3
  import "./LinkBar.css";
4
- import T from "../../_virtual/_plugin-vue_export-helper.js";
5
- const V = ["data-pointer"], A = ["onClick"], K = { class: "link-bar__right tw-flex tw-items-center tw-justify-end tw-ml-auto md:tw-ml-0 tw-gap-1 md:tw-gap-2 lg:tw-gap-2.5" }, j = ["href", "data-testid", "onClick"], P = ["href"], E = { class: "tw-hidden md:tw-flex tw-items-center" }, R = { class: "tw-bg-secondary tw-rounded-xs tw-py-0.5 tw-px-1 tw-mr-1 tw-leading-none tw-flex tw-items-center tw-justify-center" }, z = {
4
+ import N from "../../_virtual/_plugin-vue_export-helper.js";
5
+ const T = ["data-pointer"], V = ["onClick"], A = ["href"], K = { class: "link-bar__right tw-flex tw-items-center tw-justify-end tw-ml-auto md:tw-ml-0 tw-gap-1 md:tw-gap-2 lg:tw-gap-2.5" }, P = ["href", "data-testid", "onClick"], z = ["href"], R = { class: "tw-hidden md:tw-flex tw-items-center" }, F = { class: "tw-bg-secondary tw-rounded-xs tw-py-0.5 tw-px-1 tw-mr-1 tw-leading-none tw-flex tw-items-center tw-justify-center" }, q = {
6
6
  key: 0,
7
7
  class: "link-bar__basket-count-loader",
8
8
  "data-testid": "header-basket-skeleton"
9
- }, F = { class: "tw-relative tw-flex md:tw-hidden tw-items-center tw-text-eco-green-4" }, G = {
9
+ }, H = { class: "tw-relative tw-flex md:tw-hidden tw-items-center tw-text-eco-green-4" }, J = {
10
10
  key: 0,
11
11
  class: "tw-absolute tw-w-4 tw-h-4 tw-pt-0.5 tw-flex tw-items-center tw-justify-center tw-text-white tw-text-small tw-font-medium tw-pointer-events-none"
12
- }, q = { class: "tw-hidden md:tw-block" }, H = {
12
+ }, Q = { class: "tw-hidden md:tw-block" }, W = {
13
13
  key: 0,
14
14
  class: "tw-block tw-w-4 tw-h-3"
15
- }, J = {
15
+ }, X = {
16
16
  key: 1,
17
17
  class: "tw-text-eco-green-4"
18
- }, Q = {
18
+ }, Y = {
19
19
  key: 3,
20
20
  class: "tw-block tw-w-3 tw-h-3 tw-rounded-full tw-overflow-hidden",
21
21
  "data-testid": "header-avatar-skeleton"
22
22
  };
23
- function W(u, t, n, a, X, Y) {
24
- const w = r("kv-material-icon"), C = r("mobile-menu"), c = r("header-menu-group"), L = r("kv-header-logo"), M = r("kv-lend-menu"), p = r("search-bar"), x = r("about-menu"), v = r("kv-loading-placeholder"), B = r("kv-button"), D = r("kv-user-avatar"), S = r("my-kiva-menu");
25
- return l(), s("div", {
23
+ function Z(c, n, e, a, $, ee) {
24
+ const u = r("kv-material-icon"), C = r("mobile-menu"), k = r("header-menu-group"), x = r("kv-header-logo"), M = r("kv-lend-menu"), L = r("search-bar"), p = r("about-menu"), h = r("kv-loading-placeholder"), j = r("kv-button"), B = r("kv-user-avatar"), D = r("my-kiva-menu");
25
+ return o(), s("div", {
26
26
  ref: "rootRef",
27
- class: "link-bar tw-min-h-[4rem] tw-font-medium",
28
- style: h(a.menuTimingVars),
27
+ class: I(["link-bar tw-min-h-[4rem] tw-font-medium", { "link-bar--major-gifts": e.showMajorGiftsExp }]),
28
+ style: v(a.menuTimingVars),
29
29
  "data-pointer": a.pointerType
30
30
  }, [
31
- o(c, {
31
+ i(k, {
32
32
  class: "md:tw-hidden",
33
33
  "panel-id": "header-basic-menu-drawer",
34
34
  variant: "drawer",
35
- onOpen: t[0] || (t[0] = (e) => a.track("hover-Mobile-menu", "Mobile")),
36
- onClose: t[1] || (t[1] = (e) => a.track("close-Mobile-menu", "Mobile"))
35
+ onOpen: n[0] || (n[0] = (t) => a.track("hover-Mobile-menu", "Mobile")),
36
+ onClose: n[1] || (n[1] = (t) => a.track("close-Mobile-menu", "Mobile"))
37
37
  }, {
38
- default: d(({ trigger: e }) => [
39
- i("button", k(e, {
38
+ default: d(({ trigger: t }) => [
39
+ l("button", g(t, {
40
40
  type: "button",
41
41
  "aria-label": "Open menu",
42
42
  class: "header-link menu-trigger link-bar__hamburger tw-inline-flex tw-p-0"
43
43
  }), [
44
- o(w, { icon: a.mdiMenu }, null, 8, ["icon"])
44
+ i(u, { icon: a.mdiMenu }, null, 8, ["icon"])
45
45
  ], 16)
46
46
  ]),
47
- panel: d(({ close: e }) => [
48
- o(C, {
49
- "logged-in": n.loggedIn,
50
- "login-url": n.loginUrl,
51
- "is-mobile": n.isMobile,
52
- onClosingMenu: e
53
- }, null, 8, ["logged-in", "login-url", "is-mobile", "onClosingMenu"])
47
+ panel: d(({ close: t }) => [
48
+ i(C, {
49
+ "logged-in": e.loggedIn,
50
+ "login-url": e.loginUrl,
51
+ "is-mobile": e.isMobile,
52
+ "show-major-gifts-exp": e.showMajorGiftsExp,
53
+ onClosingMenu: t
54
+ }, null, 8, ["logged-in", "login-url", "is-mobile", "show-major-gifts-exp", "onClosingMenu"])
54
55
  ]),
55
56
  _: 1
56
57
  }),
57
- i("a", {
58
+ l("a", {
58
59
  href: "/",
59
60
  "aria-label": "Kiva home",
60
61
  class: "link-bar__logo tw-px-1 tw-py-2 tw-cursor-pointer",
61
- onClick: t[2] || (t[2] = (...e) => a.onLogoClick && a.onLogoClick(...e))
62
+ onClick: n[2] || (n[2] = (...t) => a.onLogoClick && a.onLogoClick(...t))
62
63
  }, [
63
- o(L)
64
+ i(x)
64
65
  ]),
65
- o(c, {
66
+ i(k, {
66
67
  class: "link-bar__lend",
67
68
  "panel-id": "header-basic-menu-lend",
68
69
  variant: "full",
69
- onOpen: t[6] || (t[6] = (e) => a.track("hover-Lend-menu", "Lend"))
70
+ onOpen: n[6] || (n[6] = (t) => a.track("hover-Lend-menu", "Lend"))
70
71
  }, {
71
- default: d(({ trigger: e, toggle: _ }) => [
72
- i("a", {
72
+ default: d(({ trigger: t, toggle: y }) => [
73
+ l("a", {
73
74
  href: "/lend-by-category",
74
75
  class: "header-link tw-py-1",
75
- onClick: _
76
- }, "Lend", 8, A),
77
- i("button", k(e, {
76
+ onClick: y
77
+ }, "Lend", 8, V),
78
+ l("button", g(t, {
78
79
  type: "button",
79
80
  "aria-label": "Lend menu",
80
81
  class: "menu-trigger tw-p-0 tw-py-1 tw-ml-0.5 tw-inline-flex tw-items-center tw-text-primary hover:tw-text-action"
81
82
  }), [
82
- o(w, {
83
+ i(u, {
83
84
  class: "chevron tw-w-3",
84
85
  icon: a.mdiChevronDown
85
86
  }, null, 8, ["icon"])
86
87
  ], 16)
87
88
  ]),
88
89
  panel: d(() => [
89
- o(M, {
90
+ i(M, {
90
91
  ref: "lendMenuInstance",
91
- "user-id": n.userId,
92
- "show-m-g-upsell-link": n.showMGUpsellLink,
93
- "countries-not-lent-to-url": n.countriesNotLentToUrl,
92
+ "user-id": e.userId,
93
+ "show-m-g-upsell-link": e.showMGUpsellLink,
94
+ "countries-not-lent-to-url": e.countriesNotLentToUrl,
94
95
  "use-mobile-mega-menu": !0,
95
- "search-suggestions": n.searchSuggestions,
96
- "app-origin": n.appOrigin,
97
- onLoadLendMenuData: t[3] || (t[3] = (e) => u.$emit("load-lend-menu-data")),
98
- onLoadSearchData: t[4] || (t[4] = (e) => u.$emit("load-search-data")),
99
- onSearchSubmit: t[5] || (t[5] = (e) => u.$emit("search-submit", e))
96
+ "search-suggestions": e.searchSuggestions,
97
+ "app-origin": e.appOrigin,
98
+ onLoadLendMenuData: n[3] || (n[3] = (t) => c.$emit("load-lend-menu-data")),
99
+ onLoadSearchData: n[4] || (n[4] = (t) => c.$emit("load-search-data")),
100
+ onSearchSubmit: n[5] || (n[5] = (t) => c.$emit("search-submit", t))
100
101
  }, null, 8, ["user-id", "show-m-g-upsell-link", "countries-not-lent-to-url", "search-suggestions", "app-origin"])
101
102
  ]),
102
103
  _: 1
103
104
  }),
104
- o(p, {
105
+ i(U, {
106
+ name: "major-gifts",
107
+ appear: ""
108
+ }, {
109
+ default: d(() => [
110
+ e.showMajorGiftsExp ? (o(), s("a", {
111
+ key: 0,
112
+ href: a.majorGiftsLink.href,
113
+ class: "header-link link-bar__major-gifts tw-hidden md:tw-block tw-whitespace-nowrap",
114
+ "data-testid": "header-major-gifts",
115
+ onClick: n[7] || (n[7] = (t) => a.onPrimaryClick(a.majorGiftsLink))
116
+ }, w(a.majorGiftsLink.label), 9, A)) : m("", !0)
117
+ ]),
118
+ _: 1
119
+ }),
120
+ i(L, {
105
121
  class: "link-bar__search tw-min-w-0 tw-hidden md:tw-block",
106
- "search-suggestions": n.searchSuggestions,
107
- "app-origin": n.appOrigin,
108
- "is-mobile": n.isMobile,
109
- onLoadSearchData: t[7] || (t[7] = (e) => u.$emit("load-search-data")),
110
- onSearchSubmit: t[8] || (t[8] = (e) => u.$emit("search-submit", e))
122
+ "search-suggestions": e.searchSuggestions,
123
+ "app-origin": e.appOrigin,
124
+ "is-mobile": e.isMobile,
125
+ onLoadSearchData: n[8] || (n[8] = (t) => c.$emit("load-search-data")),
126
+ onSearchSubmit: n[9] || (n[9] = (t) => c.$emit("search-submit", t))
111
127
  }, null, 8, ["search-suggestions", "app-origin", "is-mobile"]),
112
- i("div", K, [
113
- (l(!0), s(f, null, U(a.visiblePrimaryLinks, (e) => (l(), s("a", {
114
- key: e.id,
115
- href: e.href,
128
+ l("div", K, [
129
+ (o(!0), s(_, null, G(a.visiblePrimaryLinks, (t) => (o(), s("a", {
130
+ key: t.id,
131
+ href: t.href,
116
132
  class: "header-link tw-hidden md:tw-block",
117
- "data-testid": `header-link-${e.id}`,
118
- onClick: (_) => a.onPrimaryClick(e)
119
- }, g(e.label), 9, j))), 128)),
120
- o(c, {
133
+ "data-testid": `header-link-${t.id}`,
134
+ onClick: (y) => a.onPrimaryClick(t)
135
+ }, w(t.label), 9, P))), 128)),
136
+ i(k, {
121
137
  class: "tw-hidden md:tw-flex",
122
138
  "panel-id": "header-basic-menu-about",
123
139
  variant: "card",
124
- onOpen: t[9] || (t[9] = (e) => a.track("hover-About-menu", "About"))
140
+ onOpen: n[10] || (n[10] = (t) => a.track("hover-About-menu", "About"))
125
141
  }, {
126
- default: d(({ trigger: e }) => [
127
- i("button", k(e, {
142
+ default: d(({ trigger: t }) => [
143
+ l("button", g(t, {
128
144
  type: "button",
129
145
  class: "header-link menu-trigger tw-p-0 tw-py-1 tw-flex tw-items-center"
130
146
  }), [
131
- t[13] || (t[13] = b(" About ")),
132
- o(w, {
147
+ n[14] || (n[14] = b(" About ")),
148
+ i(u, {
133
149
  class: "chevron tw-inline tw-w-3 tw-ml-0.5",
134
150
  icon: a.mdiChevronDown
135
151
  }, null, 8, ["icon"])
136
152
  ], 16)
137
153
  ]),
138
- panel: d(({ close: e }) => [
139
- o(x, {
140
- "is-mobile": n.isMobile,
141
- onClosingMenu: e
154
+ panel: d(({ close: t }) => [
155
+ i(p, {
156
+ "is-mobile": e.isMobile,
157
+ onClosingMenu: t
142
158
  }, null, 8, ["is-mobile", "onClosingMenu"])
143
159
  ]),
144
160
  _: 1
145
161
  }),
146
- n.loggedIn ? m("", !0) : (l(), s("a", {
162
+ e.loggedIn ? m("", !0) : (o(), s("a", {
147
163
  key: 0,
148
- href: n.loginUrl,
164
+ href: e.loginUrl,
149
165
  class: "header-link",
150
166
  "data-testid": "header-login",
151
- onClick: t[10] || (t[10] = (...e) => a.onLoginClick && a.onLoginClick(...e))
152
- }, "Log in", 8, P)),
153
- O(i("a", {
154
- style: h(n.isBasketDataLoading ? { display: "var(--basket-display, flex)" } : void 0),
167
+ onClick: n[11] || (n[11] = (...t) => a.onLoginClick && a.onLoginClick(...t))
168
+ }, "Log in", 8, z)),
169
+ O(l("a", {
170
+ style: v(e.isBasketDataLoading ? { display: "var(--basket-display, flex)" } : void 0),
155
171
  href: "/basket",
156
172
  class: "header-link tw-flex tw-items-center",
157
173
  "data-testid": "header-basket",
158
- onClick: t[11] || (t[11] = (...e) => a.onBasketClick && a.onBasketClick(...e))
174
+ onClick: n[12] || (n[12] = (...t) => a.onBasketClick && a.onBasketClick(...t))
159
175
  }, [
160
- i("span", E, [
161
- i("span", R, [
162
- n.isBasketDataLoading ? (l(), s("span", z, [
163
- o(v)
164
- ])) : (l(), s(f, { key: 1 }, [
165
- b(g(n.basketCount), 1)
176
+ l("span", R, [
177
+ l("span", F, [
178
+ e.isBasketDataLoading ? (o(), s("span", q, [
179
+ i(h)
180
+ ])) : (o(), s(_, { key: 1 }, [
181
+ b(w(e.basketCount), 1)
166
182
  ], 64))
167
183
  ]),
168
- t[14] || (t[14] = b(" Basket "))
184
+ n[15] || (n[15] = b(" Basket "))
169
185
  ]),
170
- i("span", F, [
171
- n.isBasketDataLoading ? m("", !0) : (l(), s("span", G, g(n.basketCount), 1)),
172
- o(w, {
186
+ l("span", H, [
187
+ e.isBasketDataLoading ? m("", !0) : (o(), s("span", J, w(e.basketCount), 1)),
188
+ i(u, {
173
189
  icon: a.mdiBriefcase,
174
190
  class: "tw-w-4 tw-h-4 tw-pointer-events-none"
175
191
  }, null, 8, ["icon"]),
176
- t[15] || (t[15] = i("span", { class: "tw-sr-only" }, "Basket", -1))
192
+ n[16] || (n[16] = l("span", { class: "tw-sr-only" }, "Basket", -1))
177
193
  ])
178
194
  ], 4), [
179
- [N, n.basketCount > 0 || n.isBasketDataLoading]
195
+ [E, e.basketCount > 0 || e.isBasketDataLoading]
180
196
  ]),
181
- i("div", q, [
182
- o(B, {
197
+ l("div", Q, [
198
+ i(j, {
183
199
  variant: "secondary",
184
200
  href: "/donate/supportus",
185
201
  class: "tw-whitespace-nowrap",
186
202
  "data-testid": "header-support-kiva",
187
203
  onClick: a.onSupportKivaClick
188
204
  }, {
189
- default: d(() => t[16] || (t[16] = [
190
- b(" Support Kiva ")
191
- ])),
205
+ default: d(() => [
206
+ b(w(e.showMajorGiftsExp ? "Give" : "Support Kiva"), 1)
207
+ ]),
192
208
  _: 1
193
209
  }, 8, ["onClick"])
194
210
  ]),
195
- n.loggedIn ? (l(), y(c, {
211
+ e.loggedIn ? (o(), f(k, {
196
212
  key: 1,
197
213
  "panel-id": "header-basic-menu-my-kiva",
198
214
  variant: "card",
199
- onOpen: t[12] || (t[12] = (e) => a.track("hover-User-menu", "User"))
215
+ onOpen: n[13] || (n[13] = (t) => a.track("hover-User-menu", "User"))
200
216
  }, {
201
- default: d(({ trigger: e }) => [
202
- i("button", k(e, {
217
+ default: d(({ trigger: t }) => [
218
+ l("button", g(t, {
203
219
  type: "button",
204
220
  "aria-label": "My Kiva menu",
205
221
  "data-testid": "header-avatar-menu",
206
222
  class: "menu-trigger tw-p-0 tw-py-1 tw-flex tw-items-center tw-gap-1 tw-cursor-pointer",
207
- style: n.isUserDataLoading ? { display: "var(--user-loading-display, flex)" } : void 0
223
+ style: e.isUserDataLoading ? { display: "var(--user-loading-display, flex)" } : void 0
208
224
  }), [
209
- n.isUserDataLoading ? (l(), s("span", H, [
210
- o(v)
211
- ])) : (l(), s("span", J, g(a.formattedBalance), 1)),
212
- a.avatarMode === "esi" ? (l(), y(w, {
225
+ e.isUserDataLoading ? (o(), s("span", W, [
226
+ i(h)
227
+ ])) : (o(), s("span", X, w(a.formattedBalance), 1)),
228
+ a.avatarMode === "esi" ? (o(), f(u, {
213
229
  key: 2,
214
230
  icon: a.mdiAccountCircle,
215
231
  class: "tw-w-3 tw-h-3 tw-text-primary",
216
232
  "data-testid": "header-avatar-icon",
217
233
  style: { display: "var(--user-avatar-legacy-display, inline-block)" }
218
234
  }, null, 8, ["icon"])) : m("", !0),
219
- a.avatarMode === "skeleton" ? (l(), s("span", Q, [
220
- o(v)
235
+ a.avatarMode === "skeleton" ? (o(), s("span", Y, [
236
+ i(h)
221
237
  ])) : m("", !0),
222
- a.avatarMode !== "skeleton" ? (l(), y(D, {
238
+ a.avatarMode !== "skeleton" ? (o(), f(B, {
223
239
  key: 4,
224
240
  class: "tw-w-3 tw-h-3",
225
241
  "data-testid": a.avatarMode === "esi" ? "header-avatar-esi" : null,
226
- style: h(a.avatarMode === "esi" ? { display: "var(--user-avatar-display, block)" } : void 0),
227
- "lender-name": n.lenderName,
228
- "lender-image-url": n.lenderImageUrl,
242
+ style: v(a.avatarMode === "esi" ? { display: "var(--user-avatar-display, block)" } : void 0),
243
+ "lender-name": e.lenderName,
244
+ "lender-image-url": e.lenderImageUrl,
229
245
  "show-css-placeholder": a.avatarMode === "esi",
230
246
  "use-icon-fallback": "",
231
247
  "is-small": ""
232
248
  }, null, 8, ["data-testid", "style", "lender-name", "lender-image-url", "show-css-placeholder"])) : m("", !0)
233
249
  ], 16)
234
250
  ]),
235
- panel: d(({ close: e }) => [
236
- o(S, {
237
- "logged-in": n.loggedIn,
238
- "user-id": n.userId,
239
- "is-borrower": n.isBorrower,
240
- "is-trustee": n.isTrustee,
241
- "trustee-id": n.trusteeId,
242
- "most-recent-borrowed-loan-id": n.mostRecentBorrowedLoanId,
243
- "my-dashboard-url": n.myDashboardUrl,
244
- "is-mobile": n.isMobile,
245
- onClosingMenu: e
251
+ panel: d(({ close: t }) => [
252
+ i(D, {
253
+ "logged-in": e.loggedIn,
254
+ "user-id": e.userId,
255
+ "is-borrower": e.isBorrower,
256
+ "is-trustee": e.isTrustee,
257
+ "trustee-id": e.trusteeId,
258
+ "most-recent-borrowed-loan-id": e.mostRecentBorrowedLoanId,
259
+ "my-dashboard-url": e.myDashboardUrl,
260
+ "is-mobile": e.isMobile,
261
+ onClosingMenu: t
246
262
  }, null, 8, ["logged-in", "user-id", "is-borrower", "is-trustee", "trustee-id", "most-recent-borrowed-loan-id", "my-dashboard-url", "is-mobile", "onClosingMenu"])
247
263
  ]),
248
264
  _: 1
249
265
  })) : m("", !0)
250
266
  ]),
251
- t[17] || (t[17] = i("div", {
267
+ n[17] || (n[17] = l("div", {
252
268
  class: "backdrop",
253
269
  "aria-hidden": "true"
254
270
  }, null, -1))
255
- ], 12, V);
271
+ ], 14, T);
256
272
  }
257
- const ne = /* @__PURE__ */ T(I, [["render", W], ["__scopeId", "data-v-816544c3"]]);
273
+ const oe = /* @__PURE__ */ N(S, [["render", Z], ["__scopeId", "data-v-567c0b22"]]);
258
274
  export {
259
- ne as default
275
+ oe as default
260
276
  };
@@ -60,6 +60,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
60
60
  type: BooleanConstructor;
61
61
  default: boolean;
62
62
  };
63
+ showMajorGiftsExp: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
63
67
  loginUrl: {
64
68
  type: StringConstructor;
65
69
  default: string;
@@ -97,6 +101,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
97
101
  menuTimingVars: any;
98
102
  pointerType: any;
99
103
  mdiAccountCircle: string;
104
+ majorGiftsLink: any;
100
105
  visiblePrimaryLinks: import('vue').ComputedRef<any>;
101
106
  formattedBalance: import('vue').ComputedRef<any>;
102
107
  track: (action: string, label: string) => void;
@@ -164,6 +169,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
164
169
  type: BooleanConstructor;
165
170
  default: boolean;
166
171
  };
172
+ showMajorGiftsExp: {
173
+ type: BooleanConstructor;
174
+ default: boolean;
175
+ };
167
176
  loginUrl: {
168
177
  type: StringConstructor;
169
178
  default: string;
@@ -213,6 +222,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
213
222
  isUserDataLoading: boolean;
214
223
  trusteeId: number;
215
224
  mostRecentBorrowedLoanId: number;
225
+ showMajorGiftsExp: boolean;
216
226
  useEsiAvatar: boolean;
217
227
  }, {}, {
218
228
  KvMaterialIcon: any;
@@ -421,7 +431,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
421
431
  type: BooleanConstructor;
422
432
  default: boolean;
423
433
  };
434
+ showMajorGiftsExp: {
435
+ type: BooleanConstructor;
436
+ default: boolean;
437
+ };
424
438
  }>, {
439
+ majorGiftsLink: any;
425
440
  onClose: () => void;
426
441
  onAboutToggle: ({ open }: {
427
442
  open: boolean;
@@ -440,12 +455,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
440
455
  type: BooleanConstructor;
441
456
  default: boolean;
442
457
  };
458
+ showMajorGiftsExp: {
459
+ type: BooleanConstructor;
460
+ default: boolean;
461
+ };
443
462
  }>> & Readonly<{
444
463
  "onClosing-menu"?: (...args: any[]) => any;
445
464
  }>, {
446
465
  loggedIn: boolean;
447
466
  loginUrl: string;
448
467
  isMobile: boolean;
468
+ showMajorGiftsExp: boolean;
449
469
  }, {}, {
450
470
  KvAccordionItem: any;
451
471
  AboutMenu: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -1,32 +1,32 @@
1
- import { defineAsyncComponent as n, inject as N, shallowRef as b, ref as T, provide as c, computed as i } from "vue";
2
- import { mdiAccountCircle as E, mdiBriefcase as I, mdiChevronDown as S, mdiMenu as A } from "@mdi/js";
3
- import U from "numeral";
4
- import h from "../KvMaterialIcon.js";
5
- import C from "../KvUserAvatar.js";
6
- import K from "../KvLoadingPlaceholder.js";
7
- import _ from "../KvButton.js";
8
- import D from "../KvWwwHeader/KvHeaderLogo.js";
9
- import { PRIMARY_LINKS as R } from "../../utils/headerNavLinks.js";
10
- import { MENU_TIMING_VARS as P } from "../../utils/headerMenuTiming.js";
11
- import { HEADER_MENU_STATE as H, useHeaderMenuState as w } from "../../utils/useHeaderMenuState.js";
12
- import { HEADER_MENU_PLACEMENT as G, useHeaderMenuPlacement as $ } from "../../utils/useHeaderMenuPlacement.js";
13
- import { usePointerType as V } from "../../utils/usePointerType.js";
14
- import j from "./HeaderMenuGroup.js";
15
- import x from "./SearchBar.js";
16
- const O = n(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), Y = n(() => import("./AboutMenu.js")), q = n(() => import("./MyKivaMenu.js")), z = n(() => import("./MobileMenu.js")), se = {
1
+ import { defineAsyncComponent as n, inject as N, shallowRef as T, ref as b, provide as f, computed as i } from "vue";
2
+ import { mdiAccountCircle as I, mdiBriefcase as E, mdiChevronDown as S, mdiMenu as A } from "@mdi/js";
3
+ import h from "numeral";
4
+ import K from "../KvMaterialIcon.js";
5
+ import U from "../KvUserAvatar.js";
6
+ import _ from "../KvLoadingPlaceholder.js";
7
+ import C from "../KvButton.js";
8
+ import R from "../KvWwwHeader/KvHeaderLogo.js";
9
+ import { PRIMARY_LINKS as D, MAJOR_GIFTS_LINK as P } from "../../utils/headerNavLinks.js";
10
+ import { MENU_TIMING_VARS as w } from "../../utils/headerMenuTiming.js";
11
+ import { HEADER_MENU_STATE as G, useHeaderMenuState as H } from "../../utils/useHeaderMenuState.js";
12
+ import { HEADER_MENU_PLACEMENT as j, useHeaderMenuPlacement as $ } from "../../utils/useHeaderMenuPlacement.js";
13
+ import { usePointerType as x } from "../../utils/usePointerType.js";
14
+ import O from "./HeaderMenuGroup.js";
15
+ import V from "./SearchBar.js";
16
+ const F = n(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), J = n(() => import("./AboutMenu.js")), Y = n(() => import("./MyKivaMenu.js")), q = n(() => import("./MobileMenu.js")), fe = {
17
17
  name: "LinkBar",
18
18
  components: {
19
- KvMaterialIcon: h,
20
- KvUserAvatar: C,
21
- KvLoadingPlaceholder: K,
22
- KvButton: _,
23
- KvHeaderLogo: D,
24
- HeaderMenuGroup: j,
25
- SearchBar: x,
26
- KvLendMenu: O,
27
- AboutMenu: Y,
28
- MyKivaMenu: q,
29
- MobileMenu: z
19
+ KvMaterialIcon: K,
20
+ KvUserAvatar: U,
21
+ KvLoadingPlaceholder: _,
22
+ KvButton: C,
23
+ KvHeaderLogo: R,
24
+ HeaderMenuGroup: O,
25
+ SearchBar: V,
26
+ KvLendMenu: F,
27
+ AboutMenu: J,
28
+ MyKivaMenu: Y,
29
+ MobileMenu: q
30
30
  },
31
31
  props: {
32
32
  loggedIn: { type: Boolean, default: !1 },
@@ -43,6 +43,7 @@ const O = n(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), Y = n(() =>
43
43
  isBasketDataLoading: { type: Boolean, default: !1 },
44
44
  useEsiAvatar: { type: Boolean, default: !1 },
45
45
  showMGUpsellLink: { type: Boolean, default: !1 },
46
+ showMajorGiftsExp: { type: Boolean, default: !1 },
46
47
  loginUrl: { type: String, default: "/ui-login" },
47
48
  myDashboardUrl: { type: String, default: "/mykiva" },
48
49
  countriesNotLentToUrl: { type: String, default: "/lend/countries-not-lent" },
@@ -51,14 +52,14 @@ const O = n(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), Y = n(() =>
51
52
  isMobile: { type: Boolean, default: !1 }
52
53
  },
53
54
  emits: ["load-lend-menu-data", "load-search-data", "search-submit", "login-click"],
54
- setup(a, { emit: f }) {
55
+ setup(a, { emit: m }) {
55
56
  const t = N("$kvTrackEvent", () => {
56
- }), r = b(null), l = T(null), { pointerType: u } = V(r);
57
- c(H, w(u)), c(G, $(r));
58
- function m(e, o) {
57
+ }), r = T(null), l = b(null), { pointerType: u } = x(r);
58
+ f(G, H(u)), f(j, $(r));
59
+ function c(e, o) {
59
60
  t("TopNav", e, o);
60
61
  }
61
- const d = i(() => R.filter((e) => e.visibility === "visitor" ? !a.loggedIn : e.visibility === "loggedIn" ? a.loggedIn : !0)), p = i(() => U(Math.floor(a.balance)).format("$0")), g = i(() => a.isUserDataLoading ? a.useEsiAvatar ? "esi" : "skeleton" : "loaded");
62
+ const d = i(() => D.filter((e) => e.visibility === "visitor" ? !a.loggedIn : e.visibility === "loggedIn" ? a.loggedIn : !0)), p = i(() => h(Math.floor(a.balance)).format("$0")), g = i(() => a.isUserDataLoading ? a.useEsiAvatar ? "esi" : "skeleton" : "loaded");
62
63
  function y(e) {
63
64
  var o, s;
64
65
  (s = (o = l.value) == null ? void 0 : o.onLoad) == null || s.call(o, e);
@@ -67,39 +68,40 @@ const O = n(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), Y = n(() =>
67
68
  t(e.track[0], e.track[1]);
68
69
  }
69
70
  function k(e) {
70
- t("TopNav", "click-Log-in"), f("login-click", e);
71
+ t("TopNav", "click-Log-in"), m("login-click", e);
71
72
  }
72
73
  function M() {
73
74
  t("TopNav", "click-Basket");
74
75
  }
75
- function B() {
76
+ function L() {
76
77
  t("TopNav", "click-Support-Kiva");
77
78
  }
78
- function L() {
79
+ function B() {
79
80
  t("TopNav", "click-Logo");
80
81
  }
81
82
  return {
82
83
  mdiMenu: A,
83
84
  mdiChevronDown: S,
84
- mdiBriefcase: I,
85
+ mdiBriefcase: E,
85
86
  rootRef: r,
86
87
  lendMenuInstance: l,
87
- menuTimingVars: P,
88
+ menuTimingVars: w,
88
89
  pointerType: u,
89
- mdiAccountCircle: E,
90
+ mdiAccountCircle: I,
91
+ majorGiftsLink: P,
90
92
  visiblePrimaryLinks: d,
91
93
  formattedBalance: p,
92
- track: m,
94
+ track: c,
93
95
  loadMenuData: y,
94
96
  avatarMode: g,
95
97
  onPrimaryClick: v,
96
98
  onLoginClick: k,
97
99
  onBasketClick: M,
98
- onSupportKivaClick: B,
99
- onLogoClick: L
100
+ onSupportKivaClick: L,
101
+ onLogoClick: B
100
102
  };
101
103
  }
102
104
  };
103
105
  export {
104
- se as default
106
+ fe as default
105
107
  };
@@ -1 +1 @@
1
- .mobile-link[data-v-c05b6085]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-c05b6085]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:underline}#header-basic-mobile-about-container[data-v-c05b6085] button{padding-top:0;padding-bottom:0}#header-basic-mobile-about-container[data-v-c05b6085] nav{padding-bottom:0}
1
+ .mobile-link[data-v-25fdcfb3]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-25fdcfb3]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:underline}#header-basic-mobile-about-container[data-v-25fdcfb3] button{padding-top:0;padding-bottom:0}#header-basic-mobile-about-container[data-v-25fdcfb3] nav{padding-bottom:0}.about-accordion[data-v-25fdcfb3] nav{margin-top:.75rem}.about-accordion[data-v-25fdcfb3] nav a{margin-left:1rem}
@@ -1,53 +1,59 @@
1
- import c from "./MobileMenu2.js";
2
- import { resolveComponent as i, openBlock as m, createElementBlock as d, createVNode as l, withCtx as r, createElementVNode as e } from "vue";
1
+ import k from "./MobileMenu2.js";
2
+ import { resolveComponent as l, openBlock as r, createElementBlock as a, createVNode as s, withCtx as c, createElementVNode as e, toDisplayString as m, createCommentVNode as f } from "vue";
3
3
  import "./MobileMenu.css";
4
- import w from "../../_virtual/_plugin-vue_export-helper.js";
5
- const b = {
4
+ import b from "../../_virtual/_plugin-vue_export-helper.js";
5
+ const u = {
6
6
  id: "header-basic-mobile-about-container",
7
7
  class: "tw-flex tw-flex-col tw-items-stretch tw-font-medium tw-p-2.5 md:tw-hidden"
8
- }, u = {
8
+ }, p = {
9
9
  "aria-label": "Mobile menu",
10
- class: "tw-flex tw-flex-col tw-gap-2 tw-pt-1.5"
11
- };
12
- function p(k, o, f, t, _, v) {
13
- const a = i("about-menu"), s = i("kv-accordion-item");
14
- return m(), d("div", b, [
15
- l(s, {
10
+ class: "tw-flex tw-flex-col tw-gap-3 tw-pt-2.5"
11
+ }, x = ["href"];
12
+ function v(C, t, n, o, _, g) {
13
+ const w = l("about-menu"), d = l("kv-accordion-item");
14
+ return r(), a("div", u, [
15
+ s(d, {
16
16
  id: "kv-www-header-basic-about",
17
- class: "tw-w-full tw-border-b-0",
18
- onToggle: t.onAboutToggle
17
+ class: "about-accordion tw-w-full tw-border-b-0",
18
+ onToggle: o.onAboutToggle
19
19
  }, {
20
- header: r(() => o[3] || (o[3] = [
21
- e("span", { class: "tw-text-button tw-pb-0.5" }, " About ", -1)
20
+ header: c(() => t[4] || (t[4] = [
21
+ e("span", { class: "tw-text-title tw-pb-0.5" }, " About ", -1)
22
22
  ])),
23
- default: r(() => [
24
- l(a, {
23
+ default: c(() => [
24
+ s(w, {
25
25
  "is-mobile": "",
26
- onClosingMenu: t.onClose
26
+ onClosingMenu: o.onClose
27
27
  }, null, 8, ["onClosingMenu"])
28
28
  ]),
29
29
  _: 1
30
30
  }, 8, ["onToggle"]),
31
- e("nav", u, [
31
+ e("nav", p, [
32
32
  e("a", {
33
33
  href: "/about/partner-with-us",
34
- class: "mobile-link",
35
- onClick: o[0] || (o[0] = (n) => t.onLinkClick("click-Partner"))
34
+ class: "mobile-link tw-text-title",
35
+ onClick: t[0] || (t[0] = (i) => o.onLinkClick("click-Partner"))
36
36
  }, "Partner with us"),
37
37
  e("a", {
38
38
  href: "/donate/supportus",
39
- class: "mobile-link",
40
- onClick: o[1] || (o[1] = (n) => t.onLinkClick("click-Support-Kiva"))
41
- }, "Support Kiva"),
39
+ class: "mobile-link tw-text-title",
40
+ onClick: t[1] || (t[1] = (i) => o.onLinkClick("click-Support-Kiva"))
41
+ }, m(n.showMajorGiftsExp ? "Give" : "Support Kiva"), 1),
42
+ n.showMajorGiftsExp ? (r(), a("a", {
43
+ key: 0,
44
+ href: o.majorGiftsLink.href,
45
+ class: "mobile-link tw-text-title",
46
+ onClick: t[2] || (t[2] = (i) => o.onLinkClick(o.majorGiftsLink.track[1]))
47
+ }, m(o.majorGiftsLink.label), 9, x)) : f("", !0),
42
48
  e("a", {
43
49
  href: "/borrow",
44
- class: "mobile-link",
45
- onClick: o[2] || (o[2] = (n) => t.onLinkClick("click-Borrow"))
50
+ class: "mobile-link tw-text-title",
51
+ onClick: t[3] || (t[3] = (i) => o.onLinkClick("click-Borrow"))
46
52
  }, "Borrow")
47
53
  ])
48
54
  ]);
49
55
  }
50
- const M = /* @__PURE__ */ w(c, [["render", p], ["__scopeId", "data-v-c05b6085"]]);
56
+ const j = /* @__PURE__ */ b(k, [["render", v], ["__scopeId", "data-v-25fdcfb3"]]);
51
57
  export {
52
- M as default
58
+ j as default
53
59
  };
@@ -11,7 +11,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
11
11
  type: BooleanConstructor;
12
12
  default: boolean;
13
13
  };
14
+ showMajorGiftsExp: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
14
18
  }>, {
19
+ majorGiftsLink: any;
15
20
  onClose: () => void;
16
21
  onAboutToggle: ({ open }: {
17
22
  open: boolean;
@@ -30,12 +35,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
30
35
  type: BooleanConstructor;
31
36
  default: boolean;
32
37
  };
38
+ showMajorGiftsExp: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
33
42
  }>> & Readonly<{
34
43
  "onClosing-menu"?: (...args: any[]) => any;
35
44
  }>, {
36
45
  loggedIn: boolean;
37
46
  loginUrl: string;
38
47
  isMobile: boolean;
48
+ showMajorGiftsExp: boolean;
39
49
  }, {}, {
40
50
  KvAccordionItem: any;
41
51
  AboutMenu: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -1,9 +1,10 @@
1
- import { inject as u } from "vue";
2
- import r from "../KvAccordionItem.js";
3
- import c from "./AboutMenu.js";
4
- const m = {
1
+ import { inject as r } from "vue";
2
+ import u from "../KvAccordionItem.js";
3
+ import { MAJOR_GIFTS_LINK as a } from "../../utils/headerNavLinks.js";
4
+ import s from "./AboutMenu.js";
5
+ const v = {
5
6
  name: "MobileMenu",
6
- components: { KvAccordionItem: r, AboutMenu: c },
7
+ components: { KvAccordionItem: u, AboutMenu: s },
7
8
  props: {
8
9
  loggedIn: {
9
10
  type: Boolean,
@@ -16,11 +17,15 @@ const m = {
16
17
  isMobile: {
17
18
  type: Boolean,
18
19
  default: !1
20
+ },
21
+ showMajorGiftsExp: {
22
+ type: Boolean,
23
+ default: !1
19
24
  }
20
25
  },
21
26
  emits: ["closing-menu"],
22
- setup(s, { emit: n }) {
23
- const e = u("$kvTrackEvent", () => {
27
+ setup(f, { emit: n }) {
28
+ const e = r("$kvTrackEvent", () => {
24
29
  });
25
30
  function t() {
26
31
  n("closing-menu");
@@ -31,9 +36,14 @@ const m = {
31
36
  function l(o) {
32
37
  e("TopNav", o), n("closing-menu");
33
38
  }
34
- return { onClose: t, onAboutToggle: i, onLinkClick: l };
39
+ return {
40
+ majorGiftsLink: a,
41
+ onClose: t,
42
+ onAboutToggle: i,
43
+ onLinkClick: l
44
+ };
35
45
  }
36
46
  };
37
47
  export {
38
- m as default
48
+ v as default
39
49
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiva/kv-components",
3
- "version": "10.0.0",
3
+ "version": "10.1.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -112,5 +112,5 @@
112
112
  "dependencies": {
113
113
  "fuse.js": "^7.1.0"
114
114
  },
115
- "gitHead": "9d71c196ea2984bc7070275550eb2edecec9df7f"
115
+ "gitHead": "4e44805e54041df4d0b3e5a0eb5d1ae377c670c5"
116
116
  }