@kiva/kv-components 3.82.1 → 3.83.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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.83.1](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@3.83.0...@kiva/kv-components@3.83.1) (2024-06-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * event is firing twice ([#417](https://github.com/kiva/kv-ui-elements/issues/417)) ([3e30e40](https://github.com/kiva/kv-ui-elements/commit/3e30e4023c6d6af324fc99e805b0f10d36934c2e))
12
+
13
+
14
+
15
+
16
+
17
+ # [3.83.0](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@3.82.1...@kiva/kv-components@3.83.0) (2024-06-07)
18
+
19
+
20
+ ### Features
21
+
22
+ * implement custom loan details on loan card ([#416](https://github.com/kiva/kv-ui-elements/issues/416)) ([13a7a39](https://github.com/kiva/kv-ui-elements/commit/13a7a39ed9d073aa3ee7319b69c6b46f26d45d5b))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [3.82.1](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@3.82.0...@kiva/kv-components@3.82.1) (2024-06-03)
7
29
 
8
30
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiva/kv-components",
3
- "version": "3.82.1",
3
+ "version": "3.83.1",
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": "cde8d379527232294da84dde985729ec92479c65"
78
+ "gitHead": "fd9613c908f4eeaddb1a8395e864c5c0448c53af"
79
79
  }
package/utils/loanCard.js CHANGED
@@ -179,26 +179,22 @@ export function loanCardComputedProperties(props) {
179
179
  };
180
180
  }
181
181
 
182
- export function loanCardMethods(props) {
182
+ export function loanCardMethods(props, emit) {
183
183
  const {
184
184
  loanId,
185
185
  customLoanDetails,
186
186
  kvTrackFunction,
187
187
  } = toRefs(props);
188
188
 
189
- function showLoanDetails(e) {
189
+ function clickReadMore(target, event) {
190
+ kvTrackFunction.value('Lending', 'click-Read more', target, loanId.value);
190
191
  if (customLoanDetails.value) {
191
- e.preventDefault();
192
- this.$emit('show-loan-details');
192
+ event.preventDefault();
193
+ emit('show-loan-details');
193
194
  }
194
195
  }
195
196
 
196
- function clickReadMore(target) {
197
- kvTrackFunction.value('Lending', 'click-Read more', target, loanId.value);
198
- }
199
-
200
197
  return {
201
- showLoanDetails,
202
198
  clickReadMore,
203
199
  };
204
200
  }
@@ -17,7 +17,6 @@
17
17
  <div
18
18
  v-else
19
19
  class="tw-relative"
20
- @click="showLoanDetails"
21
20
  >
22
21
  <component
23
22
  :is="tag"
@@ -25,7 +24,7 @@
25
24
  :href="readMorePath"
26
25
  class="tw-flex"
27
26
  aria-label="Borrower image"
28
- @click="clickReadMore('Photo')"
27
+ @click.native="clickReadMore('Photo', $event)"
29
28
  >
30
29
  <kv-borrower-image
31
30
  class="
@@ -93,7 +92,7 @@
93
92
  class="tw-flex hover:tw-no-underline focus:tw-no-underline"
94
93
  :class="{ 'tw-px-1': largeCard }"
95
94
  aria-label="Loan tag"
96
- @click="clickReadMore('Tag')"
95
+ @click.native="clickReadMore('Tag', $event)"
97
96
  >
98
97
  <kv-loan-tag
99
98
  v-if="showTags && !isLoading"
@@ -108,7 +107,7 @@
108
107
  :href="readMorePath"
109
108
  class="loan-card-use tw-text-primary"
110
109
  aria-label="Loan use"
111
- @click="clickReadMore('Use')"
110
+ @click.native="clickReadMore('Use', $event)"
112
111
  >
113
112
  <!-- Loan use -->
114
113
  <div class="tw-mb-1.5 tw-pt-1">
@@ -187,7 +186,7 @@
187
186
  :href="readMorePath"
188
187
  class="loan-card-progress tw-mt-1"
189
188
  aria-label="Loan progress"
190
- @click="clickReadMore('Progress')"
189
+ @click.native="clickReadMore('Progress', $event)"
191
190
  >
192
191
  <kv-loan-progress-group
193
192
  id="loanProgress"
@@ -229,7 +228,7 @@
229
228
  class="tw-mt-auto"
230
229
  :class="{ 'tw-w-full' : unreservedAmount <= 0 }"
231
230
  @add-to-basket="$emit('add-to-basket', $event)"
232
- @show-loan-details="clickReadMore('ViewLoan')"
231
+ @show-loan-details="clickReadMore('ViewLoan', $event)"
233
232
  @remove-from-basket="$emit('remove-from-basket', $event)"
234
233
  />
235
234
  </div>
@@ -429,7 +428,7 @@ export default {
429
428
  default: false,
430
429
  },
431
430
  },
432
- setup(props) {
431
+ setup(props, { emit }) {
433
432
  const {
434
433
  allDataLoaded,
435
434
  borrowerName,
@@ -455,8 +454,7 @@ export default {
455
454
 
456
455
  const {
457
456
  clickReadMore,
458
- showLoanDetails,
459
- } = loanCardMethods(props);
457
+ } = loanCardMethods(props, emit);
460
458
 
461
459
  return {
462
460
  allDataLoaded,
@@ -480,7 +478,6 @@ export default {
480
478
  tag,
481
479
  unreservedAmount,
482
480
  clickReadMore,
483
- showLoanDetails,
484
481
  };
485
482
  },
486
483
  computed: {
@@ -27,7 +27,6 @@
27
27
  <div
28
28
  v-else
29
29
  class="tw-relative tw-w-full"
30
- @click="showLoanDetails"
31
30
  >
32
31
  <component
33
32
  :is="tag"
@@ -35,7 +34,7 @@
35
34
  :href="readMorePath"
36
35
  class="tw-flex"
37
36
  aria-label="Borrower image"
38
- @click="clickReadMore('Photo')"
37
+ @click.native="clickReadMore('Photo', $event)"
39
38
  >
40
39
  <kv-borrower-image
41
40
  class="
@@ -102,7 +101,7 @@
102
101
  :href="readMorePath"
103
102
  class="tw-flex hover:tw-no-underline focus:tw-no-underline"
104
103
  aria-label="Loan tag"
105
- @click="clickReadMore('Tag')"
104
+ @click.native="clickReadMore('Tag', $event)"
106
105
  >
107
106
  <kv-loan-tag
108
107
  v-if="showTags && !isLoading"
@@ -182,7 +181,7 @@
182
181
  :href="readMorePath"
183
182
  class="loan-card-progress tw-mt-1 tw-flex-grow"
184
183
  aria-label="Loan progress"
185
- @click="clickReadMore('Progress')"
184
+ @click.native="clickReadMore('Progress', $event)"
186
185
  >
187
186
  <kv-loan-progress-group
188
187
  id="loanProgress"
@@ -220,7 +219,7 @@
220
219
  class="tw-mt-auto tw-self-end"
221
220
  :class="{'tw-flex-grow' : unreservedAmount === 0, 'tw-flex-shrink-0' : unreservedAmount > 0}"
222
221
  @add-to-basket="$emit('add-to-basket', $event)"
223
- @show-loan-details="clickReadMore('ViewLoan')"
222
+ @show-loan-details="clickReadMore('ViewLoan', $event)"
224
223
  />
225
224
  </div>
226
225
  </div>
@@ -338,7 +337,7 @@ export default {
338
337
  default: false,
339
338
  },
340
339
  },
341
- setup(props) {
340
+ setup(props, { emit }) {
342
341
  const {
343
342
  allDataLoaded,
344
343
  borrowerName,
@@ -364,8 +363,7 @@ export default {
364
363
 
365
364
  const {
366
365
  clickReadMore,
367
- showLoanDetails,
368
- } = loanCardMethods(props);
366
+ } = loanCardMethods(props, emit);
369
367
 
370
368
  return {
371
369
  allDataLoaded,
@@ -389,7 +387,6 @@ export default {
389
387
  tag,
390
388
  unreservedAmount,
391
389
  clickReadMore,
392
- showLoanDetails,
393
390
  };
394
391
  },
395
392
  computed: {
@@ -37,9 +37,15 @@ const story = (args) => {
37
37
  :primary-button-text="primaryButtonText"
38
38
  :secondary-button-text="secondaryButtonText"
39
39
  :secondary-button-handler="secondaryButtonHandler"
40
+ @show-loan-details="showLoanDetails"
40
41
  />
41
42
  </div>
42
43
  `,
44
+ methods: {
45
+ showLoanDetails() {
46
+ console.log('show-loan-details');
47
+ },
48
+ },
43
49
  });
44
50
  template.args = args;
45
51
  return template;
@@ -421,6 +427,18 @@ export const SupportAgain = story({
421
427
  photoPath,
422
428
  });
423
429
 
430
+ export const CustomShowLoanDetails = story({
431
+ loanId: loan.id,
432
+ loan: {
433
+ ...loan,
434
+ userProperties: { lentTo: true },
435
+ },
436
+ primaryButtonText: 'Support',
437
+ kvTrackFunction,
438
+ photoPath,
439
+ customLoanDetails: true,
440
+ });
441
+
424
442
  export const RemoveButton = story({
425
443
  loanId: loan.id,
426
444
  loan,
@@ -428,7 +446,7 @@ export const RemoveButton = story({
428
446
  photoPath,
429
447
  basketItems: [{ id: loan.id, __typename: 'LoanReservation' }],
430
448
  secondaryButtonText: 'Remove Loan',
431
- secondaryButtonHandler: () => {},
449
+ secondaryButtonHandler: () => { },
432
450
  });
433
451
 
434
452
  export const ContributorsAndAmount = story({