@kiva/kv-components 8.18.0 → 8.18.2
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.
- package/dist/vue/KvClassicLoanCard.vue.d.ts +5 -1
- package/dist/vue/KvCompactLoanCard.vue.d.ts +5 -1
- package/dist/vue/KvIntroductionLoanCard.vue.d.ts +5 -1
- package/dist/vue/KvLoanTag.js +15 -15
- package/dist/vue/KvLoanTag.vue.d.ts +5 -1
- package/dist/vue/KvLoanTag2.js +14 -9
- package/dist/vue/KvWideLoanCard.vue.d.ts +5 -1
- package/dist/vue/KvWwwHeaderBasic/LinkBar.css +1 -1
- package/dist/vue/KvWwwHeaderBasic/LinkBar.js +40 -40
- package/dist/vue/KvWwwHeaderBasic/LinkBar.vue.d.ts +3 -0
- package/dist/vue/KvWwwHeaderBasic/LinkBar2.js +82 -67
- package/dist/vue/KvWwwHeaderBasic/MobileMenu.css +1 -1
- package/dist/vue/KvWwwHeaderBasic/MobileMenu.js +18 -17
- package/dist/vue/KvWwwHeaderBasic/MobileMenu.vue.d.ts +3 -0
- package/dist/vue/KvWwwHeaderBasic/MobileMenu2.js +13 -10
- package/package.json +2 -2
|
@@ -1239,7 +1239,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1239
1239
|
tagText(): string;
|
|
1240
1240
|
tagColor(): "#AF741C" | "#CE2626" | "#2B7C5F" | "#CE4A00";
|
|
1241
1241
|
matchRatio(): any;
|
|
1242
|
-
}, {
|
|
1242
|
+
}, {
|
|
1243
|
+
orgDisplayName(org: {
|
|
1244
|
+
displayName?: string | null;
|
|
1245
|
+
}): string;
|
|
1246
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1243
1247
|
loan: {
|
|
1244
1248
|
type: ObjectConstructor;
|
|
1245
1249
|
required: true;
|
|
@@ -1196,7 +1196,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1196
1196
|
tagText(): string;
|
|
1197
1197
|
tagColor(): "#AF741C" | "#CE2626" | "#2B7C5F" | "#CE4A00";
|
|
1198
1198
|
matchRatio(): any;
|
|
1199
|
-
}, {
|
|
1199
|
+
}, {
|
|
1200
|
+
orgDisplayName(org: {
|
|
1201
|
+
displayName?: string | null;
|
|
1202
|
+
}): string;
|
|
1203
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1200
1204
|
loan: {
|
|
1201
1205
|
type: ObjectConstructor;
|
|
1202
1206
|
required: true;
|
|
@@ -514,7 +514,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
514
514
|
tagText(): string;
|
|
515
515
|
tagColor(): "#AF741C" | "#CE2626" | "#2B7C5F" | "#CE4A00";
|
|
516
516
|
matchRatio(): any;
|
|
517
|
-
}, {
|
|
517
|
+
}, {
|
|
518
|
+
orgDisplayName(org: {
|
|
519
|
+
displayName?: string | null;
|
|
520
|
+
}): string;
|
|
521
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
518
522
|
loan: {
|
|
519
523
|
type: ObjectConstructor;
|
|
520
524
|
required: true;
|
package/dist/vue/KvLoanTag.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import u from "./KvLoanTag2.js";
|
|
2
|
-
import { KV_LOAN_TAG_FRAGMENT as
|
|
3
|
-
import { resolveComponent as c, openBlock as e, createElementBlock as a, normalizeClass as _, normalizeStyle as g, Fragment as o, createTextVNode as i, toDisplayString as r, createElementVNode as h, createVNode as
|
|
4
|
-
import
|
|
5
|
-
const
|
|
2
|
+
import { KV_LOAN_TAG_FRAGMENT as O } from "./KvLoanTag2.js";
|
|
3
|
+
import { resolveComponent as c, openBlock as e, createElementBlock as a, normalizeClass as _, normalizeStyle as g, Fragment as o, createTextVNode as i, toDisplayString as r, createElementVNode as h, createVNode as f, withCtx as k, renderList as w, createBlock as x, createCommentVNode as m } from "vue";
|
|
4
|
+
import y from "../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const p = ["id"];
|
|
6
6
|
function v(M, N, l, A, C, t) {
|
|
7
|
-
const
|
|
7
|
+
const d = c("kv-tooltip"), s = c("kv-countdown-timer");
|
|
8
8
|
return t.variation ? (e(), a("div", {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: _(["tw-text-small tw-font-medium tw-pt-0.5", { "tw-line-clamp-1": !t.isMultipleMatch }]),
|
|
@@ -15,30 +15,30 @@ function v(M, N, l, A, C, t) {
|
|
|
15
15
|
h("span", {
|
|
16
16
|
id: `matching-orgs-${l.loan.id}`,
|
|
17
17
|
class: "tw-underline tw-decoration-dotted tw-cursor-pointer"
|
|
18
|
-
}, r(t.multiMatchingOrgs.length) + " organizations", 9,
|
|
19
|
-
|
|
18
|
+
}, r(t.multiMatchingOrgs.length) + " organizations", 9, p),
|
|
19
|
+
f(d, {
|
|
20
20
|
controller: `matching-orgs-${l.loan.id}`,
|
|
21
21
|
theme: "default"
|
|
22
22
|
}, {
|
|
23
|
-
default:
|
|
24
|
-
(e(!0), a(o, null,
|
|
23
|
+
default: k(() => [
|
|
24
|
+
(e(!0), a(o, null, w(t.multiMatchingOrgs, (n) => (e(), a("p", {
|
|
25
25
|
key: n.managedAccountId,
|
|
26
26
|
class: "tw-m-0"
|
|
27
|
-
}, r(n.ratio + 1) + "x matching by " + r(n
|
|
27
|
+
}, r(n.ratio + 1) + "x matching by " + r(t.orgDisplayName(n)), 1))), 128))
|
|
28
28
|
]),
|
|
29
29
|
_: 1
|
|
30
30
|
}, 8, ["controller"])
|
|
31
31
|
], 64)) : (e(), a(o, { key: 1 }, [
|
|
32
32
|
i(r(t.tagText) + " ", 1),
|
|
33
|
-
t.variation === "ending-soon" ? (e(),
|
|
33
|
+
t.variation === "ending-soon" ? (e(), x(s, {
|
|
34
34
|
key: 0,
|
|
35
35
|
deadline: t.deadline
|
|
36
|
-
}, null, 8, ["deadline"])) :
|
|
36
|
+
}, null, 8, ["deadline"])) : m("", !0)
|
|
37
37
|
], 64))
|
|
38
|
-
], 6)) :
|
|
38
|
+
], 6)) : m("", !0);
|
|
39
39
|
}
|
|
40
|
-
const B = /* @__PURE__ */
|
|
40
|
+
const B = /* @__PURE__ */ y(u, [["render", v]]);
|
|
41
41
|
export {
|
|
42
|
-
|
|
42
|
+
O as KV_LOAN_TAG_FRAGMENT,
|
|
43
43
|
B as default
|
|
44
44
|
};
|
|
@@ -23,7 +23,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
23
23
|
tagText(): string;
|
|
24
24
|
tagColor(): "#AF741C" | "#CE2626" | "#2B7C5F" | "#CE4A00";
|
|
25
25
|
matchRatio(): any;
|
|
26
|
-
}, {
|
|
26
|
+
}, {
|
|
27
|
+
orgDisplayName(org: {
|
|
28
|
+
displayName?: string | null;
|
|
29
|
+
}): string;
|
|
30
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
27
31
|
loan: {
|
|
28
32
|
type: ObjectConstructor;
|
|
29
33
|
required: true;
|
package/dist/vue/KvLoanTag2.js
CHANGED
|
@@ -2,13 +2,13 @@ import { parseISO as s, differenceInDays as r } from "date-fns";
|
|
|
2
2
|
import u from "graphql-tag";
|
|
3
3
|
import l from "numeral";
|
|
4
4
|
import d from "./KvCountdownTimer.js";
|
|
5
|
-
import
|
|
6
|
-
const
|
|
5
|
+
import m from "./KvTooltip.js";
|
|
6
|
+
const h = "N/A", a = {
|
|
7
7
|
almostFunded: "almost-funded",
|
|
8
8
|
endingSoon: "ending-soon",
|
|
9
9
|
matchedLoan: "matched-loan",
|
|
10
10
|
lseLoan: "lse-loan"
|
|
11
|
-
},
|
|
11
|
+
}, y = u`
|
|
12
12
|
fragment KvLoanTag on LoanBasic {
|
|
13
13
|
id
|
|
14
14
|
loanFundraisingInfo {
|
|
@@ -29,11 +29,11 @@ const m = "N/A", a = {
|
|
|
29
29
|
partnerName
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
`,
|
|
32
|
+
`, L = {
|
|
33
33
|
name: "KvLoanTag",
|
|
34
34
|
components: {
|
|
35
35
|
KvCountdownTimer: d,
|
|
36
|
-
KvTooltip:
|
|
36
|
+
KvTooltip: m
|
|
37
37
|
},
|
|
38
38
|
props: {
|
|
39
39
|
loan: {
|
|
@@ -56,7 +56,7 @@ const m = "N/A", a = {
|
|
|
56
56
|
},
|
|
57
57
|
isLseLoan() {
|
|
58
58
|
var t, n;
|
|
59
|
-
return ((n = (t = this.loan) == null ? void 0 : t.partnerName) == null ? void 0 : n.toUpperCase().includes(
|
|
59
|
+
return ((n = (t = this.loan) == null ? void 0 : t.partnerName) == null ? void 0 : n.toUpperCase().includes(h)) ?? !1;
|
|
60
60
|
},
|
|
61
61
|
amountLeft() {
|
|
62
62
|
var e, o;
|
|
@@ -88,7 +88,7 @@ const m = "N/A", a = {
|
|
|
88
88
|
case a.matchedLoan: {
|
|
89
89
|
if (this.enableMultiMatching && this.multiMatchingOrgs.length === 1) {
|
|
90
90
|
const n = this.multiMatchingOrgs[0];
|
|
91
|
-
return `${this.useExpandedStyles ? "🤝 " : ""}${n.ratio + 1}x matching by ${n
|
|
91
|
+
return `${this.useExpandedStyles ? "🤝 " : ""}${n.ratio + 1}x matching by ${this.orgDisplayName(n)}`;
|
|
92
92
|
}
|
|
93
93
|
return `${this.useExpandedStyles ? "🤝 " : ""}${this.matchRatio + 1}x matching by ${(t = this.loan) == null ? void 0 : t.matchingText}`;
|
|
94
94
|
}
|
|
@@ -112,9 +112,14 @@ const m = "N/A", a = {
|
|
|
112
112
|
var t;
|
|
113
113
|
return (t = this.loan) == null ? void 0 : t.matchRatio;
|
|
114
114
|
}
|
|
115
|
+
},
|
|
116
|
+
methods: {
|
|
117
|
+
orgDisplayName(t) {
|
|
118
|
+
return t.displayName && t.displayName !== "Anonymous" ? t.displayName : "a Kiva supporter";
|
|
119
|
+
}
|
|
115
120
|
}
|
|
116
121
|
};
|
|
117
122
|
export {
|
|
118
|
-
|
|
119
|
-
|
|
123
|
+
y as KV_LOAN_TAG_FRAGMENT,
|
|
124
|
+
L as default
|
|
120
125
|
};
|
|
@@ -1153,7 +1153,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
1153
1153
|
tagText(): string;
|
|
1154
1154
|
tagColor(): "#AF741C" | "#CE2626" | "#2B7C5F" | "#CE4A00";
|
|
1155
1155
|
matchRatio(): any;
|
|
1156
|
-
}, {
|
|
1156
|
+
}, {
|
|
1157
|
+
orgDisplayName(org: {
|
|
1158
|
+
displayName?: string | null;
|
|
1159
|
+
}): string;
|
|
1160
|
+
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1157
1161
|
loan: {
|
|
1158
1162
|
type: ObjectConstructor;
|
|
1159
1163
|
required: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.link-bar[data-v-
|
|
1
|
+
.link-bar[data-v-d90acda7]{display:flex;align-items:center;gap:.5rem}.link-bar__logo[data-v-d90acda7]{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-d90acda7]{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-d90acda7]{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-d90acda7]{grid-area:lend}.link-bar__search[data-v-d90acda7]{grid-area:search;margin-bottom:.5rem}.link-bar__right[data-v-d90acda7]{grid-area:right}}@media (min-width: 64rem){.link-bar[data-v-d90acda7]{-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-d90acda7]{margin-bottom:0}}.header-link[data-v-d90acda7]{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-d90acda7]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:none}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { resolveComponent as d, openBlock as a, createElementBlock as i, createElementVNode as
|
|
1
|
+
import M from "./LinkBar2.js";
|
|
2
|
+
import { resolveComponent as d, openBlock as a, createElementBlock as i, createElementVNode as r, withModifiers as g, createVNode as l, withCtx as w, createTextVNode as s, Fragment as y, renderList as p, toDisplayString as m, createCommentVNode as v, withDirectives as x, vShow as L, createBlock as B } from "vue";
|
|
3
3
|
import "./LinkBar.css";
|
|
4
4
|
import O from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
-
const S = { 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" }, T = ["href", "data-testid", "onClick"], D = ["href"], U = { class: "tw-hidden md:tw-flex tw-items-center" }, H = { class: "tw-bg-secondary tw-rounded-xs tw-py-0.5 tw-px-1 tw-mr-1 tw-leading-none" },
|
|
5
|
+
const S = { 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" }, T = ["href", "data-testid", "onClick"], D = ["href"], U = { class: "tw-hidden md:tw-flex tw-items-center" }, H = { class: "tw-bg-secondary tw-rounded-xs tw-py-0.5 tw-px-1 tw-mr-1 tw-leading-none" }, A = { class: "tw-relative tw-flex md:tw-hidden tw-items-center tw-text-eco-green-4" }, I = {
|
|
6
6
|
key: 0,
|
|
7
7
|
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"
|
|
8
8
|
}, K = { class: "tw-hidden md:tw-block" }, N = {
|
|
@@ -15,30 +15,30 @@ const S = { class: "link-bar__right tw-flex tw-items-center tw-justify-end tw-ml
|
|
|
15
15
|
key: 2,
|
|
16
16
|
class: "tw-w-3 tw-h-3 tw-rounded-full tw-overflow-hidden"
|
|
17
17
|
};
|
|
18
|
-
function V(
|
|
19
|
-
const c = d("kv-material-icon"), b = d("kv-header-logo"), u = d("kv-header-dropdown-link"), f = d("search-bar"), _ = d("kv-button"),
|
|
18
|
+
function V(k, n, o, e, j, X) {
|
|
19
|
+
const c = d("kv-material-icon"), b = d("kv-header-logo"), u = d("kv-header-dropdown-link"), f = d("search-bar"), _ = d("kv-button"), h = d("kv-loading-placeholder"), C = d("kv-user-avatar");
|
|
20
20
|
return a(), i("div", {
|
|
21
21
|
class: "link-bar tw-min-h-[4rem] tw-font-medium tw-relative",
|
|
22
22
|
onTouchstart: n[12] || (n[12] = (...t) => e.handleEmptySpaceClick && e.handleEmptySpaceClick(...t))
|
|
23
23
|
}, [
|
|
24
|
-
|
|
24
|
+
r("button", {
|
|
25
25
|
type: "button",
|
|
26
26
|
"aria-label": "Open menu",
|
|
27
27
|
class: "header-link link-bar__hamburger tw-inline-flex md:tw-hidden",
|
|
28
28
|
onMouseover: n[0] || (n[0] = (t) => e.handleOnHover("menuButton", e.MobileMenu)),
|
|
29
|
-
onTouchstart: n[1] || (n[1] =
|
|
29
|
+
onTouchstart: n[1] || (n[1] = g((t) => e.handleTouchStart("menuButton", e.MobileMenu), ["stop", "prevent"]))
|
|
30
30
|
}, [
|
|
31
|
-
|
|
31
|
+
l(c, { icon: e.mdiMenu }, null, 8, ["icon"])
|
|
32
32
|
], 32),
|
|
33
|
-
|
|
33
|
+
r("a", {
|
|
34
34
|
href: "/",
|
|
35
35
|
"aria-label": "Kiva home",
|
|
36
36
|
class: "link-bar__logo tw-px-1 tw-py-2 tw-cursor-pointer",
|
|
37
37
|
onClick: n[2] || (n[2] = (...t) => e.onLogoClick && e.onLogoClick(...t))
|
|
38
38
|
}, [
|
|
39
|
-
|
|
39
|
+
l(b)
|
|
40
40
|
]),
|
|
41
|
-
|
|
41
|
+
l(u, {
|
|
42
42
|
class: "link-bar__lend",
|
|
43
43
|
"ref-name": "lendButton",
|
|
44
44
|
href: e.lendUrl,
|
|
@@ -50,28 +50,28 @@ function V(v, n, o, e, j, X) {
|
|
|
50
50
|
onMouseleave: n[3] || (n[3] = (t) => e.handleMouseOut("lendButton")),
|
|
51
51
|
onUserTap: e.handleTouchStart
|
|
52
52
|
}, {
|
|
53
|
-
default:
|
|
53
|
+
default: w(() => n[13] || (n[13] = [
|
|
54
54
|
s(" Lend ")
|
|
55
55
|
])),
|
|
56
56
|
_: 1
|
|
57
57
|
}, 8, ["href", "menu-component", "open-menu-item", "dropdown-icon", "onOnHover", "onUserTap"]),
|
|
58
|
-
|
|
58
|
+
l(f, {
|
|
59
59
|
class: "link-bar__search tw-min-w-0 tw-hidden md:tw-block",
|
|
60
60
|
"search-suggestions": o.searchSuggestions,
|
|
61
61
|
"app-origin": o.appOrigin,
|
|
62
62
|
"is-mobile": o.isMobile,
|
|
63
|
-
onLoadSearchData: n[4] || (n[4] = (t) =>
|
|
64
|
-
onSearchSubmit: n[5] || (n[5] = (t) =>
|
|
63
|
+
onLoadSearchData: n[4] || (n[4] = (t) => k.$emit("load-search-data")),
|
|
64
|
+
onSearchSubmit: n[5] || (n[5] = (t) => k.$emit("search-submit", t))
|
|
65
65
|
}, null, 8, ["search-suggestions", "app-origin", "is-mobile"]),
|
|
66
|
-
|
|
67
|
-
(a(!0), i(
|
|
66
|
+
r("div", S, [
|
|
67
|
+
(a(!0), i(y, null, p(e.visiblePrimaryLinks, (t) => (a(), i("a", {
|
|
68
68
|
key: t.id,
|
|
69
69
|
href: t.href,
|
|
70
70
|
class: "header-link tw-hidden md:tw-block",
|
|
71
71
|
"data-testid": `header-link-${t.id}`,
|
|
72
72
|
onClick: (F) => e.onPrimaryClick(t)
|
|
73
73
|
}, m(t.label), 9, T))), 128)),
|
|
74
|
-
|
|
74
|
+
l(u, {
|
|
75
75
|
"ref-name": "aboutLink",
|
|
76
76
|
class: "tw-hidden md:tw-block",
|
|
77
77
|
"menu-component": e.AboutMenu,
|
|
@@ -83,79 +83,79 @@ function V(v, n, o, e, j, X) {
|
|
|
83
83
|
onMouseleave: n[6] || (n[6] = (t) => e.handleMouseOut("aboutLink")),
|
|
84
84
|
onUserTap: e.handleTouchStart
|
|
85
85
|
}, {
|
|
86
|
-
default:
|
|
86
|
+
default: w(() => n[14] || (n[14] = [
|
|
87
87
|
s(" About ")
|
|
88
88
|
])),
|
|
89
89
|
_: 1
|
|
90
90
|
}, 8, ["menu-component", "open-menu-item", "dropdown-icon", "onOnHover", "onUserTap"]),
|
|
91
|
-
o.loggedIn ?
|
|
91
|
+
o.loggedIn ? v("", !0) : (a(), i("a", {
|
|
92
92
|
key: 0,
|
|
93
93
|
href: o.loginUrl,
|
|
94
94
|
class: "header-link",
|
|
95
95
|
"data-testid": "header-login",
|
|
96
96
|
onClick: n[7] || (n[7] = (...t) => e.onLoginClick && e.onLoginClick(...t))
|
|
97
97
|
}, "Log in", 8, D)),
|
|
98
|
-
|
|
99
|
-
key: 1,
|
|
98
|
+
x(r("a", {
|
|
100
99
|
href: "/basket",
|
|
101
100
|
class: "header-link tw-flex tw-items-center",
|
|
102
101
|
"data-testid": "header-basket",
|
|
103
102
|
onClick: n[8] || (n[8] = (...t) => e.onBasketClick && e.onBasketClick(...t))
|
|
104
103
|
}, [
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
r("span", U, [
|
|
105
|
+
r("span", H, m(o.basketCount), 1),
|
|
107
106
|
n[15] || (n[15] = s(" Basket "))
|
|
108
107
|
]),
|
|
109
|
-
|
|
110
|
-
o.isBasketDataLoading ?
|
|
111
|
-
|
|
108
|
+
r("span", A, [
|
|
109
|
+
o.isBasketDataLoading ? v("", !0) : (a(), i("span", I, m(o.basketCount), 1)),
|
|
110
|
+
l(c, {
|
|
112
111
|
icon: e.mdiBriefcase,
|
|
113
112
|
class: "tw-w-4 tw-h-4 tw-pointer-events-none"
|
|
114
113
|
}, null, 8, ["icon"]),
|
|
115
|
-
n[16] || (n[16] =
|
|
114
|
+
n[16] || (n[16] = r("span", { class: "tw-sr-only" }, "Basket", -1))
|
|
116
115
|
])
|
|
117
|
-
], 512)
|
|
116
|
+
], 512), [
|
|
118
117
|
[L, o.basketCount > 0 || o.isBasketDataLoading]
|
|
119
|
-
])
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
]),
|
|
119
|
+
r("div", K, [
|
|
120
|
+
l(_, {
|
|
122
121
|
variant: "secondary",
|
|
123
122
|
href: "/donate/supportus",
|
|
124
123
|
class: "tw-whitespace-nowrap",
|
|
125
124
|
"data-testid": "header-support-kiva",
|
|
126
125
|
onClick: e.onSupportKivaClick
|
|
127
126
|
}, {
|
|
128
|
-
default:
|
|
127
|
+
default: w(() => n[17] || (n[17] = [
|
|
129
128
|
s(" Support Kiva ")
|
|
130
129
|
])),
|
|
131
130
|
_: 1
|
|
132
131
|
}, 8, ["onClick"])
|
|
133
132
|
]),
|
|
134
133
|
o.loggedIn ? (a(), i("div", {
|
|
135
|
-
key:
|
|
134
|
+
key: 1,
|
|
136
135
|
ref: "avatarMenu",
|
|
136
|
+
"data-testid": "header-avatar-menu",
|
|
137
137
|
class: "tw-flex tw-items-center tw-gap-1 tw-cursor-pointer tw-py-1",
|
|
138
138
|
onMouseenter: n[9] || (n[9] = (t) => e.handleOnHover("avatarMenu", e.MyKivaMenu, e.getAvatarMenuPosition(), e.getAvatarTriggerCenterX())),
|
|
139
139
|
onMouseleave: n[10] || (n[10] = (t) => e.handleMouseOut("avatarMenu")),
|
|
140
|
-
onTouchstart: n[11] || (n[11] =
|
|
140
|
+
onTouchstart: n[11] || (n[11] = g((t) => e.handleTouchStart("avatarMenu", e.MyKivaMenu, e.getAvatarMenuPosition(), e.getAvatarTriggerCenterX()), ["stop"]))
|
|
141
141
|
}, [
|
|
142
142
|
o.isUserDataLoading ? (a(), i("div", N, [
|
|
143
|
-
|
|
143
|
+
l(h)
|
|
144
144
|
])) : (a(), i("span", E, m(e.formattedBalance), 1)),
|
|
145
145
|
o.isUserDataLoading ? (a(), i("div", P, [
|
|
146
|
-
|
|
147
|
-
])) : (a(), B(
|
|
146
|
+
l(h)
|
|
147
|
+
])) : (a(), B(C, {
|
|
148
148
|
key: 3,
|
|
149
149
|
class: "tw-w-3 tw-h-3",
|
|
150
150
|
"lender-name": o.lenderName,
|
|
151
151
|
"lender-image-url": o.lenderImageUrl,
|
|
152
152
|
"is-small": ""
|
|
153
153
|
}, null, 8, ["lender-name", "lender-image-url"]))
|
|
154
|
-
], 544)) :
|
|
154
|
+
], 544)) : v("", !0)
|
|
155
155
|
])
|
|
156
156
|
], 32);
|
|
157
157
|
}
|
|
158
|
-
const Q = /* @__PURE__ */ O(
|
|
158
|
+
const Q = /* @__PURE__ */ O(M, [["render", V], ["__scopeId", "data-v-d90acda7"]]);
|
|
159
159
|
export {
|
|
160
160
|
Q as default
|
|
161
161
|
};
|
|
@@ -196,6 +196,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
196
196
|
};
|
|
197
197
|
}>, {
|
|
198
198
|
onClose: () => void;
|
|
199
|
+
onAboutToggle: ({ open }: {
|
|
200
|
+
open: boolean;
|
|
201
|
+
}) => void;
|
|
199
202
|
onLinkClick: (action: string) => void;
|
|
200
203
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "closing-menu"[], "closing-menu", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
201
204
|
loggedIn: {
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { defineAsyncComponent as
|
|
2
|
-
import { mdiMenu as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { PRIMARY_LINKS as
|
|
11
|
-
import
|
|
12
|
-
const
|
|
1
|
+
import { defineAsyncComponent as r, inject as P, ref as d, computed as i } from "vue";
|
|
2
|
+
import { mdiMenu as D, mdiChevronDown as x, mdiBriefcase as R } from "@mdi/js";
|
|
3
|
+
import $ from "numeral";
|
|
4
|
+
import E from "../KvMaterialIcon.js";
|
|
5
|
+
import H from "../KvUserAvatar.js";
|
|
6
|
+
import _ from "../KvLoadingPlaceholder.js";
|
|
7
|
+
import j from "../KvButton.js";
|
|
8
|
+
import F from "../KvWwwHeader/KvHeaderLogo.js";
|
|
9
|
+
import G from "../KvWwwHeader/KvHeaderDropdownLink.js";
|
|
10
|
+
import { PRIMARY_LINKS as W } from "../../utils/headerNavLinks.js";
|
|
11
|
+
import X from "./SearchBar.js";
|
|
12
|
+
const v = r(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), p = r(() => import("./AboutMenu.js")), Y = r(() => import("./MyKivaMenu.js")), q = r(() => import("./MobileMenu.js")), ie = {
|
|
13
13
|
name: "LinkBar",
|
|
14
14
|
components: {
|
|
15
|
-
KvMaterialIcon:
|
|
16
|
-
KvUserAvatar:
|
|
17
|
-
KvLoadingPlaceholder:
|
|
18
|
-
KvButton:
|
|
19
|
-
KvHeaderLogo:
|
|
20
|
-
KvHeaderDropdownLink:
|
|
21
|
-
SearchBar:
|
|
15
|
+
KvMaterialIcon: E,
|
|
16
|
+
KvUserAvatar: H,
|
|
17
|
+
KvLoadingPlaceholder: _,
|
|
18
|
+
KvButton: j,
|
|
19
|
+
KvHeaderLogo: F,
|
|
20
|
+
KvHeaderDropdownLink: G,
|
|
21
|
+
SearchBar: X
|
|
22
22
|
},
|
|
23
23
|
props: {
|
|
24
24
|
loggedIn: { type: Boolean, default: !1 },
|
|
@@ -41,74 +41,89 @@ const d = l(() => import("../KvWwwHeader/LendMenu/KvLendMenu.js")), m = l(() =>
|
|
|
41
41
|
openMenuItem: { type: [Object, Function], default: null }
|
|
42
42
|
},
|
|
43
43
|
emits: ["item-hover", "load-search-data", "search-submit"],
|
|
44
|
-
setup(t, { emit:
|
|
45
|
-
const
|
|
46
|
-
}),
|
|
47
|
-
function
|
|
44
|
+
setup(t, { emit: l }) {
|
|
45
|
+
const o = P("$kvTrackEvent", () => {
|
|
46
|
+
}), a = d(null), u = d(null);
|
|
47
|
+
function g() {
|
|
48
48
|
const e = u.value, n = e == null ? void 0 : e.getBoundingClientRect();
|
|
49
49
|
return n ? t.isMobile ? { right: "0" } : { right: `${window.innerWidth - n.right}px` } : null;
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function b() {
|
|
52
52
|
if (t.isMobile) return null;
|
|
53
53
|
const e = u.value, n = e == null ? void 0 : e.getBoundingClientRect();
|
|
54
54
|
return n ? n.left + n.width / 2 : null;
|
|
55
55
|
}
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
const h = i(() => W.filter((e) => e.visibility === "visitor" ? !t.loggedIn : e.visibility === "loggedIn" ? t.loggedIn : !0)), k = i(() => t.isMobile ? void 0 : "/lend-by-category"), y = i(() => $(Math.floor(t.balance)).format("$0")), M = i(() => t.openMenuItem === v ? t.openMenuItem : null), B = i(() => t.openMenuItem === p ? t.openMenuItem : null), L = {
|
|
57
|
+
menuButton: { action: "hover-Mobile-menu", label: "Mobile" },
|
|
58
|
+
lendButton: { action: "hover-Lend-menu", label: "Lend" },
|
|
59
|
+
aboutLink: { action: "hover-About-menu", label: "About" },
|
|
60
|
+
avatarMenu: { action: "hover-User-menu", label: "User" }
|
|
61
|
+
}, I = {
|
|
62
|
+
menuButton: { action: "close-Mobile-menu", label: "Mobile" }
|
|
63
|
+
};
|
|
64
|
+
function s(e) {
|
|
65
|
+
const n = L[e];
|
|
66
|
+
n && o("TopNav", n.action, n.label);
|
|
67
|
+
}
|
|
68
|
+
function m(e) {
|
|
69
|
+
const n = I[e];
|
|
70
|
+
n && o("TopNav", n.action, n.label);
|
|
71
|
+
}
|
|
72
|
+
function T(e, n, c = null, f = null) {
|
|
73
|
+
navigator.maxTouchPoints || (a.value !== e && s(e), a.value = e, l("item-hover", e, n, c, f));
|
|
59
74
|
}
|
|
60
|
-
function
|
|
61
|
-
navigator.maxTouchPoints ||
|
|
75
|
+
function C(e) {
|
|
76
|
+
navigator.maxTouchPoints || a.value === e && (m(e), a.value = null, l("item-hover"));
|
|
62
77
|
}
|
|
63
|
-
function
|
|
64
|
-
|
|
78
|
+
function S(e, n, c = null, f = null) {
|
|
79
|
+
a.value === e ? (m(e), a.value = null, l("item-hover")) : (s(e), a.value = e, l("item-hover", e, n, c, f));
|
|
65
80
|
}
|
|
66
|
-
function
|
|
67
|
-
e.target === e.currentTarget &&
|
|
81
|
+
function N(e) {
|
|
82
|
+
e.target === e.currentTarget && l("item-hover");
|
|
68
83
|
}
|
|
69
|
-
function
|
|
70
|
-
|
|
84
|
+
function K(e) {
|
|
85
|
+
o(e.track[0], e.track[1]);
|
|
71
86
|
}
|
|
72
|
-
function
|
|
73
|
-
|
|
87
|
+
function U() {
|
|
88
|
+
o("TopNav", "click-Log-in");
|
|
74
89
|
}
|
|
75
|
-
function
|
|
76
|
-
|
|
90
|
+
function A() {
|
|
91
|
+
o("TopNav", "click-Basket");
|
|
77
92
|
}
|
|
78
|
-
function
|
|
79
|
-
|
|
93
|
+
function O() {
|
|
94
|
+
o("TopNav", "click-Support-Kiva");
|
|
80
95
|
}
|
|
81
|
-
function
|
|
82
|
-
|
|
96
|
+
function w() {
|
|
97
|
+
o("TopNav", "click-Logo");
|
|
83
98
|
}
|
|
84
99
|
return {
|
|
85
|
-
mdiMenu:
|
|
86
|
-
mdiChevronDown:
|
|
87
|
-
mdiBriefcase:
|
|
88
|
-
KvLendMenu:
|
|
89
|
-
AboutMenu:
|
|
90
|
-
MyKivaMenu:
|
|
91
|
-
MobileMenu:
|
|
100
|
+
mdiMenu: D,
|
|
101
|
+
mdiChevronDown: x,
|
|
102
|
+
mdiBriefcase: R,
|
|
103
|
+
KvLendMenu: v,
|
|
104
|
+
AboutMenu: p,
|
|
105
|
+
MyKivaMenu: Y,
|
|
106
|
+
MobileMenu: q,
|
|
92
107
|
avatarMenu: u,
|
|
93
|
-
getAvatarMenuPosition:
|
|
94
|
-
getAvatarTriggerCenterX:
|
|
95
|
-
visiblePrimaryLinks:
|
|
96
|
-
lendUrl:
|
|
97
|
-
formattedBalance:
|
|
98
|
-
lendOpenItem:
|
|
99
|
-
aboutOpenItem:
|
|
100
|
-
handleOnHover:
|
|
101
|
-
handleMouseOut:
|
|
102
|
-
handleTouchStart:
|
|
103
|
-
handleEmptySpaceClick:
|
|
104
|
-
onPrimaryClick:
|
|
105
|
-
onLoginClick:
|
|
106
|
-
onBasketClick:
|
|
107
|
-
onSupportKivaClick:
|
|
108
|
-
onLogoClick:
|
|
108
|
+
getAvatarMenuPosition: g,
|
|
109
|
+
getAvatarTriggerCenterX: b,
|
|
110
|
+
visiblePrimaryLinks: h,
|
|
111
|
+
lendUrl: k,
|
|
112
|
+
formattedBalance: y,
|
|
113
|
+
lendOpenItem: M,
|
|
114
|
+
aboutOpenItem: B,
|
|
115
|
+
handleOnHover: T,
|
|
116
|
+
handleMouseOut: C,
|
|
117
|
+
handleTouchStart: S,
|
|
118
|
+
handleEmptySpaceClick: N,
|
|
119
|
+
onPrimaryClick: K,
|
|
120
|
+
onLoginClick: U,
|
|
121
|
+
onBasketClick: A,
|
|
122
|
+
onSupportKivaClick: O,
|
|
123
|
+
onLogoClick: w
|
|
109
124
|
};
|
|
110
125
|
}
|
|
111
126
|
};
|
|
112
127
|
export {
|
|
113
|
-
|
|
128
|
+
ie as default
|
|
114
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.mobile-link[data-v-
|
|
1
|
+
.mobile-link[data-v-bc7e1655]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-bc7e1655]: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-bc7e1655] button{padding-top:0;padding-bottom:0}#header-basic-mobile-about-container[data-v-bc7e1655] nav{padding-bottom:0}
|
|
@@ -1,52 +1,53 @@
|
|
|
1
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
|
|
2
|
+
import { resolveComponent as i, openBlock as m, createElementBlock as d, createVNode as l, withCtx as r, createElementVNode as e } from "vue";
|
|
3
3
|
import "./MobileMenu.css";
|
|
4
|
-
import
|
|
4
|
+
import b from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
5
|
const w = {
|
|
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
|
-
},
|
|
8
|
+
}, p = {
|
|
9
9
|
"aria-label": "Mobile menu",
|
|
10
10
|
class: "tw-flex tw-flex-col tw-gap-2 tw-pt-1.5"
|
|
11
11
|
};
|
|
12
|
-
function
|
|
12
|
+
function u(k, o, f, t, _, v) {
|
|
13
13
|
const a = i("about-menu"), s = i("kv-accordion-item");
|
|
14
14
|
return m(), d("div", w, [
|
|
15
15
|
l(s, {
|
|
16
16
|
id: "kv-www-header-basic-about",
|
|
17
|
-
class: "tw-w-full tw-border-b-0"
|
|
17
|
+
class: "tw-w-full tw-border-b-0",
|
|
18
|
+
onToggle: t.onAboutToggle
|
|
18
19
|
}, {
|
|
19
20
|
header: r(() => o[3] || (o[3] = [
|
|
20
|
-
|
|
21
|
+
e("span", { class: "tw-text-button tw-pb-0.5" }, " About ", -1)
|
|
21
22
|
])),
|
|
22
23
|
default: r(() => [
|
|
23
24
|
l(a, {
|
|
24
25
|
"is-mobile": "",
|
|
25
|
-
onClosingMenu:
|
|
26
|
+
onClosingMenu: t.onClose
|
|
26
27
|
}, null, 8, ["onClosingMenu"])
|
|
27
28
|
]),
|
|
28
29
|
_: 1
|
|
29
|
-
}),
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
}, 8, ["onToggle"]),
|
|
31
|
+
e("nav", p, [
|
|
32
|
+
e("a", {
|
|
32
33
|
href: "/about/partner-with-us",
|
|
33
34
|
class: "mobile-link",
|
|
34
|
-
onClick: o[0] || (o[0] = (n) =>
|
|
35
|
+
onClick: o[0] || (o[0] = (n) => t.onLinkClick("click-Partner"))
|
|
35
36
|
}, "Partner"),
|
|
36
|
-
|
|
37
|
+
e("a", {
|
|
37
38
|
href: "/donate/supportus",
|
|
38
39
|
class: "mobile-link",
|
|
39
|
-
onClick: o[1] || (o[1] = (n) =>
|
|
40
|
+
onClick: o[1] || (o[1] = (n) => t.onLinkClick("click-Support-Kiva"))
|
|
40
41
|
}, "Support Kiva"),
|
|
41
|
-
|
|
42
|
+
e("a", {
|
|
42
43
|
href: "/borrow",
|
|
43
44
|
class: "mobile-link",
|
|
44
|
-
onClick: o[2] || (o[2] = (n) =>
|
|
45
|
+
onClick: o[2] || (o[2] = (n) => t.onLinkClick("click-Borrow"))
|
|
45
46
|
}, "Borrow")
|
|
46
47
|
])
|
|
47
48
|
]);
|
|
48
49
|
}
|
|
49
|
-
const
|
|
50
|
+
const M = /* @__PURE__ */ b(c, [["render", u], ["__scopeId", "data-v-bc7e1655"]]);
|
|
50
51
|
export {
|
|
51
|
-
|
|
52
|
+
M as default
|
|
52
53
|
};
|
|
@@ -13,6 +13,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
13
13
|
};
|
|
14
14
|
}>, {
|
|
15
15
|
onClose: () => void;
|
|
16
|
+
onAboutToggle: ({ open }: {
|
|
17
|
+
open: boolean;
|
|
18
|
+
}) => void;
|
|
16
19
|
onLinkClick: (action: string) => void;
|
|
17
20
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "closing-menu"[], "closing-menu", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
18
21
|
loggedIn: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { inject as
|
|
1
|
+
import { inject as u } from "vue";
|
|
2
2
|
import r from "../KvAccordionItem.js";
|
|
3
|
-
import
|
|
3
|
+
import c from "./AboutMenu.js";
|
|
4
4
|
const m = {
|
|
5
5
|
name: "MobileMenu",
|
|
6
|
-
components: { KvAccordionItem: r, AboutMenu:
|
|
6
|
+
components: { KvAccordionItem: r, AboutMenu: c },
|
|
7
7
|
props: {
|
|
8
8
|
loggedIn: {
|
|
9
9
|
type: Boolean,
|
|
@@ -19,16 +19,19 @@ const m = {
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
emits: ["closing-menu"],
|
|
22
|
-
setup(
|
|
23
|
-
const
|
|
22
|
+
setup(s, { emit: n }) {
|
|
23
|
+
const e = u("$kvTrackEvent", () => {
|
|
24
24
|
});
|
|
25
|
-
function
|
|
26
|
-
|
|
25
|
+
function t() {
|
|
26
|
+
n("closing-menu");
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
28
|
+
function i({ open: o }) {
|
|
29
|
+
o && e("TopNav", "hover-About-menu", "About");
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
function l(o) {
|
|
32
|
+
e("TopNav", o), n("closing-menu");
|
|
33
|
+
}
|
|
34
|
+
return { onClose: t, onAboutToggle: i, onLinkClick: l };
|
|
32
35
|
}
|
|
33
36
|
};
|
|
34
37
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kiva/kv-components",
|
|
3
|
-
"version": "8.18.
|
|
3
|
+
"version": "8.18.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
"dependencies": {
|
|
129
129
|
"fuse.js": "^7.1.0"
|
|
130
130
|
},
|
|
131
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "59adb1cf9788530cdbe75a331f453b2efef57c0a"
|
|
132
132
|
}
|