@learncard/react 2.12.10 → 2.12.11

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 (91) hide show
  1. package/dist/cjs/{BoostGenericCard-a414aaef.js → BoostGenericCard-e3fd4feb.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-a414aaef.js.map → BoostGenericCard-e3fd4feb.js.map} +1 -1
  3. package/dist/cjs/{CertificateDisplayCard-8bd3b831.js → CertificateDisplayCard-9a7ced55.js} +3 -3
  4. package/dist/cjs/{CertificateDisplayCard-8bd3b831.js.map → CertificateDisplayCard-9a7ced55.js.map} +1 -1
  5. package/dist/cjs/{MeritBadgeDisplayCard-cc7b75af.js → MeritBadgeDisplayCard-a45003f4.js} +3 -3
  6. package/dist/cjs/{MeritBadgeDisplayCard-cc7b75af.js.map → MeritBadgeDisplayCard-a45003f4.js.map} +1 -1
  7. package/dist/cjs/{MeritBadgeSkillsCount-3e797913.js → MeritBadgeSkillsCount-1baf2200.js} +2 -2
  8. package/dist/cjs/{MeritBadgeSkillsCount-3e797913.js.map → MeritBadgeSkillsCount-1baf2200.js.map} +1 -1
  9. package/dist/cjs/{SchoolIDCard-2d3cbb2c.js → SchoolIDCard-10796199.js} +1184 -3
  10. package/dist/cjs/SchoolIDCard-10796199.js.map +1 -0
  11. package/dist/cjs/{VCCard-bb89310a.js → VCCard-6462d6c7.js} +3 -3
  12. package/dist/cjs/{VCCard-bb89310a.js.map → VCCard-6462d6c7.js.map} +1 -1
  13. package/dist/cjs/{VCDisplayBackFace-2eb4300a.js → VCDisplayBackFace-47066c07.js} +3 -3
  14. package/dist/cjs/{VCDisplayBackFace-2eb4300a.js.map → VCDisplayBackFace-47066c07.js.map} +1 -1
  15. package/dist/cjs/{VCDisplayCard-4276378b.js → VCDisplayCard-ac1d4efb.js} +3 -3
  16. package/dist/cjs/{VCDisplayCard-4276378b.js.map → VCDisplayCard-ac1d4efb.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayCard2-f18ff4c4.js → VCDisplayCard2-d7d3288b.js} +5 -6
  18. package/dist/{esm/VCDisplayCard2-5f2fbc83.js.map → cjs/VCDisplayCard2-d7d3288b.js.map} +1 -1
  19. package/dist/cjs/{VCVerificationPill-fe1eb97b.js → VCVerificationPill-7d4dd936.js} +2 -2
  20. package/dist/cjs/{VCVerificationPill-fe1eb97b.js.map → VCVerificationPill-7d4dd936.js.map} +1 -1
  21. package/dist/cjs/{credential.helpers-2d2d8bf5.js → credential.helpers-e6e353a6.js} +2 -2
  22. package/dist/cjs/{credential.helpers-2d2d8bf5.js.map → credential.helpers-e6e353a6.js.map} +1 -1
  23. package/dist/cjs/index.js +12 -13
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/index14.js +12 -13
  26. package/dist/cjs/index14.js.map +1 -1
  27. package/dist/cjs/index22.js +4 -4
  28. package/dist/cjs/index31.js +1 -2
  29. package/dist/cjs/index31.js.map +1 -1
  30. package/dist/cjs/index39.js +9 -10
  31. package/dist/cjs/index39.js.map +1 -1
  32. package/dist/cjs/index4.js +3 -3
  33. package/dist/cjs/index40.js +4 -4
  34. package/dist/cjs/index41.js +5 -5
  35. package/dist/cjs/index42.js +5 -6
  36. package/dist/cjs/index42.js.map +1 -1
  37. package/dist/cjs/index43.js +1 -1
  38. package/dist/cjs/index46.js +2 -2
  39. package/dist/cjs/index7.js +3 -3
  40. package/dist/cjs/{types.esm-6ef18f40.js → types.esm-57b8934f.js} +13 -2
  41. package/dist/cjs/types.esm-57b8934f.js.map +1 -0
  42. package/dist/esm/{BoostGenericCard-c5cdd66b.js → BoostGenericCard-3481b47c.js} +2 -2
  43. package/dist/esm/{BoostGenericCard-c5cdd66b.js.map → BoostGenericCard-3481b47c.js.map} +1 -1
  44. package/dist/esm/{CertificateDisplayCard-98c807c3.js → CertificateDisplayCard-fbd123d1.js} +3 -3
  45. package/dist/esm/{CertificateDisplayCard-98c807c3.js.map → CertificateDisplayCard-fbd123d1.js.map} +1 -1
  46. package/dist/esm/{MeritBadgeDisplayCard-e55e904e.js → MeritBadgeDisplayCard-2621d029.js} +3 -3
  47. package/dist/esm/{MeritBadgeDisplayCard-e55e904e.js.map → MeritBadgeDisplayCard-2621d029.js.map} +1 -1
  48. package/dist/esm/{MeritBadgeSkillsCount-942ebe6f.js → MeritBadgeSkillsCount-b3e3985a.js} +2 -2
  49. package/dist/esm/{MeritBadgeSkillsCount-942ebe6f.js.map → MeritBadgeSkillsCount-b3e3985a.js.map} +1 -1
  50. package/dist/esm/{SchoolIDCard-fbd1cf6c.js → SchoolIDCard-f82e40bc.js} +1183 -2
  51. package/dist/esm/SchoolIDCard-f82e40bc.js.map +1 -0
  52. package/dist/esm/{VCCard-97d0c512.js → VCCard-cd14261b.js} +3 -3
  53. package/dist/esm/{VCCard-97d0c512.js.map → VCCard-cd14261b.js.map} +1 -1
  54. package/dist/esm/{VCDisplayBackFace-7510b046.js → VCDisplayBackFace-d8bdf84b.js} +3 -3
  55. package/dist/esm/{VCDisplayBackFace-7510b046.js.map → VCDisplayBackFace-d8bdf84b.js.map} +1 -1
  56. package/dist/esm/{VCDisplayCard-43ac58ba.js → VCDisplayCard-213afce8.js} +3 -3
  57. package/dist/esm/{VCDisplayCard-43ac58ba.js.map → VCDisplayCard-213afce8.js.map} +1 -1
  58. package/dist/esm/{VCDisplayCard2-5f2fbc83.js → VCDisplayCard2-f6beca34.js} +5 -6
  59. package/dist/{cjs/VCDisplayCard2-f18ff4c4.js.map → esm/VCDisplayCard2-f6beca34.js.map} +1 -1
  60. package/dist/esm/{VCVerificationPill-8f6be696.js → VCVerificationPill-f4a587a5.js} +2 -2
  61. package/dist/esm/{VCVerificationPill-8f6be696.js.map → VCVerificationPill-f4a587a5.js.map} +1 -1
  62. package/dist/esm/{credential.helpers-72ff82a4.js → credential.helpers-30adeb2d.js} +2 -2
  63. package/dist/esm/{credential.helpers-72ff82a4.js.map → credential.helpers-30adeb2d.js.map} +1 -1
  64. package/dist/esm/index.js +12 -13
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/esm/index14.js +12 -13
  67. package/dist/esm/index14.js.map +1 -1
  68. package/dist/esm/index22.js +4 -4
  69. package/dist/esm/index31.js +1 -2
  70. package/dist/esm/index31.js.map +1 -1
  71. package/dist/esm/index39.js +9 -10
  72. package/dist/esm/index39.js.map +1 -1
  73. package/dist/esm/index4.js +3 -3
  74. package/dist/esm/index40.js +4 -4
  75. package/dist/esm/index41.js +5 -5
  76. package/dist/esm/index42.js +5 -6
  77. package/dist/esm/index42.js.map +1 -1
  78. package/dist/esm/index43.js +1 -1
  79. package/dist/esm/index46.js +2 -2
  80. package/dist/esm/index7.js +3 -3
  81. package/dist/esm/{types.esm-4968f4d0.js → types.esm-9d538f63.js} +13 -2
  82. package/dist/esm/types.esm-9d538f63.js.map +1 -0
  83. package/package.json +4 -4
  84. package/dist/cjs/SchoolIDCard-2d3cbb2c.js.map +0 -1
  85. package/dist/cjs/index-47efbf5b.js +0 -1186
  86. package/dist/cjs/index-47efbf5b.js.map +0 -1
  87. package/dist/cjs/types.esm-6ef18f40.js.map +0 -1
  88. package/dist/esm/SchoolIDCard-fbd1cf6c.js.map +0 -1
  89. package/dist/esm/index-cbd2e9db.js +0 -1184
  90. package/dist/esm/index-cbd2e9db.js.map +0 -1
  91. package/dist/esm/types.esm-4968f4d0.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
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-c5cdd66b.js';
4
+ export { B as BoostGenericCard, g as getLifecycleTreatment } from './BoostGenericCard-3481b47c.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-d0cf882f.js';
7
7
  export { B as BoostSmallCard } from './BoostSmallCard-3f5d83b9.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-98c807c3.js';
