@kiva/kv-components 10.5.1 → 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 (228) 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 +18 -18
  46. package/dist/vue/KvLightbox.script.js +147 -0
  47. package/dist/vue/KvLightbox.vue.d.ts +21 -0
  48. package/dist/vue/KvLineGraph.js +1 -1
  49. package/dist/vue/KvLoadingSpinner.js +1 -1
  50. package/dist/vue/KvLoanActivities.js +75 -149
  51. package/dist/vue/KvLoanActivities.script.js +151 -0
  52. package/dist/vue/KvLoanActivities.vue.d.ts +21 -0
  53. package/dist/vue/KvLoanBookmark.js +22 -33
  54. package/dist/vue/KvLoanBookmark.script.js +35 -0
  55. package/dist/vue/KvLoanCallouts.js +1 -1
  56. package/dist/vue/KvLoanInfoCard.js +2 -2
  57. package/dist/vue/KvLoanProgressGroup.js +1 -1
  58. package/dist/vue/KvLoanTag.js +44 -123
  59. package/dist/vue/KvLoanTag.script.js +125 -0
  60. package/dist/vue/KvLoanUse.js +14 -111
  61. package/dist/vue/KvLoanUse.script.js +113 -0
  62. package/dist/vue/KvMap.js +1 -1
  63. package/dist/vue/KvMaterialIcon.js +1 -1
  64. package/dist/vue/KvPageContainer.js +1 -1
  65. package/dist/vue/KvPagination.js +1 -1
  66. package/dist/vue/KvPieChart.js +1 -1
  67. package/dist/vue/KvPieChartV2.js +1 -1
  68. package/dist/vue/KvPieChartV2.vue.d.ts +21 -0
  69. package/dist/vue/KvPill.js +1 -1
  70. package/dist/vue/KvPopper.js +1 -1
  71. package/dist/vue/KvProgressBar.js +1 -1
  72. package/dist/vue/KvProgressCircle.js +1 -1
  73. package/dist/vue/KvPulsingDot.js +1 -1
  74. package/dist/vue/KvRadio.js +1 -1
  75. package/dist/vue/KvSecondaryNav.js +1 -1
  76. package/dist/vue/KvSelect.js +1 -1
  77. package/dist/vue/KvSideSheet.js +1 -1
  78. package/dist/vue/KvSimpleMap.js +1 -1
  79. package/dist/vue/KvStackedBarGraph.js +1 -1
  80. package/dist/vue/KvSwitch.js +1 -1
  81. package/dist/vue/KvTab.js +1 -1
  82. package/dist/vue/KvTabPanel.js +1 -1
  83. package/dist/vue/KvTabs.js +1 -1
  84. package/dist/vue/KvTextInput.js +1 -1
  85. package/dist/vue/KvTextLink.js +1 -1
  86. package/dist/vue/KvThemeProvider.js +1 -1
  87. package/dist/vue/KvToast.js +1 -1
  88. package/dist/vue/KvTooltip.js +1 -1
  89. package/dist/vue/KvTreeMapChart.js +1 -1
  90. package/dist/vue/KvUserAvatar.js +1 -1
  91. package/dist/vue/KvUtilityMenu.js +1 -1
  92. package/dist/vue/KvVerticalCarousel.js +1 -1
  93. package/dist/vue/KvVotingCard.js +1 -1
  94. package/dist/vue/KvVotingCardV2.js +1 -1
  95. package/dist/vue/KvVotingCardV2.vue.d.ts +21 -0
  96. package/dist/vue/KvWideLoanCard.js +206 -232
  97. package/dist/vue/KvWideLoanCard.script.js +235 -0
  98. package/dist/vue/KvWwwHeader/KvHeaderAboutMenu.js +1 -1
  99. package/dist/vue/KvWwwHeader/KvHeaderDropdownLink.js +1 -1
  100. package/dist/vue/KvWwwHeader/KvHeaderLinkBar.js +1 -1
  101. package/dist/vue/KvWwwHeader/KvHeaderLogo.js +1 -1
  102. package/dist/vue/KvWwwHeader/KvHeaderMobileMenu.js +1 -1
  103. package/dist/vue/KvWwwHeader/KvHeaderMyKivaMenu.js +1 -1
  104. package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu.js +1 -1
  105. package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.js +1 -1
  106. package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.js +1 -1
  107. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.js +1 -1
  108. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList.js +1 -1
  109. package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList.js +1 -1
  110. package/dist/vue/KvWwwHeader.js +1 -1
  111. package/dist/vue/KvWwwHeaderBasic/AboutMenu.js +1 -1
  112. package/dist/vue/KvWwwHeaderBasic/HeaderMenuGroup.js +1 -1
  113. package/dist/vue/KvWwwHeaderBasic/KvWwwHeaderBasic.js +1 -1
  114. package/dist/vue/KvWwwHeaderBasic/LinkBar.js +1 -1
  115. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/CategoriesPanel.js +1 -1
  116. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MobileLendMenu.js +1 -1
  117. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/MyKivaPanel.js +1 -1
  118. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/RegionsPanel.js +1 -1
  119. package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/SearchPanel.js +1 -1
  120. package/dist/vue/KvWwwHeaderBasic/MobileMenu.js +1 -1
  121. package/dist/vue/KvWwwHeaderBasic/MyKivaMenu.js +1 -1
  122. package/dist/vue/KvWwwHeaderBasic/SearchBar.js +1 -1
  123. package/package.json +2 -2
  124. package/vite.config.ts +16 -13
  125. package/dist/vue/KvClassicLoanCard2.js +0 -255
  126. package/dist/vue/KvCompactLoanCard2.js +0 -418
  127. package/dist/vue/KvFormAssemblyForm2.js +0 -4
  128. package/dist/vue/KvIconButton2.js +0 -4
  129. package/dist/vue/KvIntroductionLoanCard2.js +0 -250
  130. package/dist/vue/KvLendCta2.js +0 -357
  131. package/dist/vue/KvLightbox2.js +0 -117
  132. package/dist/vue/KvLoanActivities2.js +0 -77
  133. package/dist/vue/KvLoanBookmark2.js +0 -24
  134. package/dist/vue/KvLoanTag2.js +0 -46
  135. package/dist/vue/KvLoanUse2.js +0 -16
  136. package/dist/vue/KvWideLoanCard2.js +0 -209
  137. /package/dist/vue/{KvAccordionItem2.js → KvAccordionItem.script.js} +0 -0
  138. /package/dist/vue/{KvActivityRow2.js → KvActivityRow.script.js} +0 -0
  139. /package/dist/vue/{KvAtbModal2.js → KvAtbModal.script.js} +0 -0
  140. /package/dist/vue/{KvBorrowerImage2.js → KvBorrowerImage.script.js} +0 -0
  141. /package/dist/vue/{KvButton2.js → KvButton.script.js} +0 -0
  142. /package/dist/vue/{KvCardFrame2.js → KvCardFrame.script.js} +0 -0
  143. /package/dist/vue/{KvCarousel2.js → KvCarousel.script.js} +0 -0
  144. /package/dist/vue/{KvCartModal2.js → KvCartModal.script.js} +0 -0
  145. /package/dist/vue/{KvCartPill2.js → KvCartPill.script.js} +0 -0
  146. /package/dist/vue/{KvCheckbox2.js → KvCheckbox.script.js} +0 -0
  147. /package/dist/vue/{KvCheckoutReceipt2.js → KvCheckoutReceipt.script.js} +0 -0
  148. /package/dist/vue/{KvChip2.js → KvChip.script.js} +0 -0
  149. /package/dist/vue/{KvCommentsAdd2.js → KvCommentsAdd.script.js} +0 -0
  150. /package/dist/vue/{KvCommentsContainer2.js → KvCommentsContainer.script.js} +0 -0
  151. /package/dist/vue/{KvCommentsHeartButton2.js → KvCommentsHeartButton.script.js} +0 -0
  152. /package/dist/vue/{KvCommentsList2.js → KvCommentsList.script.js} +0 -0
  153. /package/dist/vue/{KvCommentsListItem2.js → KvCommentsListItem.script.js} +0 -0
  154. /package/dist/vue/{KvCommentsReplyButton2.js → KvCommentsReplyButton.script.js} +0 -0
  155. /package/dist/vue/{KvContentfulImg2.js → KvContentfulImg.script.js} +0 -0
  156. /package/dist/vue/{KvCountdownTimer2.js → KvCountdownTimer.script.js} +0 -0
  157. /package/dist/vue/{KvDatePicker2.js → KvDatePicker.script.js} +0 -0
  158. /package/dist/vue/{KvExpandable2.js → KvExpandable.script.js} +0 -0
  159. /package/dist/vue/{KvExpandableQuestion2.js → KvExpandableQuestion.script.js} +0 -0
  160. /package/dist/vue/{KvFlag2.js → KvFlag.script.js} +0 -0
  161. /package/dist/vue/{KvGrid2.js → KvGrid.script.js} +0 -0
  162. /package/dist/vue/{KvIconBag2.js → KvIconBag.script.js} +0 -0
  163. /package/dist/vue/{KvImageUpload2.js → KvImageUpload.script.js} +0 -0
  164. /package/dist/vue/{KvImpactVerticalSelector2.js → KvImpactVerticalSelector.script.js} +0 -0
  165. /package/dist/vue/{KvInlineActivityCard2.js → KvInlineActivityCard.script.js} +0 -0
  166. /package/dist/vue/{KvInlineActivityFeed2.js → KvInlineActivityFeed.script.js} +0 -0
  167. /package/dist/vue/{KvLendAmountButton2.js → KvLendAmountButton.script.js} +0 -0
  168. /package/dist/vue/{KvLineGraph2.js → KvLineGraph.script.js} +0 -0
  169. /package/dist/vue/{KvLoadingSpinner2.js → KvLoadingSpinner.script.js} +0 -0
  170. /package/dist/vue/{KvLoanCallouts2.js → KvLoanCallouts.script.js} +0 -0
  171. /package/dist/vue/{KvLoanProgressGroup2.js → KvLoanProgressGroup.script.js} +0 -0
  172. /package/dist/vue/{KvMap2.js → KvMap.script.js} +0 -0
  173. /package/dist/vue/{KvMaterialIcon2.js → KvMaterialIcon.script.js} +0 -0
  174. /package/dist/vue/{KvPageContainer2.js → KvPageContainer.script.js} +0 -0
  175. /package/dist/vue/{KvPagination2.js → KvPagination.script.js} +0 -0
  176. /package/dist/vue/{KvPieChart2.js → KvPieChart.script.js} +0 -0
  177. /package/dist/vue/{KvPieChartV22.js → KvPieChartV2.script.js} +0 -0
  178. /package/dist/vue/{KvPill2.js → KvPill.script.js} +0 -0
  179. /package/dist/vue/{KvPopper2.js → KvPopper.script.js} +0 -0
  180. /package/dist/vue/{KvProgressBar2.js → KvProgressBar.script.js} +0 -0
  181. /package/dist/vue/{KvProgressCircle2.js → KvProgressCircle.script.js} +0 -0
  182. /package/dist/vue/{KvPulsingDot2.js → KvPulsingDot.script.js} +0 -0
  183. /package/dist/vue/{KvRadio2.js → KvRadio.script.js} +0 -0
  184. /package/dist/vue/{KvSecondaryNav2.js → KvSecondaryNav.script.js} +0 -0
  185. /package/dist/vue/{KvSelect2.js → KvSelect.script.js} +0 -0
  186. /package/dist/vue/{KvSideSheet2.js → KvSideSheet.script.js} +0 -0
  187. /package/dist/vue/{KvSimpleMap2.js → KvSimpleMap.script.js} +0 -0
  188. /package/dist/vue/{KvStackedBarGraph2.js → KvStackedBarGraph.script.js} +0 -0
  189. /package/dist/vue/{KvSwitch2.js → KvSwitch.script.js} +0 -0
  190. /package/dist/vue/{KvTab2.js → KvTab.script.js} +0 -0
  191. /package/dist/vue/{KvTabPanel2.js → KvTabPanel.script.js} +0 -0
  192. /package/dist/vue/{KvTabs2.js → KvTabs.script.js} +0 -0
  193. /package/dist/vue/{KvTextInput2.js → KvTextInput.script.js} +0 -0
  194. /package/dist/vue/{KvTextLink2.js → KvTextLink.script.js} +0 -0
  195. /package/dist/vue/{KvThemeProvider2.js → KvThemeProvider.script.js} +0 -0
  196. /package/dist/vue/{KvToast2.js → KvToast.script.js} +0 -0
  197. /package/dist/vue/{KvTooltip2.js → KvTooltip.script.js} +0 -0
  198. /package/dist/vue/{KvTreeMapChart2.js → KvTreeMapChart.script.js} +0 -0
  199. /package/dist/vue/{KvUserAvatar2.js → KvUserAvatar.script.js} +0 -0
  200. /package/dist/vue/{KvUtilityMenu2.js → KvUtilityMenu.script.js} +0 -0
  201. /package/dist/vue/{KvVerticalCarousel2.js → KvVerticalCarousel.script.js} +0 -0
  202. /package/dist/vue/{KvVotingCard2.js → KvVotingCard.script.js} +0 -0
  203. /package/dist/vue/{KvVotingCardV22.js → KvVotingCardV2.script.js} +0 -0
  204. /package/dist/vue/KvWwwHeader/{KvHeaderAboutMenu2.js → KvHeaderAboutMenu.script.js} +0 -0
  205. /package/dist/vue/KvWwwHeader/{KvHeaderDropdownLink2.js → KvHeaderDropdownLink.script.js} +0 -0
  206. /package/dist/vue/KvWwwHeader/{KvHeaderLinkBar2.js → KvHeaderLinkBar.script.js} +0 -0
  207. /package/dist/vue/KvWwwHeader/{KvHeaderLogo2.js → KvHeaderLogo.script.js} +0 -0
  208. /package/dist/vue/KvWwwHeader/{KvHeaderMobileMenu2.js → KvHeaderMobileMenu.script.js} +0 -0
  209. /package/dist/vue/KvWwwHeader/{KvHeaderMyKivaMenu2.js → KvHeaderMyKivaMenu.script.js} +0 -0
  210. /package/dist/vue/KvWwwHeader/{KvHeaderTakeActionMenu2.js → KvHeaderTakeActionMenu.script.js} +0 -0
  211. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendListMenu2.js → KvLendListMenu.script.js} +0 -0
  212. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMegaMenu2.js → KvLendMegaMenu.script.js} +0 -0
  213. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenu2.js → KvLendMenu.script.js} +0 -0
  214. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenuCountryList2.js → KvLendMenuCountryList.script.js} +0 -0
  215. /package/dist/vue/KvWwwHeader/LendMenu/{KvLendMenuSearchList2.js → KvLendMenuSearchList.script.js} +0 -0
  216. /package/dist/vue/{KvWwwHeader2.js → KvWwwHeader.script.js} +0 -0
  217. /package/dist/vue/KvWwwHeaderBasic/{AboutMenu2.js → AboutMenu.script.js} +0 -0
  218. /package/dist/vue/KvWwwHeaderBasic/{HeaderMenuGroup2.js → HeaderMenuGroup.script.js} +0 -0
  219. /package/dist/vue/KvWwwHeaderBasic/{KvWwwHeaderBasic2.js → KvWwwHeaderBasic.script.js} +0 -0
  220. /package/dist/vue/KvWwwHeaderBasic/{LinkBar2.js → LinkBar.script.js} +0 -0
  221. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{CategoriesPanel2.js → CategoriesPanel.script.js} +0 -0
  222. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{MobileLendMenu2.js → MobileLendMenu.script.js} +0 -0
  223. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{MyKivaPanel2.js → MyKivaPanel.script.js} +0 -0
  224. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{RegionsPanel2.js → RegionsPanel.script.js} +0 -0
  225. /package/dist/vue/KvWwwHeaderBasic/MobileLendMenu/{SearchPanel2.js → SearchPanel.script.js} +0 -0
  226. /package/dist/vue/KvWwwHeaderBasic/{MobileMenu2.js → MobileMenu.script.js} +0 -0
  227. /package/dist/vue/KvWwwHeaderBasic/{MyKivaMenu2.js → MyKivaMenu.script.js} +0 -0
  228. /package/dist/vue/KvWwwHeaderBasic/{SearchBar2.js → SearchBar.script.js} +0 -0
