@kiva/kv-components 10.6.0 → 10.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/index.js +20 -20
  2. package/dist/vue/KvAccordionItem.js +1 -1
  3. package/dist/vue/KvActivityRow.js +1 -1
  4. package/dist/vue/KvAtbModal.js +1 -1
  5. package/dist/vue/KvBorrowerImage.js +1 -1
  6. package/dist/vue/KvButton.js +1 -1
  7. package/dist/vue/KvCardFrame.js +1 -1
  8. package/dist/vue/KvCarousel.js +1 -1
  9. package/dist/vue/KvCartModal.js +1 -1
  10. package/dist/vue/KvCartPill.js +1 -1
  11. package/dist/vue/KvCheckbox.js +1 -1
  12. package/dist/vue/KvCheckoutReceipt.js +1 -1
  13. package/dist/vue/KvChip.js +1 -1
  14. package/dist/vue/KvClassicLoanCard.js +252 -295
  15. package/dist/vue/KvClassicLoanCard.script.js +298 -0
  16. package/dist/vue/KvCommentsAdd.js +2 -2
  17. package/dist/vue/KvCommentsContainer.js +2 -2
  18. package/dist/vue/KvCommentsHeartButton.js +1 -1
  19. package/dist/vue/KvCommentsList.js +1 -1
  20. package/dist/vue/KvCommentsListItem.js +2 -2
  21. package/dist/vue/KvCommentsReplyButton.js +1 -1
  22. package/dist/vue/KvCompactLoanCard.js +416 -380
  23. package/dist/vue/KvCompactLoanCard.script.js +382 -0
  24. package/dist/vue/KvContentfulImg.js +1 -1
  25. package/dist/vue/KvCountdownTimer.js +1 -1
  26. package/dist/vue/KvDatePicker.js +1 -1
  27. package/dist/vue/KvExpandable.js +1 -1
  28. package/dist/vue/KvExpandableQuestion.js +1 -1
  29. package/dist/vue/KvFlag.js +1 -1
  30. package/dist/vue/KvFormAssemblyForm.js +2 -95
  31. package/dist/vue/KvFormAssemblyForm.script.js +97 -0
  32. package/dist/vue/KvGrid.js +1 -1
  33. package/dist/vue/KvIconBag.js +1 -1
  34. package/dist/vue/KvIconButton.js +2 -116
  35. package/dist/vue/KvIconButton.script.js +118 -0
  36. package/dist/vue/KvImageUpload.js +1 -1
  37. package/dist/vue/KvImpactVerticalSelector.js +1 -1
  38. package/dist/vue/KvInlineActivityCard.js +1 -1
  39. package/dist/vue/KvInlineActivityFeed.js +1 -1
  40. package/dist/vue/KvIntroductionLoanCard.js +247 -220
  41. package/dist/vue/KvIntroductionLoanCard.script.js +223 -0
  42. package/dist/vue/KvLendAmountButton.js +1 -1
  43. package/dist/vue/KvLendCta.js +355 -389
  44. package/dist/vue/KvLendCta.script.js +391 -0
  45. package/dist/vue/KvLightbox.js +1 -1
  46. package/dist/vue/KvLineGraph.js +1 -1
  47. package/dist/vue/KvLoadingSpinner.js +1 -1
  48. package/dist/vue/KvLoanActivities.js +75 -149
  49. package/dist/vue/KvLoanActivities.script.js +151 -0
  50. package/dist/vue/KvLoanBookmark.js +22 -33
  51. package/dist/vue/KvLoanBookmark.script.js +35 -0
  52. package/dist/vue/KvLoanCallouts.js +1 -1
  53. package/dist/vue/KvLoanInfoCard.js +2 -2
  54. package/dist/vue/KvLoanProgressGroup.js +1 -1
  55. package/dist/vue/KvLoanTag.js +44 -123
  56. package/dist/vue/KvLoanTag.script.js +125 -0
  57. package/dist/vue/KvLoanUse.js +14 -111
  58. package/dist/vue/KvLoanUse.script.js +113 -0
  59. package/dist/vue/KvMap.js +1 -1
  60. package/dist/vue/KvMaterialIcon.js +1 -1
  61. package/dist/vue/KvPageContainer.js +1 -1
  62. package/dist/vue/KvPagination.js +1 -1
  63. package/dist/vue/KvPieChart.js +1 -1
  64. package/dist/vue/KvPieChartV2.js +1 -1
  65. package/dist/vue/KvPill.js +1 -1
  66. package/dist/vue/KvPopper.js +1 -1
  67. package/dist/vue/KvProgressBar.js +1 -1
  68. package/dist/vue/KvProgressCircle.js +1 -1
  69. package/dist/vue/KvPulsingDot.js +1 -1
  70. package/dist/vue/KvRadio.js +1 -1
  71. package/dist/vue/KvSecondaryNav.js +1 -1
  72. package/dist/vue/KvSelect.js +1 -1
  73. package/dist/vue/KvSideSheet.js +1 -1
  74. package/dist/vue/KvSimpleMap.js +1 -1
  75. package/dist/vue/KvStackedBarGraph.js +1 -1
  76. package/dist/vue/KvSwitch.js +1 -1
  77. package/dist/vue/KvTab.js +1 -1
  78. package/dist/vue/KvTabPanel.js +1 -1
  79. package/dist/vue/KvTabs.js +1 -1
  80. package/dist/vue/KvTextInput.js +1 -1
  81. package/dist/vue/KvTextLink.js +1 -1
  82. package/dist/vue/KvThemeProvider.js +1 -1
  83. package/dist/vue/KvToast.js +1 -1
  84. package/dist/vue/KvTooltip.js +1 -1
  85. package/dist/vue/KvTreeMapChart.js +1 -1
  86. package/dist/vue/KvUserAvatar.js +1 -1
  87. package/dist/vue/KvUtilityMenu.js +1 -1
  88. package/dist/vue/KvVerticalCarousel.js +1 -1
  89. package/dist/vue/KvVotingCard.js +1 -1
  90. package/dist/vue/KvVotingCardV2.js +1 -1
  91. package/dist/vue/KvWideLoanCard.js +206 -232
  92. package/dist/vue/KvWideLoanCard.script.js +235 -0
  93. package/dist/vue/KvWwwHeader/KvHeaderAboutMenu.js +1 -1
  94. package/dist/vue/KvWwwHeader/KvHeaderDropdownLink.js +1 -1
  95. package/dist/vue/KvWwwHeader/KvHeaderLinkBar.js +1 -1
  96. package/dist/vue/KvWwwHeader/KvHeaderLogo.js +1 -1
  97. package/dist/vue/KvWwwHeader/KvHeaderMobileMenu.js +1 -1
  98. package/dist/vue/KvWwwHeader/KvHeaderMyKivaMenu.js +1 -1
  99. package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu.js +1 -1
  100. package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.js +1 -1
  101. package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.js +1 -1
  102. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.js +1 -1
  103. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList.js +1 -1
  104. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList.js +1 -1
  105. package/dist/vue/KvWwwHeader.js +1 -1
  106. package/dist/vue/KvWwwHeaderBasic/AboutMenu.js +1 -1
  107. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup.js +1 -1
  108. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.js +1 -1
  109. package/dist/vue/KvWwwHeaderBasic/LinkBar.js +1 -1
  110. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel.js +1 -1
  111. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.js +1 -1
  112. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel.js +1 -1
  113. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/RegionsPanel.js +1 -1
  114. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.js +1 -1
  115. package/dist/vue/KvWwwHeaderBasic/MobileMenu.js +1 -1
  116. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu.js +1 -1
  117. package/dist/vue/KvWwwHeaderBasic/SearchBar.js +1 -1
  118. package/package.json +2 -2
  119. package/vite.config.ts +16 -13
  120. package/dist/vue/KvClassicLoanCard2.js +0 -255
  121. package/dist/vue/KvCompactLoanCard2.js +0 -418
  122. package/dist/vue/KvFormAssemblyForm2.js +0 -4
  123. package/dist/vue/KvIconButton2.js +0 -4
  124. package/dist/vue/KvIntroductionLoanCard2.js +0 -250
  125. package/dist/vue/KvLendCta2.js +0 -357
  126. package/dist/vue/KvLoanActivities2.js +0 -77
  127. package/dist/vue/KvLoanBookmark2.js +0 -24
  128. package/dist/vue/KvLoanTag2.js +0 -46
  129. package/dist/vue/KvLoanUse2.js +0 -16
  130. package/dist/vue/KvWideLoanCard2.js +0 -209
  131. /package/dist/vue/{KvAccordionItem2.js → KvAccordionItem.script.js} +0 -0
  132. /package/dist/vue/{KvActivityRow2.js → KvActivityRow.script.js} +0 -0
  133. /package/dist/vue/{KvAtbModal2.js → KvAtbModal.script.js} +0 -0
  134. /package/dist/vue/{KvBorrowerImage2.js → KvBorrowerImage.script.js} +0 -0
  135. /package/dist/vue/{KvButton2.js → KvButton.script.js} +0 -0
  136. /package/dist/vue/{KvCardFrame2.js → KvCardFrame.script.js} +0 -0
  137. /package/dist/vue/{KvCarousel2.js → KvCarousel.script.js} +0 -0
  138. /package/dist/vue/{KvCartModal2.js → KvCartModal.script.js} +0 -0
  139. /package/dist/vue/{KvCartPill2.js → KvCartPill.script.js} +0 -0
  140. /package/dist/vue/{KvCheckbox2.js → KvCheckbox.script.js} +0 -0
  141. /package/dist/vue/{KvCheckoutReceipt2.js → KvCheckoutReceipt.script.js} +0 -0
  142. /package/dist/vue/{KvChip2.js → KvChip.script.js} +0 -0
  143. /package/dist/vue/{KvCommentsAdd2.js → KvCommentsAdd.script.js} +0 -0
  144. /package/dist/vue/{KvCommentsContainer2.js → KvCommentsContainer.script.js} +0 -0
  145. /package/dist/vue/{KvCommentsHeartButton2.js → KvCommentsHeartButton.script.js} +0 -0
  146. /package/dist/vue/{KvCommentsList2.js → KvCommentsList.script.js} +0 -0
  147. /package/dist/vue/{KvCommentsListItem2.js → KvCommentsListItem.script.js} +0 -0
  148. /package/dist/vue/{KvCommentsReplyButton2.js → KvCommentsReplyButton.script.js} +0 -0
  149. /package/dist/vue/{KvContentfulImg2.js → KvContentfulImg.script.js} +0 -0
  150. /package/dist/vue/{KvCountdownTimer2.js → KvCountdownTimer.script.js} +0 -0
  151. /package/dist/vue/{KvDatePicker2.js → KvDatePicker.script.js} +0 -0
  152. /package/dist/vue/{KvExpandable2.js → KvExpandable.script.js} +0 -0
  153. /package/dist/vue/{KvExpandableQuestion2.js → KvExpandableQuestion.script.js} +0 -0
  154. /package/dist/vue/{KvFlag2.js → KvFlag.script.js} +0 -0
  155. /package/dist/vue/{KvGrid2.js → KvGrid.script.js} +0 -0
  156. /package/dist/vue/{KvIconBag2.js → KvIconBag.script.js} +0 -0
  157. /package/dist/vue/{KvImageUpload2.js → KvImageUpload.script.js} +0 -0
  158. /package/dist/vue/{KvImpactVerticalSelector2.js → KvImpactVerticalSelector.script.js} +0 -0
  159. /package/dist/vue/{KvInlineActivityCard2.js → KvInlineActivityCard.script.js} +0 -0
  160. /package/dist/vue/{KvInlineActivityFeed2.js → KvInlineActivityFeed.script.js} +0 -0
  161. /package/dist/vue/{KvLendAmountButton2.js → KvLendAmountButton.script.js} +0 -0
  162. /package/dist/vue/{KvLightbox2.js → KvLightbox.script.js} +0 -0
  163. /package/dist/vue/{KvLineGraph2.js → KvLineGraph.script.js} +0 -0
  164. /package/dist/vue/{KvLoadingSpinner2.js → KvLoadingSpinner.script.js} +0 -0
  165. /package/dist/vue/{KvLoanCallouts2.js → KvLoanCallouts.script.js} +0 -0
  166. /package/dist/vue/{KvLoanProgressGroup2.js → KvLoanProgressGroup.script.js} +0 -0
  167. /package/dist/vue/{KvMap2.js → KvMap.script.js} +0 -0
  168. /package/dist/vue/{KvMaterialIcon2.js → KvMaterialIcon.script.js} +0 -0
  169. /package/dist/vue/{KvPageContainer2.js → KvPageContainer.script.js} +0 -0
  170. /package/dist/vue/{KvPagination2.js → KvPagination.script.js} +0 -0
  171. /package/dist/vue/{KvPieChart2.js → KvPieChart.script.js} +0 -0
  172. /package/dist/vue/{KvPieChartV22.js → KvPieChartV2.script.js} +0 -0
  173. /package/dist/vue/{KvPill2.js → KvPill.script.js} +0 -0
  174. /package/dist/vue/{KvPopper2.js → KvPopper.script.js} +0 -0
  175. /package/dist/vue/{KvProgressBar2.js → KvProgressBar.script.js} +0 -0
  176. /package/dist/vue/{KvProgressCircle2.js → KvProgressCircle.script.js} +0 -0
  177. /package/dist/vue/{KvPulsingDot2.js → KvPulsingDot.script.js} +0 -0
  178. /package/dist/vue/{KvRadio2.js → KvRadio.script.js} +0 -0
  179. /package/dist/vue/{KvSecondaryNav2.js → KvSecondaryNav.script.js} +0 -0
  180. /package/dist/vue/{KvSelect2.js → KvSelect.script.js} +0 -0
  181. /package/dist/vue/{KvSideSheet2.js → KvSideSheet.script.js} +0 -0
  182. /package/dist/vue/{KvSimpleMap2.js → KvSimpleMap.script.js} +0 -0
  183. /package/dist/vue/{KvStackedBarGraph2.js → KvStackedBarGraph.script.js} +0 -0
  184. /package/dist/vue/{KvSwitch2.js → KvSwitch.script.js} +0 -0
  185. /package/dist/vue/{KvTab2.js → KvTab.script.js} +0 -0
  186. /package/dist/vue/{KvTabPanel2.js → KvTabPanel.script.js} +0 -0
  187. /package/dist/vue/{KvTabs2.js → KvTabs.script.js} +0 -0
  188. /package/dist/vue/{KvTextInput2.js → KvTextInput.script.js} +0 -0
  189. /package/dist/vue/{KvTextLink2.js → KvTextLink.script.js} +0 -0
  190. /package/dist/vue/{KvThemeProvider2.js → KvThemeProvider.script.js} +0 -0
  191. /package/dist/vue/{KvToast2.js → KvToast.script.js} +0 -0
  192. /package/dist/vue/{KvTooltip2.js → KvTooltip.script.js} +0 -0
  193. /package/dist/vue/{KvTreeMapChart2.js → KvTreeMapChart.script.js} +0 -0
  194. /package/dist/vue/{KvUserAvatar2.js → KvUserAvatar.script.js} +0 -0
  195. /package/dist/vue/{KvUtilityMenu2.js → KvUtilityMenu.script.js} +0 -0
  196. /package/dist/vue/{KvVerticalCarousel2.js → KvVerticalCarousel.script.js} +0 -0
  197. /package/dist/vue/{KvVotingCard2.js → KvVotingCard.script.js} +0 -0
  198. /package/dist/vue/{KvVotingCardV22.js → KvVotingCardV2.script.js} +0 -0
  199. /package/dist/vue/KvWwwHeader/{KvHeaderAboutMenu2.js → KvHeaderAboutMenu.script.js} +0 -0
  200. /package/dist/vue/KvWwwHeader/{KvHeaderDropdownLink2.js → KvHeaderDropdownLink.script.js} +0 -0
  201. /package/dist/vue/KvWwwHeader/{KvHeaderLinkBar2.js → KvHeaderLinkBar.script.js} +0 -0
  202. /package/dist/vue/KvWwwHeader/{KvHeaderLogo2.js → KvHeaderLogo.script.js} +0 -0
  203. /package/dist/vue/KvWwwHeader/{KvHeaderMobileMenu2.js → KvHeaderMobileMenu.script.js} +0 -0
  204. /package/dist/vue/KvWwwHeader/{KvHeaderMyKivaMenu2.js → KvHeaderMyKivaMenu.script.js} +0 -0
  205. /package/dist/vue/KvWwwHeader/{KvHeaderTakeActionMenu2.js → KvHeaderTakeActionMenu.script.js} +0 -0
  206. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendListMenu2.js → KvLendListMenu.script.js} +0 -0
  207. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMegaMenu2.js → KvLendMegaMenu.script.js} +0 -0
  208. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenu2.js → KvLendMenu.script.js} +0 -0
  209. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenuCountryList2.js → KvLendMenuCountryList.script.js} +0 -0
  210. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenuSearchList2.js → KvLendMenuSearchList.script.js} +0 -0
  211. /package/dist/vue/{KvWwwHeader2.js → KvWwwHeader.script.js} +0 -0
  212. /package/dist/vue/KvWwwHeaderBasic/{AboutMenu2.js → AboutMenu.script.js} +0 -0
  213. /package/dist/vue/KvWwwHeaderBasic/{HeaderMenuGroup2.js → HeaderMenuGroup.script.js} +0 -0
  214. /package/dist/vue/KvWwwHeaderBasic/{KvWwwHeaderBasic2.js → KvWwwHeaderBasic.script.js} +0 -0
  215. /package/dist/vue/KvWwwHeaderBasic/{LinkBar2.js → LinkBar.script.js} +0 -0
  216. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{CategoriesPanel2.js → CategoriesPanel.script.js} +0 -0
  217. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{MobileLendMenu2.js → MobileLendMenu.script.js} +0 -0
  218. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{MyKivaPanel2.js → MyKivaPanel.script.js} +0 -0
  219. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{RegionsPanel2.js → RegionsPanel.script.js} +0 -0
  220. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{SearchPanel2.js → SearchPanel.script.js} +0 -0
  221. /package/dist/vue/KvWwwHeaderBasic/{MobileMenu2.js → MobileMenu.script.js} +0 -0
  222. /package/dist/vue/KvWwwHeaderBasic/{MyKivaMenu2.js → MyKivaMenu.script.js} +0 -0
  223. /package/dist/vue/KvWwwHeaderBasic/{SearchBar2.js → SearchBar.script.js} +0 -0
