@kiva/kv-components 8.14.1 → 8.15.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.
Files changed (61) hide show
  1. package/dist/index.js +104 -102
  2. package/dist/utils/headerNavLinks.d.ts +8 -0
  3. package/dist/utils/headerNavLinks.js +19 -0
  4. package/dist/utils/markMatches.js +12 -0
  5. package/dist/utils/typeaheadSearchConfig.d.ts +4 -0
  6. package/dist/utils/typeaheadSearchConfig.js +31 -0
  7. package/dist/utils/typeaheadSearchEngine.d.ts +14 -0
  8. package/dist/utils/typeaheadSearchEngine.js +28 -0
  9. package/dist/utils/useBreakpoints.d.ts +4 -0
  10. package/dist/utils/useBreakpoints.js +18 -0
  11. package/dist/utils/useHeaderBasicMenuState.d.ts +3197 -0
  12. package/dist/utils/useHeaderBasicMenuState.js +30 -0
  13. package/dist/utils/useTypeaheadSearch.d.ts +19 -0
  14. package/dist/utils/useTypeaheadSearch.js +64 -0
  15. package/dist/vue/KvTab.vue.d.ts +9 -0
  16. package/dist/vue/KvTextInput.css +1 -0
  17. package/dist/vue/KvTextInput.js +18 -17
  18. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.js +29 -13
  19. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu2.js +58 -32
  20. package/dist/vue/KvWwwHeaderBasic/AboutMenu.css +1 -0
  21. package/dist/vue/KvWwwHeaderBasic/AboutMenu.js +25 -0
  22. package/dist/vue/KvWwwHeaderBasic/AboutMenu.vue.d.ts +29 -0
  23. package/dist/vue/KvWwwHeaderBasic/AboutMenu2.js +33 -0
  24. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.css +1 -0
  25. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.js +105 -0
  26. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic2.js +106 -0
  27. package/dist/vue/KvWwwHeaderBasic/LinkBar.css +1 -0
  28. package/dist/vue/KvWwwHeaderBasic/LinkBar.js +161 -0
  29. package/dist/vue/KvWwwHeaderBasic/LinkBar.vue.d.ts +398 -0
  30. package/dist/vue/KvWwwHeaderBasic/LinkBar2.js +114 -0
  31. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel.css +1 -0
  32. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel.js +61 -0
  33. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel.vue.d.ts +30 -0
  34. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel2.js +18 -0
  35. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.css +1 -0
  36. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.js +102 -0
  37. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.vue.d.ts +285 -0
  38. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu2.js +74 -0
  39. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel.css +1 -0
  40. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel.js +51 -0
  41. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel.vue.d.ts +48 -0
  42. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel2.js +31 -0
  43. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/RegionsPanel.js +38 -0
  44. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/RegionsPanel.vue.d.ts +38 -0
  45. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/RegionsPanel2.js +24 -0
  46. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.js +17 -0
  47. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.vue.d.ts +81 -0
  48. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel2.js +19 -0
  49. package/dist/vue/KvWwwHeaderBasic/MobileMenu.css +1 -0
  50. package/dist/vue/KvWwwHeaderBasic/MobileMenu.js +52 -0
  51. package/dist/vue/KvWwwHeaderBasic/MobileMenu.vue.d.ts +59 -0
  52. package/dist/vue/KvWwwHeaderBasic/MobileMenu2.js +36 -0
  53. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu.css +1 -0
  54. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu.js +90 -0
  55. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu.vue.d.ts +65 -0
  56. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu2.js +45 -0
  57. package/dist/vue/KvWwwHeaderBasic/SearchBar.js +73 -0
  58. package/dist/vue/KvWwwHeaderBasic/SearchBar.vue.d.ts +54 -0
  59. package/dist/vue/KvWwwHeaderBasic/SearchBar2.js +84 -0
  60. package/dist/vue/index.d.ts +1 -0
  61. package/package.json +6 -3
