@learncard/react 2.12.2 → 2.12.4

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 (128) hide show
  1. package/dist/cjs/{BoostGenericCard-06bedec7.js → BoostGenericCard-8e8598eb.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-06bedec7.js.map → BoostGenericCard-8e8598eb.js.map} +1 -1
  3. package/dist/cjs/{BoostSmallCard-ece8f97e.js → BoostSmallCard-ac8ab73d.js} +2 -2
  4. package/dist/cjs/{BoostSmallCard-ece8f97e.js.map → BoostSmallCard-ac8ab73d.js.map} +1 -1
  5. package/dist/cjs/{CertificateDisplayCard-9c1d58da.js → CertificateDisplayCard-91331ab3.js} +7 -6
  6. package/dist/cjs/{CertificateDisplayCard-9c1d58da.js.map → CertificateDisplayCard-91331ab3.js.map} +1 -1
  7. package/dist/cjs/{MeritBadgeDisplayCard-201bf5ad.js → MeritBadgeDisplayCard-e95c03aa.js} +7 -6
  8. package/dist/cjs/MeritBadgeDisplayCard-e95c03aa.js.map +1 -0
  9. package/dist/cjs/{MeritBadgeSkillsCount-ef283e0d.js → MeritBadgeSkillsCount-cb61b87f.js} +2 -2
  10. package/dist/cjs/{MeritBadgeSkillsCount-ef283e0d.js.map → MeritBadgeSkillsCount-cb61b87f.js.map} +1 -1
  11. package/dist/cjs/{NotificationBoostCard-3ed9ec86.js → NotificationBoostCard-04dd2405.js} +2 -2
  12. package/dist/cjs/{NotificationBoostCard-3ed9ec86.js.map → NotificationBoostCard-04dd2405.js.map} +1 -1
  13. package/dist/cjs/{UserProfilePicture-80675455.js → UserProfilePicture-61571db9.js} +8 -4
  14. package/dist/cjs/UserProfilePicture-61571db9.js.map +1 -0
  15. package/dist/cjs/{VCCard-d72176f3.js → VCCard-4120d521.js} +3 -3
  16. package/dist/cjs/{VCCard-d72176f3.js.map → VCCard-4120d521.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayBackFace-27460538.js → VCDisplayBackFace-3a62c8f7.js} +3 -3
  18. package/dist/cjs/{VCDisplayBackFace-27460538.js.map → VCDisplayBackFace-3a62c8f7.js.map} +1 -1
  19. package/dist/cjs/{VCDisplayCard-b05125ab.js → VCDisplayCard-3f6937c3.js} +4 -4
  20. package/dist/cjs/{VCDisplayCard-b05125ab.js.map → VCDisplayCard-3f6937c3.js.map} +1 -1
  21. package/dist/cjs/{VCDisplayCard2-78d4cc3f.js → VCDisplayCard2-695c8060.js} +23 -22
  22. package/dist/cjs/VCDisplayCard2-695c8060.js.map +1 -0
  23. package/dist/cjs/{VCVerificationPill-3c130965.js → VCVerificationPill-cf4353f2.js} +2 -2
  24. package/dist/cjs/{VCVerificationPill-3c130965.js.map → VCVerificationPill-cf4353f2.js.map} +1 -1
  25. package/dist/cjs/VerifierStateBadgeAndText-3d7977c9.js +2575 -0
  26. package/dist/cjs/VerifierStateBadgeAndText-3d7977c9.js.map +1 -0
  27. package/dist/cjs/{credential.helpers-3d0256cf.js → credential.helpers-f2da12b7.js} +2 -2
  28. package/dist/cjs/{credential.helpers-3d0256cf.js.map → credential.helpers-f2da12b7.js.map} +1 -1
  29. package/dist/cjs/index.js +16 -15
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/index14.js +16 -15
  32. package/dist/cjs/index14.js.map +1 -1
  33. package/dist/cjs/index22.js +7 -6
  34. package/dist/cjs/index22.js.map +1 -1
  35. package/dist/cjs/index25.js +3 -2
  36. package/dist/cjs/index25.js.map +1 -1
  37. package/dist/cjs/index38.js +2 -1
  38. package/dist/cjs/index38.js.map +1 -1
  39. package/dist/cjs/index39.js +12 -11
  40. package/dist/cjs/index39.js.map +1 -1
  41. package/dist/cjs/index4.js +3 -3
  42. package/dist/cjs/index40.js +4 -4
  43. package/dist/cjs/index41.js +7 -6
  44. package/dist/cjs/index41.js.map +1 -1
  45. package/dist/cjs/index42.js +8 -7
  46. package/dist/cjs/index42.js.map +1 -1
  47. package/dist/cjs/index43.js +2 -1
  48. package/dist/cjs/index43.js.map +1 -1
  49. package/dist/cjs/index46.js +2 -2
  50. package/dist/cjs/index5.js +3 -2
  51. package/dist/cjs/index5.js.map +1 -1
  52. package/dist/cjs/index7.js +6 -5
  53. package/dist/cjs/index7.js.map +1 -1
  54. package/dist/cjs/{types.esm-228757cd.js → types.esm-39ee5677.js} +3 -7
  55. package/dist/cjs/types.esm-39ee5677.js.map +1 -0
  56. package/dist/esm/{BoostGenericCard-d4ea46de.js → BoostGenericCard-bd7c9207.js} +2 -2
  57. package/dist/esm/{BoostGenericCard-d4ea46de.js.map → BoostGenericCard-bd7c9207.js.map} +1 -1
  58. package/dist/esm/{BoostSmallCard-3dedb5ae.js → BoostSmallCard-35b0290d.js} +2 -2
  59. package/dist/esm/{BoostSmallCard-3dedb5ae.js.map → BoostSmallCard-35b0290d.js.map} +1 -1
  60. package/dist/esm/{CertificateDisplayCard-487a3b4e.js → CertificateDisplayCard-d247bd74.js} +6 -5
  61. package/dist/esm/{CertificateDisplayCard-487a3b4e.js.map → CertificateDisplayCard-d247bd74.js.map} +1 -1
  62. package/dist/esm/{MeritBadgeDisplayCard-13622cd4.js → MeritBadgeDisplayCard-f58ddda8.js} +6 -5
  63. package/dist/esm/MeritBadgeDisplayCard-f58ddda8.js.map +1 -0
  64. package/dist/esm/{MeritBadgeSkillsCount-11bd0ae3.js → MeritBadgeSkillsCount-f15bd544.js} +2 -2
  65. package/dist/esm/{MeritBadgeSkillsCount-11bd0ae3.js.map → MeritBadgeSkillsCount-f15bd544.js.map} +1 -1
  66. package/dist/esm/{NotificationBoostCard-cfebc09e.js → NotificationBoostCard-73efea2d.js} +2 -2
  67. package/dist/esm/{NotificationBoostCard-cfebc09e.js.map → NotificationBoostCard-73efea2d.js.map} +1 -1
  68. package/dist/esm/{UserProfilePicture-50c34186.js → UserProfilePicture-4a00d151.js} +8 -4
  69. package/dist/esm/UserProfilePicture-4a00d151.js.map +1 -0
  70. package/dist/esm/{VCCard-7fa8f15b.js → VCCard-37b09661.js} +3 -3
  71. package/dist/esm/{VCCard-7fa8f15b.js.map → VCCard-37b09661.js.map} +1 -1
  72. package/dist/esm/{VCDisplayBackFace-314c1107.js → VCDisplayBackFace-acc9c9f1.js} +3 -3
  73. package/dist/esm/{VCDisplayBackFace-314c1107.js.map → VCDisplayBackFace-acc9c9f1.js.map} +1 -1
  74. package/dist/esm/{VCDisplayCard-652910f5.js → VCDisplayCard-f630aa6b.js} +4 -4
  75. package/dist/esm/{VCDisplayCard-652910f5.js.map → VCDisplayCard-f630aa6b.js.map} +1 -1
  76. package/dist/esm/{VCDisplayCard2-a8b9a519.js → VCDisplayCard2-e896785c.js} +21 -20
  77. package/dist/esm/VCDisplayCard2-e896785c.js.map +1 -0
  78. package/dist/esm/{VCVerificationPill-be1140c5.js → VCVerificationPill-a9fd20a4.js} +2 -2
  79. package/dist/esm/{VCVerificationPill-be1140c5.js.map → VCVerificationPill-a9fd20a4.js.map} +1 -1
  80. package/dist/esm/VerifierStateBadgeAndText-f2bbd9fd.js +2533 -0
  81. package/dist/esm/VerifierStateBadgeAndText-f2bbd9fd.js.map +1 -0
  82. package/dist/esm/{credential.helpers-3dfe6b60.js → credential.helpers-1a7bbdca.js} +2 -2
  83. package/dist/esm/{credential.helpers-3dfe6b60.js.map → credential.helpers-1a7bbdca.js.map} +1 -1
  84. package/dist/esm/index.js +16 -15
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/index14.js +16 -15
  87. package/dist/esm/index14.js.map +1 -1
  88. package/dist/esm/index22.js +7 -6
  89. package/dist/esm/index22.js.map +1 -1
  90. package/dist/esm/index25.js +3 -2
  91. package/dist/esm/index25.js.map +1 -1
  92. package/dist/esm/index38.js +2 -1
  93. package/dist/esm/index38.js.map +1 -1
  94. package/dist/esm/index39.js +12 -11
  95. package/dist/esm/index39.js.map +1 -1
  96. package/dist/esm/index4.js +3 -3
  97. package/dist/esm/index40.js +4 -4
  98. package/dist/esm/index41.js +7 -6
  99. package/dist/esm/index41.js.map +1 -1
  100. package/dist/esm/index42.js +8 -7
  101. package/dist/esm/index42.js.map +1 -1
  102. package/dist/esm/index43.js +2 -1
  103. package/dist/esm/index43.js.map +1 -1
  104. package/dist/esm/index46.js +2 -2
  105. package/dist/esm/index5.js +3 -2
  106. package/dist/esm/index5.js.map +1 -1
  107. package/dist/esm/index7.js +6 -5
  108. package/dist/esm/index7.js.map +1 -1
  109. package/dist/esm/{types.esm-a67e86b1.js → types.esm-acda6d63.js} +4 -3
  110. package/dist/esm/types.esm-acda6d63.js.map +1 -0
  111. package/dist/index.d.ts +20 -2
  112. package/package.json +4 -3
  113. package/src/assets/styles/main.css +24 -18
  114. package/src/components/MeritBadgeDisplayCard/MediaAttachmentsBox.tsx +3 -2
  115. package/src/components/UserProfilePicture/UserProfilePicture.tsx +8 -3
  116. package/src/components/VCDisplayCard2/VC2FrontFaceInfo.tsx +19 -21
  117. package/dist/cjs/MeritBadgeDisplayCard-201bf5ad.js.map +0 -1
  118. package/dist/cjs/UserProfilePicture-80675455.js.map +0 -1
  119. package/dist/cjs/VCDisplayCard2-78d4cc3f.js.map +0 -1
  120. package/dist/cjs/VerifierStateBadgeAndText-57a7b85f.js +0 -21713
  121. package/dist/cjs/VerifierStateBadgeAndText-57a7b85f.js.map +0 -1
  122. package/dist/cjs/types.esm-228757cd.js.map +0 -1
  123. package/dist/esm/MeritBadgeDisplayCard-13622cd4.js.map +0 -1
  124. package/dist/esm/UserProfilePicture-50c34186.js.map +0 -1
  125. package/dist/esm/VCDisplayCard2-a8b9a519.js.map +0 -1
  126. package/dist/esm/VerifierStateBadgeAndText-97117c5d.js +0 -21670
  127. package/dist/esm/VerifierStateBadgeAndText-97117c5d.js.map +0 -1
  128. package/dist/esm/types.esm-a67e86b1.js.map +0 -1