@@ -1,382 +1,418 @@
1
- import b from "graphql-tag";
2
- import $ from "numeral";
3
- import { ref as j, computed as a, watch as q } from "vue";
4
- import { mdiArrowRight as H, mdiCached as z, mdiLink as J } from "@mdi/js";
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
- import { getDropdownPriceArray as te, getLendCtaSelectedOption as ae, isLessThan25 as oe } from "../utils/loanUtils.js";
7
- import { computePostGoalLoanCardStatement as ne } from "../utils/postGoalStatement.js";
8
- import le from "./KvLoanUse2.js";
9
- import ie from "./KvBorrowerImage.js";
10
- import re from "./KvLoanCallouts.js";
11
- import se from "./KvLendCta2.js";
12
- import ue from "./KvLoanProgressGroup.js";
13
- import de from "./KvLoanTag2.js";
14
- import me from "./KvMaterialIcon.js";
15
- import fe from "./KvLoadingPlaceholder.js";
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 ge } from "./KvLendCta.js";
19
- import { KV_LOAN_TAG_FRAGMENT as Le } from "./KvLoanTag.js";
20
- import { KV_LOAN_USE_FRAGMENT as ye } from "./KvLoanUse.js";
21
- const d = {
22
- default: "default",
23
- postGoal: "post-goal",
24
- lightDetailed: "light-detailed"
25
- }, Ae = (e) => e < 500 && e >= 25, Ce = (e) => oe(e) || Ae(e), $e = b`
26
- fragment KvCompactLoanCard on LoanBasic {
27
- id
28
- image {
29
- id
30
- hash
31
- }
32
- lenders(limit: 0) {
33
- totalCount
34
- }
35
- loanFundraisingInfo {
36
- id
37
- fundedAmount
38
- }
39
- name
40
- ...KvLendCta
41
- ...KvLoanTag
42
- ...KvLoanUse
43
- ...LoanCallouts
44
- ...LoanGeocode
45
- ...LoanProgress
46
- }
47
- ${ve}
48
- ${Le}
49
- ${ye}
50
- ${Q}
51
- ${X}
52
- ${Y}
53
- `, je = b`
54
- fragment KvCompactLoanCardUser on LoanBasic {
55
- id
56
- ...KvLendCtaUser
57
- }
58
- ${ge}
59
- `, qe = {
60
- name: "KvCompactLoanCard",
61
- components: {
62
- KvBorrowerImage: ie,
63
- KvLoadingPlaceholder: fe,
64
- KvLoanUse: le,
65
- KvMaterialIcon: me,
66
- KvLendCta: se,
67
- KvLoanTag: de,
68
- KvLoanCallouts: re,
69
- KvLoanTeamPick: ce,
70
- KvLoanProgressGroup: ue,
71
- KvSelect: he
72
- },
73
- props: {
74
- variant: {
75
- type: String,
76
- default: d.default,
77
- validator: (e) => Object.values(d).includes(e)
78
- },
79
- loanId: {
80
- type: Number,
81
- default: void 0
82
- },
83
- loan: {
84
- type: Object,
85
- default: null
86
- },
87
- customLoanDetails: {
88
- type: Boolean,
89
- default: !1
90
- },
91
- showTags: {
92
- type: Boolean,
93
- default: !0
94
- },
95
- categoryPageName: {
96
- type: String,
97
- default: ""
98
- },
99
- enableFiveDollarsNotes: {
100
- type: Boolean,
101
- default: !1
102
- },
103
- isAdding: {
104
- type: Boolean,
105
- default: !1
106
- },
107
- isVisitor: {
108
- type: Boolean,
109
- default: !0
110
- },
111
- basketItems: {
112
- type: Array,
113
- default: () => []
114
- },
115
- kvTrackFunction: {
116
- type: Function,
117
- required: !0
118
- },
119
- photoPath: {
120
- type: String,
121
- required: !0
122
- },
123
- showViewLoan: {
124
- type: Boolean,
125
- default: !1
126
- },
127
- externalLinks: {
128
- type: Boolean,
129
- default: !1
130
- },
131
- externalLinksNewTab: {
132
- type: Boolean,
133
- default: !1
134
- },
135
- route: {
136
- type: Object,
137
- default: void 0
138
- },
139
- userBalance: {
140
- type: String,
141
- default: void 0
142
- },
143
- getCookie: {
144
- type: Function,
145
- default: void 0
146
- },
147
- setCookie: {
148
- type: Function,
149
- default: void 0
150
- },
151
- fiveDollarsSelected: {
152
- type: Boolean,
153
- default: !1
154
- },
155
- customCallouts: {
156
- type: Array,
157
- default: () => []
158
- },
159
- isTeamPick: {
160
- type: Boolean,
161
- default: !1
162
- },
163
- primaryButtonText: {
164
- type: String,
165
- default: "Lend"
166
- },
167
- secondaryButtonHandler: {
168
- type: Function,
169
- default: void 0
170
- },
171
- secondaryButtonText: {
172
- type: String,
173
- default: "Checkout now"
174
- },
175
- showContributors: {
176
- type: Boolean,
177
- default: !1
178
- },
179
- customHref: {
180
- type: String,
181
- default: ""
182
- },
183
- businessName: {
184
- type: String,
185
- default: ""
186
- },
187
- website: {
188
- type: String,
189
- default: ""
190
- },
191
- showLoanUse: {
192
- type: Boolean,
193
- default: !0
194
- },
195
- showLightView: {
196
- type: Boolean,
197
- default: !1
198
- },
199
- truncateWordsNumber: {
200
- type: Number,
201
- default: 0
202
- },
203
- showRefreshButton: {
204
- type: Boolean,
205
- default: !1
206
- },
207
- customAmountLent: {
208
- type: String,
209
- default: "25"
210
- },
211
- enableMultiMatching: {
212
- type: Boolean,
213
- default: !1
214
- }
215
- },
216
- emits: [
217
- "refresh-button",
218
- "jump-filter-page",
219
- "add-to-basket",
220
- "remove-from-basket",
221
- "show-loan-details",
222
- "update:selected-amount"
223
- ],
224
- setup(e, { emit: o }) {
225
- const l = j(""), m = a(
226
- () => e.variant === d.postGoal
227
- ), s = a(
228
- () => e.variant === d.lightDetailed
229
- ), c = a(
230
- () => m.value || s.value
231
- ), w = a(
232
- () => e.showRefreshButton && !s.value
233
- ), {
234
- allDataLoaded: S,
235
- borrowerName: h,
236
- distributionModel: v,
237
- formattedLocation: g,
238
- fundraisingPercent: B,
239
- hasProgressData: _,
240
- imageHash: N,
241
- isLoading: T,
242
- loanAmount: f,
243
- loanBorrowerCount: L,
244
- loanCallouts: k,
245
- loanStatus: y,
246
- loanUse: A,
247
- readMorePath: R,
248
- tag: F,
249
- unreservedAmount: u,
250
- sharesAvailable: M
251
- } = Z(e), { clickReadMore: K } = ee(e, o), P = a(() => c.value ? void 0 : { width: "100px", height: "100px" }), D = a(() => {
252
- if (!e.website)
253
- return "";
254
- const t = e.website.trim();
255
- return t.startsWith("http://") || t.startsWith("https://") ? t : `https://${t}`;
256
- }), E = a(() => {
257
- if (c.value) return {};
258
- const t = e.showLightView ? "auto" : "6.75rem", n = e.showLightView ? "none" : "6.75rem";
259
- return { height: t, maxHeight: n };
260
- }), G = a(() => $(f.value).format("$0,0")), i = a(() => {
261
- var t;
262
- return ne({
263
- anonymizationLevel: (t = e.loan) == null ? void 0 : t.anonymizationLevel,
264
- borrowerName: h.value,
265
- distributionModel: v.value,
266
- formattedLocation: g.value,
267
- loanAmount: f.value,
268
- loanBorrowerCount: L.value,
269
- loanStatus: y.value,
270
- loanUse: A.value
271
- });
272
- }), O = a(() => i.value.borrowerNameWithCountry), U = a(() => i.value.loanUsePrefixStart), V = a(() => i.value.loanUsePrefixEnd), x = a(() => i.value.statementTitle), I = a(() => i.value.visibleUseStatement), C = a(() => {
273
- var r;
274
- const t = parseFloat(u.value);
275
- if (!t) return [];
276
- const n = t < 25 ? parseFloat(`${((r = e.loan) == null ? void 0 : r.minNoteSize) ?? 25}`) : 25;
277
- return te(
278
- u.value,
279
- Ce(t),
280
- n,
281
- e.enableFiveDollarsNotes,
282
- e.isVisitor
283
- );
284
- });
285
- q(
286
- C,
287
- (t) => {
288
- var r, p;
289
- if (!m.value) return;
290
- if (!t.length) {
291
- l.value = "";
292
- return;
293
- }
294
- const n = ae(
295
- e.getCookie,
296
- e.setCookie,
297
- e.enableFiveDollarsNotes,
298
- (p = (r = e.route) == null ? void 0 : r.query) == null ? void 0 : p.utm_campaign,
299
- u.value,
300
- e.userBalance ? parseFloat(e.userBalance) : void 0,
301
- e.fiveDollarsSelected
302
- );
303
- l.value = t.includes(n) ? n : t[0];
304
- },
305
- { immediate: !0 }
306
- );
307
- const W = a(() => s.value ? 2 : e.showLightView ? 3 : 4);
308
- return {
309
- allDataLoaded: S,
310
- amountOptions: C,
311
- borrowerImageStyle: P,
312
- borrowerName: h,
313
- borrowerNameWithCountry: O,
314
- lightDetailedAmount: G,
315
- distributionModel: v,
316
- formattedLocation: g,
317
- formattedWebsite: D,
318
- fundraisingPercent: B,
319
- hasProgressData: _,
320
- imageHash: N,
321
- isLightDetailedVariant: s,
322
- isLoading: T,
323
- isPostGoalVariant: m,
324
- loanAmount: f,
325
- loanBorrowerCount: L,
326
- loanCallouts: k,
327
- loanStatus: y,
328
- loanUse: A,
329
- loanUsePrefixEnd: V,
330
- loanUsePrefixStart: U,
331
- mdiLink: J,
332
- mdiCached: z,
333
- mdiArrowRight: H,
334
- readMorePath: R,
335
- shouldShowRefreshButton: w,
336
- tag: F,
337
- unreservedAmount: u,
338
- sharesAvailable: M,
339
- selectedAmount: l,
340
- statementTitle: x,
341
- customStyle: E,
342
- loanUseLoadingRows: W,
343
- visibleUseStatement: I,
344
- clickReadMore: K,
345
- trackWebsiteClick: () => {
346
- e.kvTrackFunction(
347
- "Lending",
348
- "click-Business Website",
349
- "Website",
350
- e.loanId
351
- );
352
- },
353
- handleRefreshButton: (t) => {
354
- o("refresh-button", t);
355
- },
356
- handleSelectedAmount: (t) => {
357
- var n;
358
- l.value = t, o("update:selected-amount", t), e.kvTrackFunction(
359
- "Lending",
360
- "Modify lend amount",
361
- t,
362
- e.loanId ?? ((n = e.loan) == null ? void 0 : n.id)
363
- );
364
- }
365
- };
366
- },
367
- computed: {
368
- isInBasket() {
369
- var e;
370
- return ((e = this.basketItems) == null ? void 0 : e.some((o) => o.__typename === "LoanReservation" && o.id === this.loanId)) ?? !1;
371
- },
372
- hasMatchingInfo() {
373
- var e, o, l;
374
- return !!((e = this.loan) != null && e.matchingText) || this.enableMultiMatching && (((l = (o = this.loan) == null ? void 0 : o.simultaneousMatching) == null ? void 0 : l.length) ?? 0) > 0;
375
- }
376
- }
377
- };
1
+ import D from "./KvCompactLoanCard.script.js";
2
+ import { KV_COMPACT_LOAN_CARD_FRAGMENT as gt, KV_COMPACT_LOAN_CARD_USER_FRAGMENT as ft } from "./KvCompactLoanCard.script.js";
3
+ import { resolveComponent as h, openBlock as a, createElementBlock as l, normalizeClass as c, createVNode as i, createCommentVNode as g, createElementVNode as r, normalizeStyle as _, createBlock as d, resolveDynamicComponent as k, withCtx as f, Fragment as s, toDisplayString as w, withModifiers as R, renderList as u } from "vue";
4
+ import "./KvCompactLoanCard.css";
5
+ import B from "../_virtual/_plugin-vue_export-helper.js";
6
+ const S = ["aria-busy"], G = { class: "tw-flex tw-flex-col tw-items-start tw-w-full" }, U = {
7
+ key: 1,
8
+ class: "tw-flex-shrink-0 tw-overflow-hidden"
9
+ }, I = {
10
+ key: 0,
11
+ class: "tw-w-full"
12
+ }, W = ["title"], j = { class: "tw-flex tw-items-center tw-gap-0.5 tw-w-full tw-min-w-0" }, E = { class: "tw-text-gray-600 !tw-font-medium tw-text-small tw-leading-normal tw-flex-shrink-0" }, F = ["title"], O = {
13
+ key: 1,
14
+ class: "tw-mb-0.5 tw-w-full"
15
+ }, K = { class: "tw-text-primary !tw-font-medium tw-text-base tw-leading-normal tw-truncate" }, z = ["href"], H = { class: "tw-truncate" }, Z = ["title"], q = { class: "tw-font-medium" }, J = {
16
+ key: 0,
17
+ "data-testid": "loan-use-loading",
18
+ class: "tw-w-full tw-overflow-hidden"
19
+ }, Q = {
20
+ key: 1,
21
+ class: "loan-card-use-text-light-detailed tw-w-full tw-overflow-hidden"
22
+ }, X = {
23
+ key: 0,
24
+ class: "tw-w-full tw-overflow-hidden"
25
+ }, Y = { class: "tw-flex-1 tw-min-w-0 tw-mr-1" }, p = {
26
+ class: "tw-flex-1 tw-min-w-0 tw-px-0.5",
27
+ style: { "max-width": "9.75rem" }
28
+ }, $ = { class: "tw-flex tw-items-center tw-gap-2 tw-flex-shrink-0" }, tt = {
29
+ "data-testid": "light-detailed-amount-pill",
30
+ class: "tw-border tw-border-gray-100 tw-rounded-sm tw-px-1 tw-py-0.5 tw-text-label tw-text-primary"
31
+ }, et = {
32
+ class: "tw-flex-1 tw-min-w-0",
33
+ style: { "max-width": "6.5rem" }
34
+ }, at = ["value"], ot = { class: "tw-flex-1 tw-min-w-0" }, nt = { class: "tw-p-1 tw-rounded-l-sm tw-border tw-border-gray-100 tw-border-r-0" };
35
+ function lt(b, n, e, t, rt, x) {
36
+ var V;
37
+ const v = h("kv-material-icon"), m = h("kv-loading-placeholder"), P = h("kv-borrower-image"), C = h("kv-loan-tag"), L = h("kv-loan-use"), M = h("kv-loan-callouts"), y = h("kv-loan-progress-group"), N = h("kv-select"), A = h("kv-lend-cta");
38
+ return a(), l("div", {
39
+ class: c(["tw-flex tw-flex-col tw-items-start tw-justify-between tw-p-1 tw-bg-white tw-shadow-lg tw-w-full", {
40
+ "tw-relative": t.shouldShowRefreshButton,
41
+ "!tw-p-1.5": e.showLightView || t.isPostGoalVariant,
42
+ "tw-rounded-md": !t.isLightDetailedVariant,
43
+ "tw-rounded": t.isLightDetailedVariant
44
+ }]),
45
+ "aria-busy": t.isLoading ? "true" : "false"
46
+ }, [
47
+ t.shouldShowRefreshButton ? (a(), l("button", {
48
+ key: 0,
49
+ class: "tw-absolute tw--top-1 tw--right-1 tw-bg-white tw-rounded-full tw-w-2.5 tw-h-2.5 tw-flex tw-items-center tw-justify-center tw-cursor-pointer tw-drop-shadow-sm",
50
+ onClick: n[0] || (n[0] = (...o) => t.handleRefreshButton && t.handleRefreshButton(...o))
51
+ }, [
52
+ i(v, {
53
+ icon: t.mdiCached,
54
+ class: "tw-w-2.5 tw-h-2.5 tw--scale-x-100 tw-text-gray-500"
55
+ }, null, 8, ["icon"])
56
+ ])) : g("", !0),
57
+ r("div", G, [
58
+ r("div", {
59
+ class: c(["tw-flex tw-items-start tw-gap-2 tw-w-full loan-card-active-hover", {
60
+ "!tw-gap-1": e.showLightView || t.isLightDetailedVariant,
61
+ "!tw-gap-1.5 md:!tw-gap-2.5": t.isPostGoalVariant
62
+ }]),
63
+ style: _(t.customStyle)
64
+ }, [
65
+ t.isLoading ? (a(), d(m, {
66
+ key: 0,
67
+ "aria-hidden": "true",
68
+ class: c({
69
+ "!tw-w-7.5 !tw-h-7.5": e.showLightView,
70
+ "!tw-w-7.5 !tw-h-7.5 md:!tw-w-12.5 md:!tw-h-12.5": t.isPostGoalVariant,
71
+ "!tw-w-9.5 !tw-h-9.5": t.isLightDetailedVariant
72
+ }),
73
+ style: _(t.borrowerImageStyle)
74
+ }, null, 8, ["class", "style"])) : (a(), l("div", U, [
75
+ (a(), d(k(t.tag), {
76
+ to: t.readMorePath,
77
+ href: t.readMorePath,
78
+ target: e.externalLinksNewTab ? "_blank" : void 0,
79
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
80
+ class: "tw-flex",
81
+ "aria-label": "Borrower image",
82
+ onClick: n[1] || (n[1] = (o) => t.clickReadMore("Photo", o))
83
+ }, {
84
+ default: f(() => [
85
+ i(P, {
86
+ class: c(["tw-bg-gray-300 tw-rounded-sm tw-object-cover tw-bg-clip-content", {
87
+ "!tw-w-7.5 !tw-h-7.5": e.showLightView,
88
+ "!tw-w-7.5 !tw-h-7.5 md:!tw-w-12.5 md:!tw-h-12.5": t.isPostGoalVariant,
89
+ "!tw-w-9.5 !tw-h-9.5": t.isLightDetailedVariant
90
+ }]),
91
+ style: _(t.borrowerImageStyle),
92
+ alt: `Photo of ${t.borrowerName}`,
93
+ "aspect-ratio": 1,
94
+ "default-image": { width: 200, faceZoom: 50 },
95
+ hash: t.imageHash,
96
+ images: [{ width: 200, faceZoom: 50 }],
97
+ "photo-path": e.photoPath
98
+ }, null, 8, ["class", "style", "alt", "hash", "photo-path"])
99
+ ]),
100
+ _: 1
101
+ }, 8, ["to", "href", "target", "rel"]))
102
+ ])),
103
+ r("div", {
104
+ class: c(["tw-flex tw-flex-col tw-items-start tw-gap-1 tw-flex-1 tw-min-w-0", { "!tw-gap-0": t.isPostGoalVariant }])
105
+ }, [
106
+ t.isLightDetailedVariant ? (a(), l("div", I, [
107
+ t.isLoading ? (a(), l(s, { key: 0 }, [
108
+ i(m, { class: "tw-mb-0.5 !tw-w-full !tw-h-2" }),
109
+ i(m, { class: "!tw-w-9 !tw-h-2" })
110
+ ], 64)) : (a(), l(s, { key: 1 }, [
111
+ r("p", {
112
+ title: t.borrowerName,
113
+ class: "tw-text-primary !tw-font-medium tw-text-small tw-leading-normal tw-truncate tw-w-full"
114
+ }, w(t.borrowerName), 9, W),
115
+ r("div", j, [
116
+ r("span", E, w(t.lightDetailedAmount), 1),
117
+ t.formattedLocation ? (a(), l(s, { key: 0 }, [
118
+ n[14] || (n[14] = r("span", {
119
+ "aria-hidden": "true",
120
+ class: "tw-w-0.5 tw-h-0.5 tw-rounded-full tw-bg-gray-600 tw-flex-shrink-0"
121
+ }, null, -1)),
122
+ r("span", {
123
+ title: t.formattedLocation,
124
+ class: "tw-text-gray-600 !tw-font-medium tw-text-small tw-leading-normal tw-truncate tw-min-w-0"
125
+ }, w(t.formattedLocation), 9, F)
126
+ ], 64)) : g("", !0)
127
+ ])
128
+ ], 64))
129
+ ])) : e.businessName ? (a(), l("div", O, [
130
+ (a(), d(k(t.tag), {
131
+ to: t.readMorePath,
132
+ href: t.readMorePath,
133
+ target: e.externalLinksNewTab ? "_blank" : void 0,
134
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
135
+ class: "tw-no-underline hover:tw-underline focus:tw-no-underline",
136
+ "aria-label": "Business name",
137
+ onClick: n[2] || (n[2] = (o) => t.clickReadMore("Business", o))
138
+ }, {
139
+ default: f(() => [
140
+ r("h3", K, w(e.businessName), 1)
141
+ ]),
142
+ _: 1
143
+ }, 8, ["to", "href", "target", "rel"])),
144
+ e.website ? (a(), l("a", {
145
+ key: 0,
146
+ href: t.formattedWebsite,
147
+ target: "_blank",
148
+ class: "tw-flex tw-items-center tw-gap-0.5 tw-text-secondary tw-text-small tw-font-light tw-leading-normal tw-no-underline hover:tw-underline",
149
+ onClick: n[3] || (n[3] = R((...o) => t.trackWebsiteClick && t.trackWebsiteClick(...o), ["stop"]))
150
+ }, [
151
+ i(v, {
152
+ icon: t.mdiLink,
153
+ class: "tw-w-2 tw-h-2"
154
+ }, null, 8, ["icon"]),
155
+ r("span", H, w(e.website), 1)
156
+ ], 8, z)) : g("", !0)
157
+ ])) : g("", !0),
158
+ !t.isLoading && !t.isLightDetailedVariant ? (a(), d(k(t.tag), {
159
+ key: 2,
160
+ to: t.readMorePath,
161
+ href: t.readMorePath,
162
+ target: e.externalLinksNewTab ? "_blank" : void 0,
163
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
164
+ class: "tw-flex tw-no-underline hover:tw-no-underline focus:tw-no-underline -tw-mt-1",
165
+ "aria-label": "Loan tag",
166
+ onClick: n[4] || (n[4] = (o) => t.clickReadMore("Tag", o))
167
+ }, {
168
+ default: f(() => [
169
+ e.showTags ? (a(), d(C, {
170
+ key: 0,
171
+ class: c({
172
+ "tw-mb-1 !tw-font-medium": t.isPostGoalVariant
173
+ }),
174
+ loan: e.loan,
175
+ "enable-multi-matching": e.enableMultiMatching
176
+ }, null, 8, ["class", "loan", "enable-multi-matching"])) : g("", !0)
177
+ ]),
178
+ _: 1
179
+ }, 8, ["to", "href", "target", "rel"])) : g("", !0),
180
+ t.isPostGoalVariant ? (a(), l(s, { key: 3 }, [
181
+ t.isLoading ? (a(), l(s, { key: 0 }, u(4, (o) => i(m, {
182
+ key: o,
183
+ class: "tw-mb-0.5 md:!tw-mb-1.5 !tw-w-full !tw-h-1.5 md:!tw-h-2"
184
+ })), 64)) : (a(), l("p", {
185
+ key: 1,
186
+ class: "tw-text-small tw-mb-0 tw-leading-normal",
187
+ style: { "line-height": "150%" },
188
+ title: t.statementTitle,
189
+ "data-testid": "loan-use-statement"
190
+ }, [
191
+ r("span", null, w(t.loanUsePrefixStart), 1),
192
+ r("span", q, w(t.borrowerNameWithCountry), 1),
193
+ r("span", null, w(t.loanUsePrefixEnd), 1),
194
+ r("span", null, w(t.visibleUseStatement), 1)
195
+ ], 8, Z))
196
+ ], 64)) : t.isLightDetailedVariant ? (a(), l(s, { key: 4 }, [
197
+ t.isLoading ? (a(), l("div", J, [
198
+ (a(!0), l(s, null, u(t.loanUseLoadingRows, (o) => (a(), l("div", {
199
+ key: o,
200
+ class: "tw-h-2 tw-mb-1"
201
+ }, [
202
+ i(m)
203
+ ]))), 128))
204
+ ])) : (a(), l("div", Q, [
205
+ i(L, {
206
+ use: t.loanUse,
207
+ "loan-amount": t.loanAmount,
208
+ status: t.loanStatus,
209
+ "borrower-count": t.loanBorrowerCount,
210
+ name: t.borrowerName,
211
+ "distribution-model": t.distributionModel,
212
+ "hide-borrower-details": !0,
213
+ "data-testid": "loan-use-statement",
214
+ class: "tw-text-small tw-leading-normal tw-text-primary"
215
+ }, null, 8, ["use", "loan-amount", "status", "borrower-count", "name", "distribution-model"])
216
+ ]))
217
+ ], 64)) : e.showLoanUse ? (a(), d(k(t.tag), {
218
+ key: 5,
219
+ to: t.readMorePath,
220
+ href: t.readMorePath,
221
+ target: e.externalLinksNewTab ? "_blank" : void 0,
222
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
223
+ class: "loan-card-use tw-no-underline tw-text-primary tw-block tw-w-full",
224
+ "aria-label": "Loan use",
225
+ onClick: n[5] || (n[5] = (o) => t.clickReadMore("Use", o))
226
+ }, {
227
+ default: f(() => [
228
+ t.isLoading ? (a(), l("div", X, [
229
+ (a(!0), l(s, null, u([...Array(t.loanUseLoadingRows)], (o, T) => (a(), l("div", {
230
+ key: T,
231
+ class: "tw-h-2 tw-mb-1"
232
+ }, [
233
+ i(m)
234
+ ]))), 128))
235
+ ])) : (a(), l("div", {
236
+ key: 1,
237
+ class: c(["tw-w-full tw-overflow-hidden", { "!tw--mt-1": e.showTags && x.hasMatchingInfo && e.showLightView }])
238
+ }, [
239
+ i(L, {
240
+ use: t.loanUse,
241
+ "loan-amount": t.loanAmount,
242
+ status: t.loanStatus,
243
+ "borrower-count": t.loanBorrowerCount,
244
+ name: t.borrowerName,
245
+ "distribution-model": t.distributionModel,
246
+ "bold-name": !0,
247
+ country: t.formattedLocation,
248
+ "show-read-more": e.showLightView,
249
+ "truncate-words-number": e.truncateWordsNumber,
250
+ class: "tw-text-small tw-leading-tight"
251
+ }, null, 8, ["use", "loan-amount", "status", "borrower-count", "name", "distribution-model", "country", "show-read-more", "truncate-words-number"])
252
+ ], 2))
253
+ ]),
254
+ _: 1
255
+ }, 8, ["to", "href", "target", "rel"])) : g("", !0)
256
+ ], 2)
257
+ ], 6),
258
+ t.isLoading || typeof t.loanCallouts > "u" ? (a(), d(m, {
259
+ key: 0,
260
+ class: "tw-mt-1.5 tw-mb-1 tw-rounded-full",
261
+ style: { width: "60%", height: "1.5rem" }
262
+ })) : (a(), d(M, {
263
+ key: 1,
264
+ callouts: t.loanCallouts,
265
+ class: c(["tw-mt-1.5", { "goal-variant-callouts": t.isPostGoalVariant }]),
266
+ onClick: n[6] || (n[6] = (o) => b.$emit("jump-filter-page", o))
267
+ }, null, 8, ["callouts", "class"]))
268
+ ]),
269
+ r("div", {
270
+ class: c(["tw-flex tw-items-center tw-justify-between tw-w-full tw-mt-1", {
271
+ "tw-gap-1": t.sharesAvailable,
272
+ "!tw-items-end !tw-gap-2": t.isPostGoalVariant,
273
+ "!tw-mt-1.5": t.isLightDetailedVariant
274
+ }])
275
+ }, [
276
+ t.hasProgressData ? t.isLightDetailedVariant ? (a(), l(s, { key: 1 }, [
277
+ r("div", p, [
278
+ i(y, {
279
+ "money-left": t.unreservedAmount,
280
+ "progress-percent": t.fundraisingPercent,
281
+ class: "tw-text-black light-detailed-progress-group"
282
+ }, null, 8, ["money-left", "progress-percent"])
283
+ ]),
284
+ r("div", $, [
285
+ r("span", tt, " $" + w(e.customAmountLent), 1),
286
+ (a(), d(k(t.tag), {
287
+ to: t.readMorePath,
288
+ href: t.readMorePath,
289
+ target: e.externalLinksNewTab ? "_blank" : void 0,
290
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
291
+ class: "tw-flex tw-items-center tw-justify-center",
292
+ "aria-label": `View ${t.borrowerName || "this borrower"}'s loan details`,
293
+ onClick: n[7] || (n[7] = (o) => t.clickReadMore("Arrow", o))
294
+ }, {
295
+ default: f(() => [
296
+ i(v, {
297
+ icon: t.mdiArrowRight,
298
+ class: "tw-w-2.5 tw-h-2.5 tw-text-action"
299
+ }, null, 8, ["icon"])
300
+ ]),
301
+ _: 1
302
+ }, 8, ["to", "href", "target", "rel", "aria-label"]))
303
+ ])
304
+ ], 64)) : t.isPostGoalVariant ? (a(), l(s, { key: 2 }, [
305
+ r("div", et, [
306
+ i(y, {
307
+ "money-left": t.unreservedAmount,
308
+ "progress-percent": t.fundraisingPercent,
309
+ class: "tw-text-black goal-variant-progress-group"
310
+ }, null, 8, ["money-left", "progress-percent"])
311
+ ]),
312
+ r("div", null, [
313
+ i(N, {
314
+ id: `PostGoalAmountDropdown_${((V = e.loan) == null ? void 0 : V.id) ?? e.loanId}`,
315
+ modelValue: t.selectedAmount,
316
+ "onUpdate:modelValue": [
317
+ n[8] || (n[8] = (o) => t.selectedAmount = o),
318
+ t.handleSelectedAmount
319
+ ],
320
+ "aria-label": "Lend amount",
321
+ disabled: !t.amountOptions.length || x.isInBasket,
322
+ class: "amount-dropdown"
323
+ }, {
324
+ default: f(() => [
325
+ (a(!0), l(s, null, u(t.amountOptions, (o) => (a(), l("option", {
326
+ key: o,
327
+ value: o
328
+ }, " $" + w(o), 9, at))), 128))
329
+ ]),
330
+ _: 1
331
+ }, 8, ["id", "modelValue", "disabled", "onUpdate:modelValue"])
332
+ ])
333
+ ], 64)) : (a(), l(s, { key: 3 }, [
334
+ r("div", ot, [
335
+ t.sharesAvailable ? (a(), d(k(t.tag), {
336
+ key: 0,
337
+ to: t.readMorePath,
338
+ href: t.readMorePath,
339
+ target: e.externalLinksNewTab ? "_blank" : void 0,
340
+ rel: e.externalLinksNewTab ? "noopener noreferrer" : void 0,
341
+ class: "loan-card-progress tw-no-underline tw-block",
342
+ "aria-label": "Loan progress",
343
+ onClick: n[9] || (n[9] = (o) => t.clickReadMore("Progress", o))
344
+ }, {
345
+ default: f(() => [
346
+ i(y, {
347
+ id: "loanProgress",
348
+ "money-left": t.unreservedAmount,
349
+ "progress-percent": t.fundraisingPercent,
350
+ class: "tw-text-black"
351
+ }, null, 8, ["money-left", "progress-percent"])
352
+ ]),
353
+ _: 1
354
+ }, 8, ["to", "href", "target", "rel"])) : g("", !0)
355
+ ]),
356
+ e.showLightView ? (a(), l("button", {
357
+ key: 0,
358
+ class: "tw-ml-2",
359
+ onClick: n[10] || (n[10] = (o) => t.clickReadMore("View", o))
360
+ }, [
361
+ r("span", nt, " $" + w(e.customAmountLent), 1),
362
+ n[15] || (n[15] = r("span", { class: "tw-bg-gray-100 tw-px-1.5 tw-py-1 tw-rounded-r-sm tw-border tw-border-gray-100 tw-text-action tw-font-medium hover:tw-underline tw-text-center tw-cursor-pointer" }, " View ", -1))
363
+ ])) : (a(), l("div", {
364
+ key: 1,
365
+ class: c(["tw-flex-shrink-0 loan-card-cta", { "tw-w-full": !t.sharesAvailable }]),
366
+ style: { height: "40px" }
367
+ }, [
368
+ i(A, {
369
+ loan: e.loan,
370
+ "unreserved-amount": t.unreservedAmount,
371
+ "basket-items": e.basketItems,
372
+ "is-loading": t.isLoading,
373
+ "is-adding": e.isAdding,
374
+ "enable-five-dollars-notes": e.enableFiveDollarsNotes,
375
+ "five-dollars-selected": e.fiveDollarsSelected,
376
+ "kv-track-function": e.kvTrackFunction,
377
+ "show-view-loan": e.showViewLoan,
378
+ "custom-loan-details": e.customLoanDetails,
379
+ "external-links": e.externalLinks,
380
+ route: e.route,
381
+ "user-balance": e.userBalance,
382
+ "get-cookie": e.getCookie,
383
+ "set-cookie": e.setCookie,
384
+ "is-visitor": e.isVisitor,
385
+ "primary-button-text": e.primaryButtonText,
386
+ "secondary-button-text": e.secondaryButtonText,
387
+ "secondary-button-handler": e.secondaryButtonHandler,
388
+ onAddToBasket: n[11] || (n[11] = (o) => b.$emit("add-to-basket", o)),
389
+ onShowLoanDetails: n[12] || (n[12] = (o) => t.clickReadMore("ViewLoan", o)),
390
+ onRemoveFromBasket: n[13] || (n[13] = (o) => b.$emit("remove-from-basket", o))
391
+ }, null, 8, ["loan", "unreserved-amount", "basket-items", "is-loading", "is-adding", "enable-five-dollars-notes", "five-dollars-selected", "kv-track-function", "show-view-loan", "custom-loan-details", "external-links", "route", "user-balance", "get-cookie", "set-cookie", "is-visitor", "primary-button-text", "secondary-button-text", "secondary-button-handler"])
392
+ ], 2))
393
+ ], 64)) : (a(), l(s, { key: 0 }, [
394
+ r("div", Y, [
395
+ i(m, {
396
+ class: "tw-mb-0.5",
397
+ style: { width: "100%", maxWidth: "11rem", height: "1rem" }
398
+ }),
399
+ i(m, {
400
+ class: "tw-rounded",
401
+ style: { width: "100%", maxWidth: "11rem", height: "0.5rem" }
402
+ })
403
+ ]),
404
+ t.allDataLoaded ? g("", !0) : (a(), d(m, {
405
+ key: 0,
406
+ class: "tw-rounded tw-flex-shrink-0",
407
+ style: { width: "8rem", height: "2.5rem" }
408
+ }))
409
+ ], 64))
410
+ ], 2)
411
+ ], 10, S);
412
+ }
413
+ const mt = /* @__PURE__ */ B(D, [["render", lt], ["__scopeId", "data-v-330ff302"]]);
378
414
  export {
379
- $e as KV_COMPACT_LOAN_CARD_FRAGMENT,
380
- je as KV_COMPACT_LOAN_CARD_USER_FRAGMENT,
381
- qe as default
415
+ gt as KV_COMPACT_LOAN_CARD_FRAGMENT,
416
+ ft as KV_COMPACT_LOAN_CARD_USER_FRAGMENT,
417
+ mt as default
382
418
  };