@@ -0,0 +1 @@
1
+ .lend-link[data-v-3e8e871e]{display:block;width:100%;padding-top:.5rem;padding-bottom:.5rem;--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.lend-link[data-v-3e8e871e]:hover{--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1));text-decoration-line:underline}
@@ -0,0 +1,51 @@
1
+ import k from "./MyKivaPanel2.js";
2
+ import { resolveComponent as a, resolveDirective as h, openBlock as t, createElementBlock as o, createElementVNode as n, withDirectives as i, createTextVNode as l, createVNode as c, withCtx as d } from "vue";
3
+ import "./MyKivaPanel.css";
4
+ import u from "../../../_virtual/_plugin-vue_export-helper.js";
5
+ const f = { class: "tw-font-medium" }, p = ["href"], w = {
6
+ key: 1,
7
+ class: "tw-block tw-py-1 tw-text-tertiary"
8
+ }, y = { key: 0 }, x = { key: 1 }, N = ["href"];
9
+ function S(C, e, s, _, L, T) {
10
+ const v = a("kv-lend-menu-search-list"), m = a("kv-accordion-item"), r = h("kv-track-event");
11
+ return t(), o("ul", f, [
12
+ n("li", null, [
13
+ s.favorites > 0 ? i((t(), o("a", {
14
+ key: 0,
15
+ href: `/lend?lenderFavorite=${s.userId}`,
16
+ class: "lend-link"
17
+ }, e[0] || (e[0] = [
18
+ l(" Saved loans ")
19
+ ]), 8, p)), [
20
+ [r, ["TopNav", "click-Lend-Favorites"]]
21
+ ]) : (t(), o("span", w, "Saved loans"))
22
+ ]),
23
+ _.hasSearches ? (t(), o("li", y, [
24
+ c(m, { id: "mobile-lend-menu-saved-searches-panel" }, {
25
+ header: d(() => e[1] || (e[1] = [
26
+ n("p", { class: "tw-font-medium" }, " Saved searches ", -1)
27
+ ])),
28
+ default: d(() => [
29
+ c(v, { searches: s.searches }, null, 8, ["searches"])
30
+ ]),
31
+ _: 1
32
+ })
33
+ ])) : (t(), o("li", x, e[2] || (e[2] = [
34
+ n("span", { class: "tw-block tw-py-1 tw-text-tertiary" }, "Saved searches", -1)
35
+ ]))),
36
+ n("li", null, [
37
+ i((t(), o("a", {
38
+ href: s.countriesNotLentToUrl,
39
+ class: "lend-link"
40
+ }, e[3] || (e[3] = [
41
+ l(" Countries I haven't lent to ")
42
+ ]), 8, N)), [
43
+ [r, ["TopNav", "click-Lend-Countries_Not_Lent"]]
44
+ ])
45
+ ])
46
+ ]);
47
+ }
48
+ const D = /* @__PURE__ */ u(k, [["render", S], ["__scopeId", "data-v-3e8e871e"]]);
49
+ export {
50
+ D as default
51
+ };
@@ -0,0 +1,48 @@
1
+ import { PropType } from 'vue';
2
+ import { LendMenuSearch } from '../../../../../../../../../../../src/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList.vue';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ userId: {
5
+ type: NumberConstructor;
6
+ default: any;
7
+ };
8
+ favorites: {
9
+ type: NumberConstructor;
10
+ default: number;
11
+ };
12
+ searches: {
13
+ type: PropType<LendMenuSearch[]>;
14
+ default: () => any[];
15
+ };
16
+ countriesNotLentToUrl: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ }>, {
21
+ hasSearches: import('vue').ComputedRef<boolean>;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
23
+ userId: {
24
+ type: NumberConstructor;
25
+ default: any;
26
+ };
27
+ favorites: {
28
+ type: NumberConstructor;
29
+ default: number;
30
+ };
31
+ searches: {
32
+ type: PropType<LendMenuSearch[]>;
33
+ default: () => any[];
34
+ };
35
+ countriesNotLentToUrl: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ }>> & Readonly<{}>, {
40
+ searches: LendMenuSearch[];
41
+ favorites: number;
42
+ userId: number;
43
+ countriesNotLentToUrl: string;
44
+ }, {}, {
45
+ KvAccordionItem: any;
46
+ KvLendMenuSearchList: any;
47
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
48
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import { computed as t } from "vue";
2
+ import r from "../../KvAccordionItem.js";
3
+ import o from "../../KvWwwHeader/LendMenu/KvLendMenuSearchList.js";
4
+ const c = {
5
+ name: "MyKivaPanel",
6
+ components: { KvAccordionItem: r, KvLendMenuSearchList: o },
7
+ props: {
8
+ userId: {
9
+ type: Number,
10
+ default: null
11
+ },
12
+ favorites: {
13
+ type: Number,
14
+ default: 0
15
+ },
16
+ searches: {
17
+ type: Array,
18
+ default: () => []
19
+ },
20
+ countriesNotLentToUrl: {
21
+ type: String,
22
+ default: "/lend/countries-not-lent"
23
+ }
24
+ },
25
+ setup(e) {
26
+ return { hasSearches: t(() => e.searches.length > 0) };
27
+ }
28
+ };
29
+ export {
30
+ c as default
31
+ };
@@ -0,0 +1,38 @@
1
+ import u from "./RegionsPanel2.js";
2
+ import { resolveComponent as n, resolveDirective as k, openBlock as t, createElementBlock as o, Fragment as l, renderList as d, createVNode as r, withCtx as c, withDirectives as v, createBlock as h, createElementVNode as f, toDisplayString as y } from "vue";
3
+ import g from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const x = { class: "tw-text-upper" };
5
+ function w(B, C, i, s, D, L) {
6
+ const _ = n("kv-loading-placeholder"), a = n("kv-accordion-item"), m = n("kv-lend-menu-country-list"), p = k("kv-track-event");
7
+ return t(), o("div", null, [
8
+ i.isRegionsLoading ? (t(), o(l, { key: 0 }, d(8, (e) => r(a, {
9
+ id: `regions-panel-placeholder-${e}`,
10
+ key: e,
11
+ disabled: !0
12
+ }, {
13
+ header: c(() => [
14
+ r(_, { style: { height: "1rem", width: "8rem" } })
15
+ ]),
16
+ _: 2
17
+ }, 1032, ["id"])), 64)) : (t(!0), o(l, { key: 1 }, d(i.regions, (e) => v((t(), h(a, {
18
+ id: `mobile-lend-menu-${s.paramCase(e.name)}-panel`,
19
+ key: e.name
20
+ }, {
21
+ header: c(() => [
22
+ f("h3", x, y(e.name), 1)
23
+ ]),
24
+ default: c(() => [
25
+ r(m, {
26
+ countries: e.countries
27
+ }, null, 8, ["countries"])
28
+ ]),
29
+ _: 2
30
+ }, 1032, ["id"])), [
31
+ [p, ["TopNav", "click-Lend-Region", e.name]]
32
+ ])), 128))
33
+ ]);
34
+ }
35
+ const b = /* @__PURE__ */ g(u, [["render", w]]);
36
+ export {
37
+ b as default
38
+ };
@@ -0,0 +1,38 @@
1
+ import { PropType } from 'vue';
2
+ export interface Region {
3
+ name: string;
4
+ countries: {
5
+ isoCode: string;
6
+ name: string;
7
+ count: number;
8
+ }[];
9
+ }
10
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
11
+ regions: {
12
+ type: PropType<Region[]>;
13
+ default: () => any[];
14
+ };
15
+ isRegionsLoading: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ }>, {
20
+ paramCase: any;
21
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
22
+ regions: {
23
+ type: PropType<Region[]>;
24
+ default: () => any[];
25
+ };
26
+ isRegionsLoading: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ }>> & Readonly<{}>, {
31
+ regions: Region[];
32
+ isRegionsLoading: boolean;
33
+ }, {}, {
34
+ KvAccordionItem: any;
35
+ KvLoadingPlaceholder: any;
36
+ KvLendMenuCountryList: any;
37
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import o from "../../KvAccordionItem.js";
2
+ import e from "../../KvLoadingPlaceholder.js";
3
+ import r from "../../KvWwwHeader/LendMenu/KvLendMenuCountryList.js";
4
+ import n from "../../../utils/paramCase.js";
5
+ const s = {
6
+ name: "RegionsPanel",
7
+ components: { KvAccordionItem: o, KvLoadingPlaceholder: e, KvLendMenuCountryList: r },
8
+ props: {
9
+ regions: {
10
+ type: Array,
11
+ default: () => []
12
+ },
13
+ isRegionsLoading: {
14
+ type: Boolean,
15
+ default: !1
16
+ }
17
+ },
18
+ setup() {
19
+ return { paramCase: n };
20
+ }
21
+ };
22
+ export {
23
+ s as default
24
+ };
@@ -0,0 +1,17 @@
1
+ import s from "./SearchPanel2.js";
2
+ import { resolveComponent as t, openBlock as i, createBlock as m } from "vue";
3
+ import p from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ function c(o, e, r, u, g, l) {
5
+ const n = t("search-bar");
6
+ return i(), m(n, {
7
+ "search-suggestions": r.searchSuggestions,
8
+ "app-origin": r.appOrigin,
9
+ "is-mobile": "",
10
+ onLoadSearchData: e[0] || (e[0] = (a) => o.$emit("load-search-data")),
11
+ onSearchSubmit: e[1] || (e[1] = (a) => o.$emit("search-submit", a))
12
+ }, null, 8, ["search-suggestions", "app-origin"]);
13
+ }
14
+ const b = /* @__PURE__ */ p(s, [["render", c]]);
15
+ export {
16
+ b as default
17
+ };
@@ -0,0 +1,81 @@
1
+ import { PropType } from 'vue';
2
+ import { SearchSuggestion } from '../../../../../../../../../../../src/utils/typeaheadSearchEngine';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ searchSuggestions: {
5
+ type: PropType<SearchSuggestion[]>;
6
+ default: () => any[];
7
+ };
8
+ appOrigin: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("load-search-data" | "search-submit")[], "load-search-data" | "search-submit", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
13
+ searchSuggestions: {
14
+ type: PropType<SearchSuggestion[]>;
15
+ default: () => any[];
16
+ };
17
+ appOrigin: {
18
+ type: StringConstructor;
19
+ default: string;
20
+ };
21
+ }>> & Readonly<{
22
+ "onLoad-search-data"?: (...args: any[]) => any;
23
+ "onSearch-submit"?: (...args: any[]) => any;
24
+ }>, {
25
+ searchSuggestions: SearchSuggestion[];
26
+ appOrigin: string;
27
+ }, {}, {
28
+ SearchBar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
29
+ searchSuggestions: {
30
+ type: () => SearchSuggestion[];
31
+ default: () => any[];
32
+ };
33
+ appOrigin: {
34
+ type: StringConstructor;
35
+ default: string;
36
+ };
37
+ isMobile: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
41
+ }>, {
42
+ mdiMagnify: string;
43
+ inputId: string;
44
+ term: any;
45
+ displayTerm: import('vue').ComputedRef<any>;
46
+ groupedResults: any;
47
+ highlighted: import('vue').ComputedRef<any>;
48
+ showResults: import('vue').ComputedRef<boolean>;
49
+ onInput: (value: string) => void;
50
+ onFocus: () => void;
51
+ onBlur: () => void;
52
+ onSubmit: () => void;
53
+ runSearch: (suggestion: SearchSuggestion) => void;
54
+ listUp: () => void;
55
+ listDown: () => void;
56
+ formatResult: (suggestion: SearchSuggestion) => string;
57
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("load-search-data" | "search-submit")[], "load-search-data" | "search-submit", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
58
+ searchSuggestions: {
59
+ type: () => SearchSuggestion[];
60
+ default: () => any[];
61
+ };
62
+ appOrigin: {
63
+ type: StringConstructor;
64
+ default: string;
65
+ };
66
+ isMobile: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ }>> & Readonly<{
71
+ "onLoad-search-data"?: (...args: any[]) => any;
72
+ "onSearch-submit"?: (...args: any[]) => any;
73
+ }>, {
74
+ isMobile: boolean;
75
+ searchSuggestions: SearchSuggestion[];
76
+ appOrigin: string;
77
+ }, {}, {
78
+ KvTextInput: any;
79
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
80
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
81
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import a from "../SearchBar.js";
2
+ const r = {
3
+ name: "SearchPanel",
4
+ components: { SearchBar: a },
5
+ props: {
6
+ searchSuggestions: {
7
+ type: Array,
8
+ default: () => []
9
+ },
10
+ appOrigin: {
11
+ type: String,
12
+ default: ""
13
+ }
14
+ },
15
+ emits: ["load-search-data", "search-submit"]
16
+ };
17
+ export {
18
+ r as default
19
+ };
@@ -0,0 +1 @@
1
+ .mobile-link[data-v-e3e9102f]{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1));text-decoration-line:none}.mobile-link[data-v-e3e9102f]: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-e3e9102f] button{padding-top:0;padding-bottom:0}#header-basic-mobile-about-container[data-v-e3e9102f] nav{padding-bottom:0}
@@ -0,0 +1,52 @@
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 t } from "vue";
3
+ import "./MobileMenu.css";
4
+ import p from "../../_virtual/_plugin-vue_export-helper.js";
5
+ const w = {
6
+ id: "header-basic-mobile-about-container",
7
+ class: "tw-flex tw-flex-col tw-items-stretch tw-font-medium tw-p-2.5 md:tw-hidden"
8
+ }, u = {
9
+ "aria-label": "Mobile menu",
10
+ class: "tw-flex tw-flex-col tw-gap-2 tw-pt-1.5"
11
+ };
12
+ function b(k, o, f, e, _, v) {
13
+ const a = i("about-menu"), s = i("kv-accordion-item");
14
+ return m(), d("div", w, [
15
+ l(s, {
16
+ id: "kv-www-header-basic-about",
17
+ class: "tw-w-full tw-border-b-0"
18
+ }, {
19
+ header: r(() => o[3] || (o[3] = [
20
+ t("span", { class: "tw-text-button tw-pb-0.5" }, " About ", -1)
21
+ ])),
22
+ default: r(() => [
23
+ l(a, {
24
+ "is-mobile": "",
25
+ onClosingMenu: e.onClose
26
+ }, null, 8, ["onClosingMenu"])
27
+ ]),
28
+ _: 1
29
+ }),
30
+ t("nav", u, [
31
+ t("a", {
32
+ href: "/about/partner-with-us",
33
+ class: "mobile-link",
34
+ onClick: o[0] || (o[0] = (n) => e.onLinkClick("click-Partner"))
35
+ }, "Partner"),
36
+ t("a", {
37
+ href: "/donate/supportus",
38
+ class: "mobile-link",
39
+ onClick: o[1] || (o[1] = (n) => e.onLinkClick("click-Support-Kiva"))
40
+ }, "Support Kiva"),
41
+ t("a", {
42
+ href: "/borrow",
43
+ class: "mobile-link",
44
+ onClick: o[2] || (o[2] = (n) => e.onLinkClick("click-Borrow"))
45
+ }, "Borrow")
46
+ ])
47
+ ]);
48
+ }
49
+ const B = /* @__PURE__ */ p(c, [["render", b], ["__scopeId", "data-v-e3e9102f"]]);
50
+ export {
51
+ B as default
52
+ };
@@ -0,0 +1,59 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ loggedIn: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ loginUrl: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ isMobile: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ }>, {
15
+ onClose: () => void;
16
+ onLinkClick: (action: string) => void;
17
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "closing-menu"[], "closing-menu", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
18
+ loggedIn: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ loginUrl: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ isMobile: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ }>> & Readonly<{
31
+ "onClosing-menu"?: (...args: any[]) => any;
32
+ }>, {
33
+ loggedIn: boolean;
34
+ loginUrl: string;
35
+ isMobile: boolean;
36
+ }, {}, {
37
+ KvAccordionItem: any;
38
+ AboutMenu: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
39
+ isMobile: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ }>, {
44
+ links: import('./AboutMenu.vue').AboutLink[];
45
+ onLinkClick: (action: string) => void;
46
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "closing-menu"[], "closing-menu", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
47
+ isMobile: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ }>> & Readonly<{
52
+ "onClosing-menu"?: (...args: any[]) => any;
53
+ }>, {
54
+ isMobile: boolean;
55
+ }, {}, {
56
+ KvHeaderMenuLink: any;
57
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
58
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
59
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import { inject as l } from "vue";
2
+ import r from "../KvAccordionItem.js";
3
+ import s from "./AboutMenu.js";
4
+ const m = {
5
+ name: "MobileMenu",
6
+ components: { KvAccordionItem: r, AboutMenu: s },
7
+ props: {
8
+ loggedIn: {
9
+ type: Boolean,
10
+ default: !1
11
+ },
12
+ loginUrl: {
13
+ type: String,
14
+ default: "/ui-login"
15
+ },
16
+ isMobile: {
17
+ type: Boolean,
18
+ default: !1
19
+ }
20
+ },
21
+ emits: ["closing-menu"],
22
+ setup(c, { emit: o }) {
23
+ const n = l("$kvTrackEvent", () => {
24
+ });
25
+ function e() {
26
+ o("closing-menu");
27
+ }
28
+ function t(i) {
29
+ n("TopNav", i), o("closing-menu");
30
+ }
31
+ return { onClose: e, onLinkClick: t };
32
+ }
33
+ };
34
+ export {
35
+ m as default
36
+ };
@@ -0,0 +1 @@
1
+ [data-v-8dbf5f0b] a{padding-top:.5rem;padding-bottom:.5rem}
@@ -0,0 +1,90 @@
1
+ import m from "./MyKivaMenu2.js";
2
+ import { resolveComponent as a, openBlock as k, createElementBlock as u, createVNode as l, withCtx as i, createTextVNode as n, createBlock as d, createCommentVNode as s } from "vue";
3
+ import "./MyKivaMenu.css";
4
+ import C from "../../_virtual/_plugin-vue_export-helper.js";
5
+ const w = { class: "tw-flex tw-flex-col tw-items-start tw-font-medium tw-mt-0.5 tw-pb-1 tw-px-2" };
6
+ function b(v, o, f, t, y, P) {
7
+ const r = a("kv-header-menu-link");
8
+ return k(), u("nav", w, [
9
+ l(r, {
10
+ href: f.myDashboardUrl,
11
+ class: "md:tw-hidden",
12
+ onClick: o[0] || (o[0] = (e) => t.onLinkClick("click-Dashboard"))
13
+ }, {
14
+ default: i(() => o[8] || (o[8] = [
15
+ n(" My Dashboard ")
16
+ ])),
17
+ _: 1
18
+ }, 8, ["href"]),
19
+ l(r, {
20
+ href: "/portfolio",
21
+ onClick: o[1] || (o[1] = (e) => t.onLinkClick("click-Portfolio-Portfolio"))
22
+ }, {
23
+ default: i(() => o[9] || (o[9] = [
24
+ n(" Portfolio ")
25
+ ])),
26
+ _: 1
27
+ }),
28
+ l(r, {
29
+ href: "/teams/my-teams",
30
+ onClick: o[2] || (o[2] = (e) => t.onLinkClick("click-Portfolio-My teams"))
31
+ }, {
32
+ default: i(() => o[10] || (o[10] = [
33
+ n(" My Teams ")
34
+ ])),
35
+ _: 1
36
+ }),
37
+ l(r, {
38
+ href: "/portfolio/donations",
39
+ onClick: o[3] || (o[3] = (e) => t.onLinkClick("click-Portfolio-Donations"))
40
+ }, {
41
+ default: i(() => o[11] || (o[11] = [
42
+ n(" Donations ")
43
+ ])),
44
+ _: 1
45
+ }),
46
+ l(r, {
47
+ href: "/settings",
48
+ onClick: o[4] || (o[4] = (e) => t.onLinkClick("click-Portfolio-Settings"))
49
+ }, {
50
+ default: i(() => o[12] || (o[12] = [
51
+ n(" Settings ")
52
+ ])),
53
+ _: 1
54
+ }),
55
+ f.isBorrower ? (k(), d(r, {
56
+ key: 0,
57
+ href: "/my/borrower",
58
+ onClick: o[5] || (o[5] = (e) => t.onLinkClick("click-Portfolio-My borrower dashboard"))
59
+ }, {
60
+ default: i(() => o[13] || (o[13] = [
61
+ n(" Borrower Dashboard ")
62
+ ])),
63
+ _: 1
64
+ })) : s("", !0),
65
+ f.isTrustee ? (k(), d(r, {
66
+ key: 1,
67
+ href: "/my/trustee",
68
+ onClick: o[6] || (o[6] = (e) => t.onLinkClick("click-Portfolio-My Trustee dashboard"))
69
+ }, {
70
+ default: i(() => o[14] || (o[14] = [
71
+ n(" Trustee Dashboard ")
72
+ ])),
73
+ _: 1
74
+ })) : s("", !0),
75
+ l(r, {
76
+ href: "/ui-logout",
77
+ class: "tw-border-t tw-border-secondary tw-w-full",
78
+ onClick: o[7] || (o[7] = (e) => t.onLinkClick("click-Portfolio-Sign out"))
79
+ }, {
80
+ default: i(() => o[15] || (o[15] = [
81
+ n(" Sign out ")
82
+ ])),
83
+ _: 1
84
+ })
85
+ ]);
86
+ }
87
+ const g = /* @__PURE__ */ C(m, [["render", b], ["__scopeId", "data-v-8dbf5f0b"]]);
88
+ export {
89
+ g as default
90
+ };
@@ -0,0 +1,65 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ loggedIn: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ userId: {
7
+ type: NumberConstructor;
8
+ default: any;
9
+ };
10
+ isBorrower: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ isTrustee: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ myDashboardUrl: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ isMobile: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }>, {
27
+ onLinkClick: (action: string) => void;
28
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "closing-menu"[], "closing-menu", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
29
+ loggedIn: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ userId: {
34
+ type: NumberConstructor;
35
+ default: any;
36
+ };
37
+ isBorrower: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
41
+ isTrustee: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ myDashboardUrl: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ isMobile: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ }>> & Readonly<{
54
+ "onClosing-menu"?: (...args: any[]) => any;
55
+ }>, {
56
+ loggedIn: boolean;
57
+ isMobile: boolean;
58
+ isBorrower: boolean;
59
+ isTrustee: boolean;
60
+ myDashboardUrl: string;
61
+ userId: number;
62
+ }, {}, {
63
+ KvHeaderMenuLink: any;
64
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
65
+ export default _default;