@kiva/kv-components 9.1.0 → 9.1.1

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.
Files changed (34) hide show
  1. package/dist/utils/headerMenuTiming.d.ts +6 -0
  2. package/dist/utils/headerMenuTiming.js +9 -0
  3. package/dist/utils/useHeaderMenuGroup.d.ts +27 -0
  4. package/dist/utils/useHeaderMenuGroup.js +68 -0
  5. package/dist/utils/useHeaderMenuPlacement.d.ts +6 -0
  6. package/dist/utils/useHeaderMenuPlacement.js +30 -0
  7. package/dist/utils/useHeaderMenuState.d.ts +10 -0
  8. package/dist/utils/useHeaderMenuState.js +21 -0
  9. package/dist/utils/useHoverIntent.d.ts +5 -0
  10. package/dist/utils/useHoverIntent.js +17 -0
  11. package/dist/utils/useOutsidePointerDown.d.ts +2 -0
  12. package/dist/utils/useOutsidePointerDown.js +19 -0
  13. package/dist/utils/usePointerType.d.ts +5 -0
  14. package/dist/utils/usePointerType.js +19 -0
  15. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup.css +1 -0
  16. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup.js +35 -0
  17. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup.vue.d.ts +25 -0
  18. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup2.js +37 -0
  19. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.css +1 -1
  20. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.js +29 -75
  21. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic2.js +37 -92
  22. package/dist/vue/KvWwwHeaderBasic/LinkBar.css +1 -1
  23. package/dist/vue/KvWwwHeaderBasic/LinkBar.js +206 -132
  24. package/dist/vue/KvWwwHeaderBasic/LinkBar.vue.d.ts +226 -185
  25. package/dist/vue/KvWwwHeaderBasic/LinkBar2.js +69 -96
  26. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.vue.d.ts +9 -1
  27. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.js +12 -11
  28. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.vue.d.ts +9 -1
  29. package/dist/vue/KvWwwHeaderBasic/SearchBar.js +12 -12
  30. package/dist/vue/KvWwwHeaderBasic/SearchBar.vue.d.ts +9 -1
  31. package/dist/vue/KvWwwHeaderBasic/SearchBar2.js +49 -43
  32. package/package.json +3 -4
  33. package/dist/utils/useHeaderBasicMenuState.d.ts +0 -3197
  34. package/dist/utils/useHeaderBasicMenuState.js +0 -30