@@ -1,125 +1,46 @@
1
- import { differenceInDays as r, parseISO as s } from "date-fns";
2
- import u from "graphql-tag";
3
- import l from "numeral";
4
- import d from "./KvCountdownTimer.js";
5
- import m from "./KvTooltip.js";
6
- const h = "N/A", a = {
7
- almostFunded: "almost-funded",
8
- endingSoon: "ending-soon",
9
- matchedLoan: "matched-loan",
10
- lseLoan: "lse-loan"
11
- }, y = u`
12
- fragment KvLoanTag on LoanBasic {
13
- id
14
- loanFundraisingInfo {
15
- id
16
- fundedAmount
17
- reservedAmount
18
- }
19
- loanAmount
20
- matchRatio
21
- matchingText
22
- simultaneousMatching {
23
- managedAccountId
24
- displayName
25
- ratio
26
- }
27
- plannedExpirationDate
28
- ... on LoanPartner {
29
- partnerName
30
- }
31
- }
32
- `, L = {
33
- name: "KvLoanTag",
34
- components: {
35
- KvCountdownTimer: d,
36
- KvTooltip: m
37
- },
38
- props: {
39
- loan: {
40
- type: Object,
41
- required: !0
42
- },
43
- useExpandedStyles: {
44
- type: Boolean,
45
- default: !1
46
- },
47
- enableMultiMatching: {
48
- type: Boolean,
49
- default: !1
50
- }
51
- },
52
- computed: {
53
- deadline() {
54
- var t;
55
- return s((t = this.loan) == null ? void 0 : t.plannedExpirationDate);
56
- },
57
- isLseLoan() {
58
- var t, n;
59
- return ((n = (t = this.loan) == null ? void 0 : t.partnerName) == null ? void 0 : n.toUpperCase().includes(h)) ?? !1;
60
- },
61
- amountLeft() {
62
- var e, o;
63
- const t = ((e = this.loan) == null ? void 0 : e.loanFundraisingInfo) ?? { fundedAmount: 0, reservedAmount: 0 }, { fundedAmount: n, reservedAmount: i } = t;
64
- return l((o = this.loan) == null ? void 0 : o.loanAmount).subtract(n).subtract(i).value();
65
- },
66
- multiMatchingOrgs() {
67
- var t;
68
- return ((t = this.loan) == null ? void 0 : t.simultaneousMatching) ?? [];
69
- },
70
- isMultipleMatch() {
71
- return this.enableMultiMatching && this.multiMatchingOrgs.length > 1;
72
- },
73
- totalMatchRatio() {
74
- return this.multiMatchingOrgs.reduce((t, n) => t + n.ratio, 1);
75
- },
76
- variation() {
77
- var i, e;
78
- const t = !!((i = this.loan) != null && i.matchingText), n = this.enableMultiMatching && this.multiMatchingOrgs.length > 0;
79
- return t || n ? a.matchedLoan : this.isLseLoan ? a.lseLoan : r(s((e = this.loan) == null ? void 0 : e.plannedExpirationDate), Date.now()) <= 3 ? a.endingSoon : this.amountLeft < 100 && this.amountLeft >= 0 ? a.almostFunded : null;
80
- },
81
- tagText() {
82
- var t;
83
- switch (this.variation) {
84
- case a.lseLoan:
85
- return `${this.useExpandedStyles ? "⚡ " : ""}High community impact`;
86
- case a.almostFunded:
87
- return `${this.useExpandedStyles ? "💸 " : ""}Almost funded`;
88
- case a.matchedLoan: {
89
- if (this.enableMultiMatching && this.multiMatchingOrgs.length === 1) {
90
- const n = this.multiMatchingOrgs[0];
91
- return `${this.useExpandedStyles ? "🤝 " : ""}${n.ratio + 1}x matching by ${this.orgDisplayName(n)}`;
92
- }
93
- return `${this.useExpandedStyles ? "🤝 " : ""}${this.matchRatio + 1}x matching by ${(t = this.loan) == null ? void 0 : t.matchingText}`;
94
- }
95
- default:
96
- return `${this.useExpandedStyles ? "⏰ " : ""}Ending soon: `;
97
- }
98
- },
99
- tagColor() {
100
- if (this.useExpandedStyles)
101
- switch (this.variation) {
102
- case a.almostFunded:
103
- return "#AF741C";
104
- case a.endingSoon:
105
- return "#CE2626";
106
- default:
107
- return "#2B7C5F";
108
- }
109
- return "#CE4A00";
110
- },
111
- matchRatio() {
112
- var t;
113
- return (t = this.loan) == null ? void 0 : t.matchRatio;
114
- }
115
- },
116
- methods: {
117
- orgDisplayName(t) {
118
- return t.displayName && t.displayName !== "Anonymous" ? t.displayName : "a Kiva supporter";
119
- }
120
- }
121
- };
1
+ import h from "./KvLoanTag.script.js";
2
+ import { KV_LOAN_TAG_FRAGMENT as L } from "./KvLoanTag.script.js";
3
+ import { resolveComponent as d, openBlock as e, createElementBlock as r, normalizeStyle as _, normalizeClass as w, Fragment as o, createTextVNode as m, toDisplayString as a, createElementVNode as l, createVNode as p, withCtx as y, renderList as k, createBlock as f, createCommentVNode as s } from "vue";
4
+ import x from "../_virtual/_plugin-vue_export-helper.js";
5
+ const v = ["id"], M = { class: "tw-whitespace-nowrap tw-pb-0.5" };
6
+ function N(b, i, c, C, T, t) {
7
+ const u = d("kv-tooltip"), g = d("kv-countdown-timer");
8
+ return t.variation ? (e(), r("div", {
9
+ key: 0,
10
+ class: w(["tw-text-small tw-font-medium tw-pt-0.5", { "tw-line-clamp-1": !t.isMultipleMatch }]),
11
+ style: _({ color: t.tagColor })
12
+ }, [
13
+ t.isMultipleMatch ? (e(), r(o, { key: 0 }, [
14
+ m(a(t.totalMatchRatio) + "x match by ", 1),
15
+ l("span", {
16
+ id: `matching-orgs-${c.loan.id}`,
17
+ class: "tw-underline tw-decoration-dotted tw-cursor-pointer"
18
+ }, a(t.multiMatchingOrgs.length) + " organizations", 9, v),
19
+ p(u, {
20
+ controller: `matching-orgs-${c.loan.id}`,
21
+ "max-width": "320px"
22
+ }, {
23
+ default: y(() => [
24
+ l("p", M, " Your contribution is matched by " + a(t.multiMatchingOrgs.length) + " partners ", 1),
25
+ i[0] || (i[0] = l("hr", { class: "tw-border-caution-highlight tw-py-0.5" }, null, -1)),
26
+ (e(!0), r(o, null, k(t.multiMatchingOrgs, (n) => (e(), r("p", {
27
+ key: n.managedAccountId,
28
+ class: "tw-m-0"
29
+ }, a(n.ratio) + ":1 matching by " + a(t.orgDisplayName(n)), 1))), 128))
30
+ ]),
31
+ _: 1
32
+ }, 8, ["controller"])
33
+ ], 64)) : (e(), r(o, { key: 1 }, [
34
+ m(a(t.tagText) + " ", 1),
35
+ t.variation === "ending-soon" ? (e(), f(g, {
36
+ key: 0,
37
+ deadline: t.deadline
38
+ }, null, 8, ["deadline"])) : s("", !0)
39
+ ], 64))
40
+ ], 6)) : s("", !0);
41
+ }
42
+ const z = /* @__PURE__ */ x(h, [["render", N]]);
122
43
  export {
123
- y as KV_LOAN_TAG_FRAGMENT,
124
- L as default
44
+ L as KV_LOAN_TAG_FRAGMENT,
45
+ z as default
125
46
  };
