@kiva/kv-components 8.19.2 → 8.20.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 (102) hide show
  1. package/AGENTS.md +4 -0
  2. package/dist/data/ne_110m_admin_0_countries.json.js +1 -1
  3. package/dist/utils/Alea.js +2 -2
  4. package/dist/utils/mapUtils.js +5 -7
  5. package/dist/vendor/aria-hidden/dist/es2015/index.js +23 -23
  6. package/dist/vendor/popper.js/dist/esm/popper.js +6 -6
  7. package/dist/vue/KvAtbModal.css +1 -1
  8. package/dist/vue/KvCarousel.css +1 -1
  9. package/dist/vue/KvCarousel2.js +5 -5
  10. package/dist/vue/KvCartModal.css +1 -1
  11. package/dist/vue/KvCartModal2.js +7 -7
  12. package/dist/vue/KvCheckbox.js +3 -3
  13. package/dist/vue/KvClassicLoanCard.css +1 -1
  14. package/dist/vue/KvClassicLoanCard.js +2 -2
  15. package/dist/vue/KvClassicLoanCard.vue.d.ts +29 -12
  16. package/dist/vue/KvClassicLoanCard2.js +52 -46
  17. package/dist/vue/KvCommentsContainer2.js +7 -7
  18. package/dist/vue/KvCommentsListItem2.js +11 -11
  19. package/dist/vue/KvCompactLoanCard.css +1 -1
  20. package/dist/vue/KvCompactLoanCard.js +147 -147
  21. package/dist/vue/KvCompactLoanCard.vue.d.ts +11 -6
  22. package/dist/vue/KvCompactLoanCard2.js +15 -15
  23. package/dist/vue/KvContentfulImg.js +3 -3
  24. package/dist/vue/KvDatePicker.vue.d.ts +5 -2
  25. package/dist/vue/KvDatePicker2.js +9 -5
  26. package/dist/vue/KvExpandable2.js +3 -3
  27. package/dist/vue/KvExpandableQuestion2.js +3 -3
  28. package/dist/vue/KvFlag.js +5 -5
  29. package/dist/vue/KvIconButton.js +4 -4
  30. package/dist/vue/KvImageUpload.js +1 -1
  31. package/dist/vue/KvImageUpload2.js +3 -3
  32. package/dist/vue/KvIntroductionLoanCard.css +1 -1
  33. package/dist/vue/KvIntroductionLoanCard.js +11 -11
  34. package/dist/vue/KvIntroductionLoanCard.vue.d.ts +8 -4
  35. package/dist/vue/KvIntroductionLoanCard2.js +34 -31
  36. package/dist/vue/KvLendAmountButton.vue.d.ts +4 -2
  37. package/dist/vue/KvLendAmountButton2.js +3 -0
  38. package/dist/vue/KvLendCta.css +1 -1
  39. package/dist/vue/KvLendCta.js +9 -9
  40. package/dist/vue/KvLendCta.vue.d.ts +9 -4
  41. package/dist/vue/KvLendCta2.js +11 -7
  42. package/dist/vue/KvLightbox2.js +4 -4
  43. package/dist/vue/KvLoanActivities.js +4 -4
  44. package/dist/vue/KvLoanActivities.vue.d.ts +9 -4
  45. package/dist/vue/KvLoanActivities2.js +13 -13
  46. package/dist/vue/KvLoanBookmark.vue.d.ts +4 -2
  47. package/dist/vue/KvLoanBookmark2.js +8 -5
  48. package/dist/vue/KvLoanInfoCard.css +1 -1
  49. package/dist/vue/KvLoanInfoCard.js +2 -2
  50. package/dist/vue/KvLoanTag.js +9 -9
  51. package/dist/vue/KvLoanTag2.js +1 -1
  52. package/dist/vue/KvMap.vue.d.ts +4 -2
  53. package/dist/vue/KvMap2.js +9 -6
  54. package/dist/vue/KvPagination.vue.d.ts +4 -2
  55. package/dist/vue/KvPagination2.js +7 -4
  56. package/dist/vue/KvPieChartV2.css +1 -1
  57. package/dist/vue/KvPieChartV22.js +3 -3
  58. package/dist/vue/KvPopper2.js +4 -4
  59. package/dist/vue/KvRadio.js +1 -1
  60. package/dist/vue/KvSecondaryNav.js +25 -25
  61. package/dist/vue/KvSecondaryNav2.js +8 -8
  62. package/dist/vue/KvSelect.js +12 -12
  63. package/dist/vue/KvSideSheet.js +1 -1
  64. package/dist/vue/KvSideSheet2.js +3 -3
  65. package/dist/vue/KvSimpleMap.css +1 -1
  66. package/dist/vue/KvSimpleMap.js +2 -2
  67. package/dist/vue/KvSimpleMap2.js +1 -0
  68. package/dist/vue/KvSwitch.js +1 -1
  69. package/dist/vue/KvTabs.vue.d.ts +4 -2
  70. package/dist/vue/KvTabs2.js +17 -14
  71. package/dist/vue/KvTextInput.js +1 -1
  72. package/dist/vue/KvTextInput2.js +3 -3
  73. package/dist/vue/KvThemeProvider.css +1 -1
  74. package/dist/vue/KvTooltip.css +1 -1
  75. package/dist/vue/KvTooltip.js +7 -7
  76. package/dist/vue/KvTooltip2.js +22 -22
  77. package/dist/vue/KvTreeMapChart.css +1 -1
  78. package/dist/vue/KvVerticalCarousel2.js +5 -5
  79. package/dist/vue/KvVotingCard.css +1 -1
  80. package/dist/vue/KvVotingCard.js +11 -11
  81. package/dist/vue/KvVotingCard.vue.d.ts +5 -2
  82. package/dist/vue/KvVotingCard2.js +4 -0
  83. package/dist/vue/KvWideLoanCard.css +1 -1
  84. package/dist/vue/KvWideLoanCard.js +4 -4
  85. package/dist/vue/KvWideLoanCard.vue.d.ts +18 -8
  86. package/dist/vue/KvWideLoanCard2.js +39 -35
  87. package/dist/vue/KvWwwHeader/KvHeaderLinkBar.js +1 -1
  88. package/dist/vue/KvWwwHeader/KvHeaderLinkBar2.js +5 -5
  89. package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu.js +3 -3
  90. package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.js +4 -4
  91. package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.js +9 -9
  92. package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu2.js +3 -3
  93. package/dist/vue/KvWwwHeaderBasic/LinkBar.css +1 -1
  94. package/dist/vue/KvWwwHeaderBasic/LinkBar2.js +3 -3
  95. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.css +1 -1
  96. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.js +1 -1
  97. package/dist/vue/KvWwwHeaderBasic/SearchBar2.js +6 -6
  98. package/docs/code-connect.md +266 -0
  99. package/figma.config.json +6 -0
  100. package/package.json +6 -21
  101. package/tsconfig.json +2 -1
  102. package/vite.config.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  import A from "graphql-tag";
