@kiva/kv-components 8.17.0 → 8.18.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,36 +1,37 @@
1
- import { ref as o, watch as m, computed as h } from "vue";
2
- import v from "./typeaheadSearchEngine.js";
3
- import { GIFT_SUGGESTIONS as E, MAX_PER_GROUP as S, SECTION_ORDER as g } from "./typeaheadSearchConfig.js";
4
- const R = ["activity", "city_state", "loanTags", "state", "loanLimit"];
5
- function _(u) {
6
- return Object.keys(u).some((n) => R.includes(n));
1
+ import { ref as o, watch as g, computed as v, unref as E } from "vue";
2
+ import S from "./typeaheadSearchEngine.js";
3
+ import { GIFT_SUGGESTIONS as R, MAX_PER_GROUP as O, SECTION_ORDER as m } from "./typeaheadSearchConfig.js";
4
+ const _ = ["activity", "city_state", "loanTags", "state", "loanLimit"];
5
+ function T(u) {
6
+ return Object.keys(u).some((a) => _.includes(a));
7
7
  }
8
8
  function y(u) {
9
- return u && _(u) ? "/lend" : "/lend/filter";
9
+ return u && T(u) ? "/lend" : "/lend/filter";
10
10
  }
11
- function w(u, n) {
12
- const l = new v(), s = o(""), a = o([]), i = o(-1);
13
- m(u, (e) => {
14
- l.reset([...e ?? [], ...E]);
15
- }, { immediate: !0 }), m(s, async (e) => {
16
- if (i.value = -1, !e) {
17
- a.value = [];
11
+ function I(u, a) {
12
+ const i = new S(), n = o(""), s = o([]), l = o(-1);
13
+ g(u, (e) => {
14
+ i.reset([...e ?? [], ...R]);
15
+ }, { immediate: !0 }), g(n, async (e) => {
16
+ if (l.value = -1, !e) {
17
+ s.value = [];
18
18
  return;
19
19
  }
20
- a.value = await l.search(e);
20
+ s.value = await i.search(e);
21
21
  });
22
- const d = h(() => {
22
+ const p = v(() => {
23
23
  const e = /* @__PURE__ */ new Map();
24
- return a.value.forEach((t) => {
25
- const r = e.get(t.group) ?? [];
26
- r.length < S && r.push(t), e.set(t.group, r);
27
- }), [...e.keys()].sort((t, r) => g.indexOf(t) - g.indexOf(r)).map((t) => ({ group: t, items: e.get(t) ?? [] }));
24
+ return s.value.forEach((r) => {
25
+ const t = e.get(r.group) ?? [];
26
+ t.length < O && t.push(r), e.set(r.group, t);
27
+ }), [...e.keys()].sort((r, t) => m.indexOf(r) - m.indexOf(t)).map((r) => ({ group: r, items: e.get(r) ?? [] }));
28
28
  });
29
- function p(e) {
29
+ function d(e) {
30
+ const r = E(a);
30
31
  if (typeof e == "string") {
31
32
  const f = { queryString: e };
32
33
  return {
33
- url: `${n}${y(f)}`,
34
+ url: `${r}${y(f)}`,
34
35
  query: f,
35
36
  suggestion: null,
36
37
  term: e
@@ -41,24 +42,24 @@ function w(u, n) {
41
42
  url: e.url,
42
43
  query: null,
43
44
  suggestion: e,
44
- term: s.value
45
+ term: n.value
45
46
  };
46
- const [t, r] = (e.query ?? "").split("="), c = t ? { [t]: r } : null;
47
+ const [t, h] = (e.query ?? "").split("="), c = t ? { [t]: h } : null;
47
48
  return {
48
- url: `${n}${y(c)}`,
49
+ url: `${r}${y(c)}`,
49
50
  query: c,
50
51
  suggestion: e,
51
- term: s.value
52
+ term: n.value
52
53
  };
53
54
  }
54
55
  return {
55
- term: s,
56
- rawResults: a,
57
- activeIndex: i,
58
- groupedResults: d,
59
- resolveSubmit: p
56
+ term: n,
57
+ rawResults: s,
58
+ activeIndex: l,
59
+ groupedResults: p,
60
+ resolveSubmit: d
60
61
  };
61
62
  }
62
63
  export {
63
- w as useTypeaheadSearch
64
+ I as useTypeaheadSearch
64
65
  };
@@ -0,0 +1 @@
1
+ .image-upload-icon[data-v-ea802cf6]{background-color:#ffffffbf;border-radius:9px;display:flex;align-items:center;justify-content:center;border-radius:.5rem}.image-upload-icon--circle[data-v-ea802cf6]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 4px 0 rgb(0 0 0 / .08);--tw-shadow-colored: 0 1px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}
@@ -0,0 +1,72 @@
1
+ import p from "./KvImageUpload2.js";
2
+ import { resolveComponent as f, openBlock as i, createElementBlock as n, createElementVNode as a, normalizeClass as l, normalizeStyle as g, renderSlot as b, createVNode as c, withModifiers as w, createCommentVNode as m } from "vue";
3
+ import "./KvImageUpload.css";
4
+ import u from "../_virtual/_plugin-vue_export-helper.js";
5
+ const v = { class: "tw-flex tw-flex-col" }, h = ["src", "alt"], C = ["accept", "aria-label"];
6
+ function k(d, t, s, e, I, _) {
7
+ const r = f("kv-material-icon");
8
+ return i(), n("div", v, [
9
+ a("div", {
10
+ class: l(["kv-image-upload tw-relative", e.shapeClass]),
11
+ style: g(e.containerStyle)
12
+ }, [
13
+ e.previewImage ? (i(), n("img", {
14
+ key: 0,
15
+ src: e.previewImage,
16
+ alt: s.imageAlt,
17
+ class: l(["tw-w-full tw-h-full tw-object-cover", e.shapeClass])
18
+ }, null, 10, h)) : b(d.$slots, "fallback-image", { key: 1 }, () => [
19
+ a("div", {
20
+ class: l(["kv-image-upload__placeholder tw-w-full tw-h-full tw-bg-eco-green-1 tw-p-0.5", e.shapeClass])
21
+ }, [
22
+ a("div", {
23
+ class: l(["tw-flex tw-flex-col tw-items-center tw-justify-center tw-gap-0.5 tw-w-full tw-h-full tw-border-2 tw-border-dashed tw-border-black", e.shapeClass])
24
+ }, [
25
+ c(r, {
26
+ icon: e.mdiCameraPlusOutline,
27
+ class: "tw-w-3.5"
28
+ }, null, 8, ["icon"]),
29
+ t[3] || (t[3] = a("span", { class: "tw-text-label" }, " Add a photo ", -1))
30
+ ], 2)
31
+ ], 2)
32
+ ], !0),
33
+ a("input", {
34
+ ref: "fileInput",
35
+ type: "file",
36
+ accept: e.acceptAttr,
37
+ "aria-label": e.inputLabel,
38
+ class: "tw-absolute tw-inset-0 tw-w-full tw-h-full tw-opacity-0 tw-cursor-pointer",
39
+ onChange: t[0] || (t[0] = (...o) => e.handleFileChange && e.handleFileChange(...o))
40
+ }, null, 40, C),
41
+ e.previewImage || s.showEditIcon ? (i(), n("button", {
42
+ key: 2,
43
+ class: l(["image-upload-icon edit-icon tw-absolute tw-bottom-1 tw-right-1 tw-p-1 tw-z-10", { "image-upload-icon--circle": e.isCircle }]),
44
+ type: "button",
45
+ "aria-hidden": "true",
46
+ tabindex: "-1",
47
+ onClick: t[1] || (t[1] = w((...o) => e.openFileInput && e.openFileInput(...o), ["stop"]))
48
+ }, [
49
+ c(r, {
50
+ icon: e.mdiPencil,
51
+ class: "tw-w-2"
52
+ }, null, 8, ["icon"])
53
+ ], 2)) : m("", !0),
54
+ e.previewImage ? (i(), n("button", {
55
+ key: 3,
56
+ class: l(["image-upload-icon remove-icon tw-absolute tw-top-1 tw-right-1 tw-p-1 tw-z-10", { "image-upload-icon--circle": e.isCircle }]),
57
+ type: "button",
58
+ "aria-label": "Remove Image",
59
+ onClick: t[2] || (t[2] = w((...o) => e.removeImage && e.removeImage(...o), ["stop"]))
60
+ }, [
61
+ c(r, {
62
+ icon: e.mdiClose,
63
+ class: "tw-w-2"
64
+ }, null, 8, ["icon"])
65
+ ], 2)) : m("", !0)
66
+ ], 6)
67
+ ]);
68
+ }
69
+ const A = /* @__PURE__ */ u(p, [["render", k], ["__scopeId", "data-v-ea802cf6"]]);
70
+ export {
71
+ A as default
72
+ };
@@ -0,0 +1,150 @@
1
+ import { toRefs as S, ref as u, watch as x, computed as l } from "vue";
2
+ import { mdiPencil as F, mdiClose as w, mdiCameraPlusOutline as I } from "@mdi/js";
3
+ import C from "./KvMaterialIcon.js";
4
+ import { DEFAULT_ACCEPTED_IMAGE_TYPES as b, validateImageFile as R, cropResizeImageToDataUrl as T } from "../utils/imageUtils.js";
5
+ const U = {
6
+ components: {
7
+ KvMaterialIcon: C
8
+ },
9
+ props: {
10
+ /**
11
+ * URL of an initial image to preview.
12
+ */
13
+ imageUrl: {
14
+ type: String,
15
+ default: ""
16
+ },
17
+ /**
18
+ * Target crop aspect ratio (width / height). `1` = square, `4 / 3` ≈ 1.333.
19
+ */
20
+ aspectRatio: {
21
+ type: Number,
22
+ default: 1
23
+ },
24
+ /**
25
+ * Preview shape. `square (default), circle`
26
+ */
27
+ shape: {
28
+ type: String,
29
+ default: "square",
30
+ validator(e) {
31
+ return ["square", "circle"].includes(e);
32
+ }
33
+ },
34
+ /**
35
+ * Maximum allowed file size, in megabytes.
36
+ */
37
+ maxSizeMb: {
38
+ type: Number,
39
+ default: 1
40
+ },
41
+ /**
42
+ * Output resolution used when generating the preview.
43
+ */
44
+ maxDimension: {
45
+ type: Number,
46
+ default: 1e3
47
+ },
48
+ /**
49
+ * Maximum rendered preview size, in pixels (height; width follows aspectRatio).
50
+ * Note: the parent element must supply a width; this component sets only
51
+ * max-width/max-height + aspect-ratio and will not stretch to fill a sizeless container.
52
+ */
53
+ previewSize: {
54
+ type: Number,
55
+ default: 200
56
+ },
57
+ /**
58
+ * Accepted MIME types for both the file input and validation.
59
+ */
60
+ acceptedFileTypes: {
61
+ type: Array,
62
+ default: () => [...b]
63
+ },
64
+ /**
65
+ * Whether to show the edit (pencil) affordance in the blank state, before an image is
66
+ * selected. Off by default. Once an image is present the edit icon always shows
67
+ * (bottom-right, below the remove icon), regardless of this prop.
68
+ */
69
+ showEditIcon: {
70
+ type: Boolean,
71
+ default: !1
72
+ },
73
+ /**
74
+ * Alt text for the preview image.
75
+ */
76
+ imageAlt: {
77
+ type: String,
78
+ default: "Image preview"
79
+ }
80
+ },
81
+ emits: [
82
+ /**
83
+ * Emitted with `{ file }` when a valid file is selected or dropped.
84
+ */
85
+ "file-uploaded",
86
+ /**
87
+ * Emitted when the current image is removed.
88
+ */
89
+ "file-removed",
90
+ /**
91
+ * Emitted with `{ type, message }` when validation or processing fails.
92
+ */
93
+ "file-error"
94
+ ],
95
+ setup(e, { emit: r }) {
96
+ const { imageUrl: c } = S(e), a = u(c.value || ""), s = u(null);
97
+ x(c, (t) => {
98
+ a.value = t || "";
99
+ });
100
+ const m = l(() => e.shape === "circle"), d = l(() => m.value ? "tw-rounded-full" : "tw-rounded"), p = l(() => e.acceptedFileTypes.join(",")), f = l(() => a.value ? "Change image" : "Upload image"), g = l(() => ({
101
+ aspectRatio: String(e.aspectRatio),
102
+ maxHeight: `${e.previewSize}px`,
103
+ maxWidth: `${e.previewSize * e.aspectRatio}px`
104
+ })), v = () => {
105
+ var t;
106
+ (t = s.value) == null || t.click();
107
+ }, y = () => {
108
+ a.value = "", r("file-removed");
109
+ }, h = async (t) => {
110
+ const { valid: o, error: i } = R(t, {
111
+ maxSizeMb: e.maxSizeMb,
112
+ acceptedFileTypes: e.acceptedFileTypes
113
+ });
114
+ if (!o && i) {
115
+ r("file-error", i);
116
+ return;
117
+ }
118
+ try {
119
+ a.value = await T(t, {
120
+ aspectRatio: e.aspectRatio,
121
+ maxDimension: e.maxDimension
122
+ }), r("file-uploaded", { file: t });
123
+ } catch {
124
+ r("file-error", { type: "other", message: "Failed to read file" });
125
+ }
126
+ };
127
+ return {
128
+ mdiPencil: F,
129
+ mdiClose: w,
130
+ mdiCameraPlusOutline: I,
131
+ fileInput: s,
132
+ previewImage: a,
133
+ isCircle: m,
134
+ shapeClass: d,
135
+ acceptAttr: p,
136
+ inputLabel: f,
137
+ containerStyle: g,
138
+ openFileInput: v,
139
+ removeImage: y,
140
+ handleFileChange: (t) => {
141
+ var n;
142
+ const o = t.target, i = (n = o.files) == null ? void 0 : n[0];
143
+ i && (h(i), o.value = "");
144
+ }
145
+ };
146
+ }
147
+ };
148
+ export {
149
+ U as default
150
+ };
@@ -115,8 +115,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
115
115
  }>> & Readonly<{}>, {
116
116
  values: KvPieChartV2Item[];
117
117
  loading: boolean;
118
- initialDelay: number;
119
118
  strokeWidth: number;
119
+ initialDelay: number;
120
120
  unit: PieChartUnit;
121
121
  shownSegments: number;
122
122
  segmentGap: number;
@@ -1 +1 @@
1
- .header-fade-enter-active[data-v-eadac17f]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-eadac17f]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-eadac17f],.header-fade-leave-to[data-v-eadac17f]{opacity:0}.header-fade-leave[data-v-eadac17f],.header-fade-enter-to[data-v-eadac17f]{opacity:1}.bg-opacity-50[data-v-eadac17f]{background-color:rgba(var(--bg-action-highlight),.5)}
1
+ .header-fade-enter-active[data-v-0d2a85d2]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.header-fade-leave-active[data-v-0d2a85d2]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.header-fade-enter[data-v-0d2a85d2],.header-fade-leave-to[data-v-0d2a85d2]{opacity:0}.header-fade-leave[data-v-0d2a85d2],.header-fade-enter-to[data-v-0d2a85d2]{opacity:1}.bg-opacity-50[data-v-0d2a85d2]{background-color:rgba(var(--bg-action-highlight),.5)}
@@ -1,47 +1,47 @@
1
- import f from "./KvWwwHeaderBasic2.js";
2
- import { resolveComponent as l, openBlock as d, createBlock as u, withCtx as a, createElementVNode as s, normalizeStyle as m, createVNode as r, Transition as g, withDirectives as b, vShow as v, normalizeClass as k, resolveDynamicComponent as y, withModifiers as M } from "vue";
1
+ import h from "./KvWwwHeaderBasic2.js";
2
+ import { resolveComponent as l, openBlock as m, createBlock as u, withCtx as r, createElementVNode as s, normalizeStyle as d, createVNode as a, Transition as g, withDirectives as b, vShow as v, normalizeClass as k, resolveDynamicComponent as y, withModifiers as M } from "vue";
3
3
  import "./KvWwwHeaderBasic.css";
4
- import C from "../../_virtual/_plugin-vue_export-helper.js";
5
- function I(t, o, e, n, L, D) {
6
- const w = l("link-bar"), h = l("kv-page-container"), c = l("kv-theme-provider");
7
- return d(), u(c, {
4
+ import I from "../../_virtual/_plugin-vue_export-helper.js";
5
+ function L(t, o, n, e, C, D) {
6
+ const w = l("link-bar"), c = l("kv-page-container"), f = l("kv-theme-provider");
7
+ return m(), u(f, {
8
8
  tag: "div",
9
9
  class: "tw-bg-primary"
10
10
  }, {
11
- default: a(() => [
11
+ default: r(() => [
12
12
  s("nav", {
13
13
  ref: "navRef",
14
- class: "tw-font-medium tw-relative tw-border-b tw-border-tertiary",
15
- style: m({ minHeight: n.MIN_HEADER_HEIGHT })
14
+ class: "tw-font-medium tw-relative",
15
+ style: d({ minHeight: e.MIN_HEADER_HEIGHT })
16
16
  }, [
17
- r(h, null, {
18
- default: a(() => [
19
- r(g, { name: "header-fade" }, {
20
- default: a(() => [
21
- b(r(w, {
22
- "logged-in": e.loggedIn,
23
- "basket-count": e.basketCount,
24
- balance: e.balance,
25
- "user-id": e.userId,
26
- "is-borrower": e.isBorrower,
27
- "is-trustee": e.isTrustee,
28
- "lender-name": e.lenderName,
29
- "lender-image-url": e.lenderImageUrl,
30
- "is-user-data-loading": e.isUserDataLoading,
31
- "is-basket-data-loading": e.isBasketDataLoading,
32
- "show-m-g-upsell-link": e.showMGUpsellLink,
33
- "login-url": e.loginUrl,
34
- "my-dashboard-url": e.myDashboardUrl,
35
- "countries-not-lent-to-url": e.countriesNotLentToUrl,
36
- "app-origin": e.appOrigin,
37
- "search-suggestions": e.searchSuggestions,
38
- "is-mobile": n.isMobile,
39
- "open-menu-item": n.menuComponent,
40
- onItemHover: n.onItemHover,
17
+ a(c, null, {
18
+ default: r(() => [
19
+ a(g, { name: "header-fade" }, {
20
+ default: r(() => [
21
+ b(a(w, {
22
+ "logged-in": n.loggedIn,
23
+ "basket-count": n.basketCount,
24
+ balance: n.balance,
25
+ "user-id": n.userId,
26
+ "is-borrower": n.isBorrower,
27
+ "is-trustee": n.isTrustee,
28
+ "lender-name": n.lenderName,
29
+ "lender-image-url": n.lenderImageUrl,
30
+ "is-user-data-loading": n.isUserDataLoading,
31
+ "is-basket-data-loading": n.isBasketDataLoading,
32
+ "show-m-g-upsell-link": n.showMGUpsellLink,
33
+ "login-url": n.loginUrl,
34
+ "my-dashboard-url": n.myDashboardUrl,
35
+ "countries-not-lent-to-url": n.countriesNotLentToUrl,
36
+ "app-origin": e.resolvedAppOrigin,
37
+ "search-suggestions": e.effectiveSuggestions,
38
+ "is-mobile": e.isMobile,
39
+ "open-menu-item": e.menuComponent,
40
+ onItemHover: e.onItemHover,
41
41
  onLoadSearchData: o[0] || (o[0] = (i) => t.$emit("load-search-data")),
42
42
  onSearchSubmit: o[1] || (o[1] = (i) => t.$emit("search-submit", i))
43
43
  }, null, 8, ["logged-in", "basket-count", "balance", "user-id", "is-borrower", "is-trustee", "lender-name", "lender-image-url", "is-user-data-loading", "is-basket-data-loading", "show-m-g-upsell-link", "login-url", "my-dashboard-url", "countries-not-lent-to-url", "app-origin", "search-suggestions", "is-mobile", "open-menu-item", "onItemHover"]), [
44
- [v, n.linksVisible]
44
+ [v, e.linksVisible]
45
45
  ])
46
46
  ]),
47
47
  _: 1
@@ -50,47 +50,49 @@ function I(t, o, e, n, L, D) {
50
50
  _: 1
51
51
  })
52
52
  ], 4),
53
- r(g, { name: "header-fade" }, {
54
- default: a(() => [
53
+ a(g, { name: "header-fade" }, {
54
+ default: r(() => [
55
55
  b(s("div", {
56
56
  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",
57
- style: m({ top: n.navHeight }),
58
- onTouchstart: o[8] || (o[8] = (...i) => n.handleOverlayClick && n.handleOverlayClick(...i))
57
+ style: d({ top: e.navHeight }),
58
+ onTouchstart: o[8] || (o[8] = (...i) => e.handleOverlayClick && e.handleOverlayClick(...i))
59
59
  }, [
60
60
  s("div", {
61
61
  ref: "menuPanelRef",
62
- class: k(["tw-bg-primary tw-overflow-y-auto", n.menuPanelClass]),
63
- style: m({
64
- ...n.menuPosition,
65
- maxHeight: n.isMobileMenuActive ? "auto" : `calc(100dvh - ${n.navHeight})`
62
+ class: k(["tw-bg-primary tw-overflow-y-auto", e.menuPanelClass]),
63
+ style: d({
64
+ ...e.menuPosition,
65
+ maxHeight: e.isMobileMenuActive ? "auto" : `calc(100dvh - ${e.navHeight})`
66
66
  }),
67
- onMouseenter: o[6] || (o[6] = (i) => n.setMenu(n.menuItem, n.menuComponent)),
68
- onMouseleave: o[7] || (o[7] = (i) => n.setMenu())
67
+ onMouseenter: o[6] || (o[6] = (i) => e.setMenu(e.menuItem, e.menuComponent)),
68
+ onMouseleave: o[7] || (o[7] = (i) => e.setMenu())
69
69
  }, [
70
- (d(), u(y(n.menuComponent), {
70
+ (m(), u(y(e.menuComponent), {
71
71
  ref: "menuComponentInstance",
72
- "logged-in": e.loggedIn,
73
- "login-url": e.loginUrl,
74
- "user-id": e.userId,
75
- "is-borrower": e.isBorrower,
76
- "is-trustee": e.isTrustee,
77
- "my-dashboard-url": e.myDashboardUrl,
78
- "show-m-g-upsell-link": e.showMGUpsellLink,
79
- "is-mobile": n.isMobile,
80
- "countries-not-lent-to-url": e.countriesNotLentToUrl,
72
+ "logged-in": n.loggedIn,
73
+ "login-url": n.loginUrl,
74
+ "user-id": n.userId,
75
+ "is-borrower": n.isBorrower,
76
+ "is-trustee": n.isTrustee,
77
+ "trustee-id": n.trusteeId,
78
+ "most-recent-borrowed-loan-id": n.mostRecentBorrowedLoanId,
79
+ "my-dashboard-url": n.myDashboardUrl,
80
+ "show-m-g-upsell-link": n.showMGUpsellLink,
81
+ "is-mobile": e.isMobile,
82
+ "countries-not-lent-to-url": n.countriesNotLentToUrl,
81
83
  "use-mobile-mega-menu": !0,
82
- "app-origin": e.appOrigin,
83
- "search-suggestions": e.searchSuggestions,
84
- onLoadLendMenuData: n.emitLendMenuEvent,
84
+ "app-origin": e.resolvedAppOrigin,
85
+ "search-suggestions": e.effectiveSuggestions,
86
+ onLoadLendMenuData: e.emitLendMenuEvent,
85
87
  onLoadSearchData: o[2] || (o[2] = (i) => t.$emit("load-search-data")),
86
88
  onSearchSubmit: o[3] || (o[3] = (i) => t.$emit("search-submit", i)),
87
- onClosingMenu: o[4] || (o[4] = (i) => n.setMenu()),
89
+ onClosingMenu: o[4] || (o[4] = (i) => e.setMenu()),
88
90
  onTouchstart: o[5] || (o[5] = M(() => {
89
91
  }, ["stop"]))
90
- }, null, 40, ["logged-in", "login-url", "user-id", "is-borrower", "is-trustee", "my-dashboard-url", "show-m-g-upsell-link", "is-mobile", "countries-not-lent-to-url", "app-origin", "search-suggestions", "onLoadLendMenuData"]))
92
+ }, null, 40, ["logged-in", "login-url", "user-id", "is-borrower", "is-trustee", "trustee-id", "most-recent-borrowed-loan-id", "my-dashboard-url", "show-m-g-upsell-link", "is-mobile", "countries-not-lent-to-url", "app-origin", "search-suggestions", "onLoadLendMenuData"]))
91
93
  ], 38)
92
94
  ], 36), [
93
- [v, n.menuOpen]
95
+ [v, e.menuOpen]
94
96
  ])
95
97
  ]),
96
98
  _: 1
@@ -99,7 +101,7 @@ function I(t, o, e, n, L, D) {
99
101
  _: 1
100
102
  });
101
103
  }
102
- const B = /* @__PURE__ */ C(f, [["render", I], ["__scopeId", "data-v-eadac17f"]]);
104
+ const B = /* @__PURE__ */ I(h, [["render", L], ["__scopeId", "data-v-0d2a85d2"]]);
103
105
  export {
104
106
  B as default
105
107
  };