@@ -0,0 +1,125 @@
1
+ import { differenceInDays as r, parseISO as s } from "date-fns";
2
+ import u from "graphql-tag";
3
+ import l from "numeral";
4
+ import d from "./KvCountdownTimer.js";
5
+ import m from "./KvTooltip.js";
6
+ const h = "N/A", a = {
7
+ almostFunded: "almost-funded",
8
+ endingSoon: "ending-soon",
9
+ matchedLoan: "matched-loan",
10
+ lseLoan: "lse-loan"
11
+ }, y = u`
12
+ fragment KvLoanTag on LoanBasic {
13
+ id
14
+ loanFundraisingInfo {
15
+ id
16
+ fundedAmount
17
+ reservedAmount
18
+ }
19
+ loanAmount
20
+ matchRatio
21
+ matchingText
22
+ simultaneousMatching {
23
+ managedAccountId
24
+ displayName
25
+ ratio
26
+ }
27
+ plannedExpirationDate
28
+ ... on LoanPartner {
29
+ partnerName
30
+ }
31
+ }
32
+ `, L = {
33
+ name: "KvLoanTag",
34
+ components: {
35
+ KvCountdownTimer: d,
36
+ KvTooltip: m
37
+ },
38
+ props: {
39
+ loan: {
40
+ type: Object,
41
+ required: !0
42
+ },
43
+ useExpandedStyles: {
44
+ type: Boolean,
45
+ default: !1
46
+ },
47
+ enableMultiMatching: {
48
+ type: Boolean,
49
+ default: !1
50
+ }
51
+ },
52
+ computed: {
53
+ deadline() {
54
+ var t;
55
+ return s((t = this.loan) == null ? void 0 : t.plannedExpirationDate);
56
+ },
57
+ isLseLoan() {
58
+ var t, n;
59
+ return ((n = (t = this.loan) == null ? void 0 : t.partnerName) == null ? void 0 : n.toUpperCase().includes(h)) ?? !1;
60
+ },
61
+ amountLeft() {
62
+ var e, o;
63
+ const t = ((e = this.loan) == null ? void 0 : e.loanFundraisingInfo) ?? { fundedAmount: 0, reservedAmount: 0 }, { fundedAmount: n, reservedAmount: i } = t;
64
+ return l((o = this.loan) == null ? void 0 : o.loanAmount).subtract(n).subtract(i).value();
65
+ },
66
+ multiMatchingOrgs() {
67
+ var t;
68
+ return ((t = this.loan) == null ? void 0 : t.simultaneousMatching) ?? [];
69
+ },
70
+ isMultipleMatch() {
71
+ return this.enableMultiMatching && this.multiMatchingOrgs.length > 1;
72
+ },
73
+ totalMatchRatio() {
74
+ return this.multiMatchingOrgs.reduce((t, n) => t + n.ratio, 1);
75
+ },
76
+ variation() {
77
+ var i, e;
78
+ const t = !!((i = this.loan) != null && i.matchingText), n = this.enableMultiMatching && this.multiMatchingOrgs.length > 0;
79
+ return t || n ? a.matchedLoan : this.isLseLoan ? a.lseLoan : r(s((e = this.loan) == null ? void 0 : e.plannedExpirationDate), Date.now()) <= 3 ? a.endingSoon : this.amountLeft < 100 && this.amountLeft >= 0 ? a.almostFunded : null;
80
+ },
81
+ tagText() {
82
+ var t;
83
+ switch (this.variation) {
84
+ case a.lseLoan:
85
+ return `${this.useExpandedStyles ? "⚡ " : ""}High community impact`;
86
+ case a.almostFunded:
87
+ return `${this.useExpandedStyles ? "💸 " : ""}Almost funded`;
88
+ case a.matchedLoan: {
89
+ if (this.enableMultiMatching && this.multiMatchingOrgs.length === 1) {
90
+ const n = this.multiMatchingOrgs[0];
91
+ return `${this.useExpandedStyles ? "🤝 " : ""}${n.ratio + 1}x matching by ${this.orgDisplayName(n)}`;
92
+ }
93
+ return `${this.useExpandedStyles ? "🤝 " : ""}${this.matchRatio + 1}x matching by ${(t = this.loan) == null ? void 0 : t.matchingText}`;
94
+ }
95
+ default:
96
+ return `${this.useExpandedStyles ? "⏰ " : ""}Ending soon: `;
97
+ }
98
+ },
99
+ tagColor() {
100
+ if (this.useExpandedStyles)
101
+ switch (this.variation) {
102
+ case a.almostFunded:
103
+ return "#AF741C";
104
+ case a.endingSoon:
105
+ return "#CE2626";
106
+ default:
107
+ return "#2B7C5F";
108
+ }
109
+ return "#CE4A00";
110
+ },
111
+ matchRatio() {
112
+ var t;
113
+ return (t = this.loan) == null ? void 0 : t.matchRatio;
114
+ }
115
+ },
116
+ methods: {
117
+ orgDisplayName(t) {
118
+ return t.displayName && t.displayName !== "Anonymous" ? t.displayName : "a Kiva supporter";
119
+ }
120
+ }
121
+ };
122
+ export {
123
+ y as KV_LOAN_TAG_FRAGMENT,
124
+ L as default
125
+ };
@@ -1,113 +1,16 @@
1
- import u from "graphql-tag";
2
- import l from "numeral";
3
- import { truncateStringByWords as i } from "../utils/loanUtils.js";
4
- const r = "direct", o = (e) => e.charAt(0).toUpperCase() + e.slice(1), t = (e) => e.charAt(0).toLowerCase() + e.slice(1), m = u`
5
- fragment KvLoanUse on LoanBasic {
6
- id
7
- anonymizationLevel
8
- use
9
- loanAmount
10
- status
11
- borrowerCount
12
- name
13
- distributionModel
14
- whySpecial
15
- }
16
- `, f = {
17
- name: "KvLoanUse",
18
- props: {
19
- anonymizationLevel: {
20
- type: String,
21
- default: "none"
22
- },
23
- use: {
24
- type: String,
25
- default: ""
26
- },
27
- loanAmount: {
28
- type: String,
29
- default: ""
30
- },
31
- status: {
32
- type: String,
33
- default: ""
34
- },
35
- borrowerCount: {
36
- type: Number,
37
- default: 1
38
- },
39
- name: {
40
- type: String,
41
- default: ""
42
- },
43
- distributionModel: {
44
- type: String,
45
- default: r
46
- },
47
- whySpecial: {
48
- type: String,
49
- default: ""
50
- },
51
- hideLoanAmount: {
52
- type: Boolean,
53
- default: !1
54
- },
55
- // Unlike hideLoanAmount, this drops the name and country too and never shows a read-more link.
56
- hideBorrowerDetails: {
57
- type: Boolean,
58
- default: !1
59
- },
60
- boldName: {
61
- type: Boolean,
62
- default: !1
63
- },
64
- country: {
65
- type: String,
66
- default: ""
67
- },
68
- useIndicativeHelpText: {
69
- type: Boolean,
70
- default: !1
71
- },
72
- showReadMore: {
73
- type: Boolean,
74
- default: !1
75
- },
76
- truncateWordsNumber: {
77
- type: Number,
78
- default: 0
79
- }
80
- },
81
- computed: {
82
- helpLanguage() {
83
- return this.status === "fundraising" || this.status === "inactive" || this.status === "reviewed" ? "helps" : "helped";
84
- },
85
- isDirect() {
86
- return this.distributionModel === r;
87
- },
88
- whySpecialSentence() {
89
- return this.whySpecial ? ` This loan is special because ${t(this.whySpecial)}` : "";
90
- },
91
- nameSpan() {
92
- return this.boldName ? this.country ? `<span class="data-hj-suppress tw-font-medium">${this.name} in ${this.country}</span>` : `<span class="data-hj-suppress tw-font-medium">${this.name}</span>` : `<span class="data-hj-suppress">${this.name}</span>`;
93
- },
94
- loanUse() {
95
- if (this.anonymizationLevel === "full" || this.use.length === 0)
96
- return "For the borrower's privacy, this loan has been made anonymous.";
97
- if (this.hideBorrowerDetails)
98
- return `${o(this.helpLanguage)} ${t(this.use)}${this.whySpecialSentence}`;
99
- if (this.hideLoanAmount) {
100
- const n = this.useIndicativeHelpText ? this.helpLanguage : "Help";
101
- let a = `${o(n)} ${this.nameSpan} ${t(this.use)} ${this.whySpecialSentence}`;
102
- return this.showReadMore && (a = `${i(a, this.truncateWordsNumber)} <span class=" tw-text-action tw-underline">read more</span>`), a;
103
- }
104
- const e = this.borrowerCount > 1;
105
- let s = `${l(this.loanAmount).format("$0,0")} ${this.isDirect ? "to" : this.helpLanguage} ${e ? "a member of " : ""}${this.nameSpan} ${this.isDirect ? `${this.helpLanguage} ` : ""}${t(this.use)}${this.whySpecialSentence}`;
106
- return this.showReadMore && (s = `${i(s, this.truncateWordsNumber)} <span class=" tw-text-action tw-underline">read more</span>`), s;
107
- }
108
- }
109
- };
1
+ import o from "./KvLoanUse.script.js";
2
+ import { KV_LOAN_USE_FRAGMENT as E } from "./KvLoanUse.script.js";
3
+ import { openBlock as r, createElementBlock as n } from "vue";
4
+ import t from "../_virtual/_plugin-vue_export-helper.js";
5
+ const c = ["innerHTML"];
6
+ function s(_, p, a, l, m, e) {
7
+ return r(), n("p", {
8
+ class: "tw-line-clamp-4",
9
+ innerHTML: e.loanUse
10
+ }, null, 8, c);
11
+ }
12
+ const u = /* @__PURE__ */ t(o, [["render", s]]);
110
13
  export {
111
- m as KV_LOAN_USE_FRAGMENT,
112
- f as default
14
+ E as KV_LOAN_USE_FRAGMENT,
15
+ u as default
113
16
  };