2
2
  import W from "numeral";
3
3
  import { ref as $, computed as o, watch as H } from "vue";
4
- import { mdiMapMarker as j, mdiHome as q, mdiLink as z, mdiCached as J } from "@mdi/js";
4
+ import { mdiCached as j, mdiLink as q, mdiHome as z, mdiMapMarker as J } from "@mdi/js";
5
5
  import { LOAN_CALLOUTS_FRAGMENT as Q, LOAN_GEOCODE_FRAGMENT as X, LOAN_PROGRESS_FRAGMENT as Y, loanCardComputedProperties as Z, loanCardMethods as ee } from "../utils/loanCard.js";
6
6
  import { getDropdownPriceArray as te, getLendCtaSelectedOption as ae, isLessThan25 as oe } from "../utils/loanUtils.js";
7
7
  import { computePostGoalLoanCardStatement as ne } from "../utils/postGoalStatement.js";
@@ -14,8 +14,8 @@ import de from "./KvLoanTag.js";
14
14
  import me from "./KvMaterialIcon.js";
15
15
  import fe from "./KvLoadingPlaceholder.js";
16
16
  import ce from "./KvLoanTeamPick.js";
17
- import he from "./KvSelect.js";
18
- import { KV_LEND_CTA_FRAGMENT as ve, KV_LEND_CTA_USER_FRAGMENT as Le } from "./KvLendCta2.js";
17
+ import ve from "./KvSelect.js";
18
+ import { KV_LEND_CTA_FRAGMENT as he, KV_LEND_CTA_USER_FRAGMENT as Le } from "./KvLendCta2.js";
19
19
  import { KV_LOAN_TAG_FRAGMENT as ge } from "./KvLoanTag2.js";
20
20
  import { KV_LOAN_USE_FRAGMENT as ye } from "./KvLoanUse2.js";
