@kiva/kv-components 3.18.0 → 3.19.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.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.19.0](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@3.18.0...@kiva/kv-components@3.19.0) (2023-05-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* loan card CTA fixes needed for home page ([fc1c9f8](https://github.com/kiva/kv-ui-elements/commit/fc1c9f858aeae620f6cfea74da8d15ae859afa3c))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [3.18.0](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@3.17.0...@kiva/kv-components@3.18.0) (2023-05-05)
|
|
7
18
|
|
|
8
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kiva/kv-components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.19.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"optional": true
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "b816407effcdecfc0487c5bfb91838f9c4f25a85"
|
|
79
79
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
:id="`${loanId}-loan-card`"
|
|
4
3
|
class="tw-flex tw-flex-col tw-bg-white tw-rounded tw-w-full tw-pb-1"
|
|
5
4
|
:class="{ 'tw-p-1': !largeCard }"
|
|
6
5
|
style="box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);"
|
|
@@ -29,8 +28,10 @@
|
|
|
29
28
|
data-testid="loan-card-bookmark"
|
|
30
29
|
@toggle-bookmark="$emit('toggle-bookmark')"
|
|
31
30
|
/>
|
|
32
|
-
<
|
|
33
|
-
:
|
|
31
|
+
<component
|
|
32
|
+
:is="tag"
|
|
33
|
+
:to="readMorePath"
|
|
34
|
+
:href="readMorePath"
|
|
34
35
|
class="tw-flex"
|
|
35
36
|
aria-label="Borrower image"
|
|
36
37
|
@click="clickReadMore('Photo')"
|
|
@@ -74,12 +75,14 @@
|
|
|
74
75
|
{{ formattedLocation }}
|
|
75
76
|
</p>
|
|
76
77
|
</div>
|
|
77
|
-
</
|
|
78
|
+
</component>
|
|
78
79
|
</div>
|
|
79
80
|
|
|
80
81
|
<!-- Loan tag -->
|
|
81
|
-
<
|
|
82
|
-
:
|
|
82
|
+
<component
|
|
83
|
+
:is="tag"
|
|
84
|
+
:to="readMorePath"
|
|
85
|
+
:href="readMorePath"
|
|
83
86
|
class="tw-flex hover:tw-no-underline focus:tw-no-underline"
|
|
84
87
|
:class="{ 'tw-px-1': largeCard }"
|
|
85
88
|
aria-label="Loan tag"
|
|
@@ -90,10 +93,12 @@
|
|
|
90
93
|
:loan="loan"
|
|
91
94
|
:kv-track-function="kvTrackFunction"
|
|
92
95
|
/>
|
|
93
|
-
</
|
|
96
|
+
</component>
|
|
94
97
|
|
|
95
|
-
<
|
|
96
|
-
:
|
|
98
|
+
<component
|
|
99
|
+
:is="tag"
|
|
100
|
+
:to="readMorePath"
|
|
101
|
+
:href="readMorePath"
|
|
97
102
|
class="loan-card-use tw-text-primary"
|
|
98
103
|
aria-label="Loan use"
|
|
99
104
|
@click="clickReadMore('Use')"
|
|
@@ -106,11 +111,13 @@
|
|
|
106
111
|
:class="{ 'tw-px-1': largeCard }"
|
|
107
112
|
style="height: 5.5rem;"
|
|
108
113
|
>
|
|
109
|
-
<
|
|
114
|
+
<div
|
|
110
115
|
v-for="(_n, i) in [...Array(4)]"
|
|
111
116
|
:key="i"
|
|
112
|
-
class="tw-h-2 tw-mb-1
|
|
113
|
-
|
|
117
|
+
class="tw-h-2 tw-mb-1"
|
|
118
|
+
>
|
|
119
|
+
<kv-loading-placeholder />
|
|
120
|
+
</div>
|
|
114
121
|
</div>
|
|
115
122
|
<div v-else>
|
|
116
123
|
<kv-loan-use
|
|
@@ -124,7 +131,7 @@
|
|
|
124
131
|
/>
|
|
125
132
|
</div>
|
|
126
133
|
</div>
|
|
127
|
-
</
|
|
134
|
+
</component>
|
|
128
135
|
</div>
|
|
129
136
|
|
|
130
137
|
<!-- Loan call outs -->
|
|
@@ -163,9 +170,11 @@
|
|
|
163
170
|
/>
|
|
164
171
|
</div>
|
|
165
172
|
|
|
166
|
-
<
|
|
173
|
+
<component
|
|
174
|
+
:is="tag"
|
|
167
175
|
v-if="unreservedAmount > 0"
|
|
168
|
-
:to="
|
|
176
|
+
:to="readMorePath"
|
|
177
|
+
:href="readMorePath"
|
|
169
178
|
class="loan-card-progress tw-mt-1"
|
|
170
179
|
aria-label="Loan progress"
|
|
171
180
|
@click="clickReadMore('Progress')"
|
|
@@ -176,7 +185,7 @@
|
|
|
176
185
|
:progress-percent="fundraisingPercent"
|
|
177
186
|
class="tw-text-black"
|
|
178
187
|
/>
|
|
179
|
-
</
|
|
188
|
+
</component>
|
|
180
189
|
|
|
181
190
|
<!-- CTA Button -->
|
|
182
191
|
<kv-loading-placeholder
|
|
@@ -195,6 +204,7 @@
|
|
|
195
204
|
:kv-track-function="kvTrackFunction"
|
|
196
205
|
:show-view-loan="showViewLoan"
|
|
197
206
|
:custom-loan-details="customLoanDetails"
|
|
207
|
+
:external-links="externalLinks"
|
|
198
208
|
class="tw-mt-auto"
|
|
199
209
|
:class="{ 'tw-w-full' : unreservedAmount <= 0 }"
|
|
200
210
|
@add-to-basket="$emit('add-to-basket', $event)"
|
|
@@ -232,7 +242,7 @@ export default {
|
|
|
232
242
|
props: {
|
|
233
243
|
loanId: {
|
|
234
244
|
type: Number,
|
|
235
|
-
|
|
245
|
+
default: undefined,
|
|
236
246
|
},
|
|
237
247
|
loan: {
|
|
238
248
|
type: Object,
|
|
@@ -290,6 +300,10 @@ export default {
|
|
|
290
300
|
type: Boolean,
|
|
291
301
|
default: false,
|
|
292
302
|
},
|
|
303
|
+
externalLinks: {
|
|
304
|
+
type: Boolean,
|
|
305
|
+
default: false,
|
|
306
|
+
},
|
|
293
307
|
},
|
|
294
308
|
data() {
|
|
295
309
|
return {
|
|
@@ -297,8 +311,14 @@ export default {
|
|
|
297
311
|
};
|
|
298
312
|
},
|
|
299
313
|
computed: {
|
|
314
|
+
tag() {
|
|
315
|
+
return this.externalLinks ? 'a' : 'router-link';
|
|
316
|
+
},
|
|
317
|
+
readMorePath() {
|
|
318
|
+
return this.customLoanDetails ? '' : `/lend/${this.loanId}`;
|
|
319
|
+
},
|
|
300
320
|
isLoading() {
|
|
301
|
-
return !this.loan;
|
|
321
|
+
return !this.loanId || !this.loan;
|
|
302
322
|
},
|
|
303
323
|
cardWidth() {
|
|
304
324
|
return this.useFullWidth ? '100%' : '374px';
|
|
@@ -32,10 +32,6 @@ export default {
|
|
|
32
32
|
type: Boolean,
|
|
33
33
|
default: false,
|
|
34
34
|
},
|
|
35
|
-
isAdding: {
|
|
36
|
-
type: Boolean,
|
|
37
|
-
default: false,
|
|
38
|
-
},
|
|
39
35
|
},
|
|
40
36
|
computed: {
|
|
41
37
|
amountValue() {
|
|
@@ -55,10 +51,6 @@ export default {
|
|
|
55
51
|
|
|
56
52
|
return str;
|
|
57
53
|
},
|
|
58
|
-
buttonState() {
|
|
59
|
-
if (this.isAdding) return 'loading';
|
|
60
|
-
return '';
|
|
61
|
-
},
|
|
62
54
|
},
|
|
63
55
|
methods: {
|
|
64
56
|
addToBasket(event) {
|
package/vue/KvLendCta.vue
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<kv-ui-button
|
|
4
|
-
v-if="showViewLoan"
|
|
4
|
+
v-if="showViewLoan && !isInBasket"
|
|
5
5
|
:state="`${allSharesReserved ? 'disabled' : ''}`"
|
|
6
|
-
:to="
|
|
6
|
+
:to="!externalLinks ? readMorePath : undefined"
|
|
7
|
+
:href="externalLinks ? readMorePath : undefined"
|
|
7
8
|
class="tw-mb-0"
|
|
8
9
|
@click="$emit('show-loan-details')"
|
|
9
10
|
>
|
|
@@ -93,11 +94,12 @@
|
|
|
93
94
|
|
|
94
95
|
<!-- Continue to checkout button -->
|
|
95
96
|
<kv-ui-button
|
|
96
|
-
v-if="
|
|
97
|
+
v-if="isInBasket"
|
|
97
98
|
variant="secondary"
|
|
98
99
|
class="tw-inline-flex tw-flex-1"
|
|
99
100
|
data-testid="bp-lend-cta-checkout-button"
|
|
100
|
-
to="/basket"
|
|
101
|
+
:to="!externalLinks ? '/basket' : undefined"
|
|
102
|
+
:href="externalLinks ? '/basket' : undefined"
|
|
101
103
|
@click.native="clickCheckout"
|
|
102
104
|
>
|
|
103
105
|
Checkout now
|
|
@@ -171,6 +173,10 @@ export default {
|
|
|
171
173
|
type: Boolean,
|
|
172
174
|
default: false,
|
|
173
175
|
},
|
|
176
|
+
externalLinks: {
|
|
177
|
+
type: Boolean,
|
|
178
|
+
default: false,
|
|
179
|
+
},
|
|
174
180
|
},
|
|
175
181
|
data() {
|
|
176
182
|
return {
|
|
@@ -179,6 +185,9 @@ export default {
|
|
|
179
185
|
};
|
|
180
186
|
},
|
|
181
187
|
computed: {
|
|
188
|
+
readMorePath() {
|
|
189
|
+
return this.customLoanDetails ? '' : `/lend/${this.loanId}`;
|
|
190
|
+
},
|
|
182
191
|
loanId() {
|
|
183
192
|
return this.loan?.id;
|
|
184
193
|
},
|
|
@@ -230,7 +239,7 @@ export default {
|
|
|
230
239
|
useFormSubmit() {
|
|
231
240
|
if (this.hideShowLendDropdown
|
|
232
241
|
|| this.lendButtonVisibility
|
|
233
|
-
|| this.
|
|
242
|
+
|| this.showLendAgain
|
|
234
243
|
|| this.state === 'lent-to'
|
|
235
244
|
|| this.isAdding) {
|
|
236
245
|
return true;
|
|
@@ -213,3 +213,13 @@ export const ViewLoan = story({
|
|
|
213
213
|
photoPath,
|
|
214
214
|
showViewLoan: true,
|
|
215
215
|
});
|
|
216
|
+
|
|
217
|
+
export const LendAgain = story({
|
|
218
|
+
loanId: loan.id,
|
|
219
|
+
loan: {
|
|
220
|
+
...loan,
|
|
221
|
+
userProperties: { lentTo: true },
|
|
222
|
+
},
|
|
223
|
+
kvTrackFunction,
|
|
224
|
+
photoPath,
|
|
225
|
+
});
|
|
@@ -15,7 +15,6 @@ const story = (args) => {
|
|
|
15
15
|
:show-now="showNow"
|
|
16
16
|
:amount-left="amountLeft"
|
|
17
17
|
:complete-loan="completeLoan"
|
|
18
|
-
:is-adding="isAdding"
|
|
19
18
|
/>
|
|
20
19
|
`,
|
|
21
20
|
});
|
|
@@ -30,5 +29,3 @@ export const ShowNow = story({ showNow: true });
|
|
|
30
29
|
export const AmountLeft = story({ amountLeft: 5 });
|
|
31
30
|
|
|
32
31
|
export const CompleteLoan = story({ completeLoan: true });
|
|
33
|
-
|
|
34
|
-
export const IsAdding = story({ isAdding: true });
|