@@ -0,0 +1,113 @@
1
+ import u from "graphql-tag";
2
+ import l from "numeral";
3
+ import { truncateStringByWords as i } from "../utils/loanUtils.js";
4
+ const r = "direct", o = (e) => e.charAt(0).toUpperCase() + e.slice(1), t = (e) => e.charAt(0).toLowerCase() + e.slice(1), m = u`
5
+ fragment KvLoanUse on LoanBasic {
6
+ id
7
+ anonymizationLevel
8
+ use
9
+ loanAmount
10
+ status
11
+ borrowerCount
12
+ name
13
+ distributionModel
14
+ whySpecial
15
+ }
16
+ `, f = {
17
+ name: "KvLoanUse",
18
+ props: {
19
+ anonymizationLevel: {
20
+ type: String,
21
+ default: "none"
22
+ },
23
+ use: {
24
+ type: String,
25
+ default: ""
26
+ },
27
+ loanAmount: {
28
+ type: String,
29
+ default: ""
30
+ },
31
+ status: {
32
+ type: String,
33
+ default: ""
34
+ },
35
+ borrowerCount: {
36
+ type: Number,
37
+ default: 1
38
+ },
39
+ name: {
40
+ type: String,
41
+ default: ""
42
+ },
43
+ distributionModel: {
44
+ type: String,
45
+ default: r
46
+ },
47
+ whySpecial: {
48
+ type: String,
49
+ default: ""
50
+ },
51
+ hideLoanAmount: {
52
+ type: Boolean,
53
+ default: !1
54
+ },
55
+ // Unlike hideLoanAmount, this drops the name and country too and never shows a read-more link.
56
+ hideBorrowerDetails: {
57
+ type: Boolean,
58
+ default: !1
59
+ },
60
+ boldName: {
61
+ type: Boolean,
62
+ default: !1
63
+ },
64
+ country: {
65
+ type: String,
66
+ default: ""
67
+ },
68
+ useIndicativeHelpText: {
69
+ type: Boolean,
70
+ default: !1
71
+ },
72
+ showReadMore: {
73
+ type: Boolean,
74
+ default: !1
75
+ },
76
+ truncateWordsNumber: {
77
+ type: Number,
78
+ default: 0
79
+ }
80
+ },
81
+ computed: {
82
+ helpLanguage() {
83
+ return this.status === "fundraising" || this.status === "inactive" || this.status === "reviewed" ? "helps" : "helped";
84
+ },
85
+ isDirect() {
86
+ return this.distributionModel === r;
87
+ },
88
+ whySpecialSentence() {
89
+ return this.whySpecial ? ` This loan is special because ${t(this.whySpecial)}` : "";
90
+ },
91
+ nameSpan() {
92
+ return this.boldName ? this.country ? `<span class="data-hj-suppress tw-font-medium">${this.name} in ${this.country}</span>` : `<span class="data-hj-suppress tw-font-medium">${this.name}</span>` : `<span class="data-hj-suppress">${this.name}</span>`;
93
+ },
94
+ loanUse() {
95
+ if (this.anonymizationLevel === "full" || this.use.length === 0)
96
+ return "For the borrower's privacy, this loan has been made anonymous.";
97
+ if (this.hideBorrowerDetails)
98
+ return `${o(this.helpLanguage)} ${t(this.use)}${this.whySpecialSentence}`;
99
+ if (this.hideLoanAmount) {
100
+ const n = this.useIndicativeHelpText ? this.helpLanguage : "Help";
101
+ let a = `${o(n)} ${this.nameSpan} ${t(this.use)} ${this.whySpecialSentence}`;
102
+ return this.showReadMore && (a = `${i(a, this.truncateWordsNumber)} <span class=" tw-text-action tw-underline">read more</span>`), a;
103
+ }
104
+ const e = this.borrowerCount > 1;
105
+ let s = `${l(this.loanAmount).format("$0,0")} ${this.isDirect ? "to" : this.helpLanguage} ${e ? "a member of " : ""}${this.nameSpan} ${this.isDirect ? `${this.helpLanguage} ` : ""}${t(this.use)}${this.whySpecialSentence}`;
106
+ return this.showReadMore && (s = `${i(s, this.truncateWordsNumber)} <span class=" tw-text-action tw-underline">read more</span>`), s;
107
+ }
108
+ }
109
+ };
110
+ export {
111
+ m as KV_LOAN_USE_FRAGMENT,
112
+ f as default
113
+ };
package/dist/vue/KvMap.js CHANGED
@@ -1,4 +1,4 @@
1
- import l from "./KvMap2.js";
1
+ import l from "./KvMap.script.js";
2
2
  import { openBlock as r, createElementBlock as o, normalizeStyle as a, createElementVNode as c } from "vue";