21
21
  const d = {
@@ -43,7 +43,7 @@ const d = {
43
43
  ...LoanGeocode
44
44
  ...LoanProgress
45
45
  }
46
- ${ve}
46
+ ${he}
47
47
  ${ge}
48
48
  ${ye}
49
49
  ${Q}
@@ -67,7 +67,7 @@ const d = {
67
67
  KvLoanCallouts: ie,
68
68
  KvLoanTeamPick: ce,
69
69
  KvLoanProgressGroup: ue,
70
- KvSelect: he
70
+ KvSelect: ve
71
71
  },
72
72
  props: {
73
73
  variant: {
@@ -234,8 +234,8 @@ const d = {
234
234
  hasProgressData: _,
235
235
  imageHash: w,
236
236
  isLoading: B,
237
- loanAmount: h,
238
- loanBorrowerCount: v,
237
+ loanAmount: v,
238
+ loanBorrowerCount: h,
239
239
  loanCallouts: T,
240
240
  loanStatus: L,
241
241
  loanUse: g,
@@ -260,8 +260,8 @@ const d = {
260
260
  borrowerName: m.value,
261
261
  distributionModel: f.value,
262
262
  formattedLocation: c.value,
263
- loanAmount: h.value,
264
- loanBorrowerCount: v.value,
263
+ loanAmount: v.value,
264
+ loanBorrowerCount: h.value,
265
265
  loanStatus: L.value,
266
266
  loanUse: g.value
267
267
  });
@@ -317,17 +317,17 @@ const d = {
317
317
  imageHash: w,
318
318
  isLoading: B,
319
319
  isPostGoalVariant: s,
320
- loanAmount: h,
321
- loanBorrowerCount: v,
320
+ loanAmount: v,
321
+ loanBorrowerCount: h,
322
322
  loanCallouts: T,
323
323
  loanStatus: L,
324
324
  loanUse: g,
325
325
  loanUsePrefixEnd: D,
326
326
  loanUsePrefixStart: U,
327
- mdiMapMarker: j,
328
- mdiHome: q,
329
- mdiLink: z,
330
- mdiCached: J,
327
+ mdiMapMarker: J,
328
+ mdiHome: z,
329
+ mdiLink: q,
330
+ mdiCached: j,
331
331
  readMorePath: k,
332
332
  state: M,
333
333
  tag: F,
@@ -1,5 +1,5 @@
1
1
  import w from "./KvContentfulImg2.js";
2
- import { openBlock as e, createElementBlock as a, createElementVNode as h, Fragment as c, renderList as o, createCommentVNode as r, normalizeStyle as f, createTextVNode as m, toDisplayString as s } from "vue";
2
+ import { openBlock as e, createElementBlock as a, createElementVNode as h, Fragment as c, renderList as o, createCommentVNode as r, normalizeStyle as m, createTextVNode as f, toDisplayString as s } from "vue";
3
3
  import u from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const b = {
5
5
  key: 0,
@@ -69,7 +69,7 @@ function v(Q, n, i, t, U, S) {
69
69
  t.caption ? (e(), a("figcaption", {
70
70
  key: 0,
71
71
  class: "tw-italic tw-my-1.5 tw-break-words tw-max-w-full tw-font-book tw-text-action-highlight",
72
- style: f({ maxWidth: i.width ? `${i.width}px` : void 0 })
72
+ style: m({ maxWidth: i.width ? `${i.width}px` : void 0 })
73
73
  }, [
74
74
  t.removeLeafIcon ? r("", !0) : (e(), a("span", P, n[0] || (n[0] = [
75
75
  h("svg", {
@@ -85,7 +85,7 @@ function v(Q, n, i, t, U, S) {
85
85
  })
86
86
  ], -1)
87
87
  ]))),
88
- m(" " + s(t.caption), 1)
88
+ f(" " + s(t.caption), 1)
89
89
  ], 4)) : r("", !0)
90
90
  ])) : r("", !0);
91
91
  }
@@ -14,7 +14,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
14
14
  selectedDate: any;
15
15
  }, {}, {
16
16
  handleDateChange(value: any): void;
17
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
17
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("change" | "update:model-value")[], "change" | "update:model-value", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
18
18
  modelValue: {
19
19
  type: (StringConstructor | NumberConstructor | DateConstructor | ArrayConstructor)[];
20
20
  default: any;
@@ -24,7 +24,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
24
24
  default: string;
25
25
  validator(value: string): boolean;
26
26
  };
27
- }>> & Readonly<{}>, {
27
+ }>> & Readonly<{
28
+ onChange?: (...args: any[]) => any;
29
+ "onUpdate:model-value"?: (...args: any[]) => any;
30
+ }>, {
28
31
  theme: string;
29
32
  modelValue: string | number | Date | unknown[];
30
33
  }, {}, {
@@ -1,9 +1,9 @@
1
1
  import { computed as r } from "vue";
2
2
  import a from "@vuepic/vue-datepicker";
3
3
  import "@vuepic/vue-datepicker/dist/main.css";
4
- import { defaultTheme as t, stoneDarkTheme as n, stoneLightTheme as i, marigoldLightTheme as m, greenLightTheme as h, greenDarkTheme as o } from "@kiva/kv-tokens";
4
+ import { defaultTheme as t, stoneDarkTheme as n, stoneLightTheme as m, marigoldLightTheme as i, greenLightTheme as h, greenDarkTheme as o } from "@kiva/kv-tokens";
5
5
  import s from "./KvThemeProvider.js";
6
- const p = {
6
+ const f = {
7
7
  name: "KvDatePicker",
8
8
  components: {
9
9
  KvThemeProvider: s,
@@ -30,6 +30,10 @@ const p = {
30
30
  }
31
31
  }
32
32
  },
33
+ emits: [
34
+ "update:model-value",
35
+ "change"
36
+ ],
33
37
  setup(e) {
34
38
  return { themeStyle: r(() => {
35
39
  switch (e.theme) {
@@ -40,9 +44,9 @@ const p = {
40
44
  case "greenLight":
41
45
  return h;
42
46
  case "marigoldLight":
43
- return m;
44
- case "stoneLight":
45
47
  return i;
48
+ case "stoneLight":
49
+ return m;
46
50
  case "stoneDark":
47
51
  return n;
48
52
  default:
@@ -70,5 +74,5 @@ const p = {
70
74
  }
71
75
  };
72
76
  export {
73
- p as default
77
+ f as default
74
78
  };
@@ -1,5 +1,5 @@
1
1
  import { toRefs as s } from "vue";
2
- import { expand as o, collapse as i } from "../utils/expander.js";
2
+ import { collapse as o, expand as i } from "../utils/expander.js";
3
3
  const g = {
4
4
  props: {
5
5
  property: {
@@ -32,13 +32,13 @@ const g = {
32
32
  skipLeave: n
33
33
  } = s(p);
34
34
  return {
35
- enter: (t, e) => u.value ? e() : (o(t, {
35
+ enter: (t, e) => u.value ? e() : (i(t, {
36
36
  property: a.value,
37
37
  delay: r.value,
38
38
  easing: l.value,
39
39
  done: e
40
40
  }), !0),
41
- leave: (t, e) => n.value ? e() : (i(t, {
41
+ leave: (t, e) => n.value ? e() : (o(t, {
42
42
  property: a.value,
43
43
  delay: r.value,
44
44
  easing: l.value,
@@ -1,5 +1,5 @@
1
1
  import { toRefs as r, ref as c, computed as f, watch as v, onMounted as p } from "vue";
2
- import { mdiChevronDown as m, mdiChevronUp as s } from "@mdi/js";
2
+ import { mdiChevronUp as m, mdiChevronDown as s } from "@mdi/js";
3
3
  import { kebabCase as d } from "change-case";
4
4
  import g from "./KvExpandable.js";
5
5
  import h from "./KvMaterialIcon.js";
@@ -53,8 +53,8 @@ const x = {
53
53
  o.routeHash === `#${t.value}` && (e.value = !0);
54
54
  }), {
55
55
  open: e,
56
- mdiChevronDown: m,
57
- mdiChevronUp: s,
56
+ mdiChevronDown: s,
57
+ mdiChevronUp: m,
58
58
  titleSlugified: t,
59
59
  toggleFAQ: u
60
60
  };
@@ -1,5 +1,5 @@
1
1
  import d from "./KvFlag2.js";
2
- import { openBlock as a, createElementBlock as r, normalizeClass as l, normalizeStyle as s, createElementVNode as c, toDisplayString as o, createCommentVNode as n } from "vue";
2
+ import { openBlock as a, createElementBlock as r, normalizeStyle as l, normalizeClass as s, createElementVNode as c, toDisplayString as o, createCommentVNode as n } from "vue";
3
3
  import "./KvFlag.css";
4
4
  import i from "../_virtual/_plugin-vue_export-helper.js";
5
5
  const m = { class: "tw-sr-only" }, _ = {
@@ -9,12 +9,12 @@ const m = { class: "tw-sr-only" }, _ = {
9
9
  function f(g, w, e, v, u, t) {
10
10
  return e.country ? (a(), r("div", {
11
11
  key: 0,
12
- class: l(`kv-flag kv-flag--${e.aspectRatio}`),
13
- style: s({ maxWidth: t.spriteWidth, minWidth: t.spriteWidth })
12
+ class: s(`kv-flag kv-flag--${e.aspectRatio}`),
13
+ style: l({ maxWidth: t.spriteWidth, minWidth: t.spriteWidth })
14
14
  }, [
15
15
  c("div", {
16
- class: l(["kv-flag__wrapper kv-flag-svg tw-bg-gray-100 tw-relative tw-overflow-hidden tw-h-0 tw-w-full tw-border tw-border-gray-600 !tw-bg-cover", t.classes]),
17
- style: s({ backgroundImage: `url(${t.svgUrl})` })
16
+ class: s(["kv-flag__wrapper kv-flag-svg tw-bg-gray-100 tw-relative tw-overflow-hidden tw-h-0 tw-w-full tw-border tw-border-gray-600 !tw-bg-cover", t.classes]),
17
+ style: l({ backgroundImage: `url(${t.svgUrl})` })
18
18
  }, [
19
19
  c("span", m, "Flag of " + o(e.name), 1)
20
20
  ], 6),
@@ -78,11 +78,11 @@ const b = ["disabled", "aria-pressed"], V = /* @__PURE__ */ n({
78
78
  }
79
79
  },
80
80
  emits: ["click", "update:modelValue"],
81
- setup(e, { emit: o }) {
82
- const t = e, r = o, i = (l) => {
83
- t.disabled || (t.toggleable && r("update:modelValue", !t.modelValue), r("click", l));
81
+ setup(e, { emit: l }) {
82
+ const t = e, r = l, i = (o) => {
83
+ t.disabled || (t.toggleable && r("update:modelValue", !t.modelValue), r("click", o));
84
84
  }, d = c(() => t.toggleable && t.modelValue && t.activeIcon ? t.activeIcon : t.icon);
85
- return (l, g) => (s(), u("button", {
85
+ return (o, g) => (s(), u("button", {
86
86
  type: "button",
87
87
  disabled: e.disabled,
88
88
  "aria-pressed": e.toggleable ? e.modelValue : void 0,
@@ -1,5 +1,5 @@
1
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";
2
+ import { resolveComponent as f, openBlock as i, createElementBlock as n, createElementVNode as a, normalizeStyle as g, normalizeClass as l, renderSlot as b, createVNode as c, withModifiers as w, createCommentVNode as m } from "vue";
3
3
  import "./KvImageUpload.css";
4
4
  import u from "../_virtual/_plugin-vue_export-helper.js";
5
5
  const v = { class: "tw-flex tw-flex-col" }, h = ["src", "alt"], C = ["accept", "aria-label"];
@@ -1,5 +1,5 @@
1
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";
2
+ import { mdiCameraPlusOutline as F, mdiClose as w, mdiPencil as I } from "@mdi/js";
3
3
  import C from "./KvMaterialIcon.js";
4
4
  import { DEFAULT_ACCEPTED_IMAGE_TYPES as b, validateImageFile as R, cropResizeImageToDataUrl as T } from "../utils/imageUtils.js";
5
5
  const U = {
@@ -125,9 +125,9 @@ const U = {
125
125
  }
126
126
  };
127
127
  return {
128
- mdiPencil: F,
128
+ mdiPencil: I,
129
129
  mdiClose: w,
130
- mdiCameraPlusOutline: I,
130
+ mdiCameraPlusOutline: F,
131
131
  fileInput: s,
132
132
  previewImage: a,
133
133
  isCircle: m,
@@ -1 +1 @@
1
- .loan-callouts[data-v-03fddb4a] span{background-color:transparent!important;--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1))}.loan-card-use[data-v-03fddb4a]:hover,.loan-card-use[data-v-03fddb4a]:focus{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1))}.loan-card-active-hover:hover .loan-card-use[data-v-03fddb4a],.loan-card-active-hover:hover .loan-card-name[data-v-03fddb4a]{text-decoration-line:underline}.loan-card-progress[data-v-03fddb4a],.loan-card-progress[data-v-03fddb4a]:hover,.loan-card-progress[data-v-03fddb4a]:focus{text-decoration-line:none}.loan-card-name[data-v-03fddb4a]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding-left:1.5rem;padding-right:1.5rem;padding-top:.5rem}.loan-bookmark[data-v-03fddb4a] button{border-top-left-radius:0!important;border-top-right-radius:0!important}
1
+ .loan-callouts[data-v-4e9edc0f] span{background-color:transparent!important;--tw-text-opacity: 1;color:rgba(var(--text-action),var(--tw-text-opacity, 1))}.loan-card-use[data-v-4e9edc0f]:hover,.loan-card-use[data-v-4e9edc0f]:focus{--tw-text-opacity: 1;color:rgba(var(--text-primary),var(--tw-text-opacity, 1))}.loan-card-active-hover:hover .loan-card-use[data-v-4e9edc0f],.loan-card-active-hover:hover .loan-card-name[data-v-4e9edc0f]{text-decoration-line:underline}.loan-card-progress[data-v-4e9edc0f],.loan-card-progress[data-v-4e9edc0f]:hover,.loan-card-progress[data-v-4e9edc0f]:focus{text-decoration-line:none}.loan-card-name[data-v-4e9edc0f]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding-left:1.5rem;padding-right:1.5rem;padding-top:.5rem}.loan-bookmark[data-v-4e9edc0f] button{border-top-left-radius:0!important;border-top-right-radius:0!important}
@@ -1,23 +1,23 @@
1
1
  import N from "./KvIntroductionLoanCard2.js";
2
2
  import { KV_INTRODUCTION_LOAN_CARD_FRAGMENT as tt, KV_INTRODUCTION_LOAN_CARD_USER_FRAGMENT as et } from "./KvIntroductionLoanCard2.js";
3
- import { resolveComponent as s, openBlock as e, createElementBlock as n, normalizeClass as _, normalizeStyle as P, createElementVNode as i, createBlock as o, resolveDynamicComponent as g, withCtx as w, createVNode as d, Suspense as R, toDisplayString as f, createCommentVNode as m, Fragment as p, renderList as A } from "vue";
3
+ import { resolveComponent as s, openBlock as e, createElementBlock as n, normalizeStyle as P, normalizeClass as _, createElementVNode as i, createBlock as o, resolveDynamicComponent as g, withCtx as w, createVNode as d, Suspense as R, toDisplayString as f, createCommentVNode as m, Fragment as p, renderList as A } from "vue";
4
4
  import "./KvIntroductionLoanCard.css";
5
5
  import B from "../_virtual/_plugin-vue_export-helper.js";
6
6
  const D = { class: "tw-grow" }, T = { class: "loan-card-active-hover" }, z = {
7
7
  key: 1,
8
8
  style: { height: "11rem" },
9
9
  class: "tw-relative tw-overflow-hidden"
10
- }, I = { key: 0 }, F = {
10
+ }, I = { key: 0 }, O = {
11
11
  class: "tw-absolute tw-bottom-1 tw-left-1 tw-text-primary tw-bg-white tw-rounded tw-p-1 tw-mb-0 tw-mr-2 tw-text-label tw-flex tw-items-center tw-h-3 !tw-capitalize",
12
12
  style: { padding: "2px 6px" }
13
- }, O = { style: { "margin-top": "0.125rem" } }, S = {
13
+ }, S = { style: { "margin-top": "0.125rem" } }, V = {
14
14
  key: 3,
15
15
  class: "tw-flex tw-justify-center tw-gap-2"
16
- }, V = {
16
+ }, E = {
17
17
  key: 0,
18
18
  class: "tw-w-full",
19
19
  style: { height: "5.5rem" }
20
- }, E = { key: 1 }, U = { class: "tw-px-2" }, W = {
20
+ }, F = { key: 1 }, U = { class: "tw-px-2" }, W = {
21
21
  key: 0,
22
22
  class: "tw-w-full tw-pr-1"
23
23
  }, j = { class: "tw-flex tw-justify-between" }, K = {
@@ -57,7 +57,7 @@ function G(k, a, c, t, H, h) {
57
57
  "photo-path": c.photoPath
58
58
  }, null, 8, ["alt", "aspect-ratio", "default-image", "hash", "images", "photo-path"]),
59
59
  t.countryName ? (e(), n("div", I, [
60
- i("p", F, [
60
+ i("p", O, [
61
61
  (e(), o(R, null, {
62
62
  default: w(() => [
63
63
  d(y, {
@@ -70,7 +70,7 @@ function G(k, a, c, t, H, h) {
70
70
  ]),
71
71
  _: 1
72
72
  })),
73
- i("span", O, f(t.formattedLocation), 1)
73
+ i("span", S, f(t.formattedLocation), 1)
74
74
  ])
75
75
  ])) : m("", !0)
76
76
  ]),
@@ -105,7 +105,7 @@ function G(k, a, c, t, H, h) {
105
105
  ]),
106
106
  _: 1
107
107
  }, 8, ["to", "href"])),
108
- t.isLoading ? (e(), n("div", S, [
108
+ t.isLoading ? (e(), n("div", V, [
109
109
  t.isLoading || typeof t.loanCallouts > "u" ? (e(), o(l, {
110
110
  key: 0,
111
111
  class: "tw-mt-0.5 tw-mb-1",
@@ -149,14 +149,14 @@ function G(k, a, c, t, H, h) {
149
149
  i("div", {
150
150
  class: _(["tw-pt-0.5 tw-px-2", { "tw-mb-1.5": !t.isLoading }])
151
151
  }, [
152
- t.isLoading ? (e(), n("div", V, [
152
+ t.isLoading ? (e(), n("div", E, [
153
153
  (e(!0), n(p, null, A([...Array(3)], (r, L) => (e(), n("div", {
154
154
  key: L,
155
155
  class: "tw-h-2 tw-mb-1"
156
156
  }, [
157
157
  d(l)
158
158
  ]))), 128))
159
- ])) : (e(), n("div", E, [
159
+ ])) : (e(), n("div", F, [
160
160
  d(x, {
161
161
  use: t.loanUse,
162
162
  "loan-amount": t.loanAmount,
@@ -227,7 +227,7 @@ function G(k, a, c, t, H, h) {
227
227
  ])
228
228
  ], 6);
229
229
  }
230
- const Y = /* @__PURE__ */ B(N, [["render", G], ["__scopeId", "data-v-03fddb4a"]]);
230
+ const Y = /* @__PURE__ */ B(N, [["render", G], ["__scopeId", "data-v-4e9edc0f"]]);
231
231
  export {
232
232
  tt as KV_INTRODUCTION_LOAN_CARD_FRAGMENT,
233
233
  et as KV_INTRODUCTION_LOAN_CARD_USER_FRAGMENT,
@@ -96,7 +96,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
96
96
  lendersNumber(): any;
97
97
  amountLent(): any;
98
98
  isFunded(): boolean;
99
- }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
99
+ }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "toggle-bookmark"[], "toggle-bookmark", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
100
100
  loanId: {
101
101
  type: NumberConstructor;
102
102
  default: any;
@@ -157,7 +157,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
157
157
  type: BooleanConstructor;
158
158
  default: boolean;
159
159
  };
160
- }>> & Readonly<{}>, {
160
+ }>> & Readonly<{
161
+ "onToggle-bookmark"?: (...args: any[]) => any;
162
+ }>, {
161
163
  loan: Record<string, any>;
162
164
  externalLinks: boolean;
163
165
  customLoanDetails: boolean;
@@ -635,12 +637,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
635
637
  }>, {}, {
636
638
  mdiBookmarkOutline: string;
637
639
  mdiBookmark: string;
638
- }, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
640
+ }, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "toggle-bookmark"[], "toggle-bookmark", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
639
641
  isBookmarked: {
640
642
  type: BooleanConstructor;
641
643
  default: boolean;
642
644
  };
643
- }>> & Readonly<{}>, {
645
+ }>> & Readonly<{
646
+ "onToggle-bookmark"?: (...args: any[]) => any;
647
+ }>, {
644
648
  isBookmarked: boolean;
645
649
  }, {}, {
646
650
  KvMaterialIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -1,10 +1,10 @@
1
1
  import a from "graphql-tag";
2
2
  import R from "numeral";
3
- import { LOAN_CALLOUTS_FRAGMENT as F, LOAN_GEOCODE_FRAGMENT as T, LOAN_PROGRESS_FRAGMENT as B, loanCardComputedProperties as k, loanCardMethods as E } from "../utils/loanCard.js";
3
+ import { LOAN_CALLOUTS_FRAGMENT as F, LOAN_GEOCODE_FRAGMENT as T, LOAN_PROGRESS_FRAGMENT as k, loanCardComputedProperties as B, loanCardMethods as E } from "../utils/loanCard.js";
4
4
  import G from "./KvLoanBookmark.js";
5
- import I from "./KvLoanUse.js";
6
- import S from "./KvBorrowerImage.js";
7
- import b from "./KvLoanProgressGroup.js";
5
+ import b from "./KvLoanUse.js";
6
+ import I from "./KvBorrowerImage.js";
7
+ import S from "./KvLoanProgressGroup.js";
8
8
  import D from "./KvLoanCallouts.js";
9
9
  import P from "./KvLoanTag.js";
10
10
  import U from "./KvMaterialIcon.js";
@@ -41,20 +41,20 @@ const no = a`
41
41
  ${W}
42
42
  ${F}
43
43
  ${T}
44
- ${B}
44
+ ${k}
45
45
  `, io = a`
46
46
  fragment KvIntroductionLoanCardUser on LoanBasic {
47
47
  id
48
48
  ...KvLoanBookmark
49
49
  }
50
50
  ${r}
51
- `, uo = {
51
+ `, so = {
52
52
  name: "KvIntroductionLoanCard",
53
53
  components: {
54
- KvBorrowerImage: S,
54
+ KvBorrowerImage: I,
55
55
  KvLoadingPlaceholder: $,
56
- KvLoanUse: I,
57
- KvLoanProgressGroup: b,
56
+ KvLoanUse: b,
57
+ KvLoanProgressGroup: S,
58
58
  KvMaterialIcon: U,
59
59
  KvLoanTag: P,
60
60
  KvLoanCallouts: D,
@@ -123,16 +123,19 @@ const no = a`
123
123
  default: !1
124
124
  }
125
125
  },
126
- setup(o, { emit: e }) {
126
+ emits: [
127
+ "toggle-bookmark"
128
+ ],
129
+ setup(o, { emit: t }) {
127
130
  const {
128
- allDataLoaded: t,
131
+ allDataLoaded: e,
129
132
  borrowerName: n,
130
133
  city: i,
131
- countryName: u,
132
- countryCode: s,
134
+ countryName: s,
135
+ countryCode: u,
133
136
  distributionModel: l,
134
- formattedLocation: d,
135
- fundraisingPercent: m,
137
+ formattedLocation: m,
138
+ fundraisingPercent: d,
136
139
  hasProgressData: f,
137
140
  imageHash: p,
138
141
  isLoading: c,
@@ -142,23 +145,23 @@ const no = a`
142
145
  loanStatus: h,
143
146
  loanUse: N,
144
147
  mdiMapMarker: _,
145
- readMorePath: K,
146
- state: v,
148
+ readMorePath: v,
149
+ state: K,
147
150
  tag: y,
148
151
  unreservedAmount: C,
149
152
  sharesAvailable: O
150
- } = k(o, !0), {
153
+ } = B(o, !0), {
151
154
  clickReadMore: M
152
- } = E(o, e);
155
+ } = E(o, t);
153
156
  return {
154
- allDataLoaded: t,
157
+ allDataLoaded: e,
155
158
  borrowerName: n,
156
159
  city: i,
157
- countryName: u,
158
- countryCode: s,
160
+ countryName: s,
161
+ countryCode: u,
159
162
  distributionModel: l,
160
- formattedLocation: d,
161
- fundraisingPercent: m,
163
+ formattedLocation: m,
164
+ fundraisingPercent: d,
162
165
  hasProgressData: f,
163
166
  imageHash: p,
164
167
  isLoading: c,
@@ -168,8 +171,8 @@ const no = a`
168
171
  loanStatus: h,
169
172
  loanUse: N,
170
173
  mdiMapMarker: _,
171
- readMorePath: K,
172
- state: v,
174
+ readMorePath: v,
175
+ state: K,
173
176
  tag: y,
174
177
  unreservedAmount: C,
175
178
  sharesAvailable: O,
@@ -192,12 +195,12 @@ const no = a`
192
195
  ];
193
196
  },
194
197
  lendersNumber() {
195
- var o, e;
196
- return ((e = (o = this.loan) == null ? void 0 : o.lenders) == null ? void 0 : e.totalCount) ?? 0;
198
+ var o, t;
199
+ return ((t = (o = this.loan) == null ? void 0 : o.lenders) == null ? void 0 : t.totalCount) ?? 0;
197
200
  },
198
201
  amountLent() {
199
- var e, t;
200
- const o = ((t = (e = this.loan) == null ? void 0 : e.loanFundraisingInfo) == null ? void 0 : t.fundedAmount) ?? 0;
202
+ var t, e;
203
+ const o = ((e = (t = this.loan) == null ? void 0 : t.loanFundraisingInfo) == null ? void 0 : e.fundedAmount) ?? 0;
201
204
  return R(o).format("$0,0");
202
205
  },
203
206
  isFunded() {
@@ -209,5 +212,5 @@ const no = a`
209
212
  export {
210
213
  no as KV_INTRODUCTION_LOAN_CARD_FRAGMENT,
211
214
  io as KV_INTRODUCTION_LOAN_CARD_USER_FRAGMENT,
212
- uo as default
215
+ so as default
213
216
  };
@@ -20,7 +20,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
20
20
  buttonText(): string;
21
21
  }, {
22
22
  addToBasket(event: any): void;
23
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
23
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "add-to-basket"[], "add-to-basket", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
24
24
  loanId: {
25
25
  type: NumberConstructor;
26
26
  default: any;
@@ -37,7 +37,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
37
37
  type: BooleanConstructor;
38
38
  default: boolean;
39
39
  };
40
- }>> & Readonly<{}>, {
40
+ }>> & Readonly<{
41
+ "onAdd-to-basket"?: (...args: any[]) => any;
42
+ }>, {
41
43
  loanId: number;
42
44
  showNow: boolean;
43
45
  amountLeft: string | number;
@@ -22,6 +22,9 @@ const a = {
22
22
  default: !1
23
23
  }
24
24
  },
25
+ emits: [
26
+ "add-to-basket"
27
+ ],
25
28
  computed: {
26
29
  amountValue() {
27
30
  return parseFloat(this.amountLeft).toFixed();
@@ -1 +1 @@
1
- .amountDropdownWrapper[data-v-fd7506ce] select{border-radius:14px 0 0 14px!important}.lend-again[data-v-fd7506ce] span{padding-left:.5rem;padding-right:.5rem}.lendButtonWrapper[data-v-fd7506ce] span:first-child{border-radius:0 14px 14px 0}.filtered-dropdown[data-v-fd7506ce] select{cursor:pointer;border-radius:1rem;border-width:2px;font-weight:500}.unselected-dropdown[data-v-fd7506ce] select{--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity, 1))}.preset-option[data-v-fd7506ce] span.tw-w-full:first-child{border-width:2px;--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity, 1))}.selected-dropdown[data-v-fd7506ce] select,.selected-option[data-v-fd7506ce] span.tw-w-full:first-child{--tw-border-opacity: 1;border-color:rgba(var(--border-action),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--bg-secondary),var(--tw-bg-opacity, 1))}.button-ellipsis[data-v-fd7506ce] span>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 410px){.mobile-dropdown-small[data-v-fd7506ce]{flex:0 0 40%}}
1
+ .amountDropdownWrapper[data-v-da60f69c] select{border-radius:14px 0 0 14px!important}.lend-again[data-v-da60f69c] span{padding-left:.5rem;padding-right:.5rem}.lendButtonWrapper[data-v-da60f69c] span:first-child{border-radius:0 14px 14px 0}.filtered-dropdown[data-v-da60f69c] select{cursor:pointer;border-radius:1rem;border-width:2px;font-weight:500}.unselected-dropdown[data-v-da60f69c] select{--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity, 1))}.preset-option[data-v-da60f69c] span.tw-w-full:first-child{border-width:2px;--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity, 1))}.selected-dropdown[data-v-da60f69c] select,.selected-option[data-v-da60f69c] span.tw-w-full:first-child{--tw-border-opacity: 1;border-color:rgba(var(--border-action),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--bg-secondary),var(--tw-bg-opacity, 1))}.button-ellipsis[data-v-da60f69c] span>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:410px){.mobile-dropdown-small[data-v-da60f69c]{flex:0 0 40%}}
@@ -13,15 +13,15 @@ const N = {
13
13
  }, T = { class: "tw-flex tw-items-center" }, V = ["disabled"], O = {
14
14
  key: 0,
15
15
  class: "md:tw-hidden tw-w-full"
16
- }, R = { class: "tw-flex tw-flex-col tw-gap-1 tw-w-full" }, C = { class: "tw-flex tw-gap-1 tw-w-full" }, I = ["value"], E = { class: "tw-flex tw-gap-1" }, p = ["value"], S = { class: "tw-flex tw-items-center tw-h-full tw-w-full" }, W = { class: "tw-min-w-0 tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap" }, F = {
16
+ }, R = { class: "tw-flex tw-flex-col tw-gap-1 tw-w-full" }, C = { class: "tw-flex tw-gap-1 tw-w-full" }, I = ["value"], E = { class: "tw-flex tw-gap-1" }, p = ["value"], S = { class: "tw-flex tw-items-center tw-h-full tw-w-full" }, W = { class: "tw-min-w-0 tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap" }, U = {
17
17
  key: 1,
18
18
  class: "tw-w-full"
19
- }, U = { class: "tw-flex tw-flex-col tw-gap-1 tw-w-full" }, M = { class: "tw-flex tw-gap-1 tw-w-full" }, K = ["value"], H = { class: "tw-flex tw-gap-1" }, j = ["value"], G = { class: "tw-flex tw-items-center tw-h-full tw-w-full" }, z = { class: "tw-min-w-0 tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap" }, q = ["value"], J = {
19
+ }, F = { class: "tw-flex tw-flex-col tw-gap-1 tw-w-full" }, M = { class: "tw-flex tw-gap-1 tw-w-full" }, K = ["value"], H = { class: "tw-flex tw-gap-1" }, j = ["value"], G = { class: "tw-flex tw-items-center tw-h-full tw-w-full" }, z = { class: "tw-min-w-0 tw-flex-1 tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap" }, q = ["value"], J = {
20
20
  key: 3,
21
21
  class: "amountDropdownWrapper"
22
22
  }, Q = ["value"];
23
- function X(B, o, n, Y, d, e) {
24
- const m = A("kv-ui-button"), v = A("kv-material-icon"), h = A("kv-ui-select"), L = A("kv-lend-amount-button");
23
+ function X(v, o, n, Y, d, e) {
24
+ const m = A("kv-ui-button"), B = A("kv-material-icon"), h = A("kv-ui-select"), L = A("kv-lend-amount-button");
25
25
  return l(), s("div", N, [
26
26
  e.isInBasket ? (l(), r(m, {
27
27
  key: 0,
@@ -50,12 +50,12 @@ function X(B, o, n, Y, d, e) {
50
50
  to: n.externalLinks ? void 0 : e.readMorePath,
51
51
  href: n.externalLinks ? e.readMorePath : void 0,
52
52
  class: "tw-mb-0 tw-cursor-pointer",
53
- onClick: o[1] || (o[1] = (t) => B.$emit("show-loan-details", t))
53
+ onClick: o[1] || (o[1] = (t) => v.$emit("show-loan-details", t))
54
54
  }, {
55
55
  default: w(() => [
56
56
  c("span", T, [
57
57
  o[9] || (o[9] = f(" View loan ")),
58
- b(v, {
58
+ b(B, {
59
59
  class: "tw-w-3 tw-h-3",
60
60
  icon: d.mdiChevronRight
61
61
  }, null, 8, ["icon"])
@@ -154,8 +154,8 @@ function X(B, o, n, Y, d, e) {
154
154
  ])
155
155
  ])
156
156
  ])) : i("", !0),
157
- n.showPresetAmounts && !n.isAdding && !e.isLendAmountButton && e.presetButtonsPrices.length > 1 && e.isNarrowDesktop ? (l(), s("div", F, [
158
- c("div", U, [
157
+ n.showPresetAmounts && !n.isAdding && !e.isLendAmountButton && e.presetButtonsPrices.length > 1 && e.isNarrowDesktop ? (l(), s("div", U, [
158
+ c("div", F, [
159
159
  c("div", M, [
160
160
  (l(!0), s(k, null, _(e.presetButtonsPrices, (t) => (l(), r(m, {
161
161
  key: t,
@@ -349,7 +349,7 @@ function X(B, o, n, Y, d, e) {
349
349
  ], 32)) : i("", !0)
350
350
  ], 512);
351
351
  }
352
- const le = /* @__PURE__ */ y(P, [["render", X], ["__scopeId", "data-v-fd7506ce"]]);
352
+ const le = /* @__PURE__ */ y(P, [["render", X], ["__scopeId", "data-v-da60f69c"]]);
353
353
  export {
354
354
  oe as KV_LEND_CTA_FRAGMENT,
355
355
  se as KV_LEND_CTA_USER_FRAGMENT,