@learncard/react 2.12.3 → 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 (118) hide show
  1. package/dist/cjs/{BoostGenericCard-72cab860.js → BoostGenericCard-8e8598eb.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-72cab860.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-a036cdc5.js → CertificateDisplayCard-91331ab3.js} +7 -6
  6. package/dist/cjs/{CertificateDisplayCard-a036cdc5.js.map → CertificateDisplayCard-91331ab3.js.map} +1 -1
  7. package/dist/cjs/{MeritBadgeDisplayCard-2e4edd20.js → MeritBadgeDisplayCard-e95c03aa.js} +7 -6
  8. package/dist/cjs/{MeritBadgeDisplayCard-2e4edd20.js.map → MeritBadgeDisplayCard-e95c03aa.js.map} +1 -1
  9. package/dist/cjs/{MeritBadgeSkillsCount-472542c1.js → MeritBadgeSkillsCount-cb61b87f.js} +2 -2
  10. package/dist/cjs/{MeritBadgeSkillsCount-472542c1.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-ebbbda88.js → VCCard-4120d521.js} +3 -3
  16. package/dist/cjs/{VCCard-ebbbda88.js.map → VCCard-4120d521.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayBackFace-13c73f23.js → VCDisplayBackFace-3a62c8f7.js} +3 -3
  18. package/dist/cjs/{VCDisplayBackFace-13c73f23.js.map → VCDisplayBackFace-3a62c8f7.js.map} +1 -1
  19. package/dist/cjs/{VCDisplayCard-3720145a.js → VCDisplayCard-3f6937c3.js} +4 -4
  20. package/dist/cjs/{VCDisplayCard-3720145a.js.map → VCDisplayCard-3f6937c3.js.map} +1 -1
  21. package/dist/cjs/{VCDisplayCard2-ae93ccd2.js → VCDisplayCard2-695c8060.js} +10 -9
  22. package/dist/cjs/{VCDisplayCard2-ae93ccd2.js.map → VCDisplayCard2-695c8060.js.map} +1 -1
  23. package/dist/cjs/{VCVerificationPill-a1607dff.js → VCVerificationPill-cf4353f2.js} +2 -2
  24. package/dist/cjs/{VCVerificationPill-a1607dff.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-65ea507a.js → credential.helpers-f2da12b7.js} +2 -2
  28. package/dist/cjs/{credential.helpers-65ea507a.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/{esm/types.esm-2762569e.js → cjs/types.esm-39ee5677.js} +4 -11
  55. package/dist/cjs/{types.esm-50b3eecd.js.map → types.esm-39ee5677.js.map} +1 -1
  56. package/dist/esm/{BoostGenericCard-2f586072.js → BoostGenericCard-bd7c9207.js} +2 -2
  57. package/dist/esm/{BoostGenericCard-2f586072.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-ff1ae869.js → CertificateDisplayCard-d247bd74.js} +6 -5
  61. package/dist/esm/{CertificateDisplayCard-ff1ae869.js.map → CertificateDisplayCard-d247bd74.js.map} +1 -1
  62. package/dist/esm/{MeritBadgeDisplayCard-b8b904d2.js → MeritBadgeDisplayCard-f58ddda8.js} +6 -5
  63. package/dist/esm/{MeritBadgeDisplayCard-b8b904d2.js.map → MeritBadgeDisplayCard-f58ddda8.js.map} +1 -1
  64. package/dist/esm/{MeritBadgeSkillsCount-46d9c24b.js → MeritBadgeSkillsCount-f15bd544.js} +2 -2
  65. package/dist/esm/{MeritBadgeSkillsCount-46d9c24b.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-e2ebb922.js → VCCard-37b09661.js} +3 -3
  71. package/dist/esm/{VCCard-e2ebb922.js.map → VCCard-37b09661.js.map} +1 -1
  72. package/dist/esm/{VCDisplayBackFace-4f2d700d.js → VCDisplayBackFace-acc9c9f1.js} +3 -3
  73. package/dist/esm/{VCDisplayBackFace-4f2d700d.js.map → VCDisplayBackFace-acc9c9f1.js.map} +1 -1
  74. package/dist/esm/{VCDisplayCard-32e126f8.js → VCDisplayCard-f630aa6b.js} +4 -4
  75. package/dist/esm/{VCDisplayCard-32e126f8.js.map → VCDisplayCard-f630aa6b.js.map} +1 -1
  76. package/dist/esm/{VCDisplayCard2-ec2177de.js → VCDisplayCard2-e896785c.js} +8 -7
  77. package/dist/esm/{VCDisplayCard2-ec2177de.js.map → VCDisplayCard2-e896785c.js.map} +1 -1
  78. package/dist/esm/{VCVerificationPill-0c336075.js → VCVerificationPill-a9fd20a4.js} +2 -2
  79. package/dist/esm/{VCVerificationPill-0c336075.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-61005784.js → credential.helpers-1a7bbdca.js} +2 -2
  83. package/dist/esm/{credential.helpers-61005784.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/{cjs/types.esm-50b3eecd.js → esm/types.esm-acda6d63.js} +2 -23
  110. package/dist/esm/{types.esm-2762569e.js.map → types.esm-acda6d63.js.map} +1 -1
  111. package/package.json +3 -2
  112. package/src/components/UserProfilePicture/UserProfilePicture.tsx +8 -3
  113. package/dist/cjs/UserProfilePicture-80675455.js.map +0 -1
  114. package/dist/cjs/VerifierStateBadgeAndText-5f10743e.js +0 -21735
  115. package/dist/cjs/VerifierStateBadgeAndText-5f10743e.js.map +0 -1
  116. package/dist/esm/UserProfilePicture-50c34186.js.map +0 -1
  117. package/dist/esm/VerifierStateBadgeAndText-0a4e0c63.js +0 -21692
  118. package/dist/esm/VerifierStateBadgeAndText-0a4e0c63.js.map +0 -1
package/dist/esm/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import React, { useRef, useEffect, useMemo, useState } from 'react';
2
- export { S as SelectedSkills, V as VERIFIER_STATES, f as formatDidDisplayName, b as getAvatarColorFromString, g as getAvatarLetterFromDid, i as isDid, a as isLearnCardNetworkDid, r as resolveProfileDisplay } from './VerifierStateBadgeAndText-0a4e0c63.js';
2
+ export { S as SelectedSkills, V as VERIFIER_STATES, f as formatDidDisplayName, b as getAvatarColorFromString, g as getAvatarLetterFromDid, i as isDid, a as isLearnCardNetworkDid, r as resolveProfileDisplay } from './VerifierStateBadgeAndText-f2bbd9fd.js';
3
3
  export { E as ExternalVideoFallback, L as Lightbox, c as canEmbedVideoIframe, g as getExternalVideoUrl, a as getVideoMetadata, o as openExternalUrl, s as setExternalUrlOpener } from './Lightbox-11f4888d.js';
4
- export { B as BoostGenericCard, g as getLifecycleTreatment } from './BoostGenericCard-2f586072.js';
4
+ export { B as BoostGenericCard, g as getLifecycleTreatment } from './BoostGenericCard-bd7c9207.js';
5
5
  export { E as EN_DEFAULTS, I as I18nProvider, u as useT } from './i18n-35209bfa.js';
6
6
  export { A as AchievementCard } from './AchievementCard-0f183e9d.js';
7
- export { B as BoostSmallCard } from './BoostSmallCard-3dedb5ae.js';
7
+ export { B as BoostSmallCard } from './BoostSmallCard-35b0290d.js';
8
8
  export { B as Button } from './Button-70eedbf6.js';
9
- export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-ff1ae869.js';
9
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-d247bd74.js';
10
10
  export { C as CircleCheckButton } from './CircleCheckButton-23a9c7d4.js';
11
11
  export { a as CircleIcon, C as CountCircle } from './CircleIcon-abd5ff06.js';
12
12
  export { C as CourseCard } from './CourseCard-990fdc99.js';
@@ -19,12 +19,12 @@ export { L as LearnCardCreditCardBackFace } from './LearnCardCreditCardBackFace-
19
19
  export { L as LearnCardCreditCardFrontFace } from './LearnCardCreditCardFrontFace-13d29504.js';
20
20
  export { L as LearnPill } from './LearnPill-ce240a4a.js';
21
21
  export { C as CircleLoadingState } from './CircleSpinner-03a329fc.js';
22
- export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-b8b904d2.js';
23
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-46d9c24b.js';
22
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-f58ddda8.js';
23
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-f15bd544.js';
24
24
  export { M as MiniVCThumbnail } from './MiniVCThumbnail-cc05e1f8.js';
25
25
  export { N as Notification } from './Notification-279ba207.js';
26
26
  export { N as NotificationTypeStyles } from './types-c765e2a4.js';
27
- export { N as NotificationBoostCard } from './NotificationBoostCard-cfebc09e.js';
27
+ export { N as NotificationBoostCard } from './NotificationBoostCard-73efea2d.js';
28
28
  export { N as NotificationUserAcceptedBoostCard } from './NotificationUserAcceptedBoostCard-89fe2317.js';
29
29
  export { N as NotificationUserCard } from './NotificationUserCard-2c29c86a.js';
30
30
  export { U as UserNotificationTypeStyles } from './types-b32d28d5.js';
@@ -37,14 +37,14 @@ export { S as SkillVerticalCard } from './SkillVerticalCard-045169f9.js';
37
37
  export { a as SkillsCard, S as SkillsMeterSegment } from './SkillsCard-5279aac9.js';
38
38
  export { S as SkillsStatsCard } from './SkillsStatsCard-e0cd6137.js';
39
39
  export { S as SmallAchievementCard } from './SmallAchievementCard-24dfa453.js';
40
- export { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
41
- export { V as VCCard } from './VCCard-e2ebb922.js';
42
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-4f2d700d.js';
43
- export { V as VCDisplayCard } from './VCDisplayCard-32e126f8.js';
44
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-ec2177de.js';
40
+ export { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
41
+ export { V as VCCard } from './VCCard-37b09661.js';
42
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-acc9c9f1.js';
43
+ export { V as VCDisplayCard } from './VCDisplayCard-f630aa6b.js';
44
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-e896785c.js';
45
45
  export { V as VCThumbnail } from './VCThumbnail-835921dd.js';
46
46
  export { V as VCVerificationCheck, a as VCVerificationCheckWithSpinner, b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
47
- export { V as ValidationStateIndicator } from './VCVerificationPill-0c336075.js';
47
+ export { V as ValidationStateIndicator } from './VCVerificationPill-a9fd20a4.js';
48
48
  export { A as AwardDisplayIcon, B as BadgeDisplayIcon, C as CertificateDisplayIcon, a as CourseDisplayIcon, I as IDDisplayIcon } from './IDDisplayIcon-f6993140.js';
49
49
  export { A as AwardRibbon, I as IDIcon, Q as QRCodeIcon } from './QRCodeIcon-8eef4f7c.js';
50
50
  export { B as Briefcase, G as Graduation, U as User } from './User-f5ea0f01.js';
@@ -64,7 +64,6 @@ import './social.png';
64
64
  import './stem.png';
65
65
  import './trade.png';
66
66
  import './PuzzlePiece-a3d9cc62.js';
67
- import './types.esm-2762569e.js';
68
67
  import 'react-dom';
69
68
  import './index-28917993.js';
70
69
  import './index-7542e9ee.js';
@@ -84,11 +83,13 @@ import './eventsGraphic.png';
84
83
  import './minitrophycolored.svg';
85
84
  import './minigradcapcolored.svg';
86
85
  import './minipuzzlecolored.svg';
87
- import './credential.helpers-61005784.js';
86
+ import './credential.helpers-1a7bbdca.js';
88
87
  import './index-cb3a593b.js';
88
+ import './types.esm-acda6d63.js';
89
89
  import './BadgeThumbnailImg-7d436367.js';
90
90
  import './CaretRightFilled.svg';
91
91
  import './addawardlight.svg';
92
+ import '@learncard/helpers';
92
93
  import './DotsThreeOutline.svg';
93
94
  import './icons-fdd35170.js';
94
95
  import './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":[],"mappings":"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"}
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":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  export { A as AchievementCard } from './AchievementCard-0f183e9d.js';
2
- export { B as BoostGenericCard } from './BoostGenericCard-2f586072.js';
3
- export { B as BoostSmallCard } from './BoostSmallCard-3dedb5ae.js';
2
+ export { B as BoostGenericCard } from './BoostGenericCard-bd7c9207.js';
3
+ export { B as BoostSmallCard } from './BoostSmallCard-35b0290d.js';
4
4
  export { B as Button } from './Button-70eedbf6.js';
5
- export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-ff1ae869.js';
6
- export { S as SelectedSkills, V as VERIFIER_STATES } from './VerifierStateBadgeAndText-0a4e0c63.js';
5
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-d247bd74.js';
6
+ export { S as SelectedSkills, V as VERIFIER_STATES } from './VerifierStateBadgeAndText-f2bbd9fd.js';
7
7
  export { C as CircleCheckButton } from './CircleCheckButton-23a9c7d4.js';
8
8
  export { a as CircleIcon, C as CountCircle } from './CircleIcon-abd5ff06.js';
9
9
  export { C as CourseCard } from './CourseCard-990fdc99.js';
@@ -17,12 +17,12 @@ export { L as LearnCardCreditCardFrontFace } from './LearnCardCreditCardFrontFac
17
17
  export { L as LearnPill } from './LearnPill-ce240a4a.js';
18
18
  export { E as ExternalVideoFallback, L as Lightbox } from './Lightbox-11f4888d.js';
19
19
  export { C as CircleLoadingState } from './CircleSpinner-03a329fc.js';
20
- export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-b8b904d2.js';
21
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-46d9c24b.js';
20
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-f58ddda8.js';
21
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-f15bd544.js';
22
22
  export { M as MiniVCThumbnail } from './MiniVCThumbnail-cc05e1f8.js';
23
23
  export { N as Notification } from './Notification-279ba207.js';
24
24
  export { N as NotificationTypeStyles } from './types-c765e2a4.js';
25
- export { N as NotificationBoostCard } from './NotificationBoostCard-cfebc09e.js';
25
+ export { N as NotificationBoostCard } from './NotificationBoostCard-73efea2d.js';
26
26
  export { N as NotificationUserAcceptedBoostCard } from './NotificationUserAcceptedBoostCard-89fe2317.js';
27
27
  export { N as NotificationUserCard } from './NotificationUserCard-2c29c86a.js';
28
28
  export { U as UserNotificationTypeStyles } from './types-b32d28d5.js';
@@ -35,14 +35,14 @@ export { S as SkillVerticalCard } from './SkillVerticalCard-045169f9.js';
35
35
  export { a as SkillsCard, S as SkillsMeterSegment } from './SkillsCard-5279aac9.js';
36
36
  export { S as SkillsStatsCard } from './SkillsStatsCard-e0cd6137.js';
37
37
  export { S as SmallAchievementCard } from './SmallAchievementCard-24dfa453.js';
38
- export { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
39
- export { V as VCCard } from './VCCard-e2ebb922.js';
40
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-4f2d700d.js';
41
- export { V as VCDisplayCard } from './VCDisplayCard-32e126f8.js';
42
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-ec2177de.js';
38
+ export { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
39
+ export { V as VCCard } from './VCCard-37b09661.js';
40
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-acc9c9f1.js';
41
+ export { V as VCDisplayCard } from './VCDisplayCard-f630aa6b.js';
42
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-e896785c.js';
43
43
  export { V as VCThumbnail } from './VCThumbnail-835921dd.js';
44
44
  export { V as VCVerificationCheck, a as VCVerificationCheckWithSpinner, b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
45
- export { V as ValidationStateIndicator } from './VCVerificationPill-0c336075.js';
45
+ export { V as ValidationStateIndicator } from './VCVerificationPill-a9fd20a4.js';
46
46
  export { A as AwardDisplayIcon, B as BadgeDisplayIcon, C as CertificateDisplayIcon, a as CourseDisplayIcon, I as IDDisplayIcon } from './IDDisplayIcon-f6993140.js';
47
47
  export { A as AwardRibbon, I as IDIcon, Q as QRCodeIcon } from './QRCodeIcon-8eef4f7c.js';
48
48
  export { B as Briefcase, G as Graduation, U as User } from './User-f5ea0f01.js';
@@ -72,13 +72,14 @@ import './minigradcapcolored.svg';
72
72
  import './minipuzzlecolored.svg';
73
73
  import './index-28917993.js';
74
74
  import './PuzzlePiece-a3d9cc62.js';
75
- import './credential.helpers-61005784.js';
75
+ import './credential.helpers-1a7bbdca.js';
76
76
  import './index-cb3a593b.js';
77
- import './types.esm-2762569e.js';
77
+ import './types.esm-acda6d63.js';
78
78
  import './BadgeThumbnailImg-7d436367.js';
79
79
  import './i18n-35209bfa.js';
80
80
  import './CaretRightFilled.svg';
81
81
  import './addawardlight.svg';
82
+ import '@learncard/helpers';
82
83
  import './DotsThreeOutline.svg';
83
84
  import './athletics.png';
84
85
  import './business.png';
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,10 @@
1
1
  import 'react';
2
- export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-b8b904d2.js';
2
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-f58ddda8.js';
3
3
  import './index-cb3a593b.js';
4
- import './types.esm-2762569e.js';
5
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-46d9c24b.js';
4
+ import './types.esm-acda6d63.js';
5
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-f15bd544.js';
6
6
  import './i18n-35209bfa.js';
7
- import './VerifierStateBadgeAndText-0a4e0c63.js';
7
+ import './VerifierStateBadgeAndText-f2bbd9fd.js';
8
8
  import './athletics.png';
9
9
  import './business.png';
10
10
  import './creative.png';
@@ -15,11 +15,12 @@ import './social.png';
15
15
  import './stem.png';
16
16
  import './trade.png';
17
17
  import './PuzzlePiece-a3d9cc62.js';
18
- import './credential.helpers-61005784.js';
18
+ import './credential.helpers-1a7bbdca.js';
19
19
  import './index-28917993.js';
20
20
  import './User-f5ea0f01.js';
21
21
  import './Trophy-fc7fdec4.js';
22
- import './UserProfilePicture-50c34186.js';
22
+ import './UserProfilePicture-4a00d151.js';
23
+ import '@learncard/helpers';
23
24
  import './Lightbox-11f4888d.js';
24
25
  import 'react-dom';
25
26
  import './DotsThreeOutline.svg';
@@ -1 +1 @@
1
- {"version":3,"file":"index22.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index22.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- export { N as NotificationBoostCard } from './NotificationBoostCard-cfebc09e.js';
1
+ export { N as NotificationBoostCard } from './NotificationBoostCard-73efea2d.js';
2
2
  import 'react';
3
3
  import './X.svg';
4
4
  import './types-c765e2a4.js';
@@ -9,5 +9,6 @@ import './User-f5ea0f01.js';
9
9
  import './PuzzlePiece-a3d9cc62.js';
10
10
  import './Checkmark-724d5d17.js';
11
11
  import './ArrowArcLeft.svg';
12
- import './UserProfilePicture-50c34186.js';
12
+ import './UserProfilePicture-4a00d151.js';
13
+ import '@learncard/helpers';
13
14
  //# sourceMappingURL=index25.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index25.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"index25.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
- export { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
1
+ export { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
2
2
  import 'react';
3
+ import '@learncard/helpers';
3
4
  //# sourceMappingURL=index38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,28 +1,29 @@
1
- export { V as VCCard } from './VCCard-e2ebb922.js';
1
+ export { V as VCCard } from './VCCard-37b09661.js';
2
2
  import 'react';
3
3
  import '@learncard/init';
4
- import './VCDisplayCard-32e126f8.js';
4
+ import './VCDisplayCard-f630aa6b.js';
5
5
  import './FlippyCard-458dc9b1.js';
6
6
  import './icon.green.fat-arrow.png';
7
- import './UserProfilePicture-50c34186.js';
7
+ import './UserProfilePicture-4a00d151.js';
8
+ import '@learncard/helpers';
8
9
  import './VCVerificationCheck-8b8b7a76.js';
9
10
  import './vc.check.svg';
10
11
  import './CircleSpinner-03a329fc.js';
11
- import './credential.helpers-61005784.js';
12
+ import './credential.helpers-1a7bbdca.js';
12
13
  import './index-cb3a593b.js';
13
- import './types.esm-2762569e.js';
14
+ import './types.esm-acda6d63.js';
14
15
  import './index-28917993.js';
15
16
  import './PuzzlePiece-a3d9cc62.js';
16
17
  import './User-f5ea0f01.js';
17
18
  import './Trophy-fc7fdec4.js';
18
- import './VCDisplayBackFace-4f2d700d.js';
19
- import './VCVerificationPill-0c336075.js';
19
+ import './VCDisplayBackFace-acc9c9f1.js';
20
+ import './VCVerificationPill-a9fd20a4.js';
20
21
  import './RedXCircle.svg';
21
22
  import './GreenCheckCircle.svg';
22
23
  import './YellowWarningCircle.svg';
23
24
  import './ArrowArcRight.svg';
24
- import './VCDisplayCard2-ec2177de.js';
25
- import './VerifierStateBadgeAndText-0a4e0c63.js';
25
+ import './VCDisplayCard2-e896785c.js';
26
+ import './VerifierStateBadgeAndText-f2bbd9fd.js';
26
27
  import './athletics.png';
27
28
  import './business.png';
28
29
  import './creative.png';
@@ -35,9 +36,9 @@ import './trade.png';
35
36
  import './i18n-35209bfa.js';
36
37
  import './Lightbox-11f4888d.js';
37
38
  import 'react-dom';
38
- import './CertificateDisplayCard-ff1ae869.js';
39
+ import './CertificateDisplayCard-d247bd74.js';
39
40
  import './DotsThreeOutline.svg';
40
41
  import './QRCodeIcon-8eef4f7c.js';
41
42
  import './id-sleeve.png';
42
- import './MeritBadgeDisplayCard-b8b904d2.js';
43
+ import './MeritBadgeDisplayCard-f58ddda8.js';
43
44
  //# sourceMappingURL=index39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index39.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index39.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import 'react';
2
2
  import './index-cb3a593b.js';
3
- import './types.esm-2762569e.js';
4
- export { B as BoostGenericCard } from './BoostGenericCard-2f586072.js';
3
+ import './types.esm-acda6d63.js';
4
+ export { B as BoostGenericCard } from './BoostGenericCard-bd7c9207.js';
5
5
  import './index-28917993.js';
6
6
  import './index-7542e9ee.js';
7
7
  import './walletcurrency.webp';
@@ -22,7 +22,7 @@ import './minigradcapcolored.svg';
22
22
  import './minipuzzlecolored.svg';
23
23
  import './IDDisplayIcon-f6993140.js';
24
24
  import './PuzzlePiece-a3d9cc62.js';
25
- import './credential.helpers-61005784.js';
25
+ import './credential.helpers-1a7bbdca.js';
26
26
  import './User-f5ea0f01.js';
27
27
  import './Trophy-fc7fdec4.js';
28
28
  import './ThreeDotVertical-ccbbc8ef.js';
@@ -1,15 +1,15 @@
1
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-4f2d700d.js';
1
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-acc9c9f1.js';
2
2
  import 'react';
3
3
  import './VCVerificationCheck-8b8b7a76.js';
4
4
  import './vc.check.svg';
5
5
  import './CircleSpinner-03a329fc.js';
6
- import './VCVerificationPill-0c336075.js';
7
- import './types.esm-2762569e.js';
6
+ import './VCVerificationPill-a9fd20a4.js';
7
+ import './types.esm-acda6d63.js';
8
8
  import './RedXCircle.svg';
9
9
  import './GreenCheckCircle.svg';
10
10
  import './YellowWarningCircle.svg';
11
11
  import './ArrowArcRight.svg';
12
- import './credential.helpers-61005784.js';
12
+ import './credential.helpers-1a7bbdca.js';
13
13
  import './index-cb3a593b.js';
14
14
  import './index-28917993.js';
15
15
  import './PuzzlePiece-a3d9cc62.js';
@@ -1,20 +1,21 @@
1
- export { V as VCDisplayCard } from './VCDisplayCard-32e126f8.js';
1
+ export { V as VCDisplayCard } from './VCDisplayCard-f630aa6b.js';
2
2
  import 'react';
3
3
  import './FlippyCard-458dc9b1.js';
4
4
  import './icon.green.fat-arrow.png';
5
- import './UserProfilePicture-50c34186.js';
5
+ import './UserProfilePicture-4a00d151.js';
6
+ import '@learncard/helpers';
6
7
  import './VCVerificationCheck-8b8b7a76.js';
7
8
  import './vc.check.svg';
8
9
  import './CircleSpinner-03a329fc.js';
9
- import './credential.helpers-61005784.js';
10
+ import './credential.helpers-1a7bbdca.js';
10
11
  import './index-cb3a593b.js';
11
- import './types.esm-2762569e.js';
12
+ import './types.esm-acda6d63.js';
12
13
  import './index-28917993.js';
13
14
  import './PuzzlePiece-a3d9cc62.js';
14
15
  import './User-f5ea0f01.js';
15
16
  import './Trophy-fc7fdec4.js';
16
- import './VCDisplayBackFace-4f2d700d.js';
17
- import './VCVerificationPill-0c336075.js';
17
+ import './VCDisplayBackFace-acc9c9f1.js';
18
+ import './VCVerificationPill-a9fd20a4.js';
18
19
  import './RedXCircle.svg';
19
20
  import './GreenCheckCircle.svg';
20
21
  import './YellowWarningCircle.svg';
@@ -1 +1 @@
1
- {"version":3,"file":"index41.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index41.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import 'react';
2
2
  import './i18n-35209bfa.js';
3
- export { S as SelectedSkills } from './VerifierStateBadgeAndText-0a4e0c63.js';
3
+ import '@learncard/helpers';
4
+ export { S as SelectedSkills } from './VerifierStateBadgeAndText-f2bbd9fd.js';
4
5
  import './athletics.png';
5
6
  import './business.png';
6
7
  import './creative.png';
@@ -11,22 +12,22 @@ import './social.png';
11
12
  import './stem.png';
12
13
  import './trade.png';
13
14
  import './index-cb3a593b.js';
14
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-ec2177de.js';
15
- import './types.esm-2762569e.js';
15
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-e896785c.js';
16
+ import './types.esm-acda6d63.js';
16
17
  import './id-sleeve.png';
17
18
  import './PuzzlePiece-a3d9cc62.js';
18
19
  import './VCVerificationCheck-8b8b7a76.js';
19
20
  import './vc.check.svg';
20
21
  import './CircleSpinner-03a329fc.js';
21
- import './UserProfilePicture-50c34186.js';
22
- import './credential.helpers-61005784.js';
22
+ import './UserProfilePicture-4a00d151.js';
23
+ import './credential.helpers-1a7bbdca.js';
23
24
  import './index-28917993.js';
24
25
  import './User-f5ea0f01.js';
25
26
  import './Trophy-fc7fdec4.js';
26
27
  import './Lightbox-11f4888d.js';
27
28
  import 'react-dom';
28
- import './CertificateDisplayCard-ff1ae869.js';
29
+ import './CertificateDisplayCard-d247bd74.js';
29
30
  import './DotsThreeOutline.svg';
30
31
  import './QRCodeIcon-8eef4f7c.js';
31
- import './MeritBadgeDisplayCard-b8b904d2.js';
32
+ import './MeritBadgeDisplayCard-f58ddda8.js';
32
33
  //# sourceMappingURL=index42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index42.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index42.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import 'react';
2
2
  import './icon.green.fat-arrow.png';
3
+ import '@learncard/helpers';
3
4
  import './vc.check.svg';
4
5
  import './index-cb3a593b.js';
5
- import './types.esm-2762569e.js';
6
+ import './types.esm-acda6d63.js';
6
7
  //# 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":";;;;;"}
@@ -1,6 +1,6 @@
1
- export { V as ValidationStateIndicator } from './VCVerificationPill-0c336075.js';
1
+ export { V as ValidationStateIndicator } from './VCVerificationPill-a9fd20a4.js';
2
2
  import 'react';
3
- import './types.esm-2762569e.js';
3
+ import './types.esm-acda6d63.js';
4
4
  import './RedXCircle.svg';
5
5
  import './GreenCheckCircle.svg';
6
6
  import './YellowWarningCircle.svg';
@@ -1,9 +1,10 @@
1
- export { B as BoostSmallCard } from './BoostSmallCard-3dedb5ae.js';
1
+ export { B as BoostSmallCard } from './BoostSmallCard-35b0290d.js';
2
2
  import 'react';
3
3
  import './CaretRightFilled.svg';
4
4
  import './addawardlight.svg';
5
5
  import './ThreeDotVertical-ccbbc8ef.js';
6
- import './UserProfilePicture-50c34186.js';
6
+ import './UserProfilePicture-4a00d151.js';
7
+ import '@learncard/helpers';
7
8
  import './BadgeThumbnailImg-7d436367.js';
8
9
  import './index-28917993.js';
9
10
  import './index-7542e9ee.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,16 @@
1
1
  import 'react';
2
2
  import './i18n-35209bfa.js';
3
- export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-ff1ae869.js';
3
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-d247bd74.js';
4
4
  import './index-cb3a593b.js';
5
- import './types.esm-2762569e.js';
6
- export { V as VERIFIER_STATES } from './VerifierStateBadgeAndText-0a4e0c63.js';
7
- import './credential.helpers-61005784.js';
5
+ import './types.esm-acda6d63.js';
6
+ import '@learncard/helpers';
7
+ export { V as VERIFIER_STATES } from './VerifierStateBadgeAndText-f2bbd9fd.js';
8
+ import './credential.helpers-1a7bbdca.js';
8
9
  import './index-28917993.js';
9
10
  import './PuzzlePiece-a3d9cc62.js';
10
11
  import './User-f5ea0f01.js';
11
12
  import './Trophy-fc7fdec4.js';
12
- import './UserProfilePicture-50c34186.js';
13
+ import './UserProfilePicture-4a00d151.js';
13
14
  import './Lightbox-11f4888d.js';
14
15
  import 'react-dom';
15
16
  import './DotsThreeOutline.svg';
@@ -1 +1 @@
1
- {"version":3,"file":"index7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  var _a$2;
4
2
  function $constructor(name, initializer, params) {
5
3
  function init(inst, def) {
@@ -4225,15 +4223,6 @@ function _number(Class, params) {
4225
4223
  });
4226
4224
  }
4227
4225
  // @__NO_SIDE_EFFECTS__
4228
- function _coercedNumber(Class, params) {
4229
- return new Class({
4230
- type: "number",
4231
- coerce: true,
4232
- checks: [],
4233
- ...normalizeParams(params),
4234
- });
4235
- }
4236
- // @__NO_SIDE_EFFECTS__
4237
4226
  function _int(Class, params) {
4238
4227
  return new Class({
4239
4228
  type: "number",
@@ -9486,15 +9475,5 @@ object({
9486
9475
  messages: array(inAppMessageValidator).default([])
9487
9476
  }).passthrough();
9488
9477
 
9489
- exports.VerificationStatusEnum = VerificationStatusEnum;
9490
- exports.ZodNumber = ZodNumber;
9491
- exports._coercedNumber = _coercedNumber;
9492
- exports._enum = _enum;
9493
- exports.literal = literal;
9494
- exports.number = number;
9495
- exports.object = object;
9496
- exports.preprocess = preprocess;
9497
- exports.string = string;
9498
- exports.union = union;
9499
- exports.url = url;
9500
- //# sourceMappingURL=types.esm-50b3eecd.js.map
9478
+ export { VerificationStatusEnum as V };
9479
+ //# sourceMappingURL=types.esm-acda6d63.js.map