9
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-fbd123d1.js';
10
10
  export { C as CircleCheckButton } from './CircleCheckButton-50702ec6.js';
11
11
  export { a as CircleIcon, C as CountCircle } from './CircleIcon-060ef060.js';
12
12
  export { C as CourseCard } from './CourseCard-990fdc99.js';
@@ -19,8 +19,8 @@ export { L as LearnCardCreditCardBackFace } from './LearnCardCreditCardBackFace-
19
19
  export { L as LearnCardCreditCardFrontFace } from './LearnCardCreditCardFrontFace-13d29504.js';
20
20
  export { L as LearnPill } from './LearnPill-a2b93b1d.js';
21
21
  export { C as CircleLoadingState } from './CircleSpinner-03a329fc.js';
22
- export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-e55e904e.js';
23
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-942ebe6f.js';
22
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-2621d029.js';
23
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-b3e3985a.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';
@@ -31,20 +31,20 @@ export { U as UserNotificationTypeStyles } from './types-b32d28d5.js';
31
31
  export { Q as QRCodeCard } from './QRCodeCard-3abf9f33.js';
32
32
  export { C as CheckmarkSvg, R as RoundedPill } from './RoundedPill-8e97b9e3.js';
33
33
  export { R as RoundedSquare, a as TYPE_TO_IMG_SRC, T as TYPE_TO_MINI_ICON, b as TYPE_TO_WALLET_COLOR, W as WALLET_SUBTYPES } from './constants-e2e2e619.js';