package/dist/cjs/index.js CHANGED
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-57a7b85f.js');
6
+ var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-3d7977c9.js');
7
7
  var Lightbox = require('./Lightbox-e2996736.js');
8
- var BoostGenericCard = require('./BoostGenericCard-06bedec7.js');
8
+ var BoostGenericCard = require('./BoostGenericCard-8e8598eb.js');
9
9
  var i18n = require('./i18n-ddbb18e7.js');
10
10
  var AchievementCard = require('./AchievementCard-98d6c7f9.js');
11
- var BoostSmallCard = require('./BoostSmallCard-ece8f97e.js');
11
+ var BoostSmallCard = require('./BoostSmallCard-ac8ab73d.js');
12
12
  var Button = require('./Button-9ebe120c.js');
13
- var CertificateDisplayCard = require('./CertificateDisplayCard-9c1d58da.js');
13
+ var CertificateDisplayCard = require('./CertificateDisplayCard-91331ab3.js');
14
14
  var CircleCheckButton = require('./CircleCheckButton-f76e5b5d.js');
15
15
  var CircleIcon = require('./CircleIcon-f0fa68c7.js');
16
16
  var CourseCard = require('./CourseCard-bc699307.js');
@@ -23,12 +23,12 @@ var LearnCardCreditCardBackFace = require('./LearnCardCreditCardBackFace-62330ee
23
23
  var LearnCardCreditCardFrontFace = require('./LearnCardCreditCardFrontFace-75fb4e44.js');
24
24
  var LearnPill = require('./LearnPill-da2d2a8e.js');
25
25
  var CircleSpinner = require('./CircleSpinner-f518569a.js');
26
- var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-201bf5ad.js');
27
- var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-ef283e0d.js');
26
+ var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-e95c03aa.js');
27
+ var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-cb61b87f.js');
28
28
  var MiniVCThumbnail = require('./MiniVCThumbnail-9c510f51.js');
29
29
  var Notification = require('./Notification-24d4de25.js');
30
30
  var types = require('./types-91d0677b.js');
31
- var NotificationBoostCard = require('./NotificationBoostCard-3ed9ec86.js');
31
+ var NotificationBoostCard = require('./NotificationBoostCard-04dd2405.js');
32
32
  var NotificationUserAcceptedBoostCard = require('./NotificationUserAcceptedBoostCard-1c6d1e33.js');
33
33
  var NotificationUserCard = require('./NotificationUserCard-4364506c.js');
34
34
  var types$1 = require('./types-e4d9a257.js');
@@ -41,14 +41,14 @@ var SkillVerticalCard = require('./SkillVerticalCard-62e308b4.js');
41
41
  var SkillsCard = require('./SkillsCard-dae73a71.js');
42
42
  var SkillsStatsCard = require('./SkillsStatsCard-aeef796c.js');
43
43
  var SmallAchievementCard = require('./SmallAchievementCard-d22a4d25.js');
44
- var UserProfilePicture = require('./UserProfilePicture-80675455.js');
45
- var VCCard = require('./VCCard-d72176f3.js');
46
- var VCDisplayBackFace = require('./VCDisplayBackFace-27460538.js');
47
- var VCDisplayCard = require('./VCDisplayCard-b05125ab.js');
48
- var VCDisplayCard2 = require('./VCDisplayCard2-78d4cc3f.js');
44
+ var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
45
+ var VCCard = require('./VCCard-4120d521.js');
46
+ var VCDisplayBackFace = require('./VCDisplayBackFace-3a62c8f7.js');
47
+ var VCDisplayCard = require('./VCDisplayCard-3f6937c3.js');
48
+ var VCDisplayCard2 = require('./VCDisplayCard2-695c8060.js');
49
49
  var VCThumbnail = require('./VCThumbnail-f84d0d01.js');
50
50
  var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
51
- var VCVerificationPill = require('./VCVerificationPill-3c130965.js');
51
+ var VCVerificationPill = require('./VCVerificationPill-cf4353f2.js');
52
52
  var IDDisplayIcon = require('./IDDisplayIcon-922a5fcf.js');
53
53
  var QRCodeIcon = require('./QRCodeIcon-3021a53b.js');
54
54
  var User = require('./User-54049eba.js');
@@ -68,7 +68,6 @@ require('./social.png');
68
68
  require('./stem.png');
69
69
  require('./trade.png');
70
70
  require('./PuzzlePiece-e64f4596.js');
71
- require('./types.esm-228757cd.js');
72
71
  require('react-dom');
73
72
  require('./index-5488badc.js');
74
73
  require('./index-ba659c28.js');
@@ -88,11 +87,13 @@ require('./eventsGraphic.png');
88
87
  require('./minitrophycolored.svg');
89
88
  require('./minigradcapcolored.svg');
90
89
  require('./minipuzzlecolored.svg');
91
- require('./credential.helpers-3d0256cf.js');
90
+ require('./credential.helpers-f2da12b7.js');
92
91
  require('./index-da255c9a.js');
92
+ require('./types.esm-39ee5677.js');
93
93
  require('./BadgeThumbnailImg-02df88f9.js');
94
94
  require('./CaretRightFilled.svg');
95
95
  require('./addawardlight.svg');
96
+ require('@learncard/helpers');
96
97
  require('./DotsThreeOutline.svg');
97
98
  require('./icons-857d4be1.js');
98
99
  require('./coins.svg');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/helpers/useOnMomentumScrollEnd.ts","../../src/helpers/useScrollBorders.ts","../../src/hooks/useCredentialFormat.tsx","../../src/hooks/useParsedSdJwtVc.tsx","../../src/helpers/credentialFormat.helpers.ts"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\n\nexport const useOnMomentumScrollEnd = ({\n onScroll: _onScroll,\n onMomentumScrollEnd,\n debounceTime = 305,\n}: {\n onScroll?: React.UIEventHandler;\n onMomentumScrollEnd: React.UIEventHandler;\n debounceTime?: number;\n}) => {\n const momentumScrollEndTimer = useRef<NodeJS.Timeout>();\n\n useEffect(() => () => clearTimeout(momentumScrollEndTimer.current), []);\n\n const onScroll: React.UIEventHandler = (e) => {\n _onScroll?.(e);\n\n clearTimeout(momentumScrollEndTimer.current);\n momentumScrollEndTimer.current = setTimeout(() => {\n onMomentumScrollEnd(e);\n }, debounceTime);\n };\n\n return onScroll;\n};\n\nexport default useOnMomentumScrollEnd;\n","import React, { useEffect, type RefObject } from 'react';\n\nexport const useScrollBorders = <Ref extends HTMLElement>({\n ref,\n topShowClassName = 'border-t border-t-[--color-grayscale-line]',\n topHideClassName = 'border-t border-t-transparent',\n bottomShowClassName = 'border-b border-b-[--color-grayscale-line]',\n bottomHideClassName = 'border-b border-b-transparent',\n}: {\n ref?: RefObject<Ref>;\n topShowClassName?: string;\n topHideClassName?: string;\n bottomShowClassName?: string;\n bottomHideClassName?: string;\n} = {}) => {\n const internalRef = ref ?? React.createRef<Ref>();\n\n const updateBorderClasses = () => {\n if (\n !internalRef.current ||\n internalRef.current.scrollHeight <= internalRef.current.clientHeight\n )\n return;\n\n // Top border\n if (internalRef.current.scrollTop > 0) {\n internalRef.current.classList.remove(...topHideClassName.split(' '));\n internalRef.current.classList.add(...topShowClassName.split(' '));\n } else {\n internalRef.current.classList.remove(...topShowClassName.split(' '));\n internalRef.current.classList.add(...topHideClassName.split(' '));\n }\n\n // Bottom border\n if (\n internalRef.current.scrollTop <\n internalRef.current.scrollHeight - internalRef.current.clientHeight\n ) {\n internalRef.current.classList.remove(...bottomHideClassName.split(' '));\n internalRef.current.classList.add(...bottomShowClassName.split(' '));\n } else {\n internalRef.current.classList.remove(...bottomShowClassName.split(' '));\n internalRef.current.classList.add(...bottomHideClassName.split(' '));\n }\n };\n\n useEffect(() => {\n const element = internalRef.current;\n if (element) {\n updateBorderClasses();\n\n element.addEventListener('scroll', updateBorderClasses);\n\n return () => element.removeEventListener('scroll', updateBorderClasses);\n }\n }, [internalRef]); // Re-run when ref changes\n\n return internalRef;\n};\n","import { useMemo } from 'react';\n\nexport type CredentialFormat = 'dc+sd-jwt' | 'vc+sd-jwt' | 'jwt-vc-json' | 'ldp-vc' | 'unknown';\n\nexport const useCredentialFormat = (vc: unknown): CredentialFormat => {\n return useMemo(() => {\n if (!vc || typeof vc !== 'object') return 'unknown';\n const proof = (vc as any).proof;\n const proofs: any[] = Array.isArray(proof) ? proof : proof ? [proof] : [];\n\n const sdJwt = proofs.find(\n p => p?.type === 'SdJwtCompactProof' && typeof p?.jwt === 'string'\n );\n if (sdJwt) return 'dc+sd-jwt';\n\n const proofObj = proofs.find(p => p && typeof p === 'object');\n if (typeof proofObj?.jwt === 'string' || proofObj?.type === 'JwtProof2020') {\n return 'jwt-vc-json';\n }\n if (typeof proofObj?.type === 'string') return 'ldp-vc';\n return 'unknown';\n }, [vc]);\n};\n","import { useState, useEffect } from 'react';\nimport { LearnCard } from '@learncard/core';\n\nexport type ParsedSdJwtVc = {\n vct: string;\n issuer: string;\n issuedAt?: Date;\n expiresAt?: Date;\n notBefore?: Date;\n holderPublicKey?: Record<string, unknown>;\n claims: Record<string, unknown>;\n disclosureKeys: string[];\n header: Record<string, unknown>;\n rawPayload: Record<string, unknown>;\n rawSdJwt: string;\n format: 'dc+sd-jwt' | 'vc+sd-jwt';\n hasKeyBinding: boolean;\n};\n\nexport const useParsedSdJwtVc = (learnCard: LearnCard | undefined, compact: string | undefined) => {\n const [data, setData] = useState<ParsedSdJwtVc | undefined>(undefined);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<Error | undefined>(undefined);\n\n useEffect(() => {\n let cancelled = false;\n\n if (!learnCard || !compact) {\n setData(undefined);\n setIsLoading(false);\n setError(undefined);\n return;\n }\n\n const parse = async () => {\n setIsLoading(true);\n setError(undefined);\n setData(undefined);\n try {\n const parsed = await (learnCard.invoke as any).parseSdJwtVc(compact);\n if (!cancelled) {\n setData(parsed as ParsedSdJwtVc);\n }\n } catch (err) {\n if (!cancelled) {\n setData(undefined);\n setError(err instanceof Error ? err : new Error(String(err)));\n }\n } finally {\n if (!cancelled) {\n setIsLoading(false);\n }\n }\n };\n\n parse();\n\n return () => {\n cancelled = true;\n };\n }, [learnCard, compact]);\n\n return { data, isLoading, error };\n};\n","export const humanizeClaimLabel = (key: string): string => {\n if (!key) return '';\n\n // Preserve acronyms if all-caps\n if (/^[A-Z]+$/.test(key)) {\n return key;\n }\n\n // Convert snake_case and kebab-case to space-separated\n let humanized = key.replace(/[_-]/g, ' ');\n\n // Convert camelCase to space-separated\n humanized = humanized.replace(/([a-z])([A-Z])/g, '$1 $2');\n\n // Capitalize first letter of each word\n return humanized\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n};\n\nconst LONG_DATE_FORMAT: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n};\n\nexport const formatClaimValue = (value: unknown): string => {\n if (value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'boolean') {\n return value ? 'Yes' : 'No';\n }\n\n if (typeof value === 'string') {\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n const [y, m, d] = value.split('-').map(Number);\n const date = new Date(Date.UTC(y, m - 1, d));\n if (!isNaN(date.getTime())) {\n return date.toLocaleDateString(undefined, { ...LONG_DATE_FORMAT, timeZone: 'UTC' });\n }\n }\n if (/^\\d{4}-\\d{2}-\\d{2}T/.test(value)) {\n const date = new Date(value);\n if (!isNaN(date.getTime())) {\n return date.toLocaleDateString(undefined, LONG_DATE_FORMAT);\n }\n }\n return value;\n }\n\n if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const allPrimitive = value.every(v => v === null || typeof v !== 'object');\n if (allPrimitive) return value.map(formatClaimValue).filter(Boolean).join(', ');\n return value.length === 1 ? '1 item' : `${value.length} items`;\n }\n const entries = Object.entries(value as Record<string, unknown>);\n if (entries.length === 0) return '';\n return entries\n .map(([k, v]) => `${humanizeClaimLabel(k)}: ${formatClaimValue(v)}`)\n .join('; ');\n }\n\n return String(value);\n};\n"],"names":["useRef","useEffect","React","useMemo","useState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,yBAAyB,CAAC;AAAA,EACnC,QAAU,EAAA,SAAA;AAAA,EACV,mBAAA;AAAA,EACA,YAAe,GAAA,GAAA;AACnB,CAIM,KAAA;AACF,EAAA,MAAM,yBAAyBA,YAAuB,EAAA,CAAA;AAEtD,EAAAC,eAAA,CAAU,MAAM,MAAM,YAAA,CAAa,uBAAuB,OAAO,CAAA,EAAG,EAAE,CAAA,CAAA;AAEtE,EAAM,MAAA,QAAA,GAAiC,CAAC,CAAM,KAAA;AAC1C,IAAY,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAEZ,IAAA,YAAA,CAAa,uBAAuB,OAAO,CAAA,CAAA;AAC3C,IAAuB,sBAAA,CAAA,OAAA,GAAU,WAAW,MAAM;AAC9C,MAAA,mBAAA,CAAoB,CAAC,CAAA,CAAA;AAAA,OACtB,YAAY,CAAA,CAAA;AAAA,GACnB,CAAA;AAEA,EAAO,OAAA,QAAA,CAAA;AACX;;ACvBO,MAAM,mBAAmB,CAA0B;AAAA,EACtD,GAAA;AAAA,EACA,gBAAmB,GAAA,4CAAA;AAAA,EACnB,gBAAmB,GAAA,+BAAA;AAAA,EACnB,mBAAsB,GAAA,4CAAA;AAAA,EACtB,mBAAsB,GAAA,+BAAA;AAC1B,CAAA,GAMI,EAAO,KAAA;AACP,EAAM,MAAA,WAAA,GAAc,GAAO,IAAA,IAAA,GAAA,GAAA,GAAAC,yBAAA,CAAM,SAAe,EAAA,CAAA;AAEhD,EAAA,MAAM,sBAAsB,MAAM;AAC9B,IAAA,IACI,CAAC,WAAY,CAAA,OAAA,IACb,YAAY,OAAQ,CAAA,YAAA,IAAgB,YAAY,OAAQ,CAAA,YAAA;AAExD,MAAA,OAAA;AAGJ,IAAI,IAAA,WAAA,CAAY,OAAQ,CAAA,SAAA,GAAY,CAAG,EAAA;AACnC,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,MAAA,CAAO,GAAG,gBAAiB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AACnE,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,GAAA,CAAI,GAAG,gBAAiB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KAC7D,MAAA;AACH,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,MAAA,CAAO,GAAG,gBAAiB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AACnE,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,GAAA,CAAI,GAAG,gBAAiB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KACpE;AAGA,IACI,IAAA,WAAA,CAAY,QAAQ,SACpB,GAAA,WAAA,CAAY,QAAQ,YAAe,GAAA,WAAA,CAAY,QAAQ,YACzD,EAAA;AACE,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,MAAA,CAAO,GAAG,mBAAoB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AACtE,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,GAAA,CAAI,GAAG,mBAAoB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KAChE,MAAA;AACH,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,MAAA,CAAO,GAAG,mBAAoB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AACtE,MAAA,WAAA,CAAY,QAAQ,SAAU,CAAA,GAAA,CAAI,GAAG,mBAAoB,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KACvE;AAAA,GACJ,CAAA;AAEA,EAAAD,eAAA,CAAU,MAAM;AACZ,IAAA,MAAM,UAAU,WAAY,CAAA,OAAA,CAAA;AAC5B,IAAA,IAAI,OAAS,EAAA;AACT,MAAoB,mBAAA,EAAA,CAAA;AAEpB,MAAQ,OAAA,CAAA,gBAAA,CAAiB,UAAU,mBAAmB,CAAA,CAAA;AAEtD,MAAA,OAAO,MAAM,OAAA,CAAQ,mBAAoB,CAAA,QAAA,EAAU,mBAAmB,CAAA,CAAA;AAAA,KAC1E;AAAA,GACJ,EAAG,CAAC,WAAW,CAAC,CAAA,CAAA;AAEhB,EAAO,OAAA,WAAA,CAAA;AACX;;ACtDa,MAAA,mBAAA,GAAsB,CAAC,EAAkC,KAAA;AAClE,EAAA,OAAOE,cAAQ,MAAM;AACjB,IAAA,IAAI,CAAC,EAAA,IAAM,OAAO,EAAA,KAAO,UAAiB,OAAA,SAAA,CAAA;AAC1C,IAAA,MAAM,QAAS,EAAW,CAAA,KAAA,CAAA;AAC1B,IAAM,MAAA,MAAA,GAAgB,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,QAAQ,KAAQ,GAAA,CAAC,KAAK,CAAA,GAAI,EAAC,CAAA;AAExE,IAAA,MAAM,QAAQ,MAAO,CAAA,IAAA;AAAA,MACjB,QAAK,CAAG,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,IAAA,MAAS,mBAAuB,IAAA,QAAO,uBAAG,GAAQ,CAAA,KAAA,QAAA;AAAA,KAC9D,CAAA;AACA,IAAA,IAAI,OAAc,OAAA,WAAA,CAAA;AAElB,IAAA,MAAM,WAAW,MAAO,CAAA,IAAA,CAAK,OAAK,CAAK,IAAA,OAAO,MAAM,QAAQ,CAAA,CAAA;AAC5D,IAAA,IAAI,QAAO,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,GAAA,CAAA,KAAQ,QAAY,IAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,UAAS,cAAgB,EAAA;AACxE,MAAO,OAAA,aAAA,CAAA;AAAA,KACX;AACA,IAAA,IAAI,QAAO,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,IAAS,CAAA,KAAA,QAAA,EAAiB,OAAA,QAAA,CAAA;AAC/C,IAAO,OAAA,SAAA,CAAA;AAAA,GACX,EAAG,CAAC,EAAE,CAAC,CAAA,CAAA;AACX;;;;;;;;;;;;;;;;;;;;;;ACHa,MAAA,gBAAA,GAAmB,CAAC,SAAA,EAAkC,OAAgC,KAAA;AAC/F,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,eAAoC,KAAS,CAAA,CAAA,CAAA;AACrE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAkB,KAAK,CAAA,CAAA;AACzD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAA4B,KAAS,CAAA,CAAA,CAAA;AAE/D,EAAAH,eAAA,CAAU,MAAM;AACZ,IAAA,IAAI,SAAY,GAAA,KAAA,CAAA;AAEhB,IAAI,IAAA,CAAC,SAAa,IAAA,CAAC,OAAS,EAAA;AACxB,MAAA,OAAA,CAAQ,KAAS,CAAA,CAAA,CAAA;AACjB,MAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,MAAA,QAAA,CAAS,KAAS,CAAA,CAAA,CAAA;AAClB,MAAA,OAAA;AAAA,KACJ;AAEA,IAAA,MAAM,QAAQ,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACtB,MAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AACjB,MAAA,QAAA,CAAS,KAAS,CAAA,CAAA,CAAA;AAClB,MAAA,OAAA,CAAQ,KAAS,CAAA,CAAA,CAAA;AACjB,MAAI,IAAA;AACA,QAAA,MAAM,MAAS,GAAA,MAAO,SAAU,CAAA,MAAA,CAAe,aAAa,OAAO,CAAA,CAAA;AACnE,QAAA,IAAI,CAAC,SAAW,EAAA;AACZ,UAAA,OAAA,CAAQ,MAAuB,CAAA,CAAA;AAAA,SACnC;AAAA,eACK,GAAK,EAAA;AACV,QAAA,IAAI,CAAC,SAAW,EAAA;AACZ,UAAA,OAAA,CAAQ,KAAS,CAAA,CAAA,CAAA;AACjB,UAAS,QAAA,CAAA,GAAA,YAAe,QAAQ,GAAM,GAAA,IAAI,MAAM,MAAO,CAAA,GAAG,CAAC,CAAC,CAAA,CAAA;AAAA,SAChE;AAAA,OACF,SAAA;AACE,QAAA,IAAI,CAAC,SAAW,EAAA;AACZ,UAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,SACtB;AAAA,OACJ;AAAA,KACJ,CAAA,CAAA;AAEA,IAAM,KAAA,EAAA,CAAA;AAEN,IAAA,OAAO,MAAM;AACT,MAAY,SAAA,GAAA,IAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACD,EAAA,CAAC,SAAW,EAAA,OAAO,CAAC,CAAA,CAAA;AAEvB,EAAO,OAAA,EAAE,IAAM,EAAA,SAAA,EAAW,KAAM,EAAA,CAAA;AACpC;;;;;;;;;;;;;;;;;;;;;AC/Da,MAAA,kBAAA,GAAqB,CAAC,GAAwB,KAAA;AACvD,EAAI,IAAA,CAAC,KAAY,OAAA,EAAA,CAAA;AAGjB,EAAI,IAAA,UAAA,CAAW,IAAK,CAAA,GAAG,CAAG,EAAA;AACtB,IAAO,OAAA,GAAA,CAAA;AAAA,GACX;AAGA,EAAA,IAAI,SAAY,GAAA,GAAA,CAAI,OAAQ,CAAA,OAAA,EAAS,GAAG,CAAA,CAAA;AAGxC,EAAY,SAAA,GAAA,SAAA,CAAU,OAAQ,CAAA,iBAAA,EAAmB,OAAO,CAAA,CAAA;AAGxD,EAAO,OAAA,SAAA,CACF,MAAM,GAAG,CAAA,CACT,IAAI,CAAQ,IAAA,KAAA,IAAA,CAAK,OAAO,CAAC,CAAA,CAAE,aAAgB,GAAA,IAAA,CAAK,MAAM,CAAC,CAAA,CAAE,aAAa,CAAA,CACtE,KAAK,GAAG,CAAA,CAAA;AACjB,EAAA;AAEA,MAAM,gBAA+C,GAAA;AAAA,EACjD,IAAM,EAAA,SAAA;AAAA,EACN,KAAO,EAAA,MAAA;AAAA,EACP,GAAK,EAAA,SAAA;AACT,CAAA,CAAA;AAEa,MAAA,gBAAA,GAAmB,CAAC,KAA2B,KAAA;AACxD,EAAI,IAAA,KAAA,KAAU,IAAQ,IAAA,KAAA,KAAU,KAAW,CAAA,EAAA;AACvC,IAAO,OAAA,EAAA,CAAA;AAAA,GACX;AAEA,EAAI,IAAA,OAAO,UAAU,SAAW,EAAA;AAC5B,IAAA,OAAO,QAAQ,KAAQ,GAAA,IAAA,CAAA;AAAA,GAC3B;AAEA,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC3B,IAAI,IAAA,qBAAA,CAAsB,IAAK,CAAA,KAAK,CAAG,EAAA;AACnC,MAAM,MAAA,CAAC,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA,GAAI,MAAM,KAAM,CAAA,GAAG,CAAE,CAAA,GAAA,CAAI,MAAM,CAAA,CAAA;AAC7C,MAAM,MAAA,IAAA,GAAO,IAAI,IAAK,CAAA,IAAA,CAAK,IAAI,CAAG,EAAA,CAAA,GAAI,CAAG,EAAA,CAAC,CAAC,CAAA,CAAA;AAC3C,MAAA,IAAI,CAAC,KAAA,CAAM,IAAK,CAAA,OAAA,EAAS,CAAG,EAAA;AACxB,QAAO,OAAA,IAAA,CAAK,mBAAmB,KAAW,CAAA,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,mBAAL,EAAuB,QAAA,EAAU,OAAO,CAAA,CAAA,CAAA;AAAA,OACtF;AAAA,KACJ;AACA,IAAI,IAAA,qBAAA,CAAsB,IAAK,CAAA,KAAK,CAAG,EAAA;AACnC,MAAM,MAAA,IAAA,GAAO,IAAI,IAAA,CAAK,KAAK,CAAA,CAAA;AAC3B,MAAA,IAAI,CAAC,KAAA,CAAM,IAAK,CAAA,OAAA,EAAS,CAAG,EAAA;AACxB,QAAO,OAAA,IAAA,CAAK,kBAAmB,CAAA,KAAA,CAAA,EAAW,gBAAgB,CAAA,CAAA;AAAA,OAC9D;AAAA,KACJ;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AAEA,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC3B,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACtB,MAAM,MAAA,YAAA,GAAe,MAAM,KAAM,CAAA,CAAA,CAAA,KAAK,MAAM,IAAQ,IAAA,OAAO,MAAM,QAAQ,CAAA,CAAA;AACzE,MAAI,IAAA,YAAA,EAAqB,OAAA,KAAA,CAAM,GAAI,CAAA,gBAAgB,EAAE,MAAO,CAAA,OAAO,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAC9E,MAAA,OAAO,MAAM,MAAW,KAAA,CAAA,GAAI,QAAW,GAAA,CAAA,EAAG,MAAM,MAAM,CAAA,MAAA,CAAA,CAAA;AAAA,KAC1D;AACA,IAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,KAAgC,CAAA,CAAA;AAC/D,IAAI,IAAA,OAAA,CAAQ,MAAW,KAAA,CAAA,EAAU,OAAA,EAAA,CAAA;AACjC,IAAA,OAAO,QACF,GAAI,CAAA,CAAC,CAAC,CAAG,EAAA,CAAC,MAAM,CAAG,EAAA,kBAAA,CAAmB,CAAC,CAAC,KAAK,gBAAiB,CAAA,CAAC,CAAC,CAAE,CAAA,CAAA,CAClE,KAAK,IAAI,CAAA,CAAA;AAAA,GAClB;AAEA,EAAA,OAAO,OAAO,KAAK,CAAA,CAAA;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/helpers/useOnMomentumScrollEnd.ts","../../src/helpers/useScrollBorders.ts","../../src/hooks/useCredentialFormat.tsx","../../src/hooks/useParsedSdJwtVc.tsx","../../src/helpers/credentialFormat.helpers.ts"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\n\nexport const useOnMomentumScrollEnd = ({\n onScroll: _onScroll,\n onMomentumScrollEnd,\n debounceTime = 305,\n}: {\n onScroll?: React.UIEventHandler;\n onMomentumScrollEnd: React.UIEventHandler;\n debounceTime?: number;\n}) => {\n const momentumScrollEndTimer = useRef<NodeJS.Timeout>();\n\n useEffect(() => () => clearTimeout(momentumScrollEndTimer.current), []);\n\n const onScroll: React.UIEventHandler = (e) => {\n _onScroll?.(e);\n\n clearTimeout(momentumScrollEndTimer.current);\n momentumScrollEndTimer.current = setTimeout(() => {\n onMomentumScrollEnd(e);\n }, debounceTime);\n };\n\n return onScroll;\n};\n\nexport default useOnMomentumScrollEnd;\n","import React, { useEffect, type RefObject } from 'react';\n\nexport const useScrollBorders = <Ref extends HTMLElement>({\n ref,\n topShowClassName = 'border-t border-t-[--color-grayscale-line]',\n topHideClassName = 'border-t border-t-transparent',\n bottomShowClassName = 'border-b border-b-[--color-grayscale-line]',\n bottomHideClassName = 'border-b border-b-transparent',\n}: {\n ref?: RefObject<Ref>;\n topShowClassName?: string;\n topHideClassName?: string;\n bottomShowClassName?: string;\n bottomHideClassName?: string;\n} = {}) => {\n const internalRef = ref ?? React.createRef<Ref>();\n\n const updateBorderClasses = () => {\n if (\n !internalRef.current ||\n internalRef.current.scrollHeight <= internalRef.current.clientHeight\n )\n return;\n\n // Top border\n if (internalRef.current.scrollTop > 0) {\n internalRef.current.classList.remove(...topHideClassName.split(' '));\n internalRef.current.classList.add(...topShowClassName.split(' '));\n } else {\n internalRef.current.classList.remove(...topShowClassName.split(' '));\n internalRef.current.classList.add(...topHideClassName.split(' '));\n }\n\n // Bottom border\n if (\n internalRef.current.scrollTop <\n internalRef.current.scrollHeight - internalRef.current.clientHeight\n ) {\n internalRef.current.classList.remove(...bottomHideClassName.split(' '));\n internalRef.current.classList.add(...bottomShowClassName.split(' '));\n } else {\n internalRef.current.classList.remove(...bottomShowClassName.split(' '));\n internalRef.current.classList.add(...bottomHideClassName.split(' '));\n }\n };\n\n useEffect(() => {\n const element = internalRef.current;\n if (element) {\n updateBorderClasses();\n\n element.addEventListener('scroll', updateBorderClasses);\n\n return () => element.removeEventListener('scroll', updateBorderClasses);\n }\n }, [internalRef]); // Re-run when ref changes\n\n return internalRef;\n};\n","import { useMemo } from 'react';\n\nexport type CredentialFormat = 'dc+sd-jwt' | 'vc+sd-jwt' | 'jwt-vc-json' | 'ldp-vc' | 'unknown';\n\nexport const useCredentialFormat = (vc: unknown): CredentialFormat => {\n return useMemo(() => {\n if (!vc || typeof vc !== 'object') return 'unknown';\n const proof = (vc as any).proof;\n const proofs: any[] = Array.isArray(proof) ? proof : proof ? [proof] : [];\n\n const sdJwt = proofs.find(\n p => p?.type === 'SdJwtCompactProof' && typeof p?.jwt === 'string'\n );\n if (sdJwt) return 'dc+sd-jwt';\n\n const proofObj = proofs.find(p => p && typeof p === 'object');\n if (typeof proofObj?.jwt === 'string' || proofObj?.type === 'JwtProof2020') {\n return 'jwt-vc-json';\n }\n if (typeof proofObj?.type === 'string') return 'ldp-vc';\n return 'unknown';\n }, [vc]);\n};\n","import { useState, useEffect } from 'react';\nimport { LearnCard } from '@learncard/core';\n\nexport type ParsedSdJwtVc = {\n vct: string;\n issuer: string;\n issuedAt?: Date;\n expiresAt?: Date;\n notBefore?: Date;\n holderPublicKey?: Record<string, unknown>;\n claims: Record<string, unknown>;\n disclosureKeys: string[];\n header: Record<string, unknown>;\n rawPayload: Record<string, unknown>;\n rawSdJwt: string;\n format: 'dc+sd-jwt' | 'vc+sd-jwt';\n hasKeyBinding: boolean;\n};\n\nexport const useParsedSdJwtVc = (learnCard: LearnCard | undefined, compact: string | undefined) => {\n const [data, setData] = useState<ParsedSdJwtVc | undefined>(undefined);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<Error | undefined>(undefined);\n\n useEffect(() => {\n let cancelled = false;\n\n if (!learnCard || !compact) {\n setData(undefined);\n setIsLoading(false);\n setError(undefined);\n return;\n }\n\n const parse = async () => {\n setIsLoading(true);\n setError(undefined);\n setData(undefined);\n try {\n const parsed = await (learnCard.invoke as any).parseSdJwtVc(compact);\n if (!cancelled) {\n setData(parsed as ParsedSdJwtVc);\n }\n } catch (err) {\n if (!cancelled) {\n setData(undefined);\n setError(err instanceof Error ? err : new Error(String(err)));\n }\n } finally {\n if (!cancelled) {\n setIsLoading(false);\n }\n }\n };\n\n parse();\n\n return () => {\n cancelled = true;\n };\n }, [learnCard, compact]);\n\n return { data, isLoading, error };\n};\n","export const humanizeClaimLabel = (key: string): string => {\n if (!key) return '';\n\n // Preserve acronyms if all-caps\n if (/^[A-Z]+$/.test(key)) {\n return key;\n }\n\n // Convert snake_case and kebab-case to space-separated\n let humanized = key.replace(/[_-]/g, ' ');\n\n // Convert camelCase to space-separated\n humanized = humanized.replace(/([a-z])([A-Z])/g, '$1 $2');\n\n // Capitalize first letter of each word\n return humanized\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n};\n\nconst LONG_DATE_FORMAT: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n};\n\nexport const formatClaimValue = (value: unknown): string => {\n if (value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'boolean') {\n return value ? 'Yes' : 'No';\n }\n\n if (typeof value === 'string') {\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) {\n const [y, m, d] = value.split('-').map(Number);\n const date = new Date(Date.UTC(y, m - 1, d));\n if (!isNaN(date.getTime())) {\n return date.toLocaleDateString(undefined, { ...LONG_DATE_FORMAT, timeZone: 'UTC' });\n }\n }\n if (/^\\d{4}-\\d{2}-\\d{2}T/.test(value)) {\n const date = new Date(value);\n if (!isNaN(date.getTime())) {\n return date.toLocaleDateString(undefined, LONG_DATE_FORMAT);\n }\n }\n return value;\n }\n\n if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const allPrimitive = value.every(v => v === null || typeof v !== 'object');\n if (allPrimitive) return value.map(formatClaimValue).filter(Boolean).join(', ');\n return value.length === 1 ? '1 item' : `${value.length} items`;\n }\n const entries = Object.entries(value as Record<string, unknown>);\n if (entries.length === 0) return '';\n return entries\n .map(([k, v]) => `${humanizeClaimLabel(k)}: ${formatClaimValue(v)}`)\n .join('; ');\n }\n\n return String(value);\n};\n"],"names":["useRef","useEffect","React","useMemo","useState"],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var AchievementCard = require('./AchievementCard-98d6c7f9.js');
6
- var BoostGenericCard = require('./BoostGenericCard-06bedec7.js');
7
- var BoostSmallCard = require('./BoostSmallCard-ece8f97e.js');
6
+ var BoostGenericCard = require('./BoostGenericCard-8e8598eb.js');
7
+ var BoostSmallCard = require('./BoostSmallCard-ac8ab73d.js');
8
8
  var Button = require('./Button-9ebe120c.js');
9
- var CertificateDisplayCard = require('./CertificateDisplayCard-9c1d58da.js');
10
- var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-57a7b85f.js');
9
+ var CertificateDisplayCard = require('./CertificateDisplayCard-91331ab3.js');
10
+ var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-3d7977c9.js');
11
11
  var CircleCheckButton = require('./CircleCheckButton-f76e5b5d.js');
12
12
  var CircleIcon = require('./CircleIcon-f0fa68c7.js');
13
13
  var CourseCard = require('./CourseCard-bc699307.js');
@@ -21,12 +21,12 @@ var LearnCardCreditCardFrontFace = require('./LearnCardCreditCardFrontFace-75fb4
21
21
  var LearnPill = require('./LearnPill-da2d2a8e.js');
22
22
  var Lightbox = require('./Lightbox-e2996736.js');
23
23
  var CircleSpinner = require('./CircleSpinner-f518569a.js');
24
- var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-201bf5ad.js');
25
- var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-ef283e0d.js');
24
+ var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-e95c03aa.js');
25
+ var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-cb61b87f.js');
26
26
  var MiniVCThumbnail = require('./MiniVCThumbnail-9c510f51.js');
27
27
  var Notification = require('./Notification-24d4de25.js');
28
28
  var types = require('./types-91d0677b.js');
29
- var NotificationBoostCard = require('./NotificationBoostCard-3ed9ec86.js');
29
+ var NotificationBoostCard = require('./NotificationBoostCard-04dd2405.js');
30
30
  var NotificationUserAcceptedBoostCard = require('./NotificationUserAcceptedBoostCard-1c6d1e33.js');
31
31
  var NotificationUserCard = require('./NotificationUserCard-4364506c.js');
32
32
  var types$1 = require('./types-e4d9a257.js');
@@ -39,14 +39,14 @@ var SkillVerticalCard = require('./SkillVerticalCard-62e308b4.js');
39
39
  var SkillsCard = require('./SkillsCard-dae73a71.js');
40
40
  var SkillsStatsCard = require('./SkillsStatsCard-aeef796c.js');
41
41
  var SmallAchievementCard = require('./SmallAchievementCard-d22a4d25.js');
42
- var UserProfilePicture = require('./UserProfilePicture-80675455.js');
43
- var VCCard = require('./VCCard-d72176f3.js');
44
- var VCDisplayBackFace = require('./VCDisplayBackFace-27460538.js');
45
- var VCDisplayCard = require('./VCDisplayCard-b05125ab.js');
46
- var VCDisplayCard2 = require('./VCDisplayCard2-78d4cc3f.js');
42
+ var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
43
+ var VCCard = require('./VCCard-4120d521.js');
44
+ var VCDisplayBackFace = require('./VCDisplayBackFace-3a62c8f7.js');
45
+ var VCDisplayCard = require('./VCDisplayCard-3f6937c3.js');
46
+ var VCDisplayCard2 = require('./VCDisplayCard2-695c8060.js');
47
47
  var VCThumbnail = require('./VCThumbnail-f84d0d01.js');
48
48
  var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
49
- var VCVerificationPill = require('./VCVerificationPill-3c130965.js');
49
+ var VCVerificationPill = require('./VCVerificationPill-cf4353f2.js');
50
50
  var IDDisplayIcon = require('./IDDisplayIcon-922a5fcf.js');
51
51
  var QRCodeIcon = require('./QRCodeIcon-3021a53b.js');
52
52
  var User = require('./User-54049eba.js');
@@ -76,13 +76,14 @@ require('./minigradcapcolored.svg');
76
76
  require('./minipuzzlecolored.svg');
77
77
  require('./index-5488badc.js');
78
78
  require('./PuzzlePiece-e64f4596.js');
79
- require('./credential.helpers-3d0256cf.js');
79
+ require('./credential.helpers-f2da12b7.js');
80
80
  require('./index-da255c9a.js');
81
- require('./types.esm-228757cd.js');
81
+ require('./types.esm-39ee5677.js');
82
82
  require('./BadgeThumbnailImg-02df88f9.js');
83
83
  require('./i18n-ddbb18e7.js');
84
84
  require('./CaretRightFilled.svg');
85
85
  require('./addawardlight.svg');
86
+ require('@learncard/helpers');
86
87
  require('./DotsThreeOutline.svg');
87
88
  require('./athletics.png');
88
89
  require('./business.png');
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-201bf5ad.js');
6
+ var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-e95c03aa.js');
7
7
  require('./index-da255c9a.js');
8
- require('./types.esm-228757cd.js');
9
- var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-ef283e0d.js');
8
+ require('./types.esm-39ee5677.js');
9
+ var MeritBadgeSkillsCount = require('./MeritBadgeSkillsCount-cb61b87f.js');
10
10
  require('./i18n-ddbb18e7.js');
11
- require('./VerifierStateBadgeAndText-57a7b85f.js');
11
+ require('./VerifierStateBadgeAndText-3d7977c9.js');
12
12
  require('./athletics.png');
13
13
  require('./business.png');
14
14
  require('./creative.png');
@@ -19,11 +19,12 @@ require('./social.png');
19
19
  require('./stem.png');
20
20
  require('./trade.png');
21
21
  require('./PuzzlePiece-e64f4596.js');
22
- require('./credential.helpers-3d0256cf.js');
22
+ require('./credential.helpers-f2da12b7.js');
23
23
  require('./index-5488badc.js');
24
24
  require('./User-54049eba.js');
25
25
  require('./Trophy-9758f0cf.js');
26
- require('./UserProfilePicture-80675455.js');
26
+ require('./UserProfilePicture-61571db9.js');
27
+ require('@learncard/helpers');
27
28
  require('./Lightbox-e2996736.js');
28
29
  require('react-dom');
29
30
  require('./DotsThreeOutline.svg');
@@ -1 +1 @@
1
- {"version":3,"file":"index22.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index22.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var NotificationBoostCard = require('./NotificationBoostCard-3ed9ec86.js');
5
+ var NotificationBoostCard = require('./NotificationBoostCard-04dd2405.js');
6
6
  require('react');
7
7
  require('./X.svg');
8
8
  require('./types-91d0677b.js');
@@ -13,7 +13,8 @@ require('./User-54049eba.js');
13
13
  require('./PuzzlePiece-e64f4596.js');
14
14
  require('./Checkmark-74444a78.js');
15
15
  require('./ArrowArcLeft.svg');
16
- require('./UserProfilePicture-80675455.js');
16
+ require('./UserProfilePicture-61571db9.js');
17
+ require('@learncard/helpers');
17
18
 
18
19
 
19
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"index25.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index25.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var UserProfilePicture = require('./UserProfilePicture-80675455.js');
5
+ var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
6
6
  require('react');
7
+ require('@learncard/helpers');
7
8
 
8
9
 
9
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"index38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -2,31 +2,32 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCCard = require('./VCCard-d72176f3.js');
5
+ var VCCard = require('./VCCard-4120d521.js');
6
6
  require('react');
7
7
  require('@learncard/init');
8
- require('./VCDisplayCard-b05125ab.js');
8
+ require('./VCDisplayCard-3f6937c3.js');
9
9
  require('./FlippyCard-bf0fd493.js');
10
10
  require('./icon.green.fat-arrow.png');
11
- require('./UserProfilePicture-80675455.js');
11
+ require('./UserProfilePicture-61571db9.js');
12
+ require('@learncard/helpers');
12
13
  require('./VCVerificationCheck-92198135.js');
13
14
  require('./vc.check.svg');
14
15
  require('./CircleSpinner-f518569a.js');
15
- require('./credential.helpers-3d0256cf.js');
16
+ require('./credential.helpers-f2da12b7.js');
16
17
  require('./index-da255c9a.js');
17
- require('./types.esm-228757cd.js');
18
+ require('./types.esm-39ee5677.js');
18
19
  require('./index-5488badc.js');
19
20
  require('./PuzzlePiece-e64f4596.js');
20
21
  require('./User-54049eba.js');
21
22
  require('./Trophy-9758f0cf.js');
22
- require('./VCDisplayBackFace-27460538.js');
23
- require('./VCVerificationPill-3c130965.js');
23
+ require('./VCDisplayBackFace-3a62c8f7.js');
24
+ require('./VCVerificationPill-cf4353f2.js');
24
25
  require('./RedXCircle.svg');
25
26
  require('./GreenCheckCircle.svg');
26
27
  require('./YellowWarningCircle.svg');
27
28
  require('./ArrowArcRight.svg');
28
- require('./VCDisplayCard2-78d4cc3f.js');
29
- require('./VerifierStateBadgeAndText-57a7b85f.js');
29
+ require('./VCDisplayCard2-695c8060.js');
30
+ require('./VerifierStateBadgeAndText-3d7977c9.js');
30
31
  require('./athletics.png');
31
32
  require('./business.png');
32
33
  require('./creative.png');
@@ -39,11 +40,11 @@ require('./trade.png');
39
40
  require('./i18n-ddbb18e7.js');
40
41
  require('./Lightbox-e2996736.js');
41
42
  require('react-dom');
42
- require('./CertificateDisplayCard-9c1d58da.js');
43
+ require('./CertificateDisplayCard-91331ab3.js');
43
44
  require('./DotsThreeOutline.svg');
44
45
  require('./QRCodeIcon-3021a53b.js');
45
46
  require('./id-sleeve.png');
46
- require('./MeritBadgeDisplayCard-201bf5ad.js');
47
+ require('./MeritBadgeDisplayCard-e95c03aa.js');
47
48
 
48
49
 
49
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"index39.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index39.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
6
  require('./index-da255c9a.js');
7
- require('./types.esm-228757cd.js');
8
- var BoostGenericCard = require('./BoostGenericCard-06bedec7.js');
7
+ require('./types.esm-39ee5677.js');
8
+ var BoostGenericCard = require('./BoostGenericCard-8e8598eb.js');
9
9
  require('./index-5488badc.js');
10
10
  require('./index-ba659c28.js');
11
11
  require('./walletcurrency.webp');
@@ -26,7 +26,7 @@ require('./minigradcapcolored.svg');
26
26
  require('./minipuzzlecolored.svg');
27
27
  require('./IDDisplayIcon-922a5fcf.js');
28
28
  require('./PuzzlePiece-e64f4596.js');
29
- require('./credential.helpers-3d0256cf.js');
29
+ require('./credential.helpers-f2da12b7.js');
30
30
  require('./User-54049eba.js');
31
31
  require('./Trophy-9758f0cf.js');
32
32
  require('./ThreeDotVertical-dda0e747.js');
@@ -2,18 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCDisplayBackFace = require('./VCDisplayBackFace-27460538.js');
5
+ var VCDisplayBackFace = require('./VCDisplayBackFace-3a62c8f7.js');
6
6
  require('react');
7
7
  require('./VCVerificationCheck-92198135.js');
8
8
  require('./vc.check.svg');
9
9
  require('./CircleSpinner-f518569a.js');
10
- require('./VCVerificationPill-3c130965.js');
11
- require('./types.esm-228757cd.js');
10
+ require('./VCVerificationPill-cf4353f2.js');
11
+ require('./types.esm-39ee5677.js');
12
12
  require('./RedXCircle.svg');
13
13
  require('./GreenCheckCircle.svg');
14
14
  require('./YellowWarningCircle.svg');
15
15
  require('./ArrowArcRight.svg');
16
- require('./credential.helpers-3d0256cf.js');
16
+ require('./credential.helpers-f2da12b7.js');
17
17
  require('./index-da255c9a.js');
18
18
  require('./index-5488badc.js');
19
19
  require('./PuzzlePiece-e64f4596.js');
@@ -2,23 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCDisplayCard = require('./VCDisplayCard-b05125ab.js');
5
+ var VCDisplayCard = require('./VCDisplayCard-3f6937c3.js');
6
6
  require('react');
7
7
  require('./FlippyCard-bf0fd493.js');
8
8
  require('./icon.green.fat-arrow.png');
9
- require('./UserProfilePicture-80675455.js');
9
+ require('./UserProfilePicture-61571db9.js');
10
+ require('@learncard/helpers');
10
11
  require('./VCVerificationCheck-92198135.js');
11
12
  require('./vc.check.svg');
12
13
  require('./CircleSpinner-f518569a.js');
13
- require('./credential.helpers-3d0256cf.js');
14
+ require('./credential.helpers-f2da12b7.js');
14
15
  require('./index-da255c9a.js');
15
- require('./types.esm-228757cd.js');
16
+ require('./types.esm-39ee5677.js');
16
17
  require('./index-5488badc.js');
17
18
  require('./PuzzlePiece-e64f4596.js');
18
19
  require('./User-54049eba.js');
19
20
  require('./Trophy-9758f0cf.js');
20
- require('./VCDisplayBackFace-27460538.js');
21
- require('./VCVerificationPill-3c130965.js');
21
+ require('./VCDisplayBackFace-3a62c8f7.js');
22
+ require('./VCVerificationPill-cf4353f2.js');
22
23
  require('./RedXCircle.svg');
23
24
  require('./GreenCheckCircle.svg');
24
25
  require('./YellowWarningCircle.svg');
@@ -1 +1 @@
1
- {"version":3,"file":"index41.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index41.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
6
  require('./i18n-ddbb18e7.js');
7
- var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-57a7b85f.js');
7
+ require('@learncard/helpers');
8
+ var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-3d7977c9.js');
8
9
  require('./athletics.png');
9
10
  require('./business.png');
10
11
  require('./creative.png');
@@ -15,24 +16,24 @@ require('./social.png');
15
16
  require('./stem.png');
16
17
  require('./trade.png');
17
18
  require('./index-da255c9a.js');
18
- var VCDisplayCard2 = require('./VCDisplayCard2-78d4cc3f.js');
19
- require('./types.esm-228757cd.js');
19
+ var VCDisplayCard2 = require('./VCDisplayCard2-695c8060.js');
20
+ require('./types.esm-39ee5677.js');
20
21
  require('./id-sleeve.png');
21
22
  require('./PuzzlePiece-e64f4596.js');
22
23
  require('./VCVerificationCheck-92198135.js');
23
24
  require('./vc.check.svg');
24
25
  require('./CircleSpinner-f518569a.js');
25
- require('./UserProfilePicture-80675455.js');
26
- require('./credential.helpers-3d0256cf.js');
26
+ require('./UserProfilePicture-61571db9.js');
27
+ require('./credential.helpers-f2da12b7.js');
27
28
  require('./index-5488badc.js');
28
29
  require('./User-54049eba.js');
29
30
  require('./Trophy-9758f0cf.js');
30
31
  require('./Lightbox-e2996736.js');
31
32
  require('react-dom');
32
- require('./CertificateDisplayCard-9c1d58da.js');
33
+ require('./CertificateDisplayCard-91331ab3.js');
33
34
  require('./DotsThreeOutline.svg');
34
35
  require('./QRCodeIcon-3021a53b.js');
35
- require('./MeritBadgeDisplayCard-201bf5ad.js');
36
+ require('./MeritBadgeDisplayCard-e95c03aa.js');
36
37
 
37
38
 
38
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"index42.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index42.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,9 @@
2
2
 
3
3
  require('react');
4
4
  require('./icon.green.fat-arrow.png');
5
+ require('@learncard/helpers');
5
6
  require('./vc.check.svg');
6
7
  require('./index-da255c9a.js');
7
- require('./types.esm-228757cd.js');
8
+ require('./types.esm-39ee5677.js');
8
9
 
9
10
  //# sourceMappingURL=index43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index43.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index43.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCVerificationPill = require('./VCVerificationPill-3c130965.js');
5
+ var VCVerificationPill = require('./VCVerificationPill-cf4353f2.js');
6
6
  require('react');
7
- require('./types.esm-228757cd.js');
7
+ require('./types.esm-39ee5677.js');
8
8
  require('./RedXCircle.svg');
9
9
  require('./GreenCheckCircle.svg');
10
10
  require('./YellowWarningCircle.svg');
@@ -2,12 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var BoostSmallCard = require('./BoostSmallCard-ece8f97e.js');
5
+ var BoostSmallCard = require('./BoostSmallCard-ac8ab73d.js');
6
6
  require('react');
7
7
  require('./CaretRightFilled.svg');
8
8
  require('./addawardlight.svg');
9
9
  require('./ThreeDotVertical-dda0e747.js');
10
- require('./UserProfilePicture-80675455.js');
10
+ require('./UserProfilePicture-61571db9.js');
11
+ require('@learncard/helpers');
11
12
  require('./BadgeThumbnailImg-02df88f9.js');
12
13
  require('./index-5488badc.js');
13
14
  require('./index-ba659c28.js');
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,16 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
6
  require('./i18n-ddbb18e7.js');
7
- var CertificateDisplayCard = require('./CertificateDisplayCard-9c1d58da.js');
7
+ var CertificateDisplayCard = require('./CertificateDisplayCard-91331ab3.js');
8
8
  require('./index-da255c9a.js');
9
- require('./types.esm-228757cd.js');
10
- var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-57a7b85f.js');
11
- require('./credential.helpers-3d0256cf.js');
9
+ require('./types.esm-39ee5677.js');
10
+ require('@learncard/helpers');
11
+ var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-3d7977c9.js');
12
+ require('./credential.helpers-f2da12b7.js');
12
13
  require('./index-5488badc.js');
13
14
  require('./PuzzlePiece-e64f4596.js');
14
15
  require('./User-54049eba.js');
15
16
  require('./Trophy-9758f0cf.js');
16
- require('./UserProfilePicture-80675455.js');
17
+ require('./UserProfilePicture-61571db9.js');
17
18
  require('./Lightbox-e2996736.js');
18
19
  require('react-dom');
19
20
  require('./DotsThreeOutline.svg');
@@ -1 +1 @@
1
- {"version":3,"file":"index7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8067,7 +8067,8 @@ var LCNAuthedProfileValidator = LCNPublicProfileValidator.extend({
8067
8067
  did: LCNProfileValidator.shape.did
8068
8068
  });
8069
8069
  var LCNConnectionProfileValidator = LCNAuthedProfileValidator.extend({
8070
- email: LCNProfileValidator.shape.email
8070
+ email: LCNProfileValidator.shape.email,
8071
+ connectedAt: datetime().optional().describe("When the viewer and this profile became connected.")
8071
8072
  });
8072
8073
  var LCNVisibleProfileValidator = union([
8073
8074
  LCNConnectionProfileValidator.strict(),
@@ -9477,9 +9478,4 @@ object({
9477
9478
  }).passthrough();
9478
9479
 
9479
9480
  exports.VerificationStatusEnum = VerificationStatusEnum;
9480
- exports.literal = literal;
9481
- exports.number = number;
9482
- exports.object = object;
9483
- exports.string = string;
9484
- exports.union = union;
9485
- //# sourceMappingURL=types.esm-228757cd.js.map
9481
+ //# sourceMappingURL=types.esm-39ee5677.js.map