3
3
  import "./KvMap.css";
4
4
  import i from "../_virtual/_plugin-vue_export-helper.js";
@@ -1,4 +1,4 @@
1
- import n from "./KvMaterialIcon2.js";
1
+ import n from "./KvMaterialIcon.script.js";
2
2
  import { openBlock as t, createElementBlock as e, createElementVNode as r } from "vue";
3
3
  import c from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const i = {
@@ -1,4 +1,4 @@
1
- import e from "./KvPageContainer2.js";
1
+ import e from "./KvPageContainer.script.js";
2
2
  import { openBlock as o, createElementBlock as r, renderSlot as s } from "vue";
3
3
  import n from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const p = {
@@ -1,4 +1,4 @@
1
- import d from "./KvPagination2.js";
1
+ import d from "./KvPagination.script.js";
2
2
  import { resolveComponent as k, openBlock as a, createElementBlock as s, createElementVNode as r, normalizeClass as i, createVNode as c, Fragment as u, renderList as g, createTextVNode as m, createCommentVNode as C, toDisplayString as _ } from "vue";
3
3
  import f from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const v = { "aria-label": "Pagination" }, x = {
@@ -1,4 +1,4 @@
1
- import f from "./KvPieChart2.js";
1
+ import f from "./KvPieChart.script.js";
2
2
  import { resolveComponent as x, openBlock as l, createElementBlock as n, createElementVNode as o, createVNode as g, Fragment as c, renderList as d, normalizeStyle as w, toDisplayString as s, createCommentVNode as m, createTextVNode as h } from "vue";
3
3
  import "./KvPieChart.css";
4
4
  import k from "../_virtual/_plugin-vue_export-helper.js";
@@ -1,4 +1,4 @@
1
- import y from "./KvPieChartV22.js";
1
+ import y from "./KvPieChartV2.script.js";
2
2
  import { resolveComponent as x, openBlock as l, createElementBlock as o, normalizeStyle as s, createElementVNode as r, normalizeClass as k, createCommentVNode as n, Fragment as d, renderList as c, toDisplayString as w, createBlock as _, withCtx as b } from "vue";
3
3
  import "./KvPieChartV2.css";
4
4
  import u from "../_virtual/_plugin-vue_export-helper.js";
@@ -153,6 +153,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
153
153
  type: BooleanConstructor;
154
154
  default: boolean;
155
155
  };
156
+ preventBackgroundClose: {
157
+ type: BooleanConstructor;
158
+ default: boolean;
159
+ };
160
+ closeButtonShowDelay: {
161
+ type: NumberConstructor;
162
+ default: number;
163
+ };
156
164
  }>, {
157
165
  mdiClose: string;
158
166
  role: import('vue').ComputedRef<"alertdialog" | "dialog">;
@@ -163,6 +171,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
163
171
  hide: (closedBy?: string) => void;
164
172
  show: () => void;
165
173
  controlsRef: import('vue').Ref<any, any>;
174
+ closeButtonClasses: import('vue').ComputedRef<(string | {
175
+ 'tw-invisible tw-opacity-0': boolean;
176
+ })[]>;
166
177
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "lightbox-closed"[], "lightbox-closed", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
167
178
  blurBackground: {
168
179
  type: BooleanConstructor;
@@ -185,6 +196,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
185
196
  type: BooleanConstructor;
186
197
  default: boolean;
187
198
  };
199
+ preventBackgroundClose: {
200
+ type: BooleanConstructor;
201
+ default: boolean;
202
+ };
203
+ closeButtonShowDelay: {
204
+ type: NumberConstructor;
205
+ default: number;
206
+ };
188
207
  }>> & Readonly<{
189
208
  "onLightbox-closed"?: (...args: any[]) => any;
190
209
  }>, {
@@ -192,6 +211,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
192
211
  visible: boolean;
193
212
  preventClose: boolean;
194
213
  blurBackground: boolean;
214
+ preventBackgroundClose: boolean;
215
+ closeButtonShowDelay: number;
195
216
  }, {}, {
196
217
  KvMaterialIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
197
218
  icon: {
@@ -1,4 +1,4 @@
1
- import o from "./KvPill2.js";
1
+ import o from "./KvPill.script.js";
2
2
  import { openBlock as r, createElementBlock as a, normalizeClass as l, renderSlot as s, createElementVNode as n } from "vue";
3
3
  import c from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const d = {
@@ -1,4 +1,4 @@
1
- import r from "./KvPopper2.js";
1
+ import r from "./KvPopper.script.js";
2
2
  import { openBlock as s, createBlock as i, Transition as n, withCtx as a, withDirectives as l, createElementVNode as c, normalizeStyle as d, renderSlot as f, vShow as m } from "vue";
3
3
  import p from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const _ = ["aria-hidden"];
@@ -1,4 +1,4 @@
1
- import t from "./KvProgressBar2.js";
1
+ import t from "./KvProgressBar.script.js";
2
2
  import { openBlock as r, createElementBlock as n, normalizeClass as l, createElementVNode as o, normalizeStyle as i } from "vue";
3
3
  import s from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const u = ["aria-label", "aria-valuemin", "aria-valuemax", "aria-valuenow"];
@@ -1,4 +1,4 @@
1
- import c from "./KvProgressCircle2.js";
1
+ import c from "./KvProgressCircle.script.js";
2
2
  import { openBlock as o, createElementBlock as a, createElementVNode as t, normalizeStyle as i, normalizeClass as s, Fragment as l, toDisplayString as n, createCommentVNode as d } from "vue";
3
3
  import "./KvProgressCircle.css";
4
4
  import f from "../_virtual/_plugin-vue_export-helper.js";
@@ -1,4 +1,4 @@
1
- import t from "./KvPulsingDot2.js";
1
+ import t from "./KvPulsingDot.script.js";
2
2
  import { openBlock as l, createElementBlock as r, createElementVNode as e, normalizeClass as s } from "vue";
3
3
  import "./KvPulsingDot.css";
4
4
  import c from "../_virtual/_plugin-vue_export-helper.js";
@@ -1,4 +1,4 @@
1
- import a from "./KvRadio2.js";
1
+ import a from "./KvRadio.script.js";
2
2
  import { openBlock as o, createElementBlock as d, normalizeStyle as c, normalizeClass as r, createElementVNode as i, mergeProps as w, toHandlers as f, withModifiers as m, createCommentVNode as h, renderSlot as u } from "vue";
3
3
  import v from "../_virtual/_plugin-vue_export-helper.js";
4
4
  const b = ["for"], _ = ["id", "checked", "name", "value", "disabled"], g = {