34
- export { S as SchoolIDCard } from './SchoolIDCard-fbd1cf6c.js';
34
+ export { S as SchoolIDCard } from './SchoolIDCard-f82e40bc.js';
35
35
  export { S as SkillTabCard } from './SkillTabCard-a3f601e8.js';
36
36
  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
40
  export { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
41
- export { V as VCCard } from './VCCard-97d0c512.js';
42
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-7510b046.js';
43
- export { V as VCDisplayCard } from './VCDisplayCard-43ac58ba.js';
44
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-5f2fbc83.js';
41
+ export { V as VCCard } from './VCCard-cd14261b.js';
42
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-d8bdf84b.js';
43
+ export { V as VCDisplayCard } from './VCDisplayCard-213afce8.js';
44
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-f6beca34.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-8f6be696.js';
47
+ export { V as ValidationStateIndicator } from './VCVerificationPill-f4a587a5.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';
@@ -84,9 +84,9 @@ import './eventsGraphic.png';
84
84
  import './minitrophycolored.svg';
85
85
  import './minigradcapcolored.svg';
86
86
  import './minipuzzlecolored.svg';
87
- import './credential.helpers-72ff82a4.js';
87
+ import './credential.helpers-30adeb2d.js';
88
88
  import './index-cb3a593b.js';
89
- import './types.esm-4968f4d0.js';
89
+ import './types.esm-9d538f63.js';
90
90
  import './BadgeThumbnailImg-7d436367.js';
91
91
  import './CaretRightFilled.svg';
92
92
  import './addawardlight.svg';
@@ -128,7 +128,6 @@ import './X.svg';
128
128
  import './ArrowArcLeft.svg';
129
129
  import './walletids.webp';
130
130
  import './membership-graphic.png';
131
- import './index-cbd2e9db.js';
132
131
  import './skillplaceholder.png';
133
132
  import './skillgraph.svg';
134
133
  import '@learncard/init';
@@ -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,8 +1,8 @@
1
1
  export { A as AchievementCard } from './AchievementCard-d0cf882f.js';
2
- export { B as BoostGenericCard } from './BoostGenericCard-c5cdd66b.js';
2
+ export { B as BoostGenericCard } from './BoostGenericCard-3481b47c.js';
3
3
  export { B as BoostSmallCard } from './BoostSmallCard-3f5d83b9.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-98c807c3.js';
5
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-fbd123d1.js';
6
6
  export { S as SelectedSkills, V as VERIFIER_STATES } from './VerifierStateBadgeAndText-f2bbd9fd.js';
7
7
  export { C as CircleCheckButton } from './CircleCheckButton-50702ec6.js';
8
8
  export { a as CircleIcon, C as CountCircle } from './CircleIcon-060ef060.js';
@@ -17,8 +17,8 @@ export { L as LearnCardCreditCardFrontFace } from './LearnCardCreditCardFrontFac
17
17
  export { L as LearnPill } from './LearnPill-a2b93b1d.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-e55e904e.js';
21
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-942ebe6f.js';
20
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-2621d029.js';
21
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-b3e3985a.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';
@@ -29,20 +29,20 @@ export { U as UserNotificationTypeStyles } from './types-b32d28d5.js';
29
29
  export { Q as QRCodeCard } from './QRCodeCard-3abf9f33.js';
30
30
  export { C as CheckmarkSvg, R as RoundedPill } from './RoundedPill-8e97b9e3.js';
31
31
  export { R as RoundedSquare, a as TYPE_TO_IMG_SRC, T as TYPE_TO_MINI_ICON, b as TYPE_TO_WALLET_COLOR, W as WALLET_SUBTYPES } from './constants-e2e2e619.js';
32
- export { S as SchoolIDCard } from './SchoolIDCard-fbd1cf6c.js';
32
+ export { S as SchoolIDCard } from './SchoolIDCard-f82e40bc.js';
33
33
  export { S as SkillTabCard } from './SkillTabCard-a3f601e8.js';
34
34
  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
38
  export { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
39
- export { V as VCCard } from './VCCard-97d0c512.js';
40
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-7510b046.js';
41
- export { V as VCDisplayCard } from './VCDisplayCard-43ac58ba.js';
42
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-5f2fbc83.js';
39
+ export { V as VCCard } from './VCCard-cd14261b.js';
40
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-d8bdf84b.js';
41
+ export { V as VCDisplayCard } from './VCDisplayCard-213afce8.js';
42
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-f6beca34.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-8f6be696.js';
45
+ export { V as ValidationStateIndicator } from './VCVerificationPill-f4a587a5.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';
@@ -73,9 +73,9 @@ import './minigradcapcolored.svg';
73
73
  import './minipuzzlecolored.svg';
74
74
  import './index-8be2f857.js';
75
75
  import './PuzzlePiece-a3d9cc62.js';
76
- import './credential.helpers-72ff82a4.js';
76
+ import './credential.helpers-30adeb2d.js';
77
77
  import './index-cb3a593b.js';
78
- import './types.esm-4968f4d0.js';
78
+ import './types.esm-9d538f63.js';
79
79
  import './BadgeThumbnailImg-7d436367.js';
80
80
  import './i18n-35209bfa.js';
81
81
  import './CaretRightFilled.svg';
@@ -128,7 +128,6 @@ import './X.svg';
128
128
  import './ArrowArcLeft.svg';
129
129
  import './walletids.webp';
130
130
  import './membership-graphic.png';
131
- import './index-cbd2e9db.js';
132
131
  import './skillplaceholder.png';
133
132
  import './skillgraph.svg';
134
133
  import '@learncard/init';
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import 'react';
2
- export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-e55e904e.js';
2
+ export { M as MeritBadgeBackFace, a as MeritBadgeDisplayCard, b as MeritBadgeFrontFace } from './MeritBadgeDisplayCard-2621d029.js';
3
3
  import './index-cb3a593b.js';
4
- import './types.esm-4968f4d0.js';
5
- export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-942ebe6f.js';
4
+ import './types.esm-9d538f63.js';
5
+ export { M as MeritBadgeSkillsCount } from './MeritBadgeSkillsCount-b3e3985a.js';
6
6
  import './i18n-35209bfa.js';
7
7
  import './VerifierStateBadgeAndText-f2bbd9fd.js';
8
8
  import './athletics.png';
@@ -15,7 +15,7 @@ import './social.png';
15
15
  import './stem.png';
16
16
  import './trade.png';
17
17
  import './PuzzlePiece-a3d9cc62.js';
18
- import './credential.helpers-72ff82a4.js';
18
+ import './credential.helpers-30adeb2d.js';
19
19
  import './index-8be2f857.js';
20
20
  import './User-f5ea0f01.js';
21
21
  import './Trophy-fc7fdec4.js';
@@ -1,4 +1,3 @@
1
- export { S as SchoolIDCard } from './SchoolIDCard-fbd1cf6c.js';
1
+ export { S as SchoolIDCard } from './SchoolIDCard-f82e40bc.js';
2
2
  import 'react';
3
- import './index-cbd2e9db.js';
4
3
  //# sourceMappingURL=index31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index31.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index31.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,7 +1,7 @@
1
- export { V as VCCard } from './VCCard-97d0c512.js';
1
+ export { V as VCCard } from './VCCard-cd14261b.js';
2
2
  import 'react';
3
3
  import '@learncard/init';
4
- import './VCDisplayCard-43ac58ba.js';
4
+ import './VCDisplayCard-213afce8.js';
5
5
  import './FlippyCard-458dc9b1.js';
6
6
  import './icon.green.fat-arrow.png';
7
7
  import './UserProfilePicture-4a00d151.js';
@@ -9,21 +9,20 @@ import '@learncard/helpers';
9
9
  import './VCVerificationCheck-8b8b7a76.js';
10
10
  import './vc.check.svg';
11
11
  import './CircleSpinner-03a329fc.js';
12
- import './credential.helpers-72ff82a4.js';
12
+ import './credential.helpers-30adeb2d.js';
13
13
  import './index-cb3a593b.js';
14
- import './types.esm-4968f4d0.js';
14
+ import './types.esm-9d538f63.js';
15
15
  import './index-8be2f857.js';
16
16
  import './PuzzlePiece-a3d9cc62.js';
17
17
  import './User-f5ea0f01.js';
18
18
  import './Trophy-fc7fdec4.js';
19
- import './VCDisplayBackFace-7510b046.js';
20
- import './VCVerificationPill-8f6be696.js';
19
+ import './VCDisplayBackFace-d8bdf84b.js';
20
+ import './VCVerificationPill-f4a587a5.js';
21
21
  import './RedXCircle.svg';
22
22
  import './GreenCheckCircle.svg';
23
23
  import './YellowWarningCircle.svg';
24
24
  import './ArrowArcRight.svg';
25
- import './VCDisplayCard2-5f2fbc83.js';
26
- import './index-cbd2e9db.js';
25
+ import './VCDisplayCard2-f6beca34.js';
27
26
  import './VerifierStateBadgeAndText-f2bbd9fd.js';
28
27
  import './athletics.png';
29
28
  import './business.png';
@@ -37,9 +36,9 @@ import './trade.png';
37
36
  import './i18n-35209bfa.js';
38
37
  import './Lightbox-11f4888d.js';
39
38
  import 'react-dom';
40
- import './CertificateDisplayCard-98c807c3.js';
39
+ import './CertificateDisplayCard-fbd123d1.js';
41
40
  import './DotsThreeOutline.svg';
42
41
  import './QRCodeIcon-8eef4f7c.js';
43
42
  import './id-sleeve.png';
44
- import './MeritBadgeDisplayCard-e55e904e.js';
43
+ import './MeritBadgeDisplayCard-2621d029.js';
45
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-4968f4d0.js';
4
- export { B as BoostGenericCard } from './BoostGenericCard-c5cdd66b.js';
3
+ import './types.esm-9d538f63.js';
4
+ export { B as BoostGenericCard } from './BoostGenericCard-3481b47c.js';
5
5
  import './index-8be2f857.js';
6
6
  import './index-e3586083.js';
7
7
  import './walletcurrency.webp';
@@ -23,7 +23,7 @@ import './minigradcapcolored.svg';
23
23
  import './minipuzzlecolored.svg';
24
24
  import './IDDisplayIcon-f6993140.js';
25
25
  import './PuzzlePiece-a3d9cc62.js';
26
- import './credential.helpers-72ff82a4.js';
26
+ import './credential.helpers-30adeb2d.js';
27
27
  import './User-f5ea0f01.js';
28
28
  import './Trophy-fc7fdec4.js';
29
29
  import './ThreeDotVertical-ccbbc8ef.js';
@@ -1,15 +1,15 @@
1
- export { V as VCDisplayBackFace } from './VCDisplayBackFace-7510b046.js';
1
+ export { V as VCDisplayBackFace } from './VCDisplayBackFace-d8bdf84b.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-8f6be696.js';
7
- import './types.esm-4968f4d0.js';
6
+ import './VCVerificationPill-f4a587a5.js';
7
+ import './types.esm-9d538f63.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-72ff82a4.js';
12
+ import './credential.helpers-30adeb2d.js';
13
13
  import './index-cb3a593b.js';
14
14
  import './index-8be2f857.js';
15
15
  import './PuzzlePiece-a3d9cc62.js';
@@ -1,4 +1,4 @@
1
- export { V as VCDisplayCard } from './VCDisplayCard-43ac58ba.js';
1
+ export { V as VCDisplayCard } from './VCDisplayCard-213afce8.js';
2
2
  import 'react';
3
3
  import './FlippyCard-458dc9b1.js';
4
4
  import './icon.green.fat-arrow.png';
@@ -7,15 +7,15 @@ import '@learncard/helpers';
7
7
  import './VCVerificationCheck-8b8b7a76.js';
8
8
  import './vc.check.svg';
9
9
  import './CircleSpinner-03a329fc.js';
10
- import './credential.helpers-72ff82a4.js';
10
+ import './credential.helpers-30adeb2d.js';
11
11
  import './index-cb3a593b.js';
12
- import './types.esm-4968f4d0.js';
12
+ import './types.esm-9d538f63.js';
13
13
  import './index-8be2f857.js';
14
14
  import './PuzzlePiece-a3d9cc62.js';
15
15
  import './User-f5ea0f01.js';
16
16
  import './Trophy-fc7fdec4.js';
17
- import './VCDisplayBackFace-7510b046.js';
18
- import './VCVerificationPill-8f6be696.js';
17
+ import './VCDisplayBackFace-d8bdf84b.js';
18
+ import './VCVerificationPill-f4a587a5.js';
19
19
  import './RedXCircle.svg';
20
20
  import './GreenCheckCircle.svg';
21
21
  import './YellowWarningCircle.svg';
@@ -12,23 +12,22 @@ import './social.png';
12
12
  import './stem.png';
13
13
  import './trade.png';
14
14
  import './index-cb3a593b.js';
15
- export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-5f2fbc83.js';
16
- import './types.esm-4968f4d0.js';
15
+ export { V as VCDisplayCard2, a as VCDisplayCardSkillsCount, b as VCIDDisplayCard, g as getVCDisplayCardVariant } from './VCDisplayCard2-f6beca34.js';
16
+ import './types.esm-9d538f63.js';
17
17
  import './id-sleeve.png';
18
18
  import './PuzzlePiece-a3d9cc62.js';
19
- import './index-cbd2e9db.js';
20
19
  import './VCVerificationCheck-8b8b7a76.js';
21
20
  import './vc.check.svg';
22
21
  import './CircleSpinner-03a329fc.js';
23
22
  import './UserProfilePicture-4a00d151.js';
24
- import './credential.helpers-72ff82a4.js';
23
+ import './credential.helpers-30adeb2d.js';
25
24
  import './index-8be2f857.js';
26
25
  import './User-f5ea0f01.js';
27
26
  import './Trophy-fc7fdec4.js';
28
27
  import './Lightbox-11f4888d.js';
29
28
  import 'react-dom';
30
- import './CertificateDisplayCard-98c807c3.js';
29
+ import './CertificateDisplayCard-fbd123d1.js';
31
30
  import './DotsThreeOutline.svg';
32
31
  import './QRCodeIcon-8eef4f7c.js';
33
- import './MeritBadgeDisplayCard-e55e904e.js';
32
+ import './MeritBadgeDisplayCard-2621d029.js';
34
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,5 +3,5 @@ import './icon.green.fat-arrow.png';
3
3
  import '@learncard/helpers';
4
4
  import './vc.check.svg';
5
5
  import './index-cb3a593b.js';
6
- import './types.esm-4968f4d0.js';
6
+ import './types.esm-9d538f63.js';
7
7
  //# sourceMappingURL=index43.js.map
@@ -1,6 +1,6 @@
1
- export { V as ValidationStateIndicator } from './VCVerificationPill-8f6be696.js';
1
+ export { V as ValidationStateIndicator } from './VCVerificationPill-f4a587a5.js';
2
2
  import 'react';
3
- import './types.esm-4968f4d0.js';
3
+ import './types.esm-9d538f63.js';
4
4
  import './RedXCircle.svg';
5
5
  import './GreenCheckCircle.svg';
6
6
  import './YellowWarningCircle.svg';
@@ -1,11 +1,11 @@
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-98c807c3.js';
3
+ export { C as CertDisplayCardSkillsCount, a as CertificateBackFace, b as CertificateDisplayCard, c as CertificateFrontFace } from './CertificateDisplayCard-fbd123d1.js';
4
4
  import './index-cb3a593b.js';
5
- import './types.esm-4968f4d0.js';
5
+ import './types.esm-9d538f63.js';
6
6
  import '@learncard/helpers';
7
7
  export { V as VERIFIER_STATES } from './VerifierStateBadgeAndText-f2bbd9fd.js';
8
- import './credential.helpers-72ff82a4.js';
8
+ import './credential.helpers-30adeb2d.js';
9
9
  import './index-8be2f857.js';
10
10
  import './PuzzlePiece-a3d9cc62.js';
11
11
  import './User-f5ea0f01.js';
@@ -7566,7 +7566,18 @@ var ProofValidator = object({
7566
7566
  verificationMethod: string(),
7567
7567
  jws: string().optional()
7568
7568
  }).catchall(any()).superRefine((proof, ctx) => {
7569
- if (proof.created === void 0 && (proof.type !== "DataIntegrityProof" || proof.cryptosuite !== "ecdsa-rdfc-2019")) {
7569
+ if (proof.created === void 0 && // These standardized Data Integrity suites make created optional.
7570
+ // Keep the prior requirement for legacy and unknown proof suites.
7571
+ // https://www.w3.org/TR/vc-di-eddsa/#proof-configuration-eddsa-jcs-2022
7572
+ // https://www.w3.org/TR/vc-di-bbs/#proof-configuration
7573
+ (proof.type !== "DataIntegrityProof" || ![
7574
+ "ecdsa-rdfc-2019",
7575
+ "ecdsa-jcs-2019",
7576
+ "ecdsa-sd-2023",
7577
+ "eddsa-rdfc-2022",
7578
+ "eddsa-jcs-2022",
7579
+ "bbs-2023"
7580
+ ].includes(proof.cryptosuite))) {
7570
7581
  ctx.addIssue({
7571
7582
  code: "custom",
7572
7583
  path: ["created"],
@@ -10654,4 +10665,4 @@ object({
10654
10665
  }).strict();
10655
10666
 
10656
10667
  export { VerificationStatusEnum as V };
10657
- //# sourceMappingURL=types.esm-4968f4d0.js.map
10668
+ //# sourceMappingURL=types.esm-9d538f63.js.map