@@ -1,11 +1,10 @@
1
- import { ref as o, computed as s, watch as D, nextTick as P, onMounted as K, onBeforeUnmount as $ } from "vue";
2
- import { gql as G } from "@apollo/client/core";
3
- import W from "../KvThemeProvider.js";
4
- import z from "../KvPageContainer.js";
5
- import { useBreakpoints as Q } from "../../utils/useBreakpoints.js";
6
- import { useHeaderBasicMenuState as V } from "../../utils/useHeaderBasicMenuState.js";
7
- import X from "./LinkBar.js";
8
- const S = "4rem", Y = G`
1
+ import { ref as o, computed as S, onMounted as h } from "vue";
2
+ import { gql as b } from "@apollo/client/core";
3
+ import v from "../KvThemeProvider.js";
4
+ import B from "../KvPageContainer.js";
5
+ import { useBreakpoints as w } from "../../utils/useBreakpoints.js";
6
+ import k from "./LinkBar.js";
7
+ const N = "4rem", I = b`
9
8
  query loanSearchSuggestions {
10
9
  lend {
11
10
  loanSearchSuggestions {
@@ -15,12 +14,12 @@ const S = "4rem", Y = G`
15
14
  }
16
15
  }
17
16
  }
18
- `, oe = {
17
+ `, _ = {
19
18
  name: "KvWwwHeaderBasic",
20
19
  components: {
21
- KvThemeProvider: W,
22
- KvPageContainer: z,
23
- LinkBar: X
20
+ KvThemeProvider: v,
21
+ KvPageContainer: B,
22
+ LinkBar: k
24
23
  },
25
24
  props: {
26
25
  loggedIn: { type: Boolean, default: !1 },
@@ -45,96 +44,42 @@ const S = "4rem", Y = G`
45
44
  mostRecentBorrowedLoanId: { type: Number, default: null }
46
45
  },
47
46
  emits: ["load-lend-menu-data", "load-search-data", "search-submit", "login-click"],
48
- setup(d, { emit: M }) {
49
- const { isMobile: B, checkIsMobile: k } = Q(), {
50
- menuOpen: I,
51
- menuComponent: A,
52
- menuItem: N,
53
- menuPosition: v,
54
- setMenu: f,
55
- markMounted: O,
56
- pinMenuOpen: H
57
- } = V(), l = o(null), w = o(null), r = o(null), y = o(S), c = o(null), L = o(!0), b = o(d.appOrigin);
58
- let u = null;
59
- const m = o([]);
60
- let p = !1;
61
- const U = s(
62
- () => m.value.length ? m.value : d.searchSuggestions
63
- ), g = s(() => {
64
- var t, e;
65
- return ((e = (t = l.value) == null ? void 0 : t.$options) == null ? void 0 : e.name) === "MobileMenu";
66
- }), h = s(() => {
67
- var t, e;
68
- return ((e = (t = l.value) == null ? void 0 : t.$options) == null ? void 0 : e.name) === "MyKivaMenu";
69
- }), q = s(() => {
70
- var t, e;
71
- return ((e = (t = l.value) == null ? void 0 : t.$options) == null ? void 0 : e.name) === "AboutMenu";
72
- }), C = s(() => g.value ? "tw-w-full tw-min-h-dvh tw-rounded-none" : h.value ? "tw-w-auto tw-rounded-b tw-border tw-border-t-0 tw-border-tertiary" : q.value ? "tw-w-full md:tw-w-auto tw-rounded-none !tw-rounded-b md:tw-border md:tw-border-t-0 md:tw-border-tertiary" : "tw-w-full md:tw-w-auto tw-rounded-none !md:tw-rounded-b");
73
- function E(t, e, n, i = null) {
74
- c.value = i, f(t, e, n);
47
+ setup(n) {
48
+ const { isMobile: d, checkIsMobile: f } = w(), i = o(null), p = o(!0), s = o(n.appOrigin), l = o([]);
49
+ let r = !1;
50
+ const g = S(
51
+ () => l.value.length ? l.value : n.searchSuggestions
52
+ );
53
+ function c(u) {
54
+ var e, t;
55
+ (t = (e = i.value) == null ? void 0 : e.loadMenuData) == null || t.call(e, u);
75
56
  }
76
- D(h, async (t) => {
77
- if (!t || c.value == null) return;
78
- await P();
79
- const e = w.value;
80
- if (!e) return;
81
- const n = e.offsetWidth, i = c.value, a = Math.max(0, window.innerWidth - (i + n / 2));
82
- v.value = { right: `${a}px`, position: "absolute" };
83
- });
84
- function R() {
85
- M("load-lend-menu-data");
86
- }
87
- function T(t) {
88
- var e, n;
89
- (n = (e = l.value) == null ? void 0 : e.onLoad) == null || n.call(e, t);
90
- }
91
- async function _(t) {
57
+ async function m(u) {
92
58
  var e;
93
- if (!p) {
94
- p = !0;
59
+ if (!r) {
60
+ r = !0;
95
61
  try {
96
- const { data: n } = await t.query({ query: Y }), i = ((e = n == null ? void 0 : n.lend) == null ? void 0 : e.loanSearchSuggestions) ?? [];
97
- m.value = i.filter((a) => !!a).map((a) => ({ group: a.group ?? "", label: a.label ?? "", query: a.query ?? void 0 }));
62
+ 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 }));
98
64
  } catch {
99
- p = !1;
65
+ r = !1;
100
66
  }
101
67
  }
102
68
  }
103
- function x() {
104
- g.value || f();
105
- }
106
- return K(() => {
107
- !d.appOrigin && typeof window < "u" && (b.value = window.location.origin), k(), O(), r.value && typeof ResizeObserver < "u" && (u = new ResizeObserver(() => {
108
- r.value && (y.value = `${r.value.offsetHeight}px`);
109
- }), u.observe(r.value));
110
- }), $(() => {
111
- u == null || u.disconnect(), u = null;
69
+ return h(() => {
70
+ !n.appOrigin && typeof window < "u" && (s.value = window.location.origin), f();
112
71
  }), {
113
- MIN_HEADER_HEIGHT: S,
114
- navHeight: y,
115
- navRef: r,
116
- linksVisible: L,
117
- resolvedAppOrigin: b,
118
- effectiveSuggestions: U,
119
- isMobile: B,
120
- menuOpen: I,
121
- menuComponent: A,
122
- menuItem: N,
123
- menuPosition: v,
124
- isMobileMenuActive: g,
125
- menuPanelClass: C,
126
- menuComponentInstance: l,
127
- menuPanelRef: w,
128
- pinMenuOpen: H,
129
- setMenu: f,
130
- onItemHover: E,
131
- handleOverlayClick: x,
132
- emitLendMenuEvent: R,
133
- loadMenuData: T,
134
- loadSearchSuggestions: _
72
+ MIN_HEADER_HEIGHT: N,
73
+ linkBarRef: i,
74
+ linksVisible: p,
75
+ resolvedAppOrigin: s,
76
+ effectiveSuggestions: g,
77
+ isMobile: d,
78
+ loadMenuData: c,
79
+ loadSearchSuggestions: m
135
80
  };
136
81
  }
137
82
  };
138
83
  export {
139
- oe as default
84
+ _ as default
140
85
  };
@@ -1 +1 @@
1
- .link-bar[data-v-2b7a1e93]{display:flex;align-items:center;gap:.5rem}.link-bar__logo[data-v-2b7a1e93]{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-2b7a1e93]{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-2b7a1e93]{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-2b7a1e93]{grid-area:lend}.link-bar__search[data-v-2b7a1e93]{grid-area:search;margin-bottom:.5rem}.link-bar__right[data-v-2b7a1e93]{grid-area:right}}@media(min-width:64rem){.link-bar[data-v-2b7a1e93]{-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-2b7a1e93]{margin-bottom:0}}.header-link[data-v-2b7a1e93]{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-2b7a1e93]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}.link-bar__basket-count-loader[data-v-2b7a1e93]{width:1.5ch;height:1.375em;height:1lh}
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,186 +1,260 @@
1
- import x from "./LinkBar2.js";
2
- import { resolveComponent as d, openBlock as o, createElementBlock as i, createElementVNode as l, withModifiers as b, createVNode as r, withCtx as k, createTextVNode as w, Fragment as y, renderList as L, toDisplayString as m, createCommentVNode as s, withDirectives as B, normalizeStyle as u, vShow as O, createBlock as f } from "vue";
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";
3
3
  import "./LinkBar.css";
4
- import S from "../../_virtual/_plugin-vue_export-helper.js";
5
- const T = { 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" }, D = ["href", "data-testid", "onClick"], U = ["href"], H = { class: "tw-hidden md:tw-flex tw-items-center" }, A = { 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" }, I = {
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 = {
6
6
  key: 0,
7
7
  class: "link-bar__basket-count-loader",
8
8
  "data-testid": "header-basket-skeleton"
9
- }, K = { class: "tw-relative tw-flex md:tw-hidden tw-items-center tw-text-eco-green-4" }, N = {
9
+ }, F = { class: "tw-relative tw-flex md:tw-hidden tw-items-center tw-text-eco-green-4" }, G = {
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
- }, E = { class: "tw-hidden md:tw-block" }, P = {
12
+ }, q = { class: "tw-hidden md:tw-block" }, H = {
13
13
  key: 0,
14
- class: "tw-w-4 tw-h-3"
15
- }, V = {
14
+ class: "tw-block tw-w-4 tw-h-3"
15
+ }, J = {
16
16
  key: 1,
17
17
  class: "tw-text-eco-green-4"
18
- }, j = {
18
+ }, Q = {
19
19
  key: 3,
20
- class: "tw-w-3 tw-h-3 tw-rounded-full tw-overflow-hidden",
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 X(h, t, a, e, z, F) {
24
- const v = d("kv-material-icon"), _ = d("kv-header-logo"), g = d("kv-header-dropdown-link"), M = d("search-bar"), c = d("kv-loading-placeholder"), C = d("kv-button"), p = d("kv-user-avatar");
25
- return o(), i("div", {
26
- class: "link-bar tw-min-h-[4rem] tw-font-medium tw-relative",
27
- onTouchstart: t[12] || (t[12] = (...n) => e.handleEmptySpaceClick && e.handleEmptySpaceClick(...n))
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", {
26
+ ref: "rootRef",
27
+ class: "link-bar tw-min-h-[4rem] tw-font-medium",
28
+ style: h(a.menuTimingVars),
29
+ "data-pointer": a.pointerType
28
30
  }, [
29
- l("button", {
30
- type: "button",
31
- "aria-label": "Open menu",
32
- class: "header-link link-bar__hamburger tw-inline-flex md:tw-hidden",
33
- onMouseover: t[0] || (t[0] = (n) => e.handleOnHover("menuButton", e.MobileMenu)),
34
- onTouchstart: t[1] || (t[1] = b((n) => e.handleTouchStart("menuButton", e.MobileMenu), ["stop", "prevent"]))
35
- }, [
36
- r(v, { icon: e.mdiMenu }, null, 8, ["icon"])
37
- ], 32),
38
- l("a", {
31
+ o(c, {
32
+ class: "md:tw-hidden",
33
+ "panel-id": "header-basic-menu-drawer",
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"))
37
+ }, {
38
+ default: d(({ trigger: e }) => [
39
+ i("button", k(e, {
40
+ type: "button",
41
+ "aria-label": "Open menu",
42
+ class: "header-link menu-trigger link-bar__hamburger tw-inline-flex tw-p-0"
43
+ }), [
44
+ o(w, { icon: a.mdiMenu }, null, 8, ["icon"])
45
+ ], 16)
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"])
54
+ ]),
55
+ _: 1
56
+ }),
57
+ i("a", {
39
58
  href: "/",
40
59
  "aria-label": "Kiva home",
41
60
  class: "link-bar__logo tw-px-1 tw-py-2 tw-cursor-pointer",
42
- onClick: t[2] || (t[2] = (...n) => e.onLogoClick && e.onLogoClick(...n))
61
+ onClick: t[2] || (t[2] = (...e) => a.onLogoClick && a.onLogoClick(...e))
43
62
  }, [
44
- r(_)
63
+ o(L)
45
64
  ]),
46
- r(g, {
65
+ o(c, {
47
66
  class: "link-bar__lend",
48
- "ref-name": "lendButton",
49
- href: e.lendUrl,
50
- "menu-component": e.KvLendMenu,
51
- "open-menu-item": e.lendOpenItem,
52
- "dropdown-icon": e.mdiChevronDown,
53
- "base-class": "tw-py-1",
54
- onOnHover: e.handleOnHover,
55
- onMouseleave: t[3] || (t[3] = (n) => e.handleMouseOut("lendButton")),
56
- onUserTap: e.handleTouchStart
67
+ "panel-id": "header-basic-menu-lend",
68
+ variant: "full",
69
+ onOpen: t[6] || (t[6] = (e) => a.track("hover-Lend-menu", "Lend"))
57
70
  }, {
58
- default: k(() => t[13] || (t[13] = [
59
- w(" Lend ")
60
- ])),
71
+ default: d(({ trigger: e, toggle: _ }) => [
72
+ i("a", {
73
+ href: "/lend-by-category",
74
+ class: "header-link tw-py-1",
75
+ onClick: _
76
+ }, "Lend", 8, A),
77
+ i("button", k(e, {
78
+ type: "button",
79
+ "aria-label": "Lend menu",
80
+ 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
+ o(w, {
83
+ class: "chevron tw-w-3",
84
+ icon: a.mdiChevronDown
85
+ }, null, 8, ["icon"])
86
+ ], 16)
87
+ ]),
88
+ panel: d(() => [
89
+ o(M, {
90
+ ref: "lendMenuInstance",
91
+ "user-id": n.userId,
92
+ "show-m-g-upsell-link": n.showMGUpsellLink,
93
+ "countries-not-lent-to-url": n.countriesNotLentToUrl,
94
+ "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))
100
+ }, null, 8, ["user-id", "show-m-g-upsell-link", "countries-not-lent-to-url", "search-suggestions", "app-origin"])
101
+ ]),
61
102
  _: 1
62
- }, 8, ["href", "menu-component", "open-menu-item", "dropdown-icon", "onOnHover", "onUserTap"]),
63
- r(M, {
103
+ }),
104
+ o(p, {
64
105
  class: "link-bar__search tw-min-w-0 tw-hidden md:tw-block",
65
- "search-suggestions": a.searchSuggestions,
66
- "app-origin": a.appOrigin,
67
- "is-mobile": a.isMobile,
68
- onLoadSearchData: t[4] || (t[4] = (n) => h.$emit("load-search-data")),
69
- onSearchSubmit: t[5] || (t[5] = (n) => h.$emit("search-submit", n))
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))
70
111
  }, null, 8, ["search-suggestions", "app-origin", "is-mobile"]),
71
- l("div", T, [
72
- (o(!0), i(y, null, L(e.visiblePrimaryLinks, (n) => (o(), i("a", {
73
- key: n.id,
74
- href: n.href,
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,
75
116
  class: "header-link tw-hidden md:tw-block",
76
- "data-testid": `header-link-${n.id}`,
77
- onClick: (q) => e.onPrimaryClick(n)
78
- }, m(n.label), 9, D))), 128)),
79
- r(g, {
80
- "ref-name": "aboutLink",
81
- class: "tw-hidden md:tw-block",
82
- "menu-component": e.AboutMenu,
83
- "open-menu-item": e.aboutOpenItem,
84
- "dropdown-icon": e.mdiChevronDown,
85
- "base-class": "tw-py-1",
86
- "send-link-position": "",
87
- onOnHover: e.handleOnHover,
88
- onMouseleave: t[6] || (t[6] = (n) => e.handleMouseOut("aboutLink")),
89
- onUserTap: e.handleTouchStart
117
+ "data-testid": `header-link-${e.id}`,
118
+ onClick: (_) => a.onPrimaryClick(e)
119
+ }, g(e.label), 9, j))), 128)),
120
+ o(c, {
121
+ class: "tw-hidden md:tw-flex",
122
+ "panel-id": "header-basic-menu-about",
123
+ variant: "card",
124
+ onOpen: t[9] || (t[9] = (e) => a.track("hover-About-menu", "About"))
90
125
  }, {
91
- default: k(() => t[14] || (t[14] = [
92
- w(" About ")
93
- ])),
126
+ default: d(({ trigger: e }) => [
127
+ i("button", k(e, {
128
+ type: "button",
129
+ class: "header-link menu-trigger tw-p-0 tw-py-1 tw-flex tw-items-center"
130
+ }), [
131
+ t[13] || (t[13] = b(" About ")),
132
+ o(w, {
133
+ class: "chevron tw-inline tw-w-3 tw-ml-0.5",
134
+ icon: a.mdiChevronDown
135
+ }, null, 8, ["icon"])
136
+ ], 16)
137
+ ]),
138
+ panel: d(({ close: e }) => [
139
+ o(x, {
140
+ "is-mobile": n.isMobile,
141
+ onClosingMenu: e
142
+ }, null, 8, ["is-mobile", "onClosingMenu"])
143
+ ]),
94
144
  _: 1
95
- }, 8, ["menu-component", "open-menu-item", "dropdown-icon", "onOnHover", "onUserTap"]),
96
- a.loggedIn ? s("", !0) : (o(), i("a", {
145
+ }),
146
+ n.loggedIn ? m("", !0) : (l(), s("a", {
97
147
  key: 0,
98
- href: a.loginUrl,
148
+ href: n.loginUrl,
99
149
  class: "header-link",
100
150
  "data-testid": "header-login",
101
- onClick: t[7] || (t[7] = (...n) => e.onLoginClick && e.onLoginClick(...n))
102
- }, "Log in", 8, U)),
103
- B(l("a", {
104
- style: u(a.isBasketDataLoading ? { display: "var(--basket-display, flex)" } : void 0),
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),
105
155
  href: "/basket",
106
156
  class: "header-link tw-flex tw-items-center",
107
157
  "data-testid": "header-basket",
108
- onClick: t[8] || (t[8] = (...n) => e.onBasketClick && e.onBasketClick(...n))
158
+ onClick: t[11] || (t[11] = (...e) => a.onBasketClick && a.onBasketClick(...e))
109
159
  }, [
110
- l("span", H, [
111
- l("span", A, [
112
- a.isBasketDataLoading ? (o(), i("span", I, [
113
- r(c)
114
- ])) : (o(), i(y, { key: 1 }, [
115
- w(m(a.basketCount), 1)
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)
116
166
  ], 64))
117
167
  ]),
118
- t[15] || (t[15] = w(" Basket "))
168
+ t[14] || (t[14] = b(" Basket "))
119
169
  ]),
120
- l("span", K, [
121
- a.isBasketDataLoading ? s("", !0) : (o(), i("span", N, m(a.basketCount), 1)),
122
- r(v, {
123
- icon: e.mdiBriefcase,
170
+ i("span", F, [
171
+ n.isBasketDataLoading ? m("", !0) : (l(), s("span", G, g(n.basketCount), 1)),
172
+ o(w, {
173
+ icon: a.mdiBriefcase,
124
174
  class: "tw-w-4 tw-h-4 tw-pointer-events-none"
125
175
  }, null, 8, ["icon"]),
126
- t[16] || (t[16] = l("span", { class: "tw-sr-only" }, "Basket", -1))
176
+ t[15] || (t[15] = i("span", { class: "tw-sr-only" }, "Basket", -1))
127
177
  ])
128
178
  ], 4), [
129
- [O, a.basketCount > 0 || a.isBasketDataLoading]
179
+ [N, n.basketCount > 0 || n.isBasketDataLoading]
130
180
  ]),
131
- l("div", E, [
132
- r(C, {
181
+ i("div", q, [
182
+ o(B, {
133
183
  variant: "secondary",
134
184
  href: "/donate/supportus",
135
185
  class: "tw-whitespace-nowrap",
136
186
  "data-testid": "header-support-kiva",
137
- onClick: e.onSupportKivaClick
187
+ onClick: a.onSupportKivaClick
138
188
  }, {
139
- default: k(() => t[17] || (t[17] = [
140
- w(" Support Kiva ")
189
+ default: d(() => t[16] || (t[16] = [
190
+ b(" Support Kiva ")
141
191
  ])),
142
192
  _: 1
143
193
  }, 8, ["onClick"])
144
194
  ]),
145
- a.loggedIn ? (o(), i("div", {
195
+ n.loggedIn ? (l(), y(c, {
146
196
  key: 1,
147
- ref: "avatarMenu",
148
- "data-testid": "header-avatar-menu",
149
- class: "tw-flex tw-items-center tw-gap-1 tw-cursor-pointer tw-py-1",
150
- style: u(a.isUserDataLoading ? { display: "var(--user-loading-display, flex)" } : void 0),
151
- onMouseenter: t[9] || (t[9] = (n) => e.handleOnHover("avatarMenu", e.MyKivaMenu, e.getAvatarMenuPosition(), e.getAvatarTriggerCenterX())),
152
- onMouseleave: t[10] || (t[10] = (n) => e.handleMouseOut("avatarMenu")),
153
- onTouchstart: t[11] || (t[11] = b((n) => e.handleTouchStart("avatarMenu", e.MyKivaMenu, e.getAvatarMenuPosition(), e.getAvatarTriggerCenterX()), ["stop"]))
154
- }, [
155
- a.isUserDataLoading ? (o(), i("div", P, [
156
- r(c)
157
- ])) : (o(), i("span", V, m(e.formattedBalance), 1)),
158
- e.avatarMode === "esi" ? (o(), f(v, {
159
- key: 2,
160
- icon: e.mdiAccountCircle,
161
- class: "tw-w-3 tw-h-3 tw-text-primary",
162
- "data-testid": "header-avatar-icon",
163
- style: { display: "var(--user-avatar-legacy-display, inline-block)" }
164
- }, null, 8, ["icon"])) : s("", !0),
165
- e.avatarMode === "skeleton" ? (o(), i("div", j, [
166
- r(c)
167
- ])) : s("", !0),
168
- e.avatarMode !== "skeleton" ? (o(), f(p, {
169
- key: 4,
170
- class: "tw-w-3 tw-h-3",
171
- "data-testid": e.avatarMode === "esi" ? "header-avatar-esi" : null,
172
- style: u(e.avatarMode === "esi" ? { display: "var(--user-avatar-display, block)" } : void 0),
173
- "lender-name": a.lenderName,
174
- "lender-image-url": a.lenderImageUrl,
175
- "show-css-placeholder": e.avatarMode === "esi",
176
- "use-icon-fallback": "",
177
- "is-small": ""
178
- }, null, 8, ["data-testid", "style", "lender-name", "lender-image-url", "show-css-placeholder"])) : s("", !0)
179
- ], 36)) : s("", !0)
180
- ])
181
- ], 32);
197
+ "panel-id": "header-basic-menu-my-kiva",
198
+ variant: "card",
199
+ onOpen: t[12] || (t[12] = (e) => a.track("hover-User-menu", "User"))
200
+ }, {
201
+ default: d(({ trigger: e }) => [
202
+ i("button", k(e, {
203
+ type: "button",
204
+ "aria-label": "My Kiva menu",
205
+ "data-testid": "header-avatar-menu",
206
+ 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
208
+ }), [
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, {
213
+ key: 2,
214
+ icon: a.mdiAccountCircle,
215
+ class: "tw-w-3 tw-h-3 tw-text-primary",
216
+ "data-testid": "header-avatar-icon",
217
+ style: { display: "var(--user-avatar-legacy-display, inline-block)" }
218
+ }, null, 8, ["icon"])) : m("", !0),
219
+ a.avatarMode === "skeleton" ? (l(), s("span", Q, [
220
+ o(v)
221
+ ])) : m("", !0),
222
+ a.avatarMode !== "skeleton" ? (l(), y(D, {
223
+ key: 4,
224
+ class: "tw-w-3 tw-h-3",
225
+ "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,
229
+ "show-css-placeholder": a.avatarMode === "esi",
230
+ "use-icon-fallback": "",
231
+ "is-small": ""
232
+ }, null, 8, ["data-testid", "style", "lender-name", "lender-image-url", "show-css-placeholder"])) : m("", !0)
233
+ ], 16)
234
+ ]),
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
246
+ }, null, 8, ["logged-in", "user-id", "is-borrower", "is-trustee", "trustee-id", "most-recent-borrowed-loan-id", "my-dashboard-url", "is-mobile", "onClosingMenu"])
247
+ ]),
248
+ _: 1
249
+ })) : m("", !0)
250
+ ]),
251
+ t[17] || (t[17] = i("div", {
252
+ class: "backdrop",
253
+ "aria-hidden": "true"
254
+ }, null, -1))
255
+ ], 12, V);
182
256
  }
183
- const W = /* @__PURE__ */ S(x, [["render", X], ["__scopeId", "data-v-2b7a1e93"]]);
257
+ const ne = /* @__PURE__ */ T(I, [["render", W], ["__scopeId", "data-v-816544c3"]]);
184
258
  export {
185
- W as default
259
+ ne as default
186
260
  };