@learncard/react 2.7.7 → 2.7.9

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 (36) hide show
  1. package/dist/cjs/{BoostSmallCard-a8b7f33d.js → BoostSmallCard-2a588dc6.js} +5 -2
  2. package/dist/cjs/BoostSmallCard-2a588dc6.js.map +1 -0
  3. package/dist/cjs/{CertificateDisplayCard-67970993.js → CertificateDisplayCard-538033fd.js} +2 -2
  4. package/dist/cjs/{CertificateDisplayCard-67970993.js.map → CertificateDisplayCard-538033fd.js.map} +1 -1
  5. package/dist/cjs/{VCCard-6a5c1b74.js → VCCard-a4aca9ab.js} +2 -2
  6. package/dist/cjs/{VCCard-6a5c1b74.js.map → VCCard-a4aca9ab.js.map} +1 -1
  7. package/dist/cjs/{VCDisplayCard2-4748c924.js → VCDisplayCard2-0960b02d.js} +2 -2
  8. package/dist/cjs/{VCDisplayCard2-4748c924.js.map → VCDisplayCard2-0960b02d.js.map} +1 -1
  9. package/dist/cjs/index-7d94d5ac.js.map +1 -1
  10. package/dist/cjs/index.js +4 -4
  11. package/dist/cjs/index13.js +4 -4
  12. package/dist/cjs/index36.js +3 -3
  13. package/dist/cjs/index39.js +2 -2
  14. package/dist/cjs/index4.js +1 -1
  15. package/dist/cjs/index6.js +1 -1
  16. package/dist/esm/{BoostSmallCard-00692212.js → BoostSmallCard-675c85e8.js} +5 -2
  17. package/dist/esm/BoostSmallCard-675c85e8.js.map +1 -0
  18. package/dist/esm/{CertificateDisplayCard-59dd435e.js → CertificateDisplayCard-c1c15c0d.js} +2 -2
  19. package/dist/esm/{CertificateDisplayCard-59dd435e.js.map → CertificateDisplayCard-c1c15c0d.js.map} +1 -1
  20. package/dist/esm/{VCCard-ac8f4fe5.js → VCCard-717446a2.js} +2 -2
  21. package/dist/esm/{VCCard-ac8f4fe5.js.map → VCCard-717446a2.js.map} +1 -1
  22. package/dist/esm/{VCDisplayCard2-b00aa398.js → VCDisplayCard2-efbf2972.js} +2 -2
  23. package/dist/esm/{VCDisplayCard2-b00aa398.js.map → VCDisplayCard2-efbf2972.js.map} +1 -1
  24. package/dist/esm/index-43f63ea7.js.map +1 -1
  25. package/dist/esm/index.js +4 -4
  26. package/dist/esm/index13.js +4 -4
  27. package/dist/esm/index36.js +3 -3
  28. package/dist/esm/index39.js +2 -2
  29. package/dist/esm/index4.js +1 -1
  30. package/dist/esm/index6.js +1 -1
  31. package/dist/index.d.ts +1 -0
  32. package/dist/main.css +1 -1
  33. package/dist/main.js +1 -1
  34. package/package.json +1 -1
  35. package/dist/cjs/BoostSmallCard-a8b7f33d.js.map +0 -1
  36. package/dist/esm/BoostSmallCard-00692212.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CertificateDisplayCard-59dd435e.js","sources":["../../src/components/svgs/AcuteCheckmark.tsx","../../src/components/svgs/Camera.tsx","../../src/components/svgs/ExclamationPoint.tsx","../../src/components/svgs/FatArrow.tsx","../../src/components/svgs/GenericDocumentIcon.tsx","../../src/components/svgs/InfoIcon.tsx","../../src/components/svgs/IssuerSeal.tsx","../../src/components/svgs/LeftArrow.tsx","../../src/components/svgs/Line.tsx","../../src/components/svgs/LinkIcon.tsx","../../src/components/svgs/PersonBadge.tsx","../../src/components/svgs/RedFlag.tsx","../../src/components/svgs/RoundedCorner.tsx","../../src/components/svgs/Smiley.tsx","../../src/components/svgs/UnknownVerifierBadge.tsx","../../src/components/svgs/VerifiedBadge.tsx","../../src/components/svgs/VideoIcon.tsx","../../src/components/svgs/X.tsx","../../src/components/CertificateDisplayCard/AlignmentRow.tsx","../../src/components/CertificateDisplayCard/InfoBox.tsx","../../src/components/CertificateDisplayCard/AlignmentsBox.tsx","../../src/components/CertificateDisplayCard/CertDisplayCardSkillsCount.tsx","../../src/helpers/string.helpers.ts","../../src/components/CertificateDisplayCard/VerificationRow.tsx","../../src/components/CertificateDisplayCard/VerificationsBox.tsx","../../src/components/CertificateDisplayCard/TruncateTextBox.tsx","../../../../node_modules/.pnpm/pretty-bytes@6.0.0/node_modules/pretty-bytes/index.js","../../src/helpers/url.helpers.ts","../../src/components/CertificateDisplayCard/MediaAttachmentsBox.tsx","../../src/constants/skills.ts","../../src/components/VCDisplayCard2/TopLevelSkill.tsx","../../src/components/VCDisplayCard2/Subskill.tsx","../../src/components/VCDisplayCard2/SelectedSkills.tsx","../../src/components/VCDisplayCard2/SkillsBox.tsx","../../src/components/CertificateDisplayCard/CertificateBackFace.tsx","../../src/components/CertificateDisplayCard/CertificateCornerIcon.tsx","../../src/components/CertificateDisplayCard/CertificateRibbon.tsx","../../src/components/CertificateDisplayCard/CertificateImageDisplay.tsx","../../src/components/CertificateDisplayCard/CertificateProfileImageDisplay.tsx","../../src/components/CertificateDisplayCard/VerifierStateBadgeAndText.tsx","../../src/components/CertificateDisplayCard/CertificateFrontFace.tsx","../../src/components/CertificateDisplayCard/CertificateDisplayCard.tsx"],"sourcesContent":["import React from 'react';\n\ntype AcuteCheckmarkProps = {\n className?: string;\n};\n\nconst AcuteCheckmark: React.FC<AcuteCheckmarkProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"11\"\n viewBox=\"0 0 16 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M0.5 4.26859L5.96103 10.5L15.3 0.5H10.6348L5.96103 6.3205L4.49338 4.06677L0.5 4.26859Z\"\n fill=\"#00BA88\"\n />\n </svg>\n );\n};\n\nexport default AcuteCheckmark;\n","import React from 'react';\n\ntype CameraProps = {\n className?: string;\n};\n\nconst Camera: React.FC<CameraProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"25\"\n height=\"24\"\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M20.7415 5.81958H18.6871C18.0439 5.81958 17.4439 5.49798 17.0887 4.96518L16.2295 3.67398C15.8743 3.14118 15.2743 2.81958 14.6311 2.81958L10.6855 2.81958C10.0423 2.81958 9.44231 3.14118 9.08711 3.67398L8.22791 4.96518C7.87271 5.49798 7.27271 5.81958 6.62951 5.81958H4.57991C3.51911 5.81958 2.65991 6.67878 2.65991 7.73958L2.65991 18.8996C2.65991 19.9604 3.51911 20.8196 4.57991 20.8196L20.7415 20.8196C21.8023 20.8196 22.6615 19.9604 22.6615 18.8996L22.6615 7.73958C22.6615 6.67878 21.8023 5.81958 20.7415 5.81958ZM12.7399 17.738C10.0903 17.738 7.93991 15.5876 7.93991 12.938C7.93991 10.2884 10.0903 8.13798 12.7399 8.13798C15.3895 8.13798 17.5399 10.2884 17.5399 12.938C17.5399 15.5876 15.3895 17.738 12.7399 17.738Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default Camera;\n","import React from 'react';\n\ntype ExclamationPointProps = {\n className?: string;\n};\n\nconst ExclamationPoint: React.FC<ExclamationPointProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"5\"\n height=\"11\"\n viewBox=\"0 0 5 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M1.1338 6.58451L0.5 0.5H4.30282L3.66901 6.58451H1.1338ZM2.40141 10.5C1.85681 10.5 1.4108 10.3357 1.06338 10.007C0.715963 9.66901 0.542253 9.26995 0.542253 8.80986C0.542253 8.34037 0.715963 7.94601 1.06338 7.62676C1.4108 7.30751 1.85681 7.14789 2.40141 7.14789C2.9554 7.14789 3.40141 7.30751 3.73944 7.62676C4.08685 7.94601 4.26056 8.34037 4.26056 8.80986C4.26056 9.26995 4.08685 9.66901 3.73944 10.007C3.40141 10.3357 2.9554 10.5 2.40141 10.5Z\"\n fill=\"#FACC15\"\n />\n </svg>\n );\n};\n\nexport default ExclamationPoint;\n","import React from 'react';\n\ntype FatArrowProps = {\n className?: string;\n direction?: 'right' | 'left';\n};\n\nconst FatArrow: React.FC<FatArrowProps> = ({ className = '', direction = 'right' }) => {\n if (direction === 'right') {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.463 21.6929C12.3259 21.6361 12.2088 21.54 12.1264 21.4166C12.044 21.2933 12 21.1483 12 21V17.25H4.5C4.10231 17.2495 3.72105 17.0913 3.43984 16.8101C3.15864 16.5289 3.00045 16.1477 3 15.75V8.24999C3.00045 7.8523 3.15864 7.47103 3.43984 7.18983C3.72105 6.90862 4.10231 6.75044 4.5 6.74998H12V2.99998C12 2.85165 12.044 2.70665 12.1264 2.58332C12.2088 2.45999 12.326 2.36387 12.463 2.3071C12.6001 2.25033 12.7509 2.23547 12.8963 2.2644C13.0418 2.29333 13.1755 2.36475 13.2804 2.46962L22.2804 11.4696C22.421 11.6103 22.5 11.8011 22.5 12C22.5 12.1989 22.421 12.3897 22.2804 12.5304L13.2804 21.5304C13.1755 21.6352 13.0418 21.7066 12.8963 21.7355C12.7508 21.7645 12.6 21.7496 12.463 21.6929V21.6929Z\"\n fill=\"white\"\n />\n </svg>\n );\n } else {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M10.7196 21.5304L1.71963 12.5304C1.57903 12.3897 1.50005 12.1989 1.50005 12C1.50005 11.8011 1.57903 11.6103 1.71963 11.4696L10.7196 2.46962C10.8245 2.36475 10.9582 2.29333 11.1037 2.2644C11.2491 2.23547 11.3999 2.25033 11.537 2.3071C11.674 2.36387 11.7912 2.45999 11.8736 2.58332C11.956 2.70665 12 2.85165 12 2.99998V6.74998H19.5C19.8977 6.75044 20.279 6.90862 20.5602 7.18983C20.8414 7.47103 20.9995 7.8523 21 8.24999V15.75C20.9995 16.1477 20.8414 16.5289 20.5602 16.8101C20.279 17.0913 19.8977 17.2495 19.5 17.25H12V21C12 21.1483 11.956 21.2933 11.8736 21.4166C11.7912 21.54 11.674 21.6361 11.537 21.6929C11.3999 21.7496 11.2491 21.7645 11.1037 21.7356C10.9582 21.7066 10.8245 21.6352 10.7196 21.5304Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n};\n\nexport default FatArrow;\n","import React from 'react';\n\ntype GenericDocumentIconProps = {\n className?: string;\n};\n\nconst GenericDocumentIcon: React.FC<GenericDocumentIconProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"41\"\n height=\"40\"\n viewBox=\"0 0 41 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M5.5 4.66675C5.5 3.0099 6.84315 1.66675 8.5 1.66675H18.6813C21.3361 1.66675 23.8555 2.83885 25.5655 4.86953L33.3842 14.1542C34.7507 15.7769 35.5 17.8301 35.5 19.9515V35.3334C35.5 36.9903 34.1569 38.3334 32.5 38.3334H8.5C6.84315 38.3334 5.5 36.9903 5.5 35.3334V4.66675Z\"\n fill=\"#FF3636\"\n />\n <path d=\"M22 13V2.5C26 3.5 34.5 14 35.5 18H27C23 18 22 16 22 13Z\" fill=\"#FF7A7A\" />\n </svg>\n );\n};\n\nexport default GenericDocumentIcon;\n","import React from 'react';\n\ntype InfoIconProps = {\n className?: string;\n color?: string;\n};\n\nconst InfoIcon: React.FC<InfoIconProps> = ({ className = '', color = '#A8ACBD' }) => {\n return (\n <svg\n width=\"22\"\n height=\"21\"\n viewBox=\"0 0 22 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M11.0003 0.34375C8.99153 0.34375 7.02793 0.939404 5.35774 2.05539C3.68755 3.17137 2.3858 4.75756 1.6171 6.61337C0.848395 8.46918 0.647267 10.5113 1.03915 12.4814C1.43103 14.4515 2.39832 16.2612 3.8187 17.6816C5.23907 19.1019 7.04874 20.0692 9.01886 20.4611C10.989 20.853 13.0311 20.6519 14.8869 19.8832C16.7427 19.1144 18.3289 17.8127 19.4449 16.1425C20.5608 14.4723 21.1565 12.5087 21.1565 10.5C21.1534 7.80735 20.0824 5.22588 18.1784 3.32188C16.2744 1.41789 13.6929 0.346862 11.0003 0.34375V0.34375ZM11.0002 5.03125C11.2319 5.03125 11.4585 5.09998 11.6512 5.22875C11.8439 5.35751 11.9941 5.54054 12.0828 5.75467C12.1715 5.9688 12.1947 6.20443 12.1495 6.43175C12.1043 6.65907 11.9927 6.86788 11.8288 7.03177C11.6649 7.19566 11.4561 7.30727 11.2288 7.35248C11.0015 7.3977 10.7658 7.37449 10.5517 7.2858C10.3376 7.1971 10.1545 7.0469 10.0258 6.85418C9.89701 6.66147 9.82828 6.4349 9.82828 6.20313C9.82828 6.04923 9.85859 5.89685 9.91748 5.75467C9.97637 5.61249 10.0627 5.4833 10.1715 5.37448C10.2803 5.26566 10.4095 5.17934 10.5517 5.12045C10.6939 5.06156 10.8463 5.03125 11.0002 5.03125H11.0002ZM11.7815 15.9688H11.0003C10.8976 15.9688 10.796 15.9486 10.7012 15.9094C10.6064 15.8702 10.5202 15.8126 10.4477 15.7401C10.3751 15.6675 10.3176 15.5814 10.2783 15.4865C10.2391 15.3917 10.2189 15.2901 10.219 15.1875V10.5C10.0118 10.5 9.81309 10.4177 9.66657 10.2712C9.52006 10.1247 9.43775 9.92595 9.43775 9.71875C9.43775 9.51155 9.52006 9.31284 9.66657 9.16632C9.81309 9.01981 10.0118 8.9375 10.219 8.9375H11.0003C11.1029 8.93744 11.2045 8.95761 11.2993 8.99685C11.3941 9.03609 11.4803 9.09363 11.5528 9.16619C11.6254 9.23875 11.6829 9.3249 11.7222 9.41971C11.7614 9.51452 11.7816 9.61614 11.7815 9.71875V14.4063C11.9887 14.4063 12.1874 14.4886 12.3339 14.6351C12.4804 14.7816 12.5628 14.9803 12.5628 15.1875C12.5628 15.3947 12.4804 15.5934 12.3339 15.7399C12.1874 15.8864 11.9887 15.9688 11.7815 15.9688Z\"\n fill={color}\n />\n </svg>\n );\n};\n\nexport default InfoIcon;\n","import React from 'react';\n\ntype IssuerSealProps = {\n className?: string;\n};\n\nconst IssuerSeal: React.FC<IssuerSealProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"77\"\n height=\"77\"\n viewBox=\"0 0 77 77\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M63.505 67.2679C56.4382 65.6232 52.6788 67.6475 50.6184 74.3528C49.9316 76.5939 47.1844 77.3169 45.5036 75.6903C40.5514 70.9369 36.4486 70.9369 31.4964 75.6903C29.7975 77.3169 27.0684 76.612 26.3816 74.3528C24.3393 67.6475 20.5799 65.6232 13.495 67.2679C11.2539 67.7921 9.28385 65.8039 9.80799 63.5809C11.4527 56.514 9.42844 52.7547 2.72309 50.6943C0.481945 50.0075 -0.241003 47.2603 1.38563 45.5794C6.13902 40.6273 6.13902 36.5245 1.38563 31.5723C-0.241003 29.8734 0.463872 27.1443 2.72309 26.4575C9.42844 24.4151 11.4527 20.6558 9.80799 13.5709C9.28385 11.3297 11.272 9.35971 13.495 9.88385C20.5618 11.5286 24.3212 9.5043 26.3816 2.79895C27.0684 0.557812 29.8156 -0.165137 31.4964 1.4615C36.4486 6.21489 40.5514 6.21489 45.5036 1.4615C47.2025 -0.165137 49.9316 0.539738 50.6184 2.79895C52.6608 9.5043 56.4201 11.5286 63.505 9.88385C65.7461 9.35971 67.7162 11.3478 67.192 13.5709C65.5473 20.6377 67.5716 24.397 74.2769 26.4575C76.5181 27.1443 77.241 29.8915 75.6144 31.5723C70.861 36.5245 70.861 40.6273 75.6144 45.5794C77.241 47.2784 76.5362 50.0075 74.2769 50.6943C67.5716 52.7366 65.5473 56.496 67.192 63.5809C67.7162 65.822 65.7281 67.7921 63.505 67.2679Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default IssuerSeal;\n","import React from 'react';\n\ntype LeftArrowProps = {\n className?: string;\n color?: string;\n size?: string;\n};\n\nconst LeftArrow: React.FC<LeftArrowProps> = ({ className = '', size = '20' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M8.93299 17.942L1.43299 10.442C1.31582 10.3247 1.25 10.1657 1.25 9.99999C1.25 9.83423 1.31582 9.67526 1.43299 9.55802L8.93299 2.05802C9.02041 1.97062 9.13178 1.91111 9.25301 1.887C9.37425 1.8629 9.49991 1.87528 9.61412 1.92258C9.72832 1.96989 9.82593 2.04999 9.89461 2.15277C9.96329 2.25554 9.99995 2.37638 9.99996 2.49999V5.62499H16.25C16.5814 5.62537 16.8991 5.75718 17.1334 5.99152C17.3678 6.22586 17.4996 6.54358 17.5 6.87499V13.125C17.4996 13.4564 17.3678 13.7741 17.1334 14.0085C16.8991 14.2428 16.5814 14.3746 16.25 14.375H9.99996V17.5C9.99995 17.6236 9.96329 17.7444 9.89461 17.8472C9.82593 17.95 9.72832 18.0301 9.61412 18.0774C9.49991 18.1247 9.37425 18.1371 9.25301 18.113C9.13178 18.0889 9.02041 18.0294 8.93299 17.942Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default LeftArrow;\n","import React from 'react';\n\ntype LineProps = {\n className?: string;\n width?: string;\n};\n\nconst Line: React.FC<LineProps> = ({ className = '', width = '109' }) => {\n return (\n <svg\n width={width}\n height=\"6\"\n viewBox=\"0 0 109 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect y=\"0.575806\" width=\"109\" height=\"5\" rx=\"2.5\" fill=\"#E2E3E9\" />\n </svg>\n );\n};\n\nexport default Line;\n","import React from 'react';\n\ntype LinkIconProps = {\n className?: string;\n};\n\nconst LinkIcon: React.FC<LinkIconProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"33\"\n height=\"32\"\n viewBox=\"0 0 33 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M16.8117 7.91003L18.2677 6.45403C18.7784 5.94292 19.3847 5.53742 20.0521 5.26071C20.7195 4.98399 21.4348 4.84148 22.1573 4.84131C22.8798 4.84114 23.5953 4.98332 24.2628 5.25973C24.9303 5.53613 25.5368 5.94135 26.0477 6.45222C26.5586 6.9631 26.9638 7.56962 27.2402 8.23714C27.5166 8.90466 27.6588 9.6201 27.6586 10.3426C27.6584 11.0651 27.5159 11.7804 27.2392 12.4478C26.9625 13.1152 26.557 13.7216 26.0459 14.2322L22.5104 17.7677C21.9996 18.2785 21.3933 18.6836 20.726 18.96C20.0587 19.2364 19.3435 19.3787 18.6213 19.3787C17.899 19.3787 17.1838 19.2364 16.5165 18.96C15.8492 18.6836 15.2429 18.2785 14.7322 17.7677\"\n stroke=\"#6366F1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.188 24.0902L14.7322 25.546C14.2216 26.0571 13.6152 26.4626 12.9478 26.7393C12.2804 27.016 11.5651 27.1585 10.8426 27.1587C10.1201 27.1589 9.40466 27.0167 8.73714 26.7403C8.06962 26.4639 7.4631 26.0586 6.95222 25.5478C6.44135 25.0369 6.03613 24.4304 5.75973 23.7629C5.48332 23.0953 5.34114 22.3799 5.34131 21.6574C5.34148 20.9349 5.48399 20.2195 5.76071 19.5521C6.03742 18.8848 6.44292 18.2784 6.95403 17.7678L10.4896 14.2323C11.0003 13.7215 11.6066 13.3164 12.2739 13.04C12.9412 12.7636 13.6564 12.6213 14.3787 12.6213C15.1009 12.6213 15.8161 12.7636 16.4834 13.04C17.1507 13.3164 17.757 13.7215 18.2677 14.2323\"\n stroke=\"#6366F1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default LinkIcon;\n","import React from 'react';\n\ntype PersonBadgeProps = {\n className?: string;\n};\n\nconst PersonBadge: React.FC<PersonBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_378_5394)\">\n <g clipPath=\"url(#clip1_378_5394)\">\n <path\n d=\"M7.99375 9.45085C8.65625 9.45085 9.29375 9.18835 9.7625 8.7196C10.2312 8.25085 10.4937 7.61335 10.4937 6.95085C10.4937 6.4571 10.35 5.97585 10.075 5.56335C9.8 5.15085 9.4125 4.8321 8.95 4.6446C8.49375 4.4571 7.9875 4.4071 7.50625 4.50085C7.01875 4.5946 6.575 4.83835 6.225 5.1821C5.875 5.5321 5.6375 5.97585 5.54375 6.46335C5.45 6.95085 5.49375 7.45085 5.6875 7.9071C5.875 8.36335 6.2 8.7571 6.60625 9.0321C7.01875 9.3071 7.5 9.45085 7.99375 9.45085Z\"\n fill=\"#05B65D\"\n />\n <path\n d=\"M11.3375 11.9759C10.4187 11.1571 9.2375 10.7009 8.00625 10.7009C6.775 10.7009 5.5875 11.1509 4.675 11.9759C4.4 12.2196 4.1625 12.4946 3.95 12.7884C4.81875 12.7884 5.36875 13.1696 5.7375 14.0259C5.91875 14.4509 6.45 14.5821 6.8125 14.3071C7.64375 13.6696 8.3625 13.6696 9.19375 14.3071C9.5625 14.5821 10.0875 14.4509 10.2687 14.0259C10.6437 13.1634 11.1937 12.7821 12.0625 12.7884C11.85 12.4946 11.6125 12.2196 11.3375 11.9759Z\"\n fill=\"#05B65D\"\n />\n <path\n d=\"M14.7313 6.38838C15.0063 6.01963 14.8751 5.49463 14.4501 5.31338C13.4626 4.88213 13.1063 4.21963 13.2376 3.11338C13.2876 2.66963 12.9126 2.28838 12.4626 2.33838C11.3501 2.46963 10.6876 2.10713 10.2626 1.12588C10.0813 0.700884 9.55006 0.569634 9.18756 0.844634C8.35631 1.48213 7.63756 1.48213 6.80631 0.844634C6.43756 0.569634 5.91256 0.700884 5.73131 1.12588C5.30006 2.11338 4.63756 2.46963 3.53131 2.33838C3.08756 2.28838 2.70631 2.66338 2.75631 3.11338C2.88756 4.22588 2.52506 4.88838 1.54381 5.31338C1.12506 5.49463 0.993806 6.02588 1.26881 6.38838C1.90631 7.21963 1.90631 7.93838 1.26881 8.76963C0.993806 9.13838 1.12506 9.66338 1.55006 9.84463C2.53756 10.2759 2.89381 10.9384 2.76256 12.0446C2.75006 12.1259 2.76256 12.2071 2.78131 12.2821C2.86256 12.1634 2.93131 12.0321 3.01881 11.9196C3.70631 11.0196 4.61881 10.3196 5.66881 9.90088C5.05631 9.41963 4.60631 8.75713 4.38756 8.00713C4.16881 7.25713 4.18756 6.46338 4.44381 5.72588C4.70006 4.98838 5.17506 4.35088 5.81256 3.90088C6.45006 3.45088 7.20631 3.20713 7.98756 3.20713C8.76881 3.20713 9.52506 3.45088 10.1626 3.90088C10.8001 4.35088 11.2751 4.99463 11.5313 5.72588C11.7876 6.46338 11.8063 7.26338 11.5876 8.00713C11.3688 8.75713 10.9188 9.41338 10.3063 9.90088C11.3626 10.3196 12.2813 11.0196 12.9688 11.9196C13.0563 12.0384 13.1313 12.1696 13.2126 12.2884C13.2313 12.2134 13.2438 12.1321 13.2313 12.0446C13.1001 10.9321 13.4626 10.2696 14.4438 9.84463C14.8688 9.66338 15.0001 9.13213 14.7251 8.76963C14.0876 7.93838 14.0876 7.21963 14.7251 6.38838H14.7313Z\"\n fill=\"#05B65D\"\n />\n </g>\n </g>\n <defs>\n <clipPath id=\"clip0_378_5394\">\n <rect\n width=\"15\"\n height=\"15\"\n fill=\"white\"\n transform=\"translate(0.5 0.0758667)\"\n />\n </clipPath>\n <clipPath id=\"clip1_378_5394\">\n <rect\n width=\"13.75\"\n height=\"13.75\"\n fill=\"white\"\n transform=\"translate(1.125 0.700867)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default PersonBadge;\n","import React from 'react';\n\ntype RedFlagProps = {\n className?: string;\n};\n\nconst RedFlag: React.FC<RedFlagProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"15\"\n viewBox=\"0 0 16 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_459_5374)\">\n <path\n d=\"M14.7314 6.31252C15.0064 5.94377 14.8751 5.41877 14.4501 5.23752C13.4626 4.80627 13.1064 4.14377 13.2376 3.03752C13.2876 2.59377 12.9126 2.21252 12.4626 2.26252C11.3501 2.39377 10.6876 2.03127 10.2626 1.05002C10.0814 0.625017 9.55012 0.493767 9.18762 0.768767C8.35637 1.40627 7.63762 1.40627 6.80637 0.768767C6.43762 0.493767 5.91262 0.625017 5.73137 1.05002C5.30012 2.03752 4.63762 2.39377 3.53137 2.26252C3.08762 2.21252 2.70637 2.58752 2.75637 3.03752C2.88762 4.15002 2.52512 4.81252 1.54387 5.23752C1.12512 5.41877 0.993867 5.95002 1.26887 6.31252C1.90637 7.14377 1.90637 7.86252 1.26887 8.69377C0.993867 9.06252 1.12512 9.58752 1.55012 9.76877C2.53762 10.2 2.89387 10.8625 2.76262 11.9688C2.71262 12.4125 3.08762 12.7938 3.53762 12.7438C4.65012 12.6125 5.31262 12.975 5.73762 13.9563C5.91887 14.3813 6.45012 14.5125 6.81262 14.2375C6.81887 14.2375 6.82512 14.2313 6.83137 14.225L4.05012 6.26877C4.05012 6.26877 4.05012 6.24377 4.05012 6.23127C3.98137 6.02502 3.98137 5.80002 4.09387 5.59377C5.09387 3.79377 6.67512 4.01252 7.83137 4.16877C8.99387 4.32502 9.53137 4.36252 9.99387 3.53127C10.1439 3.26252 10.4314 3.10627 10.7439 3.13127C11.0501 3.15627 11.3126 3.36252 11.4126 3.65002L13.0876 8.44377C13.1626 8.65627 13.1439 8.88752 13.0314 9.08127C12.0314 10.8813 10.4501 10.6688 9.29387 10.5063C8.27512 10.3688 7.73762 10.325 7.31262 10.8625L8.33762 13.7938C8.61262 13.8563 8.89387 14 9.18762 14.225C9.55637 14.5 10.0814 14.3688 10.2626 13.9438C10.6939 12.9563 11.3564 12.6 12.4626 12.7313C12.9064 12.7813 13.2876 12.4063 13.2376 11.9563C13.1064 10.8438 13.4689 10.1813 14.4501 9.75627C14.8751 9.57502 15.0064 9.04377 14.7314 8.68127C14.0939 7.85002 14.0939 7.13127 14.7314 6.30002V6.31252Z\"\n fill=\"#EB001B\"\n />\n <path\n d=\"M9.5062 8.95624C10.525 9.09374 11.0625 9.13749 11.4875 8.59999L10.3687 5.39374C9.4812 5.96874 8.4437 5.82499 7.6187 5.71249C6.59995 5.57499 6.06245 5.53124 5.63745 6.07499L6.7562 9.28124C7.6437 8.71249 8.6812 8.84999 9.49995 8.96249L9.5062 8.95624Z\"\n fill=\"#EB001B\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_459_5374\">\n <rect\n width=\"13.75\"\n height=\"13.75\"\n fill=\"white\"\n transform=\"translate(1.125 0.625)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default RedFlag;\n","import React from 'react';\n\ntype RoundedCornerProps = {\n className?: string;\n};\n\nconst RoundedCorner: React.FC<RoundedCornerProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"29\"\n height=\"30\"\n viewBox=\"0 0 29 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M27 2.42419C27 16.2348 15.8106 27.4242 2 27.4242\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default RoundedCorner;\n","import React from 'react';\n\ntype SmileyProps = {\n className?: string;\n};\n\nconst Smiley: React.FC<SmileyProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"35\"\n height=\"36\"\n viewBox=\"0 0 35 36\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M17.5 30.7008C24.7487 30.7008 30.625 24.8245 30.625 17.5758C30.625 10.3271 24.7487 4.45081 17.5 4.45081C10.2513 4.45081 4.375 10.3271 4.375 17.5758C4.375 24.8245 10.2513 30.7008 17.5 30.7008Z\"\n stroke=\"#FBFBFC\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1846 20.8566C22.608 21.8538 21.7792 22.6818 20.7815 23.2575C19.7837 23.8332 18.652 24.1362 17.5001 24.1362C16.3482 24.1363 15.2165 23.8332 14.2187 23.2576C13.2209 22.6819 12.3921 21.8539 11.8156 20.8567\"\n stroke=\"#FBFBFC\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.5781 16.2086C13.3332 16.2086 13.9453 15.5965 13.9453 14.8414C13.9453 14.0864 13.3332 13.4742 12.5781 13.4742C11.823 13.4742 11.2109 14.0864 11.2109 14.8414C11.2109 15.5965 11.823 16.2086 12.5781 16.2086Z\"\n fill=\"#FBFBFC\"\n />\n <path\n d=\"M22.4219 16.2086C23.177 16.2086 23.7891 15.5965 23.7891 14.8414C23.7891 14.0864 23.177 13.4742 22.4219 13.4742C21.6668 13.4742 21.0547 14.0864 21.0547 14.8414C21.0547 15.5965 21.6668 16.2086 22.4219 16.2086Z\"\n fill=\"#FBFBFC\"\n />\n </svg>\n );\n};\n\nexport default Smiley;\n","import React from 'react';\n\ntype UnknownVerifierBadgeProps = {\n className?: string;\n};\n\nconst UnknownVerifierBadge: React.FC<UnknownVerifierBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"15\"\n viewBox=\"0 0 16 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M14.7312 6.31252C15.0062 5.94377 14.875 5.41877 14.45 5.23752C13.4625 4.80627 13.1062 4.14377 13.2375 3.03752C13.2875 2.59377 12.9125 2.21252 12.4625 2.26252C11.35 2.39377 10.6875 2.03127 10.2625 1.05002C10.0812 0.625017 9.54999 0.493767 9.18749 0.768767C8.35624 1.40627 7.6375 1.40627 6.80624 0.768767C6.43749 0.493767 5.9125 0.625017 5.73125 1.05002C5.29999 2.03752 4.6375 2.39377 3.53124 2.26252C3.08749 2.21252 2.70624 2.58752 2.75624 3.03752C2.88749 4.15002 2.525 4.81252 1.54375 5.23752C1.125 5.41877 0.993745 5.95002 1.26875 6.31252C1.90625 7.14377 1.90625 7.86252 1.26875 8.69377C0.993745 9.06252 1.125 9.58752 1.55 9.76877C2.5375 10.2 2.89374 10.8625 2.76249 11.9688C2.71249 12.4125 3.08749 12.7938 3.53749 12.7438C4.64999 12.6125 5.3125 12.975 5.7375 13.9563C5.91875 14.3813 6.45 14.5125 6.8125 14.2375C7.64374 13.6 8.36249 13.6 9.19374 14.2375C9.5625 14.5125 10.0875 14.3813 10.2687 13.9563C10.7 12.9688 11.3625 12.6125 12.4687 12.7438C12.9125 12.7938 13.2937 12.4188 13.2437 11.9688C13.1125 10.8563 13.475 10.1938 14.4562 9.76877C14.8812 9.58752 15.0125 9.05627 14.7375 8.69377C14.1 7.86252 14.1 7.14377 14.7375 6.31252H14.7312ZM8.59374 11.6438C8.40624 11.8125 8.17499 11.9 7.89999 11.9C7.62499 11.9 7.40624 11.8125 7.21874 11.6438C7.03749 11.475 6.94999 11.2563 6.94999 10.9938C6.94999 10.7313 7.03749 10.525 7.21874 10.3438C7.39999 10.1625 7.63125 10.0625 7.89999 10.0625C8.16875 10.0625 8.40624 10.15 8.59374 10.3313C8.78749 10.5125 8.8875 10.7313 8.8875 10.9875C8.8875 11.2438 8.78749 11.4625 8.59374 11.6375V11.6438ZM10.25 6.49377C10.0937 6.73127 9.825 6.99377 9.43124 7.28752C8.98125 7.61877 8.66875 8.06252 8.48125 8.60627C8.4375 8.73127 8.41875 9.03127 8.41875 9.51877H7.2C7.16875 9.36252 7.15625 9.16252 7.17499 8.90627C7.19375 8.51877 7.2 8.34377 7.2 8.39377C7.2 7.96252 7.28749 7.61252 7.46874 7.34377C7.61249 7.12502 7.95 6.80002 8.48125 6.38127C8.86875 6.06252 9.06874 5.73127 9.06874 5.38127C9.06874 5.07502 8.96875 4.79377 8.7625 4.55002C8.56875 4.30002 8.33749 4.16877 8.08124 4.16877C7.4125 4.16877 6.93125 4.60627 6.63125 5.48752L5.45624 5.00002C5.75 4.30627 6.08749 3.81877 6.46875 3.53752C6.85 3.24377 7.375 3.10002 8.03125 3.10002C8.84374 3.10002 9.48125 3.31877 9.9375 3.75627C10.3437 4.16252 10.55 4.70627 10.55 5.38127C10.55 5.81252 10.45 6.18127 10.2562 6.49377H10.25Z\"\n fill=\"#EF5D35\"\n />\n </svg>\n );\n};\n\nexport default UnknownVerifierBadge;\n","import React from 'react';\n\ntype VerifiedBadgeProps = {\n className?: string;\n};\n\nconst VerifiedBadge: React.FC<VerifiedBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_445_5415)\">\n <path\n d=\"M14.4505 5.30927C14.2501 5.22341 14.0842 5.12611 13.9354 5.01737L8.51512 10.4376C8.34914 10.6036 8.12592 10.6894 7.90842 10.6894C7.69093 10.6894 7.46771 10.6036 7.30172 10.4376L4.7719 7.90777C4.43421 7.57008 4.43421 7.02634 4.7719 6.69437C5.10959 6.36241 5.65333 6.35668 5.9853 6.69437L7.90842 8.6175L13.2256 3.30029C13.2256 3.23733 13.2256 3.1801 13.2371 3.11141C13.2886 2.6707 12.9108 2.28722 12.4644 2.33873C11.3597 2.47037 10.6958 2.11551 10.2665 1.12533C10.0834 0.707511 9.55109 0.570146 9.1905 0.844877C8.36059 1.48019 7.63941 1.48019 6.8095 0.844877C6.44319 0.570146 5.91662 0.701788 5.73346 1.12533C5.30992 2.10979 4.64598 2.47037 3.53561 2.33873C3.09489 2.28722 2.71141 2.66498 2.76293 3.11141C2.89457 4.21606 2.53971 4.88 1.54953 5.30927C1.12598 5.49242 0.99434 6.02472 1.26907 6.3853C1.90439 7.21522 1.90439 7.93639 1.26907 8.76631C0.99434 9.13262 1.12598 9.65919 1.54953 9.84234C2.53398 10.2659 2.89457 10.9298 2.76293 12.0402C2.71141 12.4809 3.08917 12.8644 3.53561 12.8129C4.64026 12.6812 5.30419 13.0361 5.73346 14.0263C5.91662 14.4441 6.44891 14.5815 6.8095 14.3067C7.63941 13.6714 8.36059 13.6714 9.1905 14.3067C9.55681 14.5815 10.0834 14.4498 10.2665 14.0263C10.6901 13.0418 11.354 12.6812 12.4644 12.8129C12.9051 12.8644 13.2886 12.4866 13.2371 12.0402C13.1054 10.9355 13.4603 10.2716 14.4505 9.84234C14.8683 9.65919 15.0057 9.12689 14.7309 8.76631C14.0956 7.93639 14.0956 7.21522 14.7309 6.3853C15.0057 6.01899 14.874 5.49242 14.4505 5.30927Z\"\n fill=\"#026BFF\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_445_5415\">\n <rect\n width=\"15\"\n height=\"15\"\n fill=\"white\"\n transform=\"translate(0.5 0.0758057)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default VerifiedBadge;\n","import React from 'react';\n\ntype VideoIconProps = {\n className?: string;\n size?: string;\n};\n\nconst VideoIcon: React.FC<VideoIconProps> = ({ className = '', size = '25' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.61304 4.5H12.4051C14.8271 4.5 16.5181 6.16904 16.5181 8.56091V15.4391C16.5181 17.831 14.8271 19.5 12.4051 19.5H6.61304C4.19102 19.5 2.5 17.831 2.5 15.4391V8.56091C2.5 6.16904 4.19102 4.5 6.61304 4.5ZM20.458 6.87898C20.897 6.65563 21.412 6.67898 21.831 6.94294C22.25 7.20589 22.5 7.66274 22.5 8.16223V15.8384C22.5 16.3389 22.25 16.7947 21.831 17.0577C21.602 17.2008 21.346 17.2739 21.088 17.2739C20.873 17.2739 20.658 17.2231 20.457 17.1206L18.976 16.3734C18.428 16.0952 18.088 15.5369 18.088 14.9165V9.08305C18.088 8.46173 18.428 7.90335 18.976 7.62721L20.458 6.87898Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default VideoIcon;\n","import React from 'react';\n\ntype XProps = {\n className?: string;\n};\n\nconst X: React.FC<XProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 11 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M7.47753 10.25C7.20582 9.8045 6.92868 9.37104 6.6461 8.94962C6.37439 8.52218 6.08637 8.09173 5.78206 7.65827C5.49948 8.07969 5.22233 8.50412 4.95062 8.93156C4.67891 9.35298 4.41807 9.78042 4.1681 10.2139L0.5 10.1055C1.15211 9.33492 1.78247 8.57335 2.39111 7.82082C3.01061 7.06828 3.60294 6.3007 4.1681 5.51806C3.5812 4.74747 2.98344 3.98891 2.3748 3.2424C1.77704 2.48986 1.17384 1.73131 0.565211 0.96673L4.38003 0.75C4.77129 1.57478 5.23864 2.3815 5.78206 3.17015C6.01029 2.77883 6.24397 2.38451 6.48307 1.98717C6.73305 1.58983 6.96672 1.17744 7.18409 0.75L10.95 0.912548C10.2979 1.67712 9.67839 2.43267 9.0915 3.17918C8.5046 3.9257 7.92314 4.68124 7.34711 5.44582C7.9014 6.21039 8.46113 6.95691 9.02629 7.68536C9.60231 8.41382 10.1783 9.1513 10.7544 9.89781L7.47753 10.25Z\"\n fill=\"#FF2C3C\"\n />\n </svg>\n );\n};\n\nexport default X;\n","import React from 'react';\nimport CaretRightFilled from '../../assets/images/CaretRightFilled.svg';\n\ntype AlignmentsRowProps = {\n url?: string\n name?: string\n framework?: string\n};\nconst AlignmentRow:React.FC<AlignmentsRowProps> = ({ \n url,\n name,\n framework\n }) => {\n return (\n <div className=\"flex flex-col gap-[5px] font-poppins text-[12px] bg-[#DBEAFE] rounded-[15px] border-b-[1px] border-grayscale-200 border-solid w-full p-[10px] last:border-0\">\n <h1 className=\"text-blue-800 font-semibold uppercase\">{framework}</h1>\n {/* this might need to change to a link depends on how it comes back after the api call */}\n <button className=\"flex\" onClick={() => window.open(url)}>\n <span className=\"text-left\">{name}</span>\n <img className=\"w-[20px] self-end\" src={CaretRightFilled} alt=\"right-caret\"/>\n </button>\n </div>\n );\n};\n\nexport default AlignmentRow;\n","import React from 'react';\n\ntype InfoBoxProps = {\n text: string;\n handleClose: () => void;\n backgroundColor?: string;\n};\n\nconst InfoBox: React.FC<InfoBoxProps> = ({ text, handleClose, backgroundColor = '#6366F1' }) => {\n const bgColorWithOpacity = `${backgroundColor}1F`; // 12% opacity\n return (\n <div\n className=\"info-box p-[10px] rounded-[10px] w-full font-poppins text-[12px] leading[18px]\"\n style={{ backgroundColor: bgColorWithOpacity }}\n >\n {text}{' '}\n <button\n onClick={e => {\n e.stopPropagation();\n handleClose();\n }}\n className=\"text-indigo-500 font-[700] select-none\"\n >\n Close\n </button>\n </div>\n );\n};\n\nexport default InfoBox;\n","import React, { useState } from 'react';\n\nimport AlignmentRow from './AlignmentRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\ntype Alignment = {\n targetUrl: string;\n targetName: string;\n targetFramework: string;\n}\n\ntype AlignmentsBoxProps = {\n alignment: Alignment | Alignment[];\n style: 'Certificate' | 'boost'; \n};\n\nconst AlignmentsBox:React.FC<AlignmentsBoxProps> = ({ alignment, style }) => {\n const [showInfo, setShowInfo] = useState(false);\n const alignmentText = `\n Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies. \n Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.\n `;\n\n const alignments = Array.isArray(alignment)\n ? alignment.map((object, index) => (\n <AlignmentRow\n key={index}\n url={object.targetUrl}\n name={object.targetName}\n framework={object.targetFramework}\n />\n ))\n : alignment && (\n <AlignmentRow\n url={alignment.targetUrl}\n name={alignment.targetName}\n framework={alignment.targetFramework}\n />\n );\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3 className={style === \"Certificate\" ? \"text-[17px] text-grayscale-900 font-poppins\" : \"text-[22px] font-mouse\"}>Alignments</h3>\n <button className=\"ml-auto\" onClick={() => setShowInfo(!showInfo)}>\n <InfoIcon color={showInfo ? '#6366F1' : undefined} />\n </button>\n </div>\n {showInfo && (\n <InfoBox\n text={alignmentText}\n handleClose={() => setShowInfo(false)}\n />\n )}\n {alignments}\n </div>\n );\n};\n\nexport default AlignmentsBox;\n","import React from 'react';\n\nimport PuzzlePiece from '../svgs/PuzzlePiece';\n\nimport { categorizeSkills, getTotalCountOfSkills } from '../../helpers/credential.helpers';\n\n// Copy of VCDisplayCardSkillsCount, necessary to avoid circular dependency\nexport const CertDisplayCardSkillsCount: React.FC<{\n skills: { category: string; skill: string; subSkills: string[] }[];\n onClick?: () => void;\n}> = ({ skills, onClick }) => {\n const skillsCount = getTotalCountOfSkills(skills);\n\n if (skillsCount === 0) return <></>;\n\n const skillsMap = categorizeSkills(skills);\n\n // Calculate total count of skills and subskills\n const totalSkills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + category?.length,\n 0\n );\n const totalSubskills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + (category?.totalSubskillsCount || 0),\n 0\n );\n\n const total: any = totalSkills + totalSubskills;\n\n const text: string = skillsCount === 1 ? 'Skill' : 'Skills';\n\n return (\n <div\n className=\"flex items-center justify-center mt-8 cursor-pointer px-4 py-2 bg-white rounded-[20px] shadow-bottom\"\n onClick={onClick}\n >\n <div className=\"text-violet-500 text-xl flex items-center justify-center tracking-[0.75px] font-poppins font-semibold\">\n +{total} {text}{' '}\n <div className=\"bg-violet-500 rounded-full flex items-center justify-center ml-2 h-[30px] w-[30px] p-1\">\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n </div>\n </div>\n );\n};\n\nexport default CertDisplayCardSkillsCount;\n","export const truncateWithEllipsis = (str: string, maxLength: number) => {\n return str.length > maxLength ? `${str.substring(0, maxLength)}...` : str;\n};\n\nexport const capitalize = (string?: string): string => {\n return string ? string[0].toUpperCase() + string.slice(1) : '';\n};\n","import React, { useState } from 'react';\nimport { VerificationItem, VerificationStatusEnum } from '@learncard/types';\nimport { getColorForVerificationStatus } from '../../helpers/credential.helpers';\n\nimport InfoBox from './InfoBox';\nimport InfoIcon from '../svgs/InfoIcon';\nimport AcuteCheckmark from '../svgs/AcuteCheckmark';\nimport ExclamationPoint from '../svgs/ExclamationPoint';\nimport X from '../svgs/X';\nimport { capitalize } from '../../helpers/string.helpers';\n\ntype VerificationRowProps = {\n verification: VerificationItem;\n};\n\nconst VerificationRow: React.FC<VerificationRowProps> = ({ verification }) => {\n const [showInfo, setShowInfo] = useState(false);\n const statusColor = getColorForVerificationStatus(verification.status);\n\n const getIcon = () => {\n switch (verification.status) {\n case VerificationStatusEnum.Success:\n return <AcuteCheckmark />;\n case VerificationStatusEnum.Error:\n return <ExclamationPoint />;\n case VerificationStatusEnum.Failed:\n return <X />;\n }\n };\n\n let primaryText = verification.check\n ? `${verification.check}: ${verification.message}`\n : verification.message;\n if (verification.status === VerificationStatusEnum.Failed) {\n primaryText = verification.message ?? verification.details ?? '';\n }\n primaryText = capitalize(primaryText);\n\n const infoText = ''; // if we want certain verifications to have extra explanation, we can set this variable\n\n return (\n <div className=\"verification-row flex flex-col gap-[5px] font-poppins border-b-[1px] border-grayscale-200 border-solid w-full py-[10px] last:border-0 last:pb-0\">\n <span\n className=\"font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none\"\n style={{ color: statusColor }}\n >\n {getIcon()}\n {verification.status}\n {infoText && (\n <button className=\"ml-auto\" onClick={() => setShowInfo(!showInfo)}>\n <InfoIcon color={statusColor} />\n </button>\n )}\n </span>\n {showInfo && infoText && (\n <InfoBox\n text={infoText}\n handleClose={() => setShowInfo(false)}\n backgroundColor={statusColor}\n />\n )}\n <span className=\"text-[14px] text-grayscale-900 font-poppins\">{primaryText}</span>\n </div>\n );\n};\n\nexport default VerificationRow;\n","import React, { useState } from 'react';\n\nimport VerificationRow from './VerificationRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\nimport { VerificationItem } from '@learncard/types';\n\ntype VerificationsBoxProps = {\n verificationItems: VerificationItem[];\n};\n\nconst VerificationsBox: React.FC<VerificationsBoxProps> = ({ verificationItems }) => {\n const [showInfo, setShowInfo] = useState(false);\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Verifications</h3>\n <button\n className=\"ml-auto\"\n onClick={e => {\n e.stopPropagation();\n setShowInfo(!showInfo);\n }}\n >\n <InfoIcon color={showInfo ? '#6366F1' : undefined} />\n </button>\n </div>\n {showInfo && (\n <InfoBox\n text=\"Credential verifications check the cryptographic proof of digital credentials to ensure their authenticity and accuracy.\"\n handleClose={() => setShowInfo(false)}\n />\n )}\n\n {verificationItems.map((verification, index) => (\n <VerificationRow key={index} verification={verification} />\n ))}\n </div>\n );\n};\n\nexport default VerificationsBox;\n","import React, { useState } from 'react';\n\ntype TruncateTextBoxProps = {\n headerText: string;\n headerClassName?: string;\n\n // the text to be truncated if it's too long\n text: string;\n\n truncateThreshold?: number;\n\n // extra things to put at the bottom of the box\n children?: React.ReactNode;\n className?: string;\n};\n\nconst TruncateTextBox: React.FC<TruncateTextBoxProps> = ({\n headerText,\n headerClassName = '',\n text,\n truncateThreshold = 132,\n children,\n className = 'truncate-text-box',\n}) => {\n const needsTruncate = text?.length > truncateThreshold;\n const [showFullText, setShowFullText] = useState(false);\n const truncated = needsTruncate && !showFullText;\n\n const displayText = truncated ? text.substring(0, truncateThreshold) : text;\n\n return (\n <div\n className={`${className} w-full bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px]`}\n >\n <h3 className={`${headerClassName} text-[17px] text-grayscale-900 font-poppins`}>\n {headerText}\n </h3>\n\n <p className=\"text-[12px] text-grayscale-700 font-poppins mb-0 flex flex-col items-start\">\n {displayText}\n {truncated && (\n <>\n ...\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(true);\n }}\n >\n Show more\n </button>\n </>\n )}\n {needsTruncate && showFullText && (\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(false);\n }}\n >\n Show less\n </button>\n )}\n </p>\n\n {children}\n </div>\n );\n};\n\nexport default TruncateTextBox;\n","const BYTE_UNITS = [\n\t'B',\n\t'kB',\n\t'MB',\n\t'GB',\n\t'TB',\n\t'PB',\n\t'EB',\n\t'ZB',\n\t'YB',\n];\n\nconst BIBYTE_UNITS = [\n\t'B',\n\t'kiB',\n\t'MiB',\n\t'GiB',\n\t'TiB',\n\t'PiB',\n\t'EiB',\n\t'ZiB',\n\t'YiB',\n];\n\nconst BIT_UNITS = [\n\t'b',\n\t'kbit',\n\t'Mbit',\n\t'Gbit',\n\t'Tbit',\n\t'Pbit',\n\t'Ebit',\n\t'Zbit',\n\t'Ybit',\n];\n\nconst BIBIT_UNITS = [\n\t'b',\n\t'kibit',\n\t'Mibit',\n\t'Gibit',\n\t'Tibit',\n\t'Pibit',\n\t'Eibit',\n\t'Zibit',\n\t'Yibit',\n];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n\tlet result = number;\n\tif (typeof locale === 'string' || Array.isArray(locale)) {\n\t\tresult = number.toLocaleString(locale, options);\n\t} else if (locale === true || options !== undefined) {\n\t\tresult = number.toLocaleString(undefined, options);\n\t}\n\n\treturn result;\n};\n\nexport default function prettyBytes(number, options) {\n\tif (!Number.isFinite(number)) {\n\t\tthrow new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n\t}\n\n\toptions = {\n\t\tbits: false,\n\t\tbinary: false,\n\t\t...options,\n\t};\n\n\tconst UNITS = options.bits\n\t\t? (options.binary ? BIBIT_UNITS : BIT_UNITS)\n\t\t: (options.binary ? BIBYTE_UNITS : BYTE_UNITS);\n\n\tif (options.signed && number === 0) {\n\t\treturn ` 0 ${UNITS[0]}`;\n\t}\n\n\tconst isNegative = number < 0;\n\tconst prefix = isNegative ? '-' : (options.signed ? '+' : '');\n\n\tif (isNegative) {\n\t\tnumber = -number;\n\t}\n\n\tlet localeOptions;\n\n\tif (options.minimumFractionDigits !== undefined) {\n\t\tlocaleOptions = {minimumFractionDigits: options.minimumFractionDigits};\n\t}\n\n\tif (options.maximumFractionDigits !== undefined) {\n\t\tlocaleOptions = {maximumFractionDigits: options.maximumFractionDigits, ...localeOptions};\n\t}\n\n\tif (number < 1) {\n\t\tconst numberString = toLocaleString(number, options.locale, localeOptions);\n\t\treturn prefix + numberString + ' ' + UNITS[0];\n\t}\n\n\tconst exponent = Math.min(Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3), UNITS.length - 1);\n\tnumber /= (options.binary ? 1024 : 1000) ** exponent;\n\n\tif (!localeOptions) {\n\t\tnumber = number.toPrecision(3);\n\t}\n\n\tconst numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n\tconst unit = UNITS[exponent];\n\n\treturn prefix + numberString + ' ' + unit;\n}\n","export const getBaseUrl = (url: string) => {\n return url.replace(/(https?:\\/\\/(www\\.)?)/, '').split('/')[0];\n};\n","import React, { useEffect, useState } from 'react';\nimport prettyBytes from 'pretty-bytes';\n\nimport Camera from '../svgs/Camera';\nimport LinkIcon from '../svgs/LinkIcon';\nimport VideoIcon from '../svgs/VideoIcon';\nimport GenericDocumentIcon from '../svgs/GenericDocumentIcon';\n\nimport { Attachment, MediaMetadata, VideoMetadata } from '../../types';\nimport { getBaseUrl } from '../../helpers/url.helpers';\nimport { Lightbox, LightboxItem } from '../Lightbox';\n\ntype MediaAttachmentsBoxProps = {\n attachments: Attachment[];\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n};\n\nconst defaultGetFileMetadata = async (url: string) => {\n console.log({ url });\n const isFilestack = url.includes('filestack');\n if (!isFilestack) return;\n\n const urlParams = url.split('.com/')[1]?.split('/');\n if (!urlParams) return;\n const handle = urlParams[urlParams.length - 1];\n\n let fetchFailed = false;\n const data = await fetch(`https://cdn.filestackcontent.com/${handle}/metadata`)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n if (fetchFailed) return;\n\n const fileExtension = data.filename.split('.')[1];\n\n return {\n fileExtension,\n sizeInBytes: data.size,\n numberOfPages: undefined,\n };\n};\n\n// Function to determine if the URL is from YouTube\nconst isYoutubeUrl = (url: string) => {\n const youtubeUrl = new URL(url);\n return youtubeUrl.hostname === 'www.youtube.com';\n};\n\n// Function to get the YouTube video ID from the URL\nconst getYoutubeVideoId = (url: string) => {\n const regex = /(?:\\?v=|\\.com\\/embed\\/)([^&]+)/;\n const match = url.match(regex);\n return match ? match[1] : '';\n};\n\n// Function to get the cover image URL for YouTube videos\nconst getCoverImageUrl = (youtubeWatchUrl: string) => {\n if (!isYoutubeUrl(youtubeWatchUrl)) {\n return ''; // Return an empty string if the URL is not a YouTube URL\n }\n\n const videoId = getYoutubeVideoId(youtubeWatchUrl);\n // Construct and return the URL for the video's cover image\n // This URL fetches the highest resolution image available\n return videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : '';\n};\n\nconst defaultGetVideoMetadata = async (url: string) => {\n const isYoutube = isYoutubeUrl(url);\n if (!isYoutube) return;\n\n const metadataUrl = `http://youtube.com/oembed?url=${url}&format=json`;\n\n let fetchFailed = false;\n const metadata = await fetch(metadataUrl)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n const coverImageUrl = getCoverImageUrl(url);\n\n if (fetchFailed) return { imageUrl: coverImageUrl };\n\n return {\n title: metadata.title,\n imageUrl: coverImageUrl,\n videoLength: '', // TODO figure out how to get this\n };\n};\n\nconst MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({\n attachments,\n getFileMetadata = defaultGetFileMetadata,\n getVideoMetadata = defaultGetVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox = false,\n}) => {\n const [documentMetadata, setDocumentMetadata] = useState<{\n [documentUrl: string]: MediaMetadata | undefined;\n }>({});\n const [videoMetadata, setVideoMetadata] = useState<{\n [videoUrl: string]: VideoMetadata | undefined;\n }>({});\n\n const mediaAttachments: Attachment[] = [];\n const documentsAndLinks: Attachment[] = [];\n attachments.forEach(a => {\n switch (a.type) {\n case 'document':\n case 'link':\n documentsAndLinks.push(a);\n break;\n case 'photo':\n case 'video':\n mediaAttachments.push(a);\n break;\n default:\n break;\n }\n });\n\n useEffect(() => {\n const getMetadata = async (attachments: Attachment[]): Promise<any> => {\n const docMetadata: { [docUrl: string]: MediaMetadata | undefined } = {};\n const videoMetadata: { [videoUrl: string]: VideoMetadata | undefined } = {};\n await Promise.all(\n attachments.map(async attachment => {\n if (attachment.type === 'document') {\n docMetadata[attachment.url] = await getFileMetadata(attachment.url);\n } else if (attachment.type === 'video') {\n videoMetadata[attachment.url] = await getVideoMetadata(attachment.url);\n }\n })\n );\n\n setVideoMetadata(videoMetadata);\n setDocumentMetadata(docMetadata);\n };\n\n const videos = attachments.filter(a => a.type === 'video');\n getMetadata([...documentsAndLinks, ...videos]);\n }, []);\n\n const [currentLightboxUrl, setCurrentLightboxUrl] = useState<string | undefined>(undefined);\n const lightboxItems = mediaAttachments.filter(\n a => a.type === 'photo' || a.type === 'video'\n ) as LightboxItem[];\n const handleMediaAttachmentClick = (\n url: string,\n type: 'photo' | 'document' | 'video' | 'link'\n ) => {\n if (type === 'photo' || type === 'video') {\n setCurrentLightboxUrl(url);\n }\n\n onMediaAttachmentClick?.(url, type);\n };\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Attachments</h3>\n {mediaAttachments.length > 0 && (\n <div className=\"flex gap-[5px] justify-between flex-wrap w-full\">\n {enableLightbox && (\n <Lightbox\n items={lightboxItems}\n currentUrl={currentLightboxUrl}\n setCurrentUrl={setCurrentLightboxUrl}\n />\n )}\n {mediaAttachments.map((media, index) => {\n let innerContent: React.ReactNode;\n let title = media.title;\n\n if (media.type === 'video') {\n const metadata = videoMetadata[media.url];\n title = (title || metadata?.title) ?? '';\n const baseUrl = getBaseUrl(media.url);\n\n innerContent = (\n <div\n className=\"bg-cover bg-no-repeat bg-center relative font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600 rounded-[15px] h-full\"\n style={{\n backgroundImage: metadata?.imageUrl\n ? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${metadata?.imageUrl ?? ''\n })`\n : undefined,\n }}\n >\n {!metadata?.imageUrl && (\n <VideoIcon size=\"60\" className=\"m-auto\" />\n )}\n <div className=\"absolute bottom-[10px] left-[10px] z-10 flex items-center gap-[5px]\">\n {metadata?.imageUrl && <VideoIcon />}\n {metadata?.videoLength && (\n <span className=\"leading-[23px]\">\n {metadata.videoLength}\n </span>\n )}\n </div>\n </div>\n );\n } else {\n innerContent = (\n <div className=\"h-full w-full flex items-center justify-center\">\n <img className=\"object-cover h-full w-full\" src={media.url} />\n <Camera className=\"absolute bottom-[10px] left-[10px] z-10\" />\n </div>\n );\n }\n\n const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;\n\n if (onMediaAttachmentClick || enableLightbox) {\n return (\n <div\n key={index}\n className=\"flex bg-grayscale-100 items-center rounded-[15px] w-full\"\n >\n <button\n className=\"h-[80px] w-[80px] rounded-[15px] overflow-hidden flex-shrink-0\"\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(media.url, media.type);\n }}\n >\n {innerContent}\n </button>\n {title && (\n <div className=\"text-[12px] text-grayscale-900 font-poppins px-[10px] line-clamp-3\">\n {title}\n </div>\n )}\n </div>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n {documentsAndLinks.length > 0 && (\n <div className=\"w-full flex flex-col gap-[5px]\">\n {documentsAndLinks.map((docOrLink, index) => {\n const metadata =\n docOrLink.type === 'document'\n ? documentMetadata[docOrLink.url]\n : undefined;\n const { fileExtension, sizeInBytes, numberOfPages } = metadata ?? {};\n\n let baseUrl = '';\n if (docOrLink.type === 'link') {\n baseUrl = getBaseUrl(docOrLink.url);\n }\n\n const innerContent = (\n <div className=\"flex flex-col gap-[5px]\">\n <div className=\"flex gap-[5px] items-center\">\n {docOrLink.type === 'document' && (\n <GenericDocumentIcon className=\"shrink-0\" />\n )}\n {docOrLink.type === 'link' && <LinkIcon className=\"shrink-0\" />}\n\n <div className=\"flex flex-col\">\n <span className=\"text-grayscale-900 font-[400]\">\n {docOrLink.title ?? 'No title'}\n </span>\n {docOrLink.type === 'document' && metadata && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-grayscale-700 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {fileExtension && (\n <span className=\"uppercase\">\n {fileExtension}\n </span>\n )}\n {fileExtension &&\n (numberOfPages || sizeInBytes) &&\n ' • '}\n {numberOfPages && (\n <span>\n {numberOfPages} page\n {numberOfPages === 1 ? '' : 's'}\n </span>\n )}\n {numberOfPages && sizeInBytes && ' • '}\n {sizeInBytes && (\n <span>{prettyBytes(sizeInBytes)}</span>\n )}\n </a>\n )}\n {docOrLink.type === 'link' && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-indigo-500 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {baseUrl}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n\n const className = `row-attachment ${docOrLink.type} bg-grayscale-100 rounded-[15px] p-[10px] w-full font-poppins text-[12px] leading-[18px] tracking-[-0.33px] text-left`;\n\n if (onMediaAttachmentClick) {\n return (\n <button\n key={index}\n className={className}\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(docOrLink.url, docOrLink.type);\n }}\n >\n {innerContent}\n </button>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default MediaAttachmentsBox;\n","import Athletics from '../assets/images/athletics.svg';\nimport Business from '../assets/images/business.svg';\nimport Creative from '../assets/images/creative.svg';\nimport Digital from '../assets/images/digital.svg';\nimport Durable from '../assets/images/durable.svg';\nimport Medical from '../assets/images/medical.svg';\nimport Social from '../assets/images/social.svg';\nimport Stem from '../assets/images/stem.svg';\nimport Trade from '../assets/images/trade.svg';\n\nexport enum BoostCMSSKillsCategoryEnum {\n Durable = 'durable',\n Stem = 'stem',\n Athletic = 'athletic',\n Creative = 'creative',\n Business = 'business',\n Trade = 'trade',\n Social = 'social',\n Digital = 'digital',\n Medical = 'medical',\n}\n\n// ! MUST ALIGN WITH -> learncardapp/src/components/boost/BoostCMS/boostCMSForms/boostCMSSkills/boostSkills.ts\nexport const boostCMSSKillCategories: {\n id: number;\n title: string;\n IconComponent: React.ReactNode;\n iconClassName: string;\n iconCircleClass: string;\n type: BoostCMSSKillsCategoryEnum;\n}[] = [\n {\n id: 1,\n title: 'Durable',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Durable,\n },\n {\n id: 2,\n title: 'Stem',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Stem,\n },\n {\n id: 3,\n title: 'Athletic',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Athletic,\n },\n {\n id: 4,\n title: 'Creative',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Creative,\n },\n {\n id: 5,\n title: 'Business',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Business,\n },\n {\n id: 6,\n title: 'Trade',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Trade,\n },\n {\n id: 7,\n title: 'Social',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Social,\n },\n {\n id: 8,\n title: 'Digital',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Digital,\n },\n {\n id: 9,\n title: 'Medical',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Medical,\n },\n];\n\nexport enum BoostCMSCategorySkillEnum {\n // durable skills\n Adaptability = 'adaptability',\n Perseverance = 'perseverance',\n MentalToughness = 'mentalToughness',\n PhysicalEndurance = 'physicalEndurance',\n LifelongLearning = 'lifelongLearning',\n\n // STEM skills\n Mathematics = 'mathematics',\n Science = 'science',\n Technology = 'technology',\n Engineering = 'engineering',\n Research = 'research',\n\n // athletic\n SportSpecificSkills = 'sportSpecificSkills',\n StrengthAndConditioning = 'strengthAndConditioning',\n Coordination = 'coordination',\n MentalFocus = 'mentalFocus',\n Teamwork = 'teamwork',\n\n // creative skills\n VisualArts = 'visualArts',\n PerformingArts = 'performingArts',\n Writing = 'writing',\n Design = 'design',\n Ideation = 'ideation',\n\n // business skills\n Management = 'management',\n Finance = 'finance',\n Marketing = 'marketing',\n Operations = 'operations',\n Entrepreneurship = 'entrepreneurship',\n\n // trade skills\n Construction = 'construction',\n Mechanics = 'mechanics',\n Manufacturing = 'manufacturing',\n Cosmetology = 'cosmetology',\n CulinaryArts = 'culinaryArts',\n\n // social skills\n History = 'history',\n Psychology = 'psychology',\n Sociology = 'sociology',\n Economics = 'economics',\n PoliticalScience = 'politicalScience',\n\n // digital skills\n BasicComputerSkills = 'basicComputerSkills',\n InformationLiteracy = 'informationLiteracy',\n SoftwareProficiency = 'softwareProficiency',\n OnlineCommunication = 'onlineCommunication',\n Cybersecurity = 'cybersecurity',\n\n // medical skills\n ClinicalSkills = 'clinicalSkills',\n AnatomyAndPhysiology = 'anatomyAndPhysiology',\n PatientCare = 'patientCare',\n MedicalSpecialties = 'medicalSpecialties',\n HealthcareAdministration = 'healthcareAdministration',\n}\n\nexport const CATEGORY_TO_SKILLS: {\n [key: BoostCMSSKillsCategoryEnum | string]: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n }[];\n} = {\n [BoostCMSSKillsCategoryEnum.Durable]: [\n {\n id: 1,\n title: 'Adaptability',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.Adaptability,\n },\n {\n id: 2,\n title: 'Perseverance',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.Perseverance,\n },\n {\n id: 3,\n title: 'Mental Toughness',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.MentalToughness,\n },\n {\n id: 4,\n title: 'Physical Endurance',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.PhysicalEndurance,\n },\n {\n id: 5,\n title: 'Lifelong Learning',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.LifelongLearning,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Stem]: [\n {\n id: 1,\n title: 'Mathematics',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Mathematics,\n },\n {\n id: 2,\n title: 'Science',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Science,\n },\n {\n id: 3,\n title: 'Technology',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Technology,\n },\n {\n id: 4,\n title: 'Engineering',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Engineering,\n },\n {\n id: 5,\n title: 'Research',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Research,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Athletic]: [\n {\n id: 1,\n title: 'Sport specific skills',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.SportSpecificSkills,\n },\n {\n id: 2,\n title: 'Strength and Conditioning',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.StrengthAndConditioning,\n },\n {\n id: 3,\n title: 'Coordination',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.Coordination,\n },\n {\n id: 4,\n title: 'Mental Focus',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.MentalFocus,\n },\n {\n id: 5,\n title: 'Team work',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.Teamwork,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Creative]: [\n {\n id: 1,\n title: 'Visual Arts',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.VisualArts,\n },\n {\n id: 2,\n title: 'Performing Arts',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.PerformingArts,\n },\n {\n id: 3,\n title: 'Writing',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Writing,\n },\n {\n id: 4,\n title: 'Design',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Design,\n },\n {\n id: 5,\n title: 'Ideation',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Ideation,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Business]: [\n {\n id: 1,\n title: 'Management',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Management,\n },\n {\n id: 2,\n title: 'Finance',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Finance,\n },\n {\n id: 3,\n title: 'Marketing',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Marketing,\n },\n {\n id: 4,\n title: 'Operations',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Operations,\n },\n {\n id: 5,\n title: 'Entrepreneurship',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Entrepreneurship,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Trade]: [\n {\n id: 1,\n title: 'Construction',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Construction,\n },\n {\n id: 2,\n title: 'Mechanics',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Mechanics,\n },\n {\n id: 3,\n title: 'Manufacturing',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Manufacturing,\n },\n {\n id: 4,\n title: 'Cosmetology',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Cosmetology,\n },\n {\n id: 5,\n title: 'Culinary Arts',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.CulinaryArts,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Social]: [\n {\n id: 1,\n title: 'History',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.History,\n },\n {\n id: 2,\n title: 'Psychology',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Psychology,\n },\n {\n id: 3,\n title: 'Sociology',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Sociology,\n },\n {\n id: 4,\n title: 'Economics',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Economics,\n },\n {\n id: 5,\n title: 'Political Science',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.PoliticalScience,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Digital]: [\n {\n id: 1,\n title: 'Basic Computer Skills',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.BasicComputerSkills,\n },\n {\n id: 2,\n title: 'Information Literacy',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.InformationLiteracy,\n },\n {\n id: 3,\n title: 'Software Proficiency',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.SoftwareProficiency,\n },\n {\n id: 4,\n title: 'Online Communication',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.OnlineCommunication,\n },\n {\n id: 5,\n title: 'Cybersecurity',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.Cybersecurity,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Medical]: [\n {\n id: 1,\n title: 'Clinical Skills',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.ClinicalSkills,\n },\n {\n id: 2,\n title: 'Anatomy and Physiology',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.AnatomyAndPhysiology,\n },\n {\n id: 3,\n title: 'Patient Care',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.PatientCare,\n },\n {\n id: 4,\n title: 'Medical Specialties',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.MedicalSpecialties,\n },\n {\n id: 5,\n title: 'Healthcare Administration',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.HealthcareAdministration,\n },\n ],\n};\n\nexport enum BoostCMSSubSkillEnum {\n // * Durable\n // Adaptability\n flexibility = 'flexibility',\n resilience = 'resilience',\n problemSolving = 'problemSolving',\n resourcefulness = 'resourcefulness',\n stressManagement = 'stressManagement',\n\n // Perseverance\n discipline = 'discipline',\n focus = 'focus',\n commitment = 'commitment',\n grit = 'grit',\n tenacity = 'tenacity',\n\n // Mental toughness\n optimism = 'optimism',\n selfConfidence = 'selfConfidence',\n emotionalRegulation = 'emotionalRegulation',\n growthMindset = 'growthMindset',\n positiveSelfTalk = 'positiveSelfTalk',\n\n // physical edurance\n strength = 'strength',\n stamina = 'stamina',\n cardiovascularFitness = 'cardiovascularFitness',\n painTolerance = 'painTolerance',\n injuryPrevention = 'injuryPrevention',\n\n // lifelong learning\n curiosity = 'curiosity',\n openMindedness = 'openMindedness',\n criticalThinking = 'critical thinking',\n selfDirectedLearning = 'selfDirectedLearning',\n knowledgeRetention = 'knowledgeRetention',\n\n // * STEM\n // Mathematics\n algebra = 'algebra',\n geometry = 'geometry',\n trigonometry = 'trigonometry',\n calculus = 'calculus',\n statistics = 'statistics',\n\n // science\n physics = 'physics',\n chemistry = 'chemistry',\n biology = 'biology',\n earthScience = 'earthScience',\n environmentalScience = 'environmentalScience',\n\n // technology\n coding = 'coding',\n softwareDevelopment = 'softwareDevelopment',\n dataAnalysis = 'dataAnalysis',\n robotics = 'robotics',\n cybersecurity = 'cybersecurity',\n\n // engineering\n mechanicalEngineering = 'mechanicalEngineering',\n electricalEngineering = 'electricalEngineering',\n civilEngineering = 'civilEngineering',\n chemicalEngineering = 'chemicalEngineering',\n computerEngineering = 'computerEngineering',\n\n // research\n hypothesisDevelopment = 'hypothesisDevelopment',\n experimentalDesign = 'experimentalDesign',\n dataCollection = 'dataCollection',\n analysis = 'analysis',\n presentation = 'presentation',\n\n // * Athletic\n // sport specific skills\n ballHandling = 'ballHandling',\n runningTechnique = 'runningTechnique',\n swingMechanics = 'swingMechanics',\n tackling = 'tackling',\n swimmingStrokes = 'swimmingStrokes',\n\n // strength and conditioning\n weightLifting = 'weightLifting',\n speedTraining = 'speedTraining',\n agility = 'agility',\n lexibility = 'flexibility',\n // injuryPrevention = 'injuryPrevention', // ! duplicate\n\n // coordination\n handEyeCoordination = 'handEyeCoordination',\n footwork = 'footwork',\n balance = 'balance',\n reactionTime = 'reactionTime',\n spatialAwareness = 'spatialAwareness',\n\n // mental focus\n visualization = 'visualization',\n goalSetting = 'goalSetting',\n competitiveness = 'competitiveness',\n // resilience = 'resilience', // ! duplicate\n handlingPressure = 'handlingPressure',\n\n // teamwork\n communication = 'communication',\n cooperation = 'cooperation',\n roleUnderstanding = 'roleUnderstanding',\n strategy = 'strategy',\n sportsmanship = 'sportsmanship',\n\n // * Creative\n // visual arts\n drawing = 'drawing',\n painting = 'painting',\n sculpture = 'sculpture',\n graphicDesign = 'graphicDesign',\n photography = 'photography',\n\n // performing arts\n acting = 'acting',\n dance = 'dance',\n singing = 'singing',\n instrumental = 'instrumental',\n theaterProduction = 'theaterProduction',\n costumeDesign = 'costumeDesign',\n directing = 'directing',\n\n // writing\n poetry = 'poetry',\n fiction = 'fiction',\n nonfiction = 'nonfiction',\n scriptWriting = 'scriptWriting',\n copyWriting = 'copyWriting',\n journalism = 'journalism',\n\n // design\n fashionDesign = 'fashionDesign',\n interiorDesign = 'interiorDesign',\n webDesign = 'webDesign',\n productDesign = 'productDesign',\n gameDesign = 'gameDesign',\n\n // ideation\n brainstorming = 'brainstorming',\n conceptDevelopment = 'concept development',\n innovation = 'innovation',\n // problemSolving = 'problem-solving', // ! duplicate\n outOfTheBoxThinking = 'outOfTheBoxThinking',\n\n // * Business\n // management\n leadership = 'leadership',\n strategicPlanning = 'strategicPlanning',\n teamBuilding = 'teamBuilding',\n delegation = 'delegation',\n conflictResolution = 'conflictResolution',\n\n // finance\n accounting = 'accounting',\n budgeting = 'budgeting',\n financialAnalysis = 'financialAnalysis',\n investment = 'investment',\n riskManagement = 'riskManagement',\n\n // marketing\n marketResearch = 'marketResearch',\n branding = 'branding',\n advertising = 'advertising',\n sales = 'sales',\n customerRelationshipManagement = 'customerRelationshipManagement',\n\n // operations\n logistics = 'logistics',\n supplyChainManagement = 'supplyChainManagement',\n processImprovement = 'processImprovement',\n projectManagement = 'projectManagement',\n qualityControl = 'qualityControl',\n\n // entrepreneurship\n opportunityRecognition = 'opportunityRecognition',\n businessPlanning = 'businessPlanning',\n fundraising = 'fundraising',\n networking = 'networking',\n decisionMaking = 'decisionMaking',\n\n // * Trade\n // construction\n carpentry = 'carpentry',\n electricalWork = 'electricalWork',\n plumbing = 'plumbing',\n masonry = 'masonry',\n HVAC = 'HVAC',\n\n // mechanics\n automotiveRepair = 'automotiveRepair',\n dieselEngineRepair = 'dieselEngineRepair',\n smallEngineRepair = 'smallEngineRepair',\n aircraftMaintenance = 'aircraftMaintenance',\n heavyEquipmentOperation = 'heavyEquipmentOperation',\n\n // manufacturing\n welding = 'welding',\n machining = 'machining',\n assembly = 'assembly',\n fabrication = 'fabrication',\n qualityAssurance = 'qualityAssurance',\n\n // cosmetology\n hairstyling = 'hairstyling',\n barbering = 'barbering',\n nailTechnology = 'nailTechnology',\n makeupArtistry = 'makeupArtistry',\n esthetics = 'esthetics',\n\n // culinary arts\n cookingTechniques = 'cookingTechniques',\n baking = 'baking',\n foodSafety = 'foodSafety',\n menuPlanning = 'menuPlanning',\n restaurantManagement = 'restaurantManagement',\n\n // * Social\n // history\n researchMethods = 'researchMethods',\n analysisOfPrimarySources = 'analysisOfPrimarySources',\n chronologicalReasoning = 'chronologicalReasoning',\n comparativeHistory = 'comparativeHistory',\n historiography = 'historiography',\n\n // psychology\n cognitivePsychology = 'cognitivePsychology',\n developmentalPsychology = 'developmentalPsychology',\n socialPsychology = 'socialPsychology',\n experimentalMethods = 'experimentalMethods',\n clinicalPsychology = 'clinicalPsychology',\n\n // sociology\n socialInequality = 'socialInequality',\n socialInstitutions = 'socialInstitutions',\n // 'researchMethods = 'researchMethods', // !duplicate\n socialChange = 'socialChange',\n socialMovements = 'socialMovements',\n\n // economics\n microeconomics = 'microeconomics',\n macroeconomics = 'macroeconomics',\n econometrics = 'econometrics',\n economicPolicy = 'economicPolicy',\n internationalEconomics = 'internationalEconomics',\n\n // political science\n governmentSystems = 'governmentSystems',\n politicalTheory = 'politicalTheory',\n internationalRelations = 'internationalRelations',\n comparativePolitics = 'comparativePolitics',\n publicPolicy = 'publicPolicy',\n\n // * Digital\n // basic computer skills\n typing = 'typing',\n fileManagement = 'fileManagement',\n internetNavigation = 'internetNavigation',\n email = 'email',\n wordProcessing = 'wordProcessing',\n\n // information literacy\n searchEngineProficiency = 'searchEngineProficiency',\n evaluatingSources = 'evaluatingSources',\n factChecking = 'factChecking',\n criticalMediaAnalysis = 'criticalMediaAnalysis',\n understandingBias = 'understandingBias',\n\n // software proficiency\n productivitySuites = 'productivitySuites',\n specializedSoftware = 'specializedSoftware',\n designSoftware = 'designSoftware',\n programmingBasics = 'programmingBasics',\n dataVisualizationTools = 'dataVisualizationTools',\n\n // online communication\n netiquette = 'netiquette',\n effectiveEmailAndMessaging = 'effectiveEmailAndMessaging',\n socialMediaPlatforms = 'socialMediaPlatforms',\n videoConferencing = 'videoConferencing',\n collaborationTools = 'collaborationTools',\n\n // cyber security\n passwordManagement = 'passwordManagement',\n phishingAwareness = 'phishingAwareness',\n dataPrivacy = 'dataPrivacy',\n safeOnlinePractices = 'safeOnlinePractices',\n protectingDevices = 'protectingDevices',\n\n // * Medical\n // clinical skills\n patientAssessment = 'patientAssessment',\n diagnosticProcedures = 'diagnosticProcedures',\n medicationAdministration = 'medicationAdministration',\n woundCare = 'woundCare',\n basicLifeSupport = 'basicLifeSupport',\n\n // anatomy and physiology\n bodySystems = 'bodySystems',\n medicalTerminology = 'medicalTerminology',\n diseaseProcesses = 'diseaseProcesses',\n pharmacology = 'pharmacology',\n pathophysiology = 'pathophysiology',\n\n // patient care\n bedsideManner = 'bedsideManner',\n empathy = 'empathy',\n // 'communication = 'communication', // ! duplicate\n culturalSensitivity = 'culturalSensitivity',\n ethics = 'ethics',\n\n // medical specialties\n surgery = 'surgery',\n emergencyMedicine = 'emergencyMedicine',\n pediatrics = 'pediatrics',\n radiology = 'radiology',\n diagnosticReasoning = 'diagnosticReasoning',\n treatmentPlanning = 'treatmentPlanning',\n interdisciplinaryCollaboration = 'interdisciplinaryCollaboration',\n\n // healthcare administration\n insuranceAndBilling = 'insuranceAndBilling',\n medicalRecords = 'medicalRecords',\n patientScheduling = 'patientScheduling',\n regulatoryCompliance = 'regulatoryCompliance',\n facilityManagement = 'facilityManagement',\n}\n\nexport const SKILLS_TO_SUBSKILLS: {\n [key: BoostCMSCategorySkillEnum | string]: {\n id: number;\n title: string;\n type: BoostCMSCategorySkillEnum | string;\n }[];\n} = {\n // Durable\n [BoostCMSCategorySkillEnum.Adaptability]: [\n {\n id: 1,\n title: 'Flexibility',\n type: BoostCMSSubSkillEnum.flexibility,\n },\n {\n id: 2,\n title: 'Resilience',\n type: BoostCMSSubSkillEnum.resilience,\n },\n {\n id: 3,\n title: 'Problem Solving',\n type: BoostCMSSubSkillEnum.problemSolving,\n },\n {\n id: 4,\n title: 'Resourcefulness',\n type: BoostCMSSubSkillEnum.resourcefulness,\n },\n {\n id: 5,\n title: 'Stress management',\n type: BoostCMSSubSkillEnum.stressManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Perseverance]: [\n {\n id: 1,\n title: 'Discipline',\n type: BoostCMSSubSkillEnum.discipline,\n },\n {\n id: 2,\n title: 'focus',\n type: BoostCMSSubSkillEnum.focus,\n },\n {\n id: 3,\n title: 'Commitment',\n type: BoostCMSSubSkillEnum.commitment,\n },\n {\n id: 4,\n title: 'Grit',\n type: BoostCMSSubSkillEnum.grit,\n },\n {\n id: 5,\n title: 'Tenacity',\n type: BoostCMSSubSkillEnum.tenacity,\n },\n ],\n [BoostCMSCategorySkillEnum.MentalToughness]: [\n {\n id: 1,\n title: 'optimism',\n type: BoostCMSSubSkillEnum.optimism,\n },\n {\n id: 2,\n title: 'Self Confidence',\n type: BoostCMSSubSkillEnum.selfConfidence,\n },\n {\n id: 3,\n title: 'Emotional Regulation',\n type: BoostCMSSubSkillEnum.emotionalRegulation,\n },\n {\n id: 4,\n title: 'Growth Mindset',\n type: BoostCMSSubSkillEnum.growthMindset,\n },\n {\n id: 5,\n title: 'Positive Self-Talk',\n type: BoostCMSSubSkillEnum.positiveSelfTalk,\n },\n ],\n [BoostCMSCategorySkillEnum.PhysicalEndurance]: [\n {\n id: 1,\n title: 'Strength',\n type: BoostCMSSubSkillEnum.strength,\n },\n {\n id: 2,\n title: 'Stamina',\n type: BoostCMSSubSkillEnum.stamina,\n },\n {\n id: 3,\n title: 'Cardiovascular Fitness',\n type: BoostCMSSubSkillEnum.cardiovascularFitness,\n },\n {\n id: 4,\n title: 'Pain Tolerance',\n type: BoostCMSSubSkillEnum.painTolerance,\n },\n {\n id: 5,\n title: 'Injury Prevention',\n type: BoostCMSSubSkillEnum.injuryPrevention,\n },\n ],\n [BoostCMSCategorySkillEnum.LifelongLearning]: [\n {\n id: 1,\n title: 'Curiosity',\n type: BoostCMSSubSkillEnum.curiosity,\n },\n {\n id: 2,\n title: 'Open Mindedness',\n type: BoostCMSSubSkillEnum.openMindedness,\n },\n {\n id: 3,\n title: 'Critical Thinking',\n type: BoostCMSSubSkillEnum.criticalThinking,\n },\n {\n id: 4,\n title: 'Self-directed Learning',\n type: BoostCMSSubSkillEnum.selfDirectedLearning,\n },\n {\n id: 5,\n title: 'Knowledge Retention',\n type: BoostCMSSubSkillEnum.knowledgeRetention,\n },\n ],\n\n // STEM\n [BoostCMSCategorySkillEnum.Mathematics]: [\n {\n id: 1,\n title: 'Algebra',\n type: BoostCMSSubSkillEnum.algebra,\n },\n {\n id: 2,\n title: 'Geometry',\n type: BoostCMSSubSkillEnum.geometry,\n },\n {\n id: 3,\n title: 'Trigonometry',\n type: BoostCMSSubSkillEnum.trigonometry,\n },\n {\n id: 4,\n title: 'Calculus',\n type: BoostCMSSubSkillEnum.calculus,\n },\n {\n id: 5,\n title: 'Statistics',\n type: BoostCMSSubSkillEnum.statistics,\n },\n ],\n [BoostCMSCategorySkillEnum.Science]: [\n {\n id: 1,\n title: 'Physics',\n type: BoostCMSSubSkillEnum.physics,\n },\n {\n id: 2,\n title: 'Chemistry',\n type: BoostCMSSubSkillEnum.chemistry,\n },\n {\n id: 3,\n title: 'Biology',\n type: BoostCMSSubSkillEnum.biology,\n },\n {\n id: 4,\n title: 'Earth science',\n type: BoostCMSSubSkillEnum.earthScience,\n },\n {\n id: 5,\n title: 'Environmental science',\n type: BoostCMSSubSkillEnum.environmentalScience,\n },\n ],\n [BoostCMSCategorySkillEnum.Technology]: [\n {\n id: 1,\n title: 'Coding',\n type: BoostCMSSubSkillEnum.coding,\n },\n {\n id: 2,\n title: 'Software Development',\n type: BoostCMSSubSkillEnum.softwareDevelopment,\n },\n {\n id: 3,\n title: 'Data Analysis',\n type: BoostCMSSubSkillEnum.dataAnalysis,\n },\n {\n id: 4,\n title: 'Robotics',\n type: BoostCMSSubSkillEnum.robotics,\n },\n {\n id: 5,\n title: 'Cybersecurity',\n type: BoostCMSSubSkillEnum.cybersecurity,\n },\n ],\n [BoostCMSCategorySkillEnum.Engineering]: [\n {\n id: 1,\n title: 'Mechanical Engineering',\n type: BoostCMSSubSkillEnum.mechanicalEngineering,\n },\n {\n id: 2,\n title: 'Electrical Engineering',\n type: BoostCMSSubSkillEnum.electricalEngineering,\n },\n {\n id: 3,\n title: 'Civil Engineering',\n type: BoostCMSSubSkillEnum.civilEngineering,\n },\n {\n id: 4,\n title: 'Chemical Engineering',\n type: BoostCMSSubSkillEnum.chemicalEngineering,\n },\n {\n id: 5,\n title: 'Computer Engineering',\n type: BoostCMSSubSkillEnum.computerEngineering,\n },\n ],\n [BoostCMSCategorySkillEnum.Research]: [\n {\n id: 1,\n title: 'Hypothesis Development',\n type: BoostCMSSubSkillEnum.hypothesisDevelopment,\n },\n {\n id: 2,\n title: 'Experimental Design',\n type: BoostCMSSubSkillEnum.experimentalDesign,\n },\n {\n id: 3,\n title: 'Data Collection',\n type: BoostCMSSubSkillEnum.dataCollection,\n },\n {\n id: 4,\n title: 'Analysis',\n type: BoostCMSSubSkillEnum.analysis,\n },\n {\n id: 5,\n title: 'presentation',\n type: BoostCMSSubSkillEnum.presentation,\n },\n ],\n\n // athletic\n [BoostCMSCategorySkillEnum.SportSpecificSkills]: [\n {\n id: 1,\n title: 'Ball Handling',\n type: BoostCMSSubSkillEnum.ballHandling,\n },\n {\n id: 2,\n title: 'Running Technique',\n type: BoostCMSSubSkillEnum.runningTechnique,\n },\n {\n id: 3,\n title: 'Swing Mechanics',\n type: BoostCMSSubSkillEnum.swingMechanics,\n },\n {\n id: 4,\n title: 'Tackling',\n type: BoostCMSSubSkillEnum.tackling,\n },\n {\n id: 5,\n title: 'Swimming Strokes',\n type: BoostCMSSubSkillEnum.swimmingStrokes,\n },\n ],\n [BoostCMSCategorySkillEnum.StrengthAndConditioning]: [\n {\n id: 1,\n title: 'Weight Lifting',\n type: BoostCMSSubSkillEnum.weightLifting,\n },\n {\n id: 2,\n title: 'Speed Training',\n type: BoostCMSSubSkillEnum.speedTraining,\n },\n {\n id: 3,\n title: 'Agility',\n type: BoostCMSSubSkillEnum.agility,\n },\n {\n id: 4,\n title: 'Flexibility',\n type: BoostCMSSubSkillEnum.flexibility,\n },\n {\n id: 5,\n title: 'Injury Prevention',\n type: BoostCMSSubSkillEnum.injuryPrevention,\n },\n ],\n [BoostCMSCategorySkillEnum.Coordination]: [\n {\n id: 1,\n title: 'Hand Eye Coordination',\n type: BoostCMSSubSkillEnum.handEyeCoordination,\n },\n {\n id: 2,\n title: 'Footwork',\n type: BoostCMSSubSkillEnum.footwork,\n },\n {\n id: 3,\n title: 'Balance',\n type: BoostCMSSubSkillEnum.balance,\n },\n {\n id: 4,\n title: 'Reaction Time',\n type: BoostCMSSubSkillEnum.reactionTime,\n },\n {\n id: 5,\n title: 'Spatial Awareness',\n type: BoostCMSSubSkillEnum.spatialAwareness,\n },\n ],\n [BoostCMSCategorySkillEnum.MentalFocus]: [\n {\n id: 1,\n title: 'Visualization',\n type: BoostCMSSubSkillEnum.visualization,\n },\n {\n id: 2,\n title: 'Goal Setting',\n type: BoostCMSSubSkillEnum.goalSetting,\n },\n {\n id: 3,\n title: 'Competitiveness',\n type: BoostCMSSubSkillEnum.competitiveness,\n },\n {\n id: 4,\n title: 'Resilience',\n type: BoostCMSSubSkillEnum.resilience,\n },\n {\n id: 5,\n title: 'Handling pressure',\n type: BoostCMSSubSkillEnum.handlingPressure,\n },\n ],\n [BoostCMSCategorySkillEnum.Teamwork]: [\n {\n id: 1,\n title: 'Communication',\n type: BoostCMSSubSkillEnum.communication,\n },\n {\n id: 2,\n title: 'Cooperation',\n type: BoostCMSSubSkillEnum.cooperation,\n },\n {\n id: 3,\n title: 'Role Understanding',\n type: BoostCMSSubSkillEnum.roleUnderstanding,\n },\n {\n id: 4,\n title: 'Strategy',\n type: BoostCMSSubSkillEnum.strategy,\n },\n {\n id: 5,\n title: 'Sportsmanship',\n type: BoostCMSSubSkillEnum.sportsmanship,\n },\n ],\n\n // creative\n [BoostCMSCategorySkillEnum.VisualArts]: [\n {\n id: 1,\n title: 'Drawing',\n type: BoostCMSSubSkillEnum.drawing,\n },\n {\n id: 2,\n title: 'Painting',\n type: BoostCMSSubSkillEnum.painting,\n },\n {\n id: 3,\n title: 'Sculpture',\n type: BoostCMSSubSkillEnum.sculpture,\n },\n {\n id: 4,\n title: 'Graphic design',\n type: BoostCMSSubSkillEnum.graphicDesign,\n },\n {\n id: 5,\n title: 'Photography',\n type: BoostCMSSubSkillEnum.photography,\n },\n ],\n [BoostCMSCategorySkillEnum.PerformingArts]: [\n {\n id: 1,\n title: 'Acting',\n type: BoostCMSSubSkillEnum.acting,\n },\n {\n id: 2,\n title: 'Dance',\n type: BoostCMSSubSkillEnum.dance,\n },\n {\n id: 3,\n title: 'Singing',\n type: BoostCMSSubSkillEnum.singing,\n },\n {\n id: 4,\n title: 'Instrumental',\n type: BoostCMSSubSkillEnum.instrumental,\n },\n {\n id: 5,\n title: 'Theatre Production',\n type: BoostCMSSubSkillEnum.theaterProduction,\n },\n {\n id: 6,\n title: 'Costume Design',\n type: BoostCMSSubSkillEnum.costumeDesign,\n },\n {\n id: 7,\n title: 'Directing',\n type: BoostCMSSubSkillEnum.directing,\n },\n ],\n [BoostCMSCategorySkillEnum.Writing]: [\n {\n id: 1,\n title: 'Poetry',\n type: BoostCMSSubSkillEnum.poetry,\n },\n {\n id: 2,\n title: 'Fiction',\n type: BoostCMSSubSkillEnum.fiction,\n },\n {\n id: 3,\n title: 'Non fiction',\n type: BoostCMSSubSkillEnum.nonfiction,\n },\n {\n id: 4,\n title: 'Script Writing',\n type: BoostCMSSubSkillEnum.scriptWriting,\n },\n {\n id: 5,\n title: 'Copy Writing',\n type: BoostCMSSubSkillEnum.copyWriting,\n },\n {\n id: 6,\n title: 'Journalism',\n type: BoostCMSSubSkillEnum.journalism,\n },\n ],\n [BoostCMSCategorySkillEnum.Design]: [\n {\n id: 1,\n title: 'Fashion Design',\n type: BoostCMSSubSkillEnum.fashionDesign,\n },\n {\n id: 2,\n title: 'Interior Design',\n type: BoostCMSSubSkillEnum.interiorDesign,\n },\n {\n id: 3,\n title: 'Web Design',\n type: BoostCMSSubSkillEnum.webDesign,\n },\n {\n id: 4,\n title: 'Product Design',\n type: BoostCMSSubSkillEnum.productDesign,\n },\n {\n id: 5,\n title: 'Game Design',\n type: BoostCMSSubSkillEnum.gameDesign,\n },\n ],\n [BoostCMSCategorySkillEnum.Ideation]: [\n {\n id: 1,\n title: 'Brainstorming',\n type: BoostCMSSubSkillEnum.brainstorming,\n },\n {\n id: 2,\n title: 'Concept Development',\n type: BoostCMSSubSkillEnum.conceptDevelopment,\n },\n {\n id: 3,\n title: 'Innovation',\n type: BoostCMSSubSkillEnum.innovation,\n },\n {\n id: 4,\n title: 'Problem Solving',\n type: BoostCMSSubSkillEnum.problemSolving,\n },\n {\n id: 5,\n title: 'Out of the box thinking',\n type: BoostCMSSubSkillEnum.outOfTheBoxThinking,\n },\n ],\n\n // business\n [BoostCMSCategorySkillEnum.Management]: [\n {\n id: 1,\n title: 'Leadership',\n type: BoostCMSSubSkillEnum.leadership,\n },\n {\n id: 2,\n title: 'Strategic Planning',\n type: BoostCMSSubSkillEnum.strategicPlanning,\n },\n {\n id: 3,\n title: 'Team Building',\n type: BoostCMSSubSkillEnum.teamBuilding,\n },\n {\n id: 4,\n title: 'Delegation',\n type: BoostCMSSubSkillEnum.delegation,\n },\n {\n id: 5,\n title: 'Conflict Resolution',\n type: BoostCMSSubSkillEnum.conflictResolution,\n },\n ],\n [BoostCMSCategorySkillEnum.Finance]: [\n {\n id: 1,\n title: 'Accounting',\n type: BoostCMSSubSkillEnum.accounting,\n },\n {\n id: 2,\n title: 'Budgeting',\n type: BoostCMSSubSkillEnum.budgeting,\n },\n {\n id: 3,\n title: 'Financial Analysis',\n type: BoostCMSSubSkillEnum.financialAnalysis,\n },\n {\n id: 4,\n title: 'Investment',\n type: BoostCMSSubSkillEnum.investment,\n },\n {\n id: 5,\n title: 'Risk Management',\n type: BoostCMSSubSkillEnum.riskManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Marketing]: [\n {\n id: 1,\n title: 'Market Research',\n type: BoostCMSSubSkillEnum.marketResearch,\n },\n {\n id: 2,\n title: 'Branding',\n type: BoostCMSSubSkillEnum.branding,\n },\n {\n id: 3,\n title: 'Advertising',\n type: BoostCMSSubSkillEnum.advertising,\n },\n {\n id: 4,\n title: 'Sales',\n type: BoostCMSSubSkillEnum.sales,\n },\n {\n id: 5,\n title: 'Customer Relationship Management',\n type: BoostCMSSubSkillEnum.customerRelationshipManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Operations]: [\n {\n id: 1,\n title: 'Logistics',\n type: BoostCMSSubSkillEnum.logistics,\n },\n {\n id: 2,\n title: 'Supply Chain Management',\n type: BoostCMSSubSkillEnum.supplyChainManagement,\n },\n {\n id: 3,\n title: 'Process Improvement',\n type: BoostCMSSubSkillEnum.processImprovement,\n },\n {\n id: 4,\n title: 'Project Management',\n type: BoostCMSSubSkillEnum.projectManagement,\n },\n {\n id: 5,\n title: 'Quality Control',\n type: BoostCMSSubSkillEnum.qualityControl,\n },\n ],\n [BoostCMSCategorySkillEnum.Entrepreneurship]: [\n {\n id: 1,\n title: 'Opportunity Recognition',\n type: BoostCMSSubSkillEnum.opportunityRecognition,\n },\n {\n id: 2,\n title: 'Business Planning',\n type: BoostCMSSubSkillEnum.businessPlanning,\n },\n {\n id: 3,\n title: 'Fundraising',\n type: BoostCMSSubSkillEnum.fundraising,\n },\n {\n id: 4,\n title: 'Networking',\n type: BoostCMSSubSkillEnum.networking,\n },\n {\n id: 5,\n title: 'Decision-making',\n type: BoostCMSSubSkillEnum.decisionMaking,\n },\n ],\n\n // trade\n [BoostCMSCategorySkillEnum.Construction]: [\n {\n id: 1,\n title: 'Carpentry',\n type: BoostCMSSubSkillEnum.carpentry,\n },\n {\n id: 2,\n title: 'Electrical Work',\n type: BoostCMSSubSkillEnum.electricalWork,\n },\n {\n id: 3,\n title: 'Plumbing',\n type: BoostCMSSubSkillEnum.plumbing,\n },\n {\n id: 4,\n title: 'Masonry',\n type: BoostCMSSubSkillEnum.masonry,\n },\n {\n id: 5,\n title: 'HVAC',\n type: BoostCMSSubSkillEnum.HVAC,\n },\n ],\n [BoostCMSCategorySkillEnum.Mechanics]: [\n {\n id: 1,\n title: 'Automotive Repair',\n type: BoostCMSSubSkillEnum.automotiveRepair,\n },\n {\n id: 2,\n title: 'Diesel Engine Repair',\n type: BoostCMSSubSkillEnum.dieselEngineRepair,\n },\n {\n id: 3,\n title: 'Small Engine Repair',\n type: BoostCMSSubSkillEnum.smallEngineRepair,\n },\n {\n id: 4,\n title: 'Aircraft Maintenance',\n type: BoostCMSSubSkillEnum.aircraftMaintenance,\n },\n {\n id: 5,\n title: 'Heavy Equipment Operation',\n type: BoostCMSSubSkillEnum.heavyEquipmentOperation,\n },\n ],\n [BoostCMSCategorySkillEnum.Manufacturing]: [\n {\n id: 1,\n title: 'Welding',\n type: BoostCMSSubSkillEnum.welding,\n },\n {\n id: 2,\n title: 'Machining',\n type: BoostCMSSubSkillEnum.machining,\n },\n {\n id: 3,\n title: 'Assembly',\n type: BoostCMSSubSkillEnum.assembly,\n },\n {\n id: 4,\n title: 'Fabrication',\n type: BoostCMSSubSkillEnum.fabrication,\n },\n {\n id: 5,\n title: 'Quality Assurance',\n type: BoostCMSSubSkillEnum.qualityAssurance,\n },\n ],\n [BoostCMSCategorySkillEnum.Cosmetology]: [\n {\n id: 1,\n title: 'Hairstyling',\n type: BoostCMSSubSkillEnum.hairstyling,\n },\n {\n id: 2,\n title: 'Barbering',\n type: BoostCMSSubSkillEnum.barbering,\n },\n {\n id: 3,\n title: 'Nail Technology',\n type: BoostCMSSubSkillEnum.nailTechnology,\n },\n {\n id: 4,\n title: 'Makeup Artistry',\n type: BoostCMSSubSkillEnum.makeupArtistry,\n },\n {\n id: 5,\n title: 'Esthetics',\n type: BoostCMSSubSkillEnum.esthetics,\n },\n ],\n [BoostCMSCategorySkillEnum.CulinaryArts]: [\n {\n id: 1,\n title: 'Cooking Techniques',\n type: BoostCMSSubSkillEnum.cookingTechniques,\n },\n {\n id: 2,\n title: 'Baking',\n type: BoostCMSSubSkillEnum.baking,\n },\n {\n id: 3,\n title: 'Food Safety',\n type: BoostCMSSubSkillEnum.foodSafety,\n },\n {\n id: 4,\n title: 'Menu Planning',\n type: BoostCMSSubSkillEnum.menuPlanning,\n },\n {\n id: 5,\n title: 'Restaurant Management',\n type: BoostCMSSubSkillEnum.restaurantManagement,\n },\n ],\n\n // social\n [BoostCMSCategorySkillEnum.History]: [\n {\n id: 1,\n title: 'Research Methods',\n type: BoostCMSSubSkillEnum.researchMethods,\n },\n {\n id: 2,\n title: 'Analysis of Primary Sources',\n type: BoostCMSSubSkillEnum.analysisOfPrimarySources,\n },\n {\n id: 3,\n title: 'Chronological Reasoning',\n type: BoostCMSSubSkillEnum.chronologicalReasoning,\n },\n {\n id: 4,\n title: 'Comparative History',\n type: BoostCMSSubSkillEnum.comparativeHistory,\n },\n {\n id: 5,\n title: 'Historiography',\n type: BoostCMSSubSkillEnum.historiography,\n },\n ],\n [BoostCMSCategorySkillEnum.Psychology]: [\n {\n id: 1,\n title: 'Cognitive Psychology',\n type: BoostCMSSubSkillEnum.cognitivePsychology,\n },\n {\n id: 2,\n title: 'Developmental Psychology',\n type: BoostCMSSubSkillEnum.developmentalPsychology,\n },\n {\n id: 3,\n title: 'Social Psychology',\n type: BoostCMSSubSkillEnum.socialPsychology,\n },\n {\n id: 4,\n title: 'Experimental Methods',\n type: BoostCMSSubSkillEnum.experimentalMethods,\n },\n {\n id: 5,\n title: 'Clinical Psychology',\n type: BoostCMSSubSkillEnum.clinicalPsychology,\n },\n ],\n [BoostCMSCategorySkillEnum.Sociology]: [\n {\n id: 1,\n title: 'Social Inequality',\n type: BoostCMSSubSkillEnum.socialInequality,\n },\n {\n id: 2,\n title: 'Social Institutions',\n type: BoostCMSSubSkillEnum.socialInstitutions,\n },\n {\n id: 3,\n title: 'Research Methods',\n type: BoostCMSSubSkillEnum.researchMethods,\n },\n {\n id: 4,\n title: 'Social Change',\n type: BoostCMSSubSkillEnum.socialChange,\n },\n {\n id: 5,\n title: 'Social Movements',\n type: BoostCMSSubSkillEnum.socialMovements,\n },\n ],\n [BoostCMSCategorySkillEnum.Economics]: [\n {\n id: 1,\n title: 'Microeconomics',\n type: BoostCMSSubSkillEnum.microeconomics,\n },\n {\n id: 2,\n title: 'Macroeconomics',\n type: BoostCMSSubSkillEnum.macroeconomics,\n },\n {\n id: 3,\n title: 'Econometrics',\n type: BoostCMSSubSkillEnum.econometrics,\n },\n {\n id: 4,\n title: 'Economic Policy',\n type: BoostCMSSubSkillEnum.economicPolicy,\n },\n {\n id: 5,\n title: 'International Economics',\n type: BoostCMSSubSkillEnum.internationalEconomics,\n },\n ],\n [BoostCMSCategorySkillEnum.PoliticalScience]: [\n {\n id: 1,\n title: 'Government Systems',\n type: BoostCMSSubSkillEnum.governmentSystems,\n },\n {\n id: 2,\n title: 'Political Theory',\n type: BoostCMSSubSkillEnum.politicalTheory,\n },\n {\n id: 3,\n title: 'International Relations',\n type: BoostCMSSubSkillEnum.internationalRelations,\n },\n {\n id: 4,\n title: 'Comparative Politics',\n type: BoostCMSSubSkillEnum.comparativePolitics,\n },\n {\n id: 5,\n title: 'Public Policy',\n type: BoostCMSSubSkillEnum.publicPolicy,\n },\n ],\n\n // digital\n [BoostCMSCategorySkillEnum.BasicComputerSkills]: [\n {\n id: 1,\n title: 'Typing',\n type: BoostCMSSubSkillEnum.typing,\n },\n {\n id: 2,\n title: 'File Management',\n type: BoostCMSSubSkillEnum.fileManagement,\n },\n {\n id: 3,\n title: 'Internet Navigation',\n type: BoostCMSSubSkillEnum.internetNavigation,\n },\n {\n id: 4,\n title: 'Email',\n type: BoostCMSSubSkillEnum.email,\n },\n {\n id: 5,\n title: 'Word Processing',\n type: BoostCMSSubSkillEnum.wordProcessing,\n },\n ],\n [BoostCMSCategorySkillEnum.InformationLiteracy]: [\n {\n id: 1,\n title: 'Search Engine Proficiency',\n type: BoostCMSSubSkillEnum.searchEngineProficiency,\n },\n {\n id: 2,\n title: 'evaluating sources',\n type: BoostCMSSubSkillEnum.evaluatingSources,\n },\n {\n id: 3,\n title: 'Fact Checking',\n type: BoostCMSSubSkillEnum.factChecking,\n },\n {\n id: 4,\n title: 'Critical Media Analysis',\n type: BoostCMSSubSkillEnum.criticalMediaAnalysis,\n },\n {\n id: 5,\n title: 'Understanding Bias',\n type: BoostCMSSubSkillEnum.understandingBias,\n },\n ],\n [BoostCMSCategorySkillEnum.SoftwareProficiency]: [\n {\n id: 1,\n title: 'Productivity Suites',\n type: BoostCMSSubSkillEnum.productivitySuites,\n },\n {\n id: 2,\n title: 'Specialized Software',\n type: BoostCMSSubSkillEnum.specializedSoftware,\n },\n {\n id: 3,\n title: 'Design Software',\n type: BoostCMSSubSkillEnum.designSoftware,\n },\n {\n id: 4,\n title: 'Programming Basics',\n type: BoostCMSSubSkillEnum.programmingBasics,\n },\n {\n id: 5,\n title: 'Data Visualization Tools',\n type: BoostCMSSubSkillEnum.dataVisualizationTools,\n },\n ],\n [BoostCMSCategorySkillEnum.OnlineCommunication]: [\n {\n id: 1,\n title: 'Netiquette',\n type: BoostCMSSubSkillEnum.netiquette,\n },\n {\n id: 2,\n title: 'Effective Email and Messaging',\n type: BoostCMSSubSkillEnum.effectiveEmailAndMessaging,\n },\n {\n id: 3,\n title: 'Social Media Platforms',\n type: BoostCMSSubSkillEnum.socialMediaPlatforms,\n },\n {\n id: 4,\n title: 'Video Conferencing',\n type: BoostCMSSubSkillEnum.videoConferencing,\n },\n {\n id: 5,\n title: 'Collaboration Tools',\n type: BoostCMSSubSkillEnum.collaborationTools,\n },\n ],\n [BoostCMSCategorySkillEnum.Cybersecurity]: [\n {\n id: 1,\n title: 'Password Management',\n type: BoostCMSSubSkillEnum.passwordManagement,\n },\n {\n id: 2,\n title: 'Phishing Awareness',\n type: BoostCMSSubSkillEnum.phishingAwareness,\n },\n {\n id: 3,\n title: 'Data Privacy',\n type: BoostCMSSubSkillEnum.dataPrivacy,\n },\n {\n id: 4,\n title: 'Safe Online Practices',\n type: BoostCMSSubSkillEnum.safeOnlinePractices,\n },\n {\n id: 5,\n title: 'Protecting Devices',\n type: BoostCMSSubSkillEnum.protectingDevices,\n },\n ],\n\n // medical\n [BoostCMSCategorySkillEnum.ClinicalSkills]: [\n {\n id: 1,\n title: 'Patient Assessment',\n type: BoostCMSSubSkillEnum.patientAssessment,\n },\n {\n id: 2,\n title: 'Diagnostic Procedures',\n type: BoostCMSSubSkillEnum.diagnosticProcedures,\n },\n {\n id: 3,\n title: 'Medication Administration',\n type: BoostCMSSubSkillEnum.medicationAdministration,\n },\n {\n id: 4,\n title: 'Wound Care',\n type: BoostCMSSubSkillEnum.woundCare,\n },\n {\n id: 5,\n title: 'Basic Life Support',\n type: BoostCMSSubSkillEnum.basicLifeSupport,\n },\n ],\n [BoostCMSCategorySkillEnum.AnatomyAndPhysiology]: [\n {\n id: 1,\n title: 'Body Systems',\n type: BoostCMSSubSkillEnum.bodySystems,\n },\n {\n id: 2,\n title: 'Medical Terminology',\n type: BoostCMSSubSkillEnum.medicalTerminology,\n },\n {\n id: 3,\n title: 'Disease Processes',\n type: BoostCMSSubSkillEnum.diseaseProcesses,\n },\n {\n id: 4,\n title: 'Pharmacology',\n type: BoostCMSSubSkillEnum.pharmacology,\n },\n {\n id: 5,\n title: 'Pathophysiology',\n type: BoostCMSSubSkillEnum.pathophysiology,\n },\n ],\n [BoostCMSCategorySkillEnum.PatientCare]: [\n {\n id: 1,\n title: 'Bedside Manner',\n type: BoostCMSSubSkillEnum.bedsideManner,\n },\n {\n id: 2,\n title: 'Empathy',\n type: BoostCMSSubSkillEnum.empathy,\n },\n {\n id: 3,\n title: 'Communication',\n type: BoostCMSSubSkillEnum.communication,\n },\n {\n id: 4,\n title: 'Cultural Sensitivity',\n type: BoostCMSSubSkillEnum.culturalSensitivity,\n },\n {\n id: 5,\n title: 'Ethics',\n type: BoostCMSSubSkillEnum.ethics,\n },\n ],\n [BoostCMSCategorySkillEnum.MedicalSpecialties]: [\n {\n id: 1,\n title: 'Surgery',\n type: BoostCMSSubSkillEnum.surgery,\n },\n {\n id: 2,\n title: 'Emergency Medicine',\n type: BoostCMSSubSkillEnum.emergencyMedicine,\n },\n {\n id: 3,\n title: 'Pediatrics',\n type: BoostCMSSubSkillEnum.pediatrics,\n },\n {\n id: 4,\n title: 'Radiology',\n type: BoostCMSSubSkillEnum.radiology,\n },\n {\n id: 5,\n title: 'Diagnostic Reasoning',\n type: BoostCMSSubSkillEnum.diagnosticReasoning,\n },\n {\n id: 6,\n title: 'Treatment Planning',\n type: BoostCMSSubSkillEnum.treatmentPlanning,\n },\n {\n id: 7,\n title: 'Interdisciplinary Collaboration',\n type: BoostCMSSubSkillEnum.interdisciplinaryCollaboration,\n },\n ],\n [BoostCMSCategorySkillEnum.HealthcareAdministration]: [\n {\n id: 1,\n title: 'Insurance and Billing',\n type: BoostCMSSubSkillEnum.insuranceAndBilling,\n },\n {\n id: 2,\n title: 'Medical Records',\n type: BoostCMSSubSkillEnum.medicalRecords,\n },\n {\n id: 3,\n title: 'Patient Scheduling',\n type: BoostCMSSubSkillEnum.patientScheduling,\n },\n {\n id: 4,\n title: 'Regulatory Compliance',\n type: BoostCMSSubSkillEnum.regulatoryCompliance,\n },\n {\n id: 5,\n title: 'Facility Management',\n type: BoostCMSSubSkillEnum.facilityManagement,\n },\n ],\n};\n","import React from 'react';\n\nimport {\n BoostCMSCategorySkillEnum,\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSSubSkillEnum,\n} from '../../constants/skills';\n\nconst TopLevelSkill: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n skillSelected: {\n category: BoostCMSSKillsCategoryEnum | string;\n skill: BoostCMSCategorySkillEnum | string;\n subskills: BoostCMSSubSkillEnum[] | string[];\n };\n\n handleExpandSubSkills?: () => void;\n}> = ({ skillSelected, skill, handleExpandSubSkills }) => {\n const { title, IconComponent, type, category } = skill;\n\n const _category = boostCMSSKillCategories.find(c => c.type === category);\n\n const subSkills = skillSelected.subskills ?? [];\n const subSkillsCount = skillSelected.subskills.length ?? 0;\n\n return (\n <div\n className={`flex items-center justify-between w-full mb-4 bg-violet-100 rounded-[20px]`}\n >\n <div className=\"flex items-center justify-start w-[80%] px-[6px] py-[10px] overflow-hidden\">\n <div className=\"rounded-full h-[50px] w-[50px]\">\n <img src={IconComponent as string} alt=\"skill icon\" className=\"w-full h-full\" />\n </div>\n <div className=\"flex flex-col items-start justify-center ml-2\">\n <p className=\"font-poppins text-left text-violet-800 font-semibold text-xs\">\n {_category?.title}\n </p>\n <p className=\"text-black font-poppins text-left text-base font-normal\">\n {title}\n </p>\n </div>\n </div>\n {subSkills?.length > 0 && (\n <div className=\"flex items-center justify-center rounded-full bg-white mr-4 h-[40px] w-[40px]\">\n <button\n onClick={e => {\n e.stopPropagation();\n handleExpandSubSkills?.();\n }}\n className=\"text-black font-bold flex items-center justify-center text-center font-poppins\"\n >\n +{subSkillsCount}\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport default TopLevelSkill;\n","import React from 'react';\n\nimport {\n BoostCMSCategorySkillEnum,\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSSubSkillEnum,\n} from '../../constants/skills';\n\nconst Subskill: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n subSkill: {\n id: number;\n title: string;\n type: BoostCMSSubSkillEnum | string;\n };\n subskillSelected: boolean;\n}> = ({ subskillSelected, skill, subSkill }) => {\n const { title, IconComponent, type, category } = skill;\n\n const _category = boostCMSSKillCategories.find(c => c.type === category);\n\n return (\n <div className=\"flex items-center justify-between w-full mb-4 bg-violet-100 rounded-[20px]\">\n <div className=\"flex items-center justify-start w-[90%] px-[6px] py-[10px] overflow-hidden\">\n <div className=\"rounded-full h-[50px] w-[50px]\">\n <img src={IconComponent as string} alt=\"skill icon\" className=\"w-full h-full\" />\n </div>\n <div className=\"flex flex-col items-start justify-center ml-2\">\n <p className=\"font-poppins text-left text-violet-800 font-semibold text-xs\">\n {_category?.title} / {skill?.title}\n </p>\n <p className=\"text-black font-poppins text-left text-base font-normal\">\n {subSkill?.title}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Subskill;\n","import React, { useState } from 'react';\n\nimport TopLevelSkill from './TopLevelSkill';\nimport Subskill from './Subskill';\n\nimport {\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSCategorySkillEnum,\n BoostCMSSubSkillEnum,\n CATEGORY_TO_SKILLS,\n SKILLS_TO_SUBSKILLS,\n} from '../../constants/skills';\n\nexport const SelectedSkills: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n skillSelected: {\n category: BoostCMSSKillsCategoryEnum | string;\n skill: BoostCMSCategorySkillEnum | string;\n subskills: BoostCMSSubSkillEnum[] | string[];\n };\n}> = ({ skill, skillSelected }) => {\n const [expandSubSkills, setExandSubSkills] = useState<boolean>(false);\n\n const handleExpandSubSkills = () => setExandSubSkills(!expandSubSkills);\n\n return (\n <>\n <TopLevelSkill\n skill={skill}\n skillSelected={skillSelected}\n handleExpandSubSkills={handleExpandSubSkills}\n />\n {skillSelected && skillSelected.subskills.length > 0 && expandSubSkills && (\n <div className=\"w-full flex items-center justify-end\">\n <div className=\"w-[95%] flex items-center flex-col\">\n {skillSelected.subskills.map((subSkill, i) => {\n const subskillSelected = skillSelected?.subskills?.includes(\n subSkill as BoostCMSSubSkillEnum\n );\n\n const _subSkill: any = SKILLS_TO_SUBSKILLS[\n skill.type as BoostCMSCategorySkillEnum\n ].find((ss: any) => ss.type === subSkill);\n\n return (\n <Subskill\n key={i}\n skill={skill}\n subSkill={_subSkill}\n subskillSelected={subskillSelected}\n />\n );\n })}\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default SelectedSkills;\n","import React, { useState } from 'react';\n\nimport {\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n CATEGORY_TO_SKILLS,\n SKILLS_TO_SUBSKILLS,\n} from '../../constants/skills';\n\nimport SelectedSkills from './SelectedSkills';\nimport PuzzlePiece from '../svgs/PuzzlePiece';\n\nconst SkillsBox: React.FC<{\n skills: { category: string; skill: string; subSkills: string[] }[];\n}> = ({ skills }) => {\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full relative\">\n <div className=\"flex items-center justify-start\">\n <div className=\"bg-violet-500 rounded-full flex items-center justify-center h-[30px] w-[30px] p-1\">\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>{' '}\n <h3 className=\"text-[20px] leading-[20px] text-grayscale-900 ml-2\">Skills</h3>\n </div>\n\n {skills.length > 0 && (\n <div className=\"pt-0 pb-4 flex items-center justify-center flex-col w-full\">\n {skills.map((_skill, index) => {\n const category = boostCMSSKillCategories.find(\n c => c.type === _skill.category\n );\n const skill: any = CATEGORY_TO_SKILLS[\n _skill.category as BoostCMSSKillsCategoryEnum\n ].find(s => s.type === _skill.skill);\n const subSkills = SKILLS_TO_SUBSKILLS[_skill.skill];\n\n const selectedSkills = skills ?? [];\n const skillSelected: any = selectedSkills.find(s => s.skill === skill.type);\n\n return (\n <SelectedSkills\n key={index}\n skill={skill}\n skillSelected={skillSelected}\n />\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default SkillsBox;\n","import React from 'react';\nimport { getCategoryDarkColor, getInfoFromCredential } from '../../helpers/credential.helpers';\nimport { VC, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport VerificationsBox from './VerificationsBox';\nimport AlignmentsBox from './AlignmentsBox';\nimport TruncateTextBox from './TruncateTextBox';\nimport MediaAttachmentsBox from './MediaAttachmentsBox';\nimport SkillsBox from '../VCDisplayCard2/SkillsBox';\nimport LeftArrow from '../svgs/LeftArrow';\n\ntype CertificateBackFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n showBackButton?: boolean;\n handleViewFrontFace?: () => void;\n};\n\nexport const CertificateBackFace: React.FC<CertificateBackFaceProps> = ({\n credential,\n categoryType,\n verificationItems,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n showBackButton,\n handleViewFrontFace,\n}) => {\n const { createdAt, credentialSubject } = getInfoFromCredential(credential, 'MMM dd, yyyy', {\n uppercaseDate: false,\n });\n\n const { description } = credentialSubject?.achievement ?? {};\n const criteria = credentialSubject?.achievement?.criteria?.narrative;\n const alignment = credentialSubject?.achievement?.alignment;\n\n const credentialDarkColor = getCategoryDarkColor(categoryType);\n\n let bgColor = `bg-${credentialDarkColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n bgColor = 'bg-amber-700';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n bgColor = 'bg-lime-700';\n }\n\n return (\n <div\n role=\"button\"\n onClick={() => handleViewFrontFace?.()}\n className={`flex flex-col gap-[15px] items-center border-[5px] border-solid border-grayscale-200 py-[30px] px-[20px] rounded-[25px] max-w-[400px] ${bgColor}`}\n >\n {showBackButton ? (\n <div className=\"w-full\">\n <button\n className=\"vc-card-back-button rounded-full h-[50px] px-[15px] flex items-center justify-center gap-[5px] z-50 text-[30px] text-white select-none\"\n onClick={() => handleViewFrontFace?.()}\n >\n <LeftArrow className=\"text-white\" size=\"25\" />\n Details\n </button>\n </div>\n ) : (\n <h1 className=\"text-white text-center text-[22px] font-jacques\">Details</h1>\n )}\n\n <TruncateTextBox headerText=\"About\" text={description}>\n <span\n className={`text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description\n ? 'pt-[10px] border-t-[1px] border-solid border-grayscale-200'\n : ''\n }`}\n >\n Awarded on {createdAt}\n </span>\n </TruncateTextBox>\n\n {criteria && <TruncateTextBox headerText=\"Criteria\" text={criteria} />}\n\n {(credential.skills?.length ?? 0) > 0 &&\n (customSkillsComponent ? (\n customSkillsComponent\n ) : (\n <SkillsBox skills={credential.skills ?? []} />\n ))}\n\n {credential.attachments && credential.attachments.length > 0 && (\n <MediaAttachmentsBox\n attachments={credential.attachments}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n />\n )}\n\n {alignment && <AlignmentsBox alignment={alignment} style=\"Certificate\" />}\n\n {verificationItems && verificationItems.length > 0 && (\n <VerificationsBox verificationItems={verificationItems} />\n )}\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden bg-amber-700 bg-spice-700 bg-rose-700 bg-yellow-700 bg-teal-700\"></span>\n </div>\n );\n};\n\nexport default CertificateBackFace;\n","import React from 'react';\nimport RoundedCorner from '../svgs/RoundedCorner';\nimport { getCategoryIcon, getCategoryLightColor } from '../../helpers/credential.helpers';\nimport { LCCategoryEnum } from '../../types';\n\ntype CertificateCornerIconProps = {\n categoryType: LCCategoryEnum;\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n};\n\nconst CertificateCornerIcon: React.FC<CertificateCornerIconProps> = ({\n categoryType,\n position,\n}) => {\n const credentialPrimaryColor = getCategoryLightColor(categoryType);\n const credentialIcon = getCategoryIcon(categoryType);\n\n let iconPositionClassName, cornerPositionClassName;\n switch (position) {\n case 'top-left':\n iconPositionClassName = 'top-0 left-0';\n cornerPositionClassName = 'bottom-0 right-0';\n break;\n case 'top-right':\n iconPositionClassName = 'top-0 right-0';\n cornerPositionClassName = 'bottom-0 left-0 rotate-90';\n break;\n case 'bottom-left':\n iconPositionClassName = 'bottom-0 left-0';\n cornerPositionClassName = 'top-0 right-0 rotate-[270deg]';\n break;\n case 'bottom-right':\n iconPositionClassName = 'bottom-0 right-0';\n cornerPositionClassName = 'top-0 left-0 rotate-180';\n break;\n }\n\n return (\n <div\n className={`text-${credentialPrimaryColor} p-[11px] rounded-full bg-white absolute ${iconPositionClassName}`}\n >\n {credentialIcon}\n <RoundedCorner className={`absolute ${cornerPositionClassName}`} />\n </div>\n );\n};\n\nexport default CertificateCornerIcon;\n","import React from 'react';\n\ntype CertificateRibbonProps = {\n className?: string;\n};\n\nconst CertificateRibbon: React.FC<CertificateRibbonProps> = ({ className = '' }) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"127\"\n height=\"122\"\n viewBox=\"0 0 127 122\"\n fill=\"none\"\n className={className}\n >\n <path\n d=\"M63.5 9.98744C90.9495 9.98744 113.189 32.3381 113.189 59.9243\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M63.5 9.98744C36.0505 9.98744 13.8106 32.3381 13.8106 59.9243\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M55.491 104.475C55.1125 104.097 54.5055 104.04 54.0701 104.362C52.9214 105.204 51.6864 105.96 50.3683 106.64C50.2425 106.447 50.1763 106.348 50.1134 106.245C47.4317 102.052 43.5904 100.199 38.613 100.66C37.498 100.766 37.131 101.424 37.5563 102.465C38.677 105.212 40.5754 107.235 43.2282 108.558C43.4046 108.648 43.5742 108.75 43.7473 108.842C43.7369 108.926 43.7297 109.012 43.7193 109.096C41.5496 109.26 39.3799 109.431 37.1668 109.598C37.1455 109.189 37.1366 108.972 37.121 108.756C36.7986 103.845 34.4102 100.368 29.9291 98.3574C29.0968 97.9817 28.3206 98.4055 28.1859 99.3093C27.8266 101.757 28.1853 104.098 29.2854 106.295C29.6092 106.94 30.0099 107.541 30.3738 108.166L30.2295 108.323C28.2988 107.413 26.3714 106.5 24.4407 105.59C24.5285 105.376 24.5253 105.346 24.5321 105.326C24.6164 105.149 24.704 104.975 24.7917 104.795C26.9222 100.459 26.5793 96.318 23.8895 92.3858C23.1409 91.2898 22.4169 91.2768 21.6142 92.3372C19.8137 94.7256 19.0461 97.4221 19.2515 100.387C19.2639 100.567 19.3364 100.746 19.3789 100.923C17.7117 99.3716 16.5828 97.581 15.4909 95.7469C14.3956 93.9162 14.4014 92.0933 15.1984 90.1898C15.4618 89.5553 15.7553 88.9173 16.1286 88.3456C16.912 87.1453 17.8815 86.1241 19.2566 85.3674C19.2138 87.2538 18.6952 88.8726 17.7401 90.357C17.5014 90.7281 17.2027 91.0662 16.9772 91.4506C16.6609 91.9854 16.7184 92.5049 17.2002 92.9058C17.662 93.2934 18.2797 93.2203 18.7324 92.7615C18.8901 92.6041 19.0344 92.4334 19.1621 92.2528C21.0404 89.6474 21.7989 86.761 21.3977 83.5938C21.2758 82.6213 20.5707 82.165 19.7242 82.6257C18.5163 83.2816 17.3215 83.9974 16.2462 84.8392C14.8493 85.9359 13.9242 87.4368 13.1186 89.0571C12.8817 87.722 12.7449 86.393 12.5781 85.0675C12.5171 84.5713 12.6558 84.2007 13.0048 83.8124C16.7866 79.5579 17.5303 73.6356 14.9217 68.8332C14.4654 67.989 13.5019 67.8439 12.8011 68.5105C8.84164 72.2727 7.56188 77.961 9.63892 82.9694C10.1071 84.1001 10.4018 85.2117 10.4758 86.4243C10.547 87.5404 10.765 88.6423 10.9259 89.8279C8.25967 87.8684 5.35751 87.0464 2.11879 87.4692C0.946856 87.6183 0.600078 88.2366 1.05508 89.3274C2.97731 93.9333 7.56118 96.7496 12.6214 96.4044C13.052 96.3723 13.4512 96.6036 13.6595 96.9791C14.2284 97.996 14.8473 98.9893 15.5166 99.9457C16.1659 100.876 16.8989 101.748 17.5985 102.648C17.5415 102.692 17.5214 102.718 17.5014 102.718C17.3546 102.713 17.2078 102.7 17.0611 102.687C14.206 102.455 11.5964 103.178 9.21265 104.783C8.55309 105.229 8.00006 105.722 8.14237 106.621L8.86947 107.347C8.91615 107.354 8.97293 107.343 9.01284 107.37C13.5125 110.336 18.0571 110.34 22.6628 107.465C22.8603 107.341 23.2505 107.382 23.4869 107.491C25.441 108.384 27.385 109.314 29.3291 110.231C29.4722 110.3 29.6254 110.353 29.8918 110.465C29.6042 110.593 29.427 110.664 29.2598 110.744C26.5104 112.051 24.5082 114.084 23.2831 116.866C22.8173 117.928 23.1945 118.573 24.3482 118.714C29.3469 119.332 34.1344 116.792 36.416 112.272C36.6587 111.79 36.9294 111.706 37.4267 111.68C39.5628 111.563 41.6959 111.369 43.8289 111.195C44.0359 111.18 44.2396 111.143 44.5434 111.105C42.5449 113.737 41.6565 116.574 41.9476 119.739C42.0458 120.788 42.9706 121.35 43.947 120.932C48.5281 118.969 51.3938 114.416 51.1384 109.439C51.1143 108.932 51.2291 108.665 51.7008 108.406C52.8251 107.787 53.9096 107.095 54.9842 106.394C55.0947 106.323 55.2018 106.249 55.3123 106.172C55.8849 105.773 55.9624 104.959 55.4777 104.475L55.491 104.475ZM13.4514 71.2499C15.0126 73.9881 14.0295 79.7449 11.6834 81.8228C10.1082 79.2113 11.0479 73.4581 13.4514 71.2499ZM11.4749 106.124C13.6717 104.534 18.1698 104.505 20.4741 106.103C17.9468 107.725 13.4055 107.718 11.4749 106.124ZM11.7151 94.1395C8.83431 94.3839 4.67541 91.9919 3.89616 89.6864C6.58027 89.4064 10.0706 91.3785 11.7151 94.1395ZM22.7731 94.7808C24.2992 97.859 24.3009 100.848 22.7574 103.909C21.068 102.114 21.073 97.122 22.7731 94.7808ZM26.0112 116.469C27.9507 113.617 30.5409 112.111 33.9287 111.911C33.09 114.141 29.1897 116.743 26.0112 116.469ZM34.814 109.03C32.284 107.837 30.1144 104.002 30.3552 101.221C32.5267 102.017 35.0569 105.83 34.814 109.03ZM44.261 118.184C43.9235 115.636 46.1413 111.85 48.8045 110.423C49.2003 112.668 47.0536 116.901 44.261 118.184ZM48.1917 107.521C44.6993 107.308 42.1343 105.778 40.2866 102.955C42.3744 102.481 46.6558 104.399 48.1917 107.521Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M103.526 107.542C103.988 107.307 104.265 107.285 104.694 107.567C109.034 110.397 114.248 110.246 118.373 107.197C119.194 106.591 119.228 105.835 118.427 105.195C116.813 103.894 114.967 103.085 112.921 102.812C111.809 102.664 110.678 102.688 109.517 102.636C109.696 102.417 109.892 102.201 110.054 101.965C111.197 100.322 112.364 98.6946 113.457 97.0139C113.748 96.5622 113.984 96.3801 114.541 96.4194C119.617 96.7604 124.261 93.8706 126.123 89.2515C126.509 88.2904 126.155 87.559 125.134 87.5208C123.789 87.4643 122.425 87.4611 121.098 87.6413C119.304 87.8859 117.727 88.7313 116.278 89.8038C116.459 88.0288 116.631 86.3037 116.83 84.5787C116.852 84.3688 116.998 84.1763 117.094 83.9802C119.641 78.8979 118.638 72.8222 114.591 68.7677C113.455 67.6327 112.775 67.7294 112.068 69.1388C109.649 73.9584 110.464 79.6867 114.154 83.8627C114.328 84.0568 114.583 84.3113 114.567 84.5211C114.458 86.0366 114.292 87.5419 114.139 89.0538C114.069 89.0502 113.995 89.0498 113.922 89.0495C113.841 88.8758 113.764 88.6988 113.679 88.5218C112.348 85.8199 110.317 83.8576 107.542 82.6714C106.54 82.24 105.864 82.5933 105.749 83.639C105.292 87.8784 106.637 91.4434 109.907 94.258C110.463 94.7338 111.079 95.1432 111.702 95.6061C110.687 97.5704 109.468 99.3571 107.941 100.982C107.887 100.875 107.867 100.855 107.867 100.835C107.873 100.689 107.886 100.542 107.898 100.396C108.097 97.3513 107.296 94.5953 105.393 92.1704C104.846 91.4714 103.975 91.4639 103.451 92.1677C102.928 92.8716 102.477 93.5824 102.111 94.3504C101.084 96.4812 100.768 98.7454 101.133 101.1C101.243 101.806 101.769 102.219 102.415 102.162C102.989 102.111 103.393 101.574 103.367 100.89C103.359 100.67 103.318 100.45 103.297 100.23C103.134 98.3303 103.459 96.5393 104.425 94.8047C104.533 94.9518 104.603 95.0154 104.64 95.0989C106.059 98.0545 106.06 100.987 104.552 103.885C104.456 104.068 104.237 104.326 104.075 104.456C101.951 106.095 99.5845 107.293 97.0398 108.147C96.9665 108.173 96.873 108.146 96.7462 108.139C98.6351 105.516 99.412 102.651 98.9929 99.4732C98.8371 98.2963 98.2082 97.9267 97.1428 98.3948C93.4875 100.01 91.1922 102.764 90.3103 106.665C90.1078 107.564 90.0656 108.496 89.9241 109.602C87.7548 109.432 85.5787 109.255 83.3994 109.081C83.399 108.994 83.3985 108.908 83.3948 108.824C83.5845 108.728 83.7776 108.636 83.9706 108.537C86.643 107.187 88.538 105.127 89.6489 102.35C90.0016 101.476 89.6247 100.794 88.7133 100.673C85.592 100.255 82.7563 100.964 80.1995 102.768C78.7765 103.774 77.7019 105.088 76.7853 106.647C75.4609 105.96 74.2262 105.192 73.0678 104.346C72.6359 104.028 72.0323 104.081 71.6571 104.456C71.1624 104.95 71.2564 105.774 71.8488 106.153C73.0435 106.922 74.2315 107.677 75.436 108.403C75.8944 108.681 76.0157 108.935 75.9915 109.435C75.7422 114.465 78.7105 119.121 83.3201 120.985C84.226 121.353 85.0675 120.834 85.1662 119.865C85.4594 117.007 84.8194 114.372 83.2031 111.969C83.0217 111.701 82.8469 111.427 82.7528 111.287C85.0554 111.418 87.3848 111.582 89.7139 111.667C90.2244 111.686 90.4818 111.797 90.721 112.268C93.0148 116.801 97.9214 119.38 102.892 118.687C103.796 118.562 104.246 117.751 103.881 116.91C103.142 115.21 102.128 113.686 100.654 112.546C99.6361 111.755 98.5153 111.093 97.4409 110.371C97.5707 110.322 97.7706 110.263 97.9604 110.174C99.8211 109.3 101.692 108.456 103.522 107.525L103.526 107.542ZM115.749 106.061C113.919 107.735 109.011 107.748 106.591 106.047C109.693 104.509 112.696 104.524 115.749 106.061ZM113.709 71.2625C116.092 73.4897 116.978 78.7584 115.522 81.8002C113.229 80.3331 112.118 73.977 113.709 71.2625ZM107.97 85.5189C110.309 86.3432 112.88 90.7871 112.471 93.3041C109.92 92.029 107.709 88.1965 107.97 85.5189ZM123.323 89.6712C122.108 92.2376 118.155 94.4776 115.478 94.1449C116.647 91.6249 120.433 89.444 123.323 89.6712ZM86.8726 102.927C85.0248 105.763 82.4766 107.29 79.0148 107.514C80.1931 104.89 84.2385 102.531 86.8726 102.927ZM82.9097 118.215C80.3619 117.043 78.0748 113.213 78.2846 110.379C81.024 111.842 83.2442 115.631 82.9097 118.215ZM92.3866 108.984C91.9508 106.493 94.2033 102.462 96.7727 101.195C97.0761 103.925 94.7771 107.976 92.3866 108.984ZM101.137 116.523C98.1553 116.695 94.3382 114.501 93.2018 112.007C95.712 111.602 99.539 113.76 101.137 116.523Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default CertificateRibbon;\n","import React from 'react';\nimport CertificateRibbon from './CertificateRibbon';\n\ntype CertificateImageDisplayProps = {\n imageUrl: string;\n className?: string;\n ribbonColor?: string;\n};\n\nconst CertificateImageDisplay: React.FC<CertificateImageDisplayProps> = ({\n imageUrl,\n className = '',\n ribbonColor = 'amber-500',\n}) => {\n return (\n <div\n className={`flex items-center justify-center w-[120px] h-[120px] rounded-full border-white border-solid border-4 bg-white z-50 ${className}`}\n >\n <div className=\"relative w-[75%] h-[75%] flex items-center justify-center rounded-full border-white border-solid border-4 overflow-hidden object-contain\">\n <img src={imageUrl} alt=\"certificate thumbnail\" />\n </div>\n\n <CertificateRibbon className={`absolute z-[9999] ${ribbonColor} w-[120px] h-[120px]`} />\n </div>\n );\n};\n\nexport default CertificateImageDisplay;\n","import React from 'react';\nimport IssuerSeal from '../svgs/IssuerSeal';\n\ntype CertificateProfileImageDisplayProps = {\n imageUrl?: string;\n imageComponent?: React.ReactNode;\n isIssuer?: boolean;\n className?: string;\n};\n\nconst CertificateProfileImageDisplay: React.FC<CertificateProfileImageDisplayProps> = ({\n imageUrl,\n isIssuer = false,\n className = '',\n imageComponent,\n}) => {\n const imageClassName = `h-[50px] w-[50px] rounded-full overflow-hidden ${isIssuer ? 'absolute border-[2px] border-solid border-grayscale-200' : ''\n }`;\n return (\n <div className={className}>\n {isIssuer && (\n <div className=\"bg-white rounded-full p-[5px]\">\n <IssuerSeal />\n </div>\n )}\n\n {imageComponent && <div className={imageClassName}>{imageComponent}</div>}\n {!imageComponent && <img className={imageClassName} src={imageUrl} />}\n </div>\n );\n};\n\nexport default CertificateProfileImageDisplay;\n","import React from 'react';\nimport UnknownVerifierBadge from '../svgs/UnknownVerifierBadge';\nimport VerifiedBadge from '../svgs/VerifiedBadge';\nimport PersonBadge from '../svgs/PersonBadge';\nimport RedFlag from '../svgs/RedFlag';\n\nexport const VERIFIER_STATES = {\n selfVerified: 'Self Verified',\n trustedVerifier: 'Trusted Verifier',\n unknownVerifier: 'Unknown Verifier',\n untrustedVerifier: 'Untrusted Verifier',\n} as const;\nexport type VerifierState = (typeof VERIFIER_STATES)[keyof typeof VERIFIER_STATES];\n\ntype VerifierStateBadgeAndTextProps = {\n verifierState: VerifierState;\n};\n\nconst VerifierStateBadgeAndText: React.FC<VerifierStateBadgeAndTextProps> = ({ verifierState }) => {\n return (\n <div className=\"flex justify-center\">\n {verifierState === VERIFIER_STATES.selfVerified && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-green-dark flex gap-[3px] items-center\">\n <PersonBadge />\n Self Verified\n </span>\n )}\n {verifierState === VERIFIER_STATES.trustedVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-blue-light flex gap-[3px] items-center\">\n <VerifiedBadge />\n Trusted Verifier\n </span>\n )}\n {verifierState === VERIFIER_STATES.unknownVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-orange-500 flex gap-[3px] items-center\">\n <UnknownVerifierBadge />\n Unknown Verifier\n </span>\n )}\n {verifierState === VERIFIER_STATES.untrustedVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-red-mastercard flex gap-[3px] items-center\">\n <RedFlag />\n Untrusted Verifier\n </span>\n )}\n </div>\n );\n};\n\nexport default VerifierStateBadgeAndText;\n","import React from 'react';\n\nimport CertificateCornerIcon from './CertificateCornerIcon';\nimport CertificateImageDisplay from './CertificateImageDisplay';\nimport CertDisplayCardSkillsCount from './CertDisplayCardSkillsCount';\nimport CertificateProfileImageDisplay from './CertificateProfileImageDisplay';\n\nimport Smiley from '../svgs/Smiley';\nimport Line from '../svgs/Line';\n\nimport {\n getInfoFromCredential,\n getNameFromProfile,\n getImageFromProfile,\n getCategoryLightColor,\n getCategoryDarkColor,\n} from '../../helpers/credential.helpers';\n\nimport { VC, Profile } from '@learncard/types';\nimport { BoostAchievementCredential, LCCategoryEnum } from '../../types';\nimport VerifierStateBadgeAndText, {\n VerifierState,\n VERIFIER_STATES,\n} from './VerifierStateBadgeAndText';\n\ntype CertificateFrontFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n trustedAppRegistry?: any[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n handleViewBackFace?: () => void;\n showDetailsBtn?: boolean;\n};\n\nexport const CertificateFrontFace: React.FC<CertificateFrontFaceProps> = ({\n isFront,\n credential,\n categoryType,\n issuerOverride,\n issueeOverride,\n trustedAppRegistry,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n hideIssueDate,\n handleViewBackFace,\n showDetailsBtn = false,\n}) => {\n const {\n title = '',\n createdAt,\n issuer: _issuer = '',\n issuee: _issuee = '',\n credentialSubject,\n imageUrl,\n } = getInfoFromCredential(credential, 'MMM dd, yyyy', { uppercaseDate: false });\n\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const { description } = credentialSubject?.achievement ?? {};\n\n const credentialLightColor = getCategoryLightColor(categoryType); // 500\n const credentialDarkColor = getCategoryDarkColor(categoryType); // 700\n\n let categoryTitle: string | undefined = categoryType;\n\n let textLightColor = `text-${credentialLightColor}`;\n let textDarkColor = `text-${credentialDarkColor}`;\n let borderColor = `border-${credentialLightColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n textLightColor = 'text-amber-500';\n textDarkColor = 'text-amber-700';\n borderColor = 'border-amber-500';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n textLightColor = 'text-lime-500';\n textDarkColor = 'text-lime-700';\n borderColor = 'border-lime-500';\n } else if (categoryType === LCCategoryEnum.learningHistory) {\n categoryTitle = 'Course';\n } else if (categoryType === LCCategoryEnum.workHistory) {\n categoryTitle = 'Experiences';\n textLightColor = 'text-blue-500';\n textDarkColor = 'text-blue-700';\n borderColor = 'border-blue-500';\n }\n\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id;\n\n let verifierState: VerifierState;\n if (credentialSubject?.id === issuerDid && issuerDid && issuerDid !== 'did:example:123') {\n // the extra \"&& issuerDid\" is so that the credential preview doesn't say \"Self Verified\"\n // the did:example:123 condition is so that we don't show this status from the Manage Boosts tab\n verifierState = VERIFIER_STATES.selfVerified;\n } else {\n const appRegistryEntry = trustedAppRegistry?.find(\n registryEntry => registryEntry.did === issuerDid\n );\n\n if (appRegistryEntry) {\n verifierState = appRegistryEntry.isTrusted\n ? VERIFIER_STATES.trustedVerifier\n : VERIFIER_STATES.untrustedVerifier;\n } else {\n verifierState = VERIFIER_STATES.unknownVerifier;\n }\n }\n const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;\n\n const issueeImageExists = issueeImage || subjectImageComponent;\n\n return (\n <section\n role=\"button\"\n onClick={() => handleViewBackFace?.()}\n className=\"relative p-[13px] mt-[55px] bg-white border-[5px] rounded-[30px] border-soid border-grayscale-200 max-w-[300px]\"\n >\n <div className=\"w-[calc(100%-26px)] absolute top-[-52px]\">\n <CertificateImageDisplay\n imageUrl={imageUrl ?? ''}\n className=\"mx-auto\"\n ribbonColor={textLightColor}\n />\n </div>\n\n <div\n className={`flex flex-col gap-[15px] items-center px-[20px] pt-[55px] ${isSelfVerified ? 'pb-[20px]' : 'pb-[77px]'\n } border-solid border-[4px] ${borderColor} rounded-[30px]`}\n >\n <div className=\"flex flex-col gap-[5px] items-center\">\n <div className={`${textLightColor} uppercase text-[14px] font-poppins`}>\n {categoryTitle}\n </div>\n\n <h1 className=\"text-grayscale-900 text-center text-[20px] font-jacques\">\n {title}\n </h1>\n </div>\n\n {customBodyCardComponent}\n {issueeImageExists && !customBodyCardComponent && (\n <CertificateProfileImageDisplay\n imageUrl={issueeImage}\n imageComponent={subjectImageComponent}\n className={`flex justify-center items-center ${textDarkColor}`}\n isIssuer={isSelfVerified}\n />\n )}\n {!issueeImageExists && !customBodyCardComponent && (\n <div className=\"h-[50px] w-[50px] rounded-full bg-grayscale-500 flex items-center justify-center\">\n <Smiley />\n </div>\n )}\n\n <div className=\"text-[14px] text-grayscale-800 flex flex-col items-center w-full\">\n <span className=\"font-jacques flex gap-[5px] items-center w-full overflow-ellipsis whitespace-nowrap overflow-hidden justify-center\">\n {issueeName === '0 person' ? 'Not yet awarded' : <>Awarded to {issueeName || <Line width=\"60\" />}</>}\n </span>\n {!hideIssueDate && <span className=\"font-jacques\">on {createdAt}</span>}\n </div>\n\n <div className=\"flex flex-col gap-[10px] items-center\">\n {description && (\n <div className=\"text-center text-grayscale-700 text-[12px] font-jacques line-clamp-4\">\n {description}\n </div>\n )}\n\n <CertDisplayCardSkillsCount\n skills={credential?.skills ?? []}\n onClick={handleViewBackFace}\n />\n\n {isFront && showDetailsBtn && (\n <button\n type=\"button\"\n className=\"vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[30px] py-[8px] rounded-[40px] text-[28px] tracking-[0.75px] uppercase leading-[28px] mt-[25px] w-fit select-none\"\n onClick={() => handleViewBackFace?.()}\n >\n Details\n </button>\n )}\n </div>\n\n <div className=\"flex flex-col gap-[5px] items-center w-full\">\n <span className=\"font-jacques text-[12px] text-grayscale-800\">\n Certified by\n </span>\n <span className=\"mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b-[1px] border-solid border-grayscale-200 w-full text-center overflow-ellipsis whitespace-nowrap overflow-x-hidden overflow-y-visible scrollbar-hide\">\n {issuerName}\n </span>\n\n <VerifierStateBadgeAndText verifierState={verifierState} />\n </div>\n </div>\n\n {categoryType && (\n <>\n <CertificateCornerIcon categoryType={categoryType} position=\"top-left\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"top-right\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"bottom-left\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"bottom-right\" />\n </>\n )}\n\n {!isSelfVerified && (\n <CertificateProfileImageDisplay\n imageUrl={issuerImage}\n imageComponent={issuerImageComponent}\n className={`w-[calc(100%-26px)] absolute bottom-0 flex justify-center items-center ${textDarkColor}`}\n isIssuer\n />\n )}\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500\"></span>\n </section>\n );\n};\n\nexport default CertificateFrontFace;\n","import React, { useState } from 'react';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport CertificateFrontFace from './CertificateFrontFace';\nimport CertificateBackFace from './CertificateBackFace';\nimport FatArrow from '../svgs/FatArrow';\nimport ThreeDots from '../../assets/images/DotsThreeOutline.svg';\n\ntype CertificateDisplayCardProps = {\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n trustedAppRegistry?: any[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n\n handleXClick?: () => void;\n onDotsClick?: () => void;\n isFrontOverride?: boolean;\n setIsFrontOverride?: (value: boolean) => void;\n hideNavButtons?: boolean;\n showBackButton?: boolean;\n showDetailsBtn?: boolean;\n};\n\nexport const CertificateDisplayCard: React.FC<CertificateDisplayCardProps> = ({\n credential,\n categoryType,\n verificationItems,\n issuerOverride,\n issueeOverride,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n trustedAppRegistry,\n hideIssueDate,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n\n handleXClick,\n onDotsClick,\n isFrontOverride,\n setIsFrontOverride,\n hideNavButtons,\n showBackButton = false,\n showDetailsBtn = false,\n}) => {\n const [_isFront, _setIsFront] = useState(isFrontOverride ?? true);\n\n const isFront = isFrontOverride ?? _isFront;\n const setIsFront = setIsFrontOverride ?? _setIsFront;\n\n return (\n <section className=\"w-full flex flex-col gap-[15px] justify-center relative min-w-[220px]\">\n <section className=\"mx-auto\">\n {isFront && (\n <CertificateFrontFace\n credential={credential}\n categoryType={categoryType}\n issuerOverride={issuerOverride}\n issueeOverride={issueeOverride}\n trustedAppRegistry={trustedAppRegistry}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n customBodyCardComponent={customBodyCardComponent}\n hideIssueDate={hideIssueDate}\n handleViewBackFace={() => setIsFront(!isFront)}\n isFront={isFront}\n showDetailsBtn={showDetailsBtn}\n />\n )}\n\n {!isFront && (\n <CertificateBackFace\n credential={credential}\n categoryType={categoryType}\n verificationItems={verificationItems}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n showBackButton={(showBackButton && !hideNavButtons) || showDetailsBtn}\n handleViewFrontFace={() => setIsFront(!isFront)}\n />\n )}\n\n {onDotsClick && (\n <button\n className=\"absolute right-[-20px] top-[-52px] bg-white rounded-full p-[10px] shadow-bottom\"\n onClick={onDotsClick}\n >\n <img\n alt=\"Menu dropdown icon\"\n className=\"h-[20px] w-[20px]\"\n src={ThreeDots}\n />\n </button>\n )}\n </section>\n\n {!hideNavButtons && (\n <div className=\"flex gap-[10px] font-mouse text-[30px] leading-[28px] tracking-[0.75px] relative top-[-10px] left-0 w-full\">\n {!isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] flex mx-auto justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n <FatArrow direction=\"left\" /> Back\n </button>\n )}\n\n {handleXClick && (\n <button\n onClick={handleXClick}\n className=\"bg-white text-grayscale-900 rounded-[20px] py-[15px] px-[20px] grow\"\n >\n Close\n </button>\n )}\n\n {isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] mx-auto flex justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n Details <FatArrow direction=\"right\" />\n </button>\n )}\n </div>\n )}\n </section>\n );\n};\n\nexport default CertificateDisplayCard;\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"CertificateDisplayCard-c1c15c0d.js","sources":["../../src/components/svgs/AcuteCheckmark.tsx","../../src/components/svgs/Camera.tsx","../../src/components/svgs/ExclamationPoint.tsx","../../src/components/svgs/FatArrow.tsx","../../src/components/svgs/GenericDocumentIcon.tsx","../../src/components/svgs/InfoIcon.tsx","../../src/components/svgs/IssuerSeal.tsx","../../src/components/svgs/LeftArrow.tsx","../../src/components/svgs/Line.tsx","../../src/components/svgs/LinkIcon.tsx","../../src/components/svgs/PersonBadge.tsx","../../src/components/svgs/RedFlag.tsx","../../src/components/svgs/RoundedCorner.tsx","../../src/components/svgs/Smiley.tsx","../../src/components/svgs/UnknownVerifierBadge.tsx","../../src/components/svgs/VerifiedBadge.tsx","../../src/components/svgs/VideoIcon.tsx","../../src/components/svgs/X.tsx","../../src/components/CertificateDisplayCard/AlignmentRow.tsx","../../src/components/CertificateDisplayCard/InfoBox.tsx","../../src/components/CertificateDisplayCard/AlignmentsBox.tsx","../../src/components/CertificateDisplayCard/CertDisplayCardSkillsCount.tsx","../../src/helpers/string.helpers.ts","../../src/components/CertificateDisplayCard/VerificationRow.tsx","../../src/components/CertificateDisplayCard/VerificationsBox.tsx","../../src/components/CertificateDisplayCard/TruncateTextBox.tsx","../../../../node_modules/.pnpm/pretty-bytes@6.0.0/node_modules/pretty-bytes/index.js","../../src/helpers/url.helpers.ts","../../src/components/CertificateDisplayCard/MediaAttachmentsBox.tsx","../../src/constants/skills.ts","../../src/components/VCDisplayCard2/TopLevelSkill.tsx","../../src/components/VCDisplayCard2/Subskill.tsx","../../src/components/VCDisplayCard2/SelectedSkills.tsx","../../src/components/VCDisplayCard2/SkillsBox.tsx","../../src/components/CertificateDisplayCard/CertificateBackFace.tsx","../../src/components/CertificateDisplayCard/CertificateCornerIcon.tsx","../../src/components/CertificateDisplayCard/CertificateRibbon.tsx","../../src/components/CertificateDisplayCard/CertificateImageDisplay.tsx","../../src/components/CertificateDisplayCard/CertificateProfileImageDisplay.tsx","../../src/components/CertificateDisplayCard/VerifierStateBadgeAndText.tsx","../../src/components/CertificateDisplayCard/CertificateFrontFace.tsx","../../src/components/CertificateDisplayCard/CertificateDisplayCard.tsx"],"sourcesContent":["import React from 'react';\n\ntype AcuteCheckmarkProps = {\n className?: string;\n};\n\nconst AcuteCheckmark: React.FC<AcuteCheckmarkProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"11\"\n viewBox=\"0 0 16 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M0.5 4.26859L5.96103 10.5L15.3 0.5H10.6348L5.96103 6.3205L4.49338 4.06677L0.5 4.26859Z\"\n fill=\"#00BA88\"\n />\n </svg>\n );\n};\n\nexport default AcuteCheckmark;\n","import React from 'react';\n\ntype CameraProps = {\n className?: string;\n};\n\nconst Camera: React.FC<CameraProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"25\"\n height=\"24\"\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M20.7415 5.81958H18.6871C18.0439 5.81958 17.4439 5.49798 17.0887 4.96518L16.2295 3.67398C15.8743 3.14118 15.2743 2.81958 14.6311 2.81958L10.6855 2.81958C10.0423 2.81958 9.44231 3.14118 9.08711 3.67398L8.22791 4.96518C7.87271 5.49798 7.27271 5.81958 6.62951 5.81958H4.57991C3.51911 5.81958 2.65991 6.67878 2.65991 7.73958L2.65991 18.8996C2.65991 19.9604 3.51911 20.8196 4.57991 20.8196L20.7415 20.8196C21.8023 20.8196 22.6615 19.9604 22.6615 18.8996L22.6615 7.73958C22.6615 6.67878 21.8023 5.81958 20.7415 5.81958ZM12.7399 17.738C10.0903 17.738 7.93991 15.5876 7.93991 12.938C7.93991 10.2884 10.0903 8.13798 12.7399 8.13798C15.3895 8.13798 17.5399 10.2884 17.5399 12.938C17.5399 15.5876 15.3895 17.738 12.7399 17.738Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default Camera;\n","import React from 'react';\n\ntype ExclamationPointProps = {\n className?: string;\n};\n\nconst ExclamationPoint: React.FC<ExclamationPointProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"5\"\n height=\"11\"\n viewBox=\"0 0 5 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M1.1338 6.58451L0.5 0.5H4.30282L3.66901 6.58451H1.1338ZM2.40141 10.5C1.85681 10.5 1.4108 10.3357 1.06338 10.007C0.715963 9.66901 0.542253 9.26995 0.542253 8.80986C0.542253 8.34037 0.715963 7.94601 1.06338 7.62676C1.4108 7.30751 1.85681 7.14789 2.40141 7.14789C2.9554 7.14789 3.40141 7.30751 3.73944 7.62676C4.08685 7.94601 4.26056 8.34037 4.26056 8.80986C4.26056 9.26995 4.08685 9.66901 3.73944 10.007C3.40141 10.3357 2.9554 10.5 2.40141 10.5Z\"\n fill=\"#FACC15\"\n />\n </svg>\n );\n};\n\nexport default ExclamationPoint;\n","import React from 'react';\n\ntype FatArrowProps = {\n className?: string;\n direction?: 'right' | 'left';\n};\n\nconst FatArrow: React.FC<FatArrowProps> = ({ className = '', direction = 'right' }) => {\n if (direction === 'right') {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.463 21.6929C12.3259 21.6361 12.2088 21.54 12.1264 21.4166C12.044 21.2933 12 21.1483 12 21V17.25H4.5C4.10231 17.2495 3.72105 17.0913 3.43984 16.8101C3.15864 16.5289 3.00045 16.1477 3 15.75V8.24999C3.00045 7.8523 3.15864 7.47103 3.43984 7.18983C3.72105 6.90862 4.10231 6.75044 4.5 6.74998H12V2.99998C12 2.85165 12.044 2.70665 12.1264 2.58332C12.2088 2.45999 12.326 2.36387 12.463 2.3071C12.6001 2.25033 12.7509 2.23547 12.8963 2.2644C13.0418 2.29333 13.1755 2.36475 13.2804 2.46962L22.2804 11.4696C22.421 11.6103 22.5 11.8011 22.5 12C22.5 12.1989 22.421 12.3897 22.2804 12.5304L13.2804 21.5304C13.1755 21.6352 13.0418 21.7066 12.8963 21.7355C12.7508 21.7645 12.6 21.7496 12.463 21.6929V21.6929Z\"\n fill=\"white\"\n />\n </svg>\n );\n } else {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M10.7196 21.5304L1.71963 12.5304C1.57903 12.3897 1.50005 12.1989 1.50005 12C1.50005 11.8011 1.57903 11.6103 1.71963 11.4696L10.7196 2.46962C10.8245 2.36475 10.9582 2.29333 11.1037 2.2644C11.2491 2.23547 11.3999 2.25033 11.537 2.3071C11.674 2.36387 11.7912 2.45999 11.8736 2.58332C11.956 2.70665 12 2.85165 12 2.99998V6.74998H19.5C19.8977 6.75044 20.279 6.90862 20.5602 7.18983C20.8414 7.47103 20.9995 7.8523 21 8.24999V15.75C20.9995 16.1477 20.8414 16.5289 20.5602 16.8101C20.279 17.0913 19.8977 17.2495 19.5 17.25H12V21C12 21.1483 11.956 21.2933 11.8736 21.4166C11.7912 21.54 11.674 21.6361 11.537 21.6929C11.3999 21.7496 11.2491 21.7645 11.1037 21.7356C10.9582 21.7066 10.8245 21.6352 10.7196 21.5304Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n};\n\nexport default FatArrow;\n","import React from 'react';\n\ntype GenericDocumentIconProps = {\n className?: string;\n};\n\nconst GenericDocumentIcon: React.FC<GenericDocumentIconProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"41\"\n height=\"40\"\n viewBox=\"0 0 41 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M5.5 4.66675C5.5 3.0099 6.84315 1.66675 8.5 1.66675H18.6813C21.3361 1.66675 23.8555 2.83885 25.5655 4.86953L33.3842 14.1542C34.7507 15.7769 35.5 17.8301 35.5 19.9515V35.3334C35.5 36.9903 34.1569 38.3334 32.5 38.3334H8.5C6.84315 38.3334 5.5 36.9903 5.5 35.3334V4.66675Z\"\n fill=\"#FF3636\"\n />\n <path d=\"M22 13V2.5C26 3.5 34.5 14 35.5 18H27C23 18 22 16 22 13Z\" fill=\"#FF7A7A\" />\n </svg>\n );\n};\n\nexport default GenericDocumentIcon;\n","import React from 'react';\n\ntype InfoIconProps = {\n className?: string;\n color?: string;\n};\n\nconst InfoIcon: React.FC<InfoIconProps> = ({ className = '', color = '#A8ACBD' }) => {\n return (\n <svg\n width=\"22\"\n height=\"21\"\n viewBox=\"0 0 22 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M11.0003 0.34375C8.99153 0.34375 7.02793 0.939404 5.35774 2.05539C3.68755 3.17137 2.3858 4.75756 1.6171 6.61337C0.848395 8.46918 0.647267 10.5113 1.03915 12.4814C1.43103 14.4515 2.39832 16.2612 3.8187 17.6816C5.23907 19.1019 7.04874 20.0692 9.01886 20.4611C10.989 20.853 13.0311 20.6519 14.8869 19.8832C16.7427 19.1144 18.3289 17.8127 19.4449 16.1425C20.5608 14.4723 21.1565 12.5087 21.1565 10.5C21.1534 7.80735 20.0824 5.22588 18.1784 3.32188C16.2744 1.41789 13.6929 0.346862 11.0003 0.34375V0.34375ZM11.0002 5.03125C11.2319 5.03125 11.4585 5.09998 11.6512 5.22875C11.8439 5.35751 11.9941 5.54054 12.0828 5.75467C12.1715 5.9688 12.1947 6.20443 12.1495 6.43175C12.1043 6.65907 11.9927 6.86788 11.8288 7.03177C11.6649 7.19566 11.4561 7.30727 11.2288 7.35248C11.0015 7.3977 10.7658 7.37449 10.5517 7.2858C10.3376 7.1971 10.1545 7.0469 10.0258 6.85418C9.89701 6.66147 9.82828 6.4349 9.82828 6.20313C9.82828 6.04923 9.85859 5.89685 9.91748 5.75467C9.97637 5.61249 10.0627 5.4833 10.1715 5.37448C10.2803 5.26566 10.4095 5.17934 10.5517 5.12045C10.6939 5.06156 10.8463 5.03125 11.0002 5.03125H11.0002ZM11.7815 15.9688H11.0003C10.8976 15.9688 10.796 15.9486 10.7012 15.9094C10.6064 15.8702 10.5202 15.8126 10.4477 15.7401C10.3751 15.6675 10.3176 15.5814 10.2783 15.4865C10.2391 15.3917 10.2189 15.2901 10.219 15.1875V10.5C10.0118 10.5 9.81309 10.4177 9.66657 10.2712C9.52006 10.1247 9.43775 9.92595 9.43775 9.71875C9.43775 9.51155 9.52006 9.31284 9.66657 9.16632C9.81309 9.01981 10.0118 8.9375 10.219 8.9375H11.0003C11.1029 8.93744 11.2045 8.95761 11.2993 8.99685C11.3941 9.03609 11.4803 9.09363 11.5528 9.16619C11.6254 9.23875 11.6829 9.3249 11.7222 9.41971C11.7614 9.51452 11.7816 9.61614 11.7815 9.71875V14.4063C11.9887 14.4063 12.1874 14.4886 12.3339 14.6351C12.4804 14.7816 12.5628 14.9803 12.5628 15.1875C12.5628 15.3947 12.4804 15.5934 12.3339 15.7399C12.1874 15.8864 11.9887 15.9688 11.7815 15.9688Z\"\n fill={color}\n />\n </svg>\n );\n};\n\nexport default InfoIcon;\n","import React from 'react';\n\ntype IssuerSealProps = {\n className?: string;\n};\n\nconst IssuerSeal: React.FC<IssuerSealProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"77\"\n height=\"77\"\n viewBox=\"0 0 77 77\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M63.505 67.2679C56.4382 65.6232 52.6788 67.6475 50.6184 74.3528C49.9316 76.5939 47.1844 77.3169 45.5036 75.6903C40.5514 70.9369 36.4486 70.9369 31.4964 75.6903C29.7975 77.3169 27.0684 76.612 26.3816 74.3528C24.3393 67.6475 20.5799 65.6232 13.495 67.2679C11.2539 67.7921 9.28385 65.8039 9.80799 63.5809C11.4527 56.514 9.42844 52.7547 2.72309 50.6943C0.481945 50.0075 -0.241003 47.2603 1.38563 45.5794C6.13902 40.6273 6.13902 36.5245 1.38563 31.5723C-0.241003 29.8734 0.463872 27.1443 2.72309 26.4575C9.42844 24.4151 11.4527 20.6558 9.80799 13.5709C9.28385 11.3297 11.272 9.35971 13.495 9.88385C20.5618 11.5286 24.3212 9.5043 26.3816 2.79895C27.0684 0.557812 29.8156 -0.165137 31.4964 1.4615C36.4486 6.21489 40.5514 6.21489 45.5036 1.4615C47.2025 -0.165137 49.9316 0.539738 50.6184 2.79895C52.6608 9.5043 56.4201 11.5286 63.505 9.88385C65.7461 9.35971 67.7162 11.3478 67.192 13.5709C65.5473 20.6377 67.5716 24.397 74.2769 26.4575C76.5181 27.1443 77.241 29.8915 75.6144 31.5723C70.861 36.5245 70.861 40.6273 75.6144 45.5794C77.241 47.2784 76.5362 50.0075 74.2769 50.6943C67.5716 52.7366 65.5473 56.496 67.192 63.5809C67.7162 65.822 65.7281 67.7921 63.505 67.2679Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default IssuerSeal;\n","import React from 'react';\n\ntype LeftArrowProps = {\n className?: string;\n color?: string;\n size?: string;\n};\n\nconst LeftArrow: React.FC<LeftArrowProps> = ({ className = '', size = '20' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M8.93299 17.942L1.43299 10.442C1.31582 10.3247 1.25 10.1657 1.25 9.99999C1.25 9.83423 1.31582 9.67526 1.43299 9.55802L8.93299 2.05802C9.02041 1.97062 9.13178 1.91111 9.25301 1.887C9.37425 1.8629 9.49991 1.87528 9.61412 1.92258C9.72832 1.96989 9.82593 2.04999 9.89461 2.15277C9.96329 2.25554 9.99995 2.37638 9.99996 2.49999V5.62499H16.25C16.5814 5.62537 16.8991 5.75718 17.1334 5.99152C17.3678 6.22586 17.4996 6.54358 17.5 6.87499V13.125C17.4996 13.4564 17.3678 13.7741 17.1334 14.0085C16.8991 14.2428 16.5814 14.3746 16.25 14.375H9.99996V17.5C9.99995 17.6236 9.96329 17.7444 9.89461 17.8472C9.82593 17.95 9.72832 18.0301 9.61412 18.0774C9.49991 18.1247 9.37425 18.1371 9.25301 18.113C9.13178 18.0889 9.02041 18.0294 8.93299 17.942Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default LeftArrow;\n","import React from 'react';\n\ntype LineProps = {\n className?: string;\n width?: string;\n};\n\nconst Line: React.FC<LineProps> = ({ className = '', width = '109' }) => {\n return (\n <svg\n width={width}\n height=\"6\"\n viewBox=\"0 0 109 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect y=\"0.575806\" width=\"109\" height=\"5\" rx=\"2.5\" fill=\"#E2E3E9\" />\n </svg>\n );\n};\n\nexport default Line;\n","import React from 'react';\n\ntype LinkIconProps = {\n className?: string;\n};\n\nconst LinkIcon: React.FC<LinkIconProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"33\"\n height=\"32\"\n viewBox=\"0 0 33 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M16.8117 7.91003L18.2677 6.45403C18.7784 5.94292 19.3847 5.53742 20.0521 5.26071C20.7195 4.98399 21.4348 4.84148 22.1573 4.84131C22.8798 4.84114 23.5953 4.98332 24.2628 5.25973C24.9303 5.53613 25.5368 5.94135 26.0477 6.45222C26.5586 6.9631 26.9638 7.56962 27.2402 8.23714C27.5166 8.90466 27.6588 9.6201 27.6586 10.3426C27.6584 11.0651 27.5159 11.7804 27.2392 12.4478C26.9625 13.1152 26.557 13.7216 26.0459 14.2322L22.5104 17.7677C21.9996 18.2785 21.3933 18.6836 20.726 18.96C20.0587 19.2364 19.3435 19.3787 18.6213 19.3787C17.899 19.3787 17.1838 19.2364 16.5165 18.96C15.8492 18.6836 15.2429 18.2785 14.7322 17.7677\"\n stroke=\"#6366F1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.188 24.0902L14.7322 25.546C14.2216 26.0571 13.6152 26.4626 12.9478 26.7393C12.2804 27.016 11.5651 27.1585 10.8426 27.1587C10.1201 27.1589 9.40466 27.0167 8.73714 26.7403C8.06962 26.4639 7.4631 26.0586 6.95222 25.5478C6.44135 25.0369 6.03613 24.4304 5.75973 23.7629C5.48332 23.0953 5.34114 22.3799 5.34131 21.6574C5.34148 20.9349 5.48399 20.2195 5.76071 19.5521C6.03742 18.8848 6.44292 18.2784 6.95403 17.7678L10.4896 14.2323C11.0003 13.7215 11.6066 13.3164 12.2739 13.04C12.9412 12.7636 13.6564 12.6213 14.3787 12.6213C15.1009 12.6213 15.8161 12.7636 16.4834 13.04C17.1507 13.3164 17.757 13.7215 18.2677 14.2323\"\n stroke=\"#6366F1\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default LinkIcon;\n","import React from 'react';\n\ntype PersonBadgeProps = {\n className?: string;\n};\n\nconst PersonBadge: React.FC<PersonBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_378_5394)\">\n <g clipPath=\"url(#clip1_378_5394)\">\n <path\n d=\"M7.99375 9.45085C8.65625 9.45085 9.29375 9.18835 9.7625 8.7196C10.2312 8.25085 10.4937 7.61335 10.4937 6.95085C10.4937 6.4571 10.35 5.97585 10.075 5.56335C9.8 5.15085 9.4125 4.8321 8.95 4.6446C8.49375 4.4571 7.9875 4.4071 7.50625 4.50085C7.01875 4.5946 6.575 4.83835 6.225 5.1821C5.875 5.5321 5.6375 5.97585 5.54375 6.46335C5.45 6.95085 5.49375 7.45085 5.6875 7.9071C5.875 8.36335 6.2 8.7571 6.60625 9.0321C7.01875 9.3071 7.5 9.45085 7.99375 9.45085Z\"\n fill=\"#05B65D\"\n />\n <path\n d=\"M11.3375 11.9759C10.4187 11.1571 9.2375 10.7009 8.00625 10.7009C6.775 10.7009 5.5875 11.1509 4.675 11.9759C4.4 12.2196 4.1625 12.4946 3.95 12.7884C4.81875 12.7884 5.36875 13.1696 5.7375 14.0259C5.91875 14.4509 6.45 14.5821 6.8125 14.3071C7.64375 13.6696 8.3625 13.6696 9.19375 14.3071C9.5625 14.5821 10.0875 14.4509 10.2687 14.0259C10.6437 13.1634 11.1937 12.7821 12.0625 12.7884C11.85 12.4946 11.6125 12.2196 11.3375 11.9759Z\"\n fill=\"#05B65D\"\n />\n <path\n d=\"M14.7313 6.38838C15.0063 6.01963 14.8751 5.49463 14.4501 5.31338C13.4626 4.88213 13.1063 4.21963 13.2376 3.11338C13.2876 2.66963 12.9126 2.28838 12.4626 2.33838C11.3501 2.46963 10.6876 2.10713 10.2626 1.12588C10.0813 0.700884 9.55006 0.569634 9.18756 0.844634C8.35631 1.48213 7.63756 1.48213 6.80631 0.844634C6.43756 0.569634 5.91256 0.700884 5.73131 1.12588C5.30006 2.11338 4.63756 2.46963 3.53131 2.33838C3.08756 2.28838 2.70631 2.66338 2.75631 3.11338C2.88756 4.22588 2.52506 4.88838 1.54381 5.31338C1.12506 5.49463 0.993806 6.02588 1.26881 6.38838C1.90631 7.21963 1.90631 7.93838 1.26881 8.76963C0.993806 9.13838 1.12506 9.66338 1.55006 9.84463C2.53756 10.2759 2.89381 10.9384 2.76256 12.0446C2.75006 12.1259 2.76256 12.2071 2.78131 12.2821C2.86256 12.1634 2.93131 12.0321 3.01881 11.9196C3.70631 11.0196 4.61881 10.3196 5.66881 9.90088C5.05631 9.41963 4.60631 8.75713 4.38756 8.00713C4.16881 7.25713 4.18756 6.46338 4.44381 5.72588C4.70006 4.98838 5.17506 4.35088 5.81256 3.90088C6.45006 3.45088 7.20631 3.20713 7.98756 3.20713C8.76881 3.20713 9.52506 3.45088 10.1626 3.90088C10.8001 4.35088 11.2751 4.99463 11.5313 5.72588C11.7876 6.46338 11.8063 7.26338 11.5876 8.00713C11.3688 8.75713 10.9188 9.41338 10.3063 9.90088C11.3626 10.3196 12.2813 11.0196 12.9688 11.9196C13.0563 12.0384 13.1313 12.1696 13.2126 12.2884C13.2313 12.2134 13.2438 12.1321 13.2313 12.0446C13.1001 10.9321 13.4626 10.2696 14.4438 9.84463C14.8688 9.66338 15.0001 9.13213 14.7251 8.76963C14.0876 7.93838 14.0876 7.21963 14.7251 6.38838H14.7313Z\"\n fill=\"#05B65D\"\n />\n </g>\n </g>\n <defs>\n <clipPath id=\"clip0_378_5394\">\n <rect\n width=\"15\"\n height=\"15\"\n fill=\"white\"\n transform=\"translate(0.5 0.0758667)\"\n />\n </clipPath>\n <clipPath id=\"clip1_378_5394\">\n <rect\n width=\"13.75\"\n height=\"13.75\"\n fill=\"white\"\n transform=\"translate(1.125 0.700867)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default PersonBadge;\n","import React from 'react';\n\ntype RedFlagProps = {\n className?: string;\n};\n\nconst RedFlag: React.FC<RedFlagProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"15\"\n viewBox=\"0 0 16 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_459_5374)\">\n <path\n d=\"M14.7314 6.31252C15.0064 5.94377 14.8751 5.41877 14.4501 5.23752C13.4626 4.80627 13.1064 4.14377 13.2376 3.03752C13.2876 2.59377 12.9126 2.21252 12.4626 2.26252C11.3501 2.39377 10.6876 2.03127 10.2626 1.05002C10.0814 0.625017 9.55012 0.493767 9.18762 0.768767C8.35637 1.40627 7.63762 1.40627 6.80637 0.768767C6.43762 0.493767 5.91262 0.625017 5.73137 1.05002C5.30012 2.03752 4.63762 2.39377 3.53137 2.26252C3.08762 2.21252 2.70637 2.58752 2.75637 3.03752C2.88762 4.15002 2.52512 4.81252 1.54387 5.23752C1.12512 5.41877 0.993867 5.95002 1.26887 6.31252C1.90637 7.14377 1.90637 7.86252 1.26887 8.69377C0.993867 9.06252 1.12512 9.58752 1.55012 9.76877C2.53762 10.2 2.89387 10.8625 2.76262 11.9688C2.71262 12.4125 3.08762 12.7938 3.53762 12.7438C4.65012 12.6125 5.31262 12.975 5.73762 13.9563C5.91887 14.3813 6.45012 14.5125 6.81262 14.2375C6.81887 14.2375 6.82512 14.2313 6.83137 14.225L4.05012 6.26877C4.05012 6.26877 4.05012 6.24377 4.05012 6.23127C3.98137 6.02502 3.98137 5.80002 4.09387 5.59377C5.09387 3.79377 6.67512 4.01252 7.83137 4.16877C8.99387 4.32502 9.53137 4.36252 9.99387 3.53127C10.1439 3.26252 10.4314 3.10627 10.7439 3.13127C11.0501 3.15627 11.3126 3.36252 11.4126 3.65002L13.0876 8.44377C13.1626 8.65627 13.1439 8.88752 13.0314 9.08127C12.0314 10.8813 10.4501 10.6688 9.29387 10.5063C8.27512 10.3688 7.73762 10.325 7.31262 10.8625L8.33762 13.7938C8.61262 13.8563 8.89387 14 9.18762 14.225C9.55637 14.5 10.0814 14.3688 10.2626 13.9438C10.6939 12.9563 11.3564 12.6 12.4626 12.7313C12.9064 12.7813 13.2876 12.4063 13.2376 11.9563C13.1064 10.8438 13.4689 10.1813 14.4501 9.75627C14.8751 9.57502 15.0064 9.04377 14.7314 8.68127C14.0939 7.85002 14.0939 7.13127 14.7314 6.30002V6.31252Z\"\n fill=\"#EB001B\"\n />\n <path\n d=\"M9.5062 8.95624C10.525 9.09374 11.0625 9.13749 11.4875 8.59999L10.3687 5.39374C9.4812 5.96874 8.4437 5.82499 7.6187 5.71249C6.59995 5.57499 6.06245 5.53124 5.63745 6.07499L6.7562 9.28124C7.6437 8.71249 8.6812 8.84999 9.49995 8.96249L9.5062 8.95624Z\"\n fill=\"#EB001B\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_459_5374\">\n <rect\n width=\"13.75\"\n height=\"13.75\"\n fill=\"white\"\n transform=\"translate(1.125 0.625)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default RedFlag;\n","import React from 'react';\n\ntype RoundedCornerProps = {\n className?: string;\n};\n\nconst RoundedCorner: React.FC<RoundedCornerProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"29\"\n height=\"30\"\n viewBox=\"0 0 29 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M27 2.42419C27 16.2348 15.8106 27.4242 2 27.4242\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default RoundedCorner;\n","import React from 'react';\n\ntype SmileyProps = {\n className?: string;\n};\n\nconst Smiley: React.FC<SmileyProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"35\"\n height=\"36\"\n viewBox=\"0 0 35 36\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M17.5 30.7008C24.7487 30.7008 30.625 24.8245 30.625 17.5758C30.625 10.3271 24.7487 4.45081 17.5 4.45081C10.2513 4.45081 4.375 10.3271 4.375 17.5758C4.375 24.8245 10.2513 30.7008 17.5 30.7008Z\"\n stroke=\"#FBFBFC\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1846 20.8566C22.608 21.8538 21.7792 22.6818 20.7815 23.2575C19.7837 23.8332 18.652 24.1362 17.5001 24.1362C16.3482 24.1363 15.2165 23.8332 14.2187 23.2576C13.2209 22.6819 12.3921 21.8539 11.8156 20.8567\"\n stroke=\"#FBFBFC\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.5781 16.2086C13.3332 16.2086 13.9453 15.5965 13.9453 14.8414C13.9453 14.0864 13.3332 13.4742 12.5781 13.4742C11.823 13.4742 11.2109 14.0864 11.2109 14.8414C11.2109 15.5965 11.823 16.2086 12.5781 16.2086Z\"\n fill=\"#FBFBFC\"\n />\n <path\n d=\"M22.4219 16.2086C23.177 16.2086 23.7891 15.5965 23.7891 14.8414C23.7891 14.0864 23.177 13.4742 22.4219 13.4742C21.6668 13.4742 21.0547 14.0864 21.0547 14.8414C21.0547 15.5965 21.6668 16.2086 22.4219 16.2086Z\"\n fill=\"#FBFBFC\"\n />\n </svg>\n );\n};\n\nexport default Smiley;\n","import React from 'react';\n\ntype UnknownVerifierBadgeProps = {\n className?: string;\n};\n\nconst UnknownVerifierBadge: React.FC<UnknownVerifierBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"15\"\n viewBox=\"0 0 16 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M14.7312 6.31252C15.0062 5.94377 14.875 5.41877 14.45 5.23752C13.4625 4.80627 13.1062 4.14377 13.2375 3.03752C13.2875 2.59377 12.9125 2.21252 12.4625 2.26252C11.35 2.39377 10.6875 2.03127 10.2625 1.05002C10.0812 0.625017 9.54999 0.493767 9.18749 0.768767C8.35624 1.40627 7.6375 1.40627 6.80624 0.768767C6.43749 0.493767 5.9125 0.625017 5.73125 1.05002C5.29999 2.03752 4.6375 2.39377 3.53124 2.26252C3.08749 2.21252 2.70624 2.58752 2.75624 3.03752C2.88749 4.15002 2.525 4.81252 1.54375 5.23752C1.125 5.41877 0.993745 5.95002 1.26875 6.31252C1.90625 7.14377 1.90625 7.86252 1.26875 8.69377C0.993745 9.06252 1.125 9.58752 1.55 9.76877C2.5375 10.2 2.89374 10.8625 2.76249 11.9688C2.71249 12.4125 3.08749 12.7938 3.53749 12.7438C4.64999 12.6125 5.3125 12.975 5.7375 13.9563C5.91875 14.3813 6.45 14.5125 6.8125 14.2375C7.64374 13.6 8.36249 13.6 9.19374 14.2375C9.5625 14.5125 10.0875 14.3813 10.2687 13.9563C10.7 12.9688 11.3625 12.6125 12.4687 12.7438C12.9125 12.7938 13.2937 12.4188 13.2437 11.9688C13.1125 10.8563 13.475 10.1938 14.4562 9.76877C14.8812 9.58752 15.0125 9.05627 14.7375 8.69377C14.1 7.86252 14.1 7.14377 14.7375 6.31252H14.7312ZM8.59374 11.6438C8.40624 11.8125 8.17499 11.9 7.89999 11.9C7.62499 11.9 7.40624 11.8125 7.21874 11.6438C7.03749 11.475 6.94999 11.2563 6.94999 10.9938C6.94999 10.7313 7.03749 10.525 7.21874 10.3438C7.39999 10.1625 7.63125 10.0625 7.89999 10.0625C8.16875 10.0625 8.40624 10.15 8.59374 10.3313C8.78749 10.5125 8.8875 10.7313 8.8875 10.9875C8.8875 11.2438 8.78749 11.4625 8.59374 11.6375V11.6438ZM10.25 6.49377C10.0937 6.73127 9.825 6.99377 9.43124 7.28752C8.98125 7.61877 8.66875 8.06252 8.48125 8.60627C8.4375 8.73127 8.41875 9.03127 8.41875 9.51877H7.2C7.16875 9.36252 7.15625 9.16252 7.17499 8.90627C7.19375 8.51877 7.2 8.34377 7.2 8.39377C7.2 7.96252 7.28749 7.61252 7.46874 7.34377C7.61249 7.12502 7.95 6.80002 8.48125 6.38127C8.86875 6.06252 9.06874 5.73127 9.06874 5.38127C9.06874 5.07502 8.96875 4.79377 8.7625 4.55002C8.56875 4.30002 8.33749 4.16877 8.08124 4.16877C7.4125 4.16877 6.93125 4.60627 6.63125 5.48752L5.45624 5.00002C5.75 4.30627 6.08749 3.81877 6.46875 3.53752C6.85 3.24377 7.375 3.10002 8.03125 3.10002C8.84374 3.10002 9.48125 3.31877 9.9375 3.75627C10.3437 4.16252 10.55 4.70627 10.55 5.38127C10.55 5.81252 10.45 6.18127 10.2562 6.49377H10.25Z\"\n fill=\"#EF5D35\"\n />\n </svg>\n );\n};\n\nexport default UnknownVerifierBadge;\n","import React from 'react';\n\ntype VerifiedBadgeProps = {\n className?: string;\n};\n\nconst VerifiedBadge: React.FC<VerifiedBadgeProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g clipPath=\"url(#clip0_445_5415)\">\n <path\n d=\"M14.4505 5.30927C14.2501 5.22341 14.0842 5.12611 13.9354 5.01737L8.51512 10.4376C8.34914 10.6036 8.12592 10.6894 7.90842 10.6894C7.69093 10.6894 7.46771 10.6036 7.30172 10.4376L4.7719 7.90777C4.43421 7.57008 4.43421 7.02634 4.7719 6.69437C5.10959 6.36241 5.65333 6.35668 5.9853 6.69437L7.90842 8.6175L13.2256 3.30029C13.2256 3.23733 13.2256 3.1801 13.2371 3.11141C13.2886 2.6707 12.9108 2.28722 12.4644 2.33873C11.3597 2.47037 10.6958 2.11551 10.2665 1.12533C10.0834 0.707511 9.55109 0.570146 9.1905 0.844877C8.36059 1.48019 7.63941 1.48019 6.8095 0.844877C6.44319 0.570146 5.91662 0.701788 5.73346 1.12533C5.30992 2.10979 4.64598 2.47037 3.53561 2.33873C3.09489 2.28722 2.71141 2.66498 2.76293 3.11141C2.89457 4.21606 2.53971 4.88 1.54953 5.30927C1.12598 5.49242 0.99434 6.02472 1.26907 6.3853C1.90439 7.21522 1.90439 7.93639 1.26907 8.76631C0.99434 9.13262 1.12598 9.65919 1.54953 9.84234C2.53398 10.2659 2.89457 10.9298 2.76293 12.0402C2.71141 12.4809 3.08917 12.8644 3.53561 12.8129C4.64026 12.6812 5.30419 13.0361 5.73346 14.0263C5.91662 14.4441 6.44891 14.5815 6.8095 14.3067C7.63941 13.6714 8.36059 13.6714 9.1905 14.3067C9.55681 14.5815 10.0834 14.4498 10.2665 14.0263C10.6901 13.0418 11.354 12.6812 12.4644 12.8129C12.9051 12.8644 13.2886 12.4866 13.2371 12.0402C13.1054 10.9355 13.4603 10.2716 14.4505 9.84234C14.8683 9.65919 15.0057 9.12689 14.7309 8.76631C14.0956 7.93639 14.0956 7.21522 14.7309 6.3853C15.0057 6.01899 14.874 5.49242 14.4505 5.30927Z\"\n fill=\"#026BFF\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_445_5415\">\n <rect\n width=\"15\"\n height=\"15\"\n fill=\"white\"\n transform=\"translate(0.5 0.0758057)\"\n />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nexport default VerifiedBadge;\n","import React from 'react';\n\ntype VideoIconProps = {\n className?: string;\n size?: string;\n};\n\nconst VideoIcon: React.FC<VideoIconProps> = ({ className = '', size = '25' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 25 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.61304 4.5H12.4051C14.8271 4.5 16.5181 6.16904 16.5181 8.56091V15.4391C16.5181 17.831 14.8271 19.5 12.4051 19.5H6.61304C4.19102 19.5 2.5 17.831 2.5 15.4391V8.56091C2.5 6.16904 4.19102 4.5 6.61304 4.5ZM20.458 6.87898C20.897 6.65563 21.412 6.67898 21.831 6.94294C22.25 7.20589 22.5 7.66274 22.5 8.16223V15.8384C22.5 16.3389 22.25 16.7947 21.831 17.0577C21.602 17.2008 21.346 17.2739 21.088 17.2739C20.873 17.2739 20.658 17.2231 20.457 17.1206L18.976 16.3734C18.428 16.0952 18.088 15.5369 18.088 14.9165V9.08305C18.088 8.46173 18.428 7.90335 18.976 7.62721L20.458 6.87898Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n\nexport default VideoIcon;\n","import React from 'react';\n\ntype XProps = {\n className?: string;\n};\n\nconst X: React.FC<XProps> = ({ className = '' }) => {\n return (\n <svg\n width=\"11\"\n height=\"11\"\n viewBox=\"0 0 11 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M7.47753 10.25C7.20582 9.8045 6.92868 9.37104 6.6461 8.94962C6.37439 8.52218 6.08637 8.09173 5.78206 7.65827C5.49948 8.07969 5.22233 8.50412 4.95062 8.93156C4.67891 9.35298 4.41807 9.78042 4.1681 10.2139L0.5 10.1055C1.15211 9.33492 1.78247 8.57335 2.39111 7.82082C3.01061 7.06828 3.60294 6.3007 4.1681 5.51806C3.5812 4.74747 2.98344 3.98891 2.3748 3.2424C1.77704 2.48986 1.17384 1.73131 0.565211 0.96673L4.38003 0.75C4.77129 1.57478 5.23864 2.3815 5.78206 3.17015C6.01029 2.77883 6.24397 2.38451 6.48307 1.98717C6.73305 1.58983 6.96672 1.17744 7.18409 0.75L10.95 0.912548C10.2979 1.67712 9.67839 2.43267 9.0915 3.17918C8.5046 3.9257 7.92314 4.68124 7.34711 5.44582C7.9014 6.21039 8.46113 6.95691 9.02629 7.68536C9.60231 8.41382 10.1783 9.1513 10.7544 9.89781L7.47753 10.25Z\"\n fill=\"#FF2C3C\"\n />\n </svg>\n );\n};\n\nexport default X;\n","import React from 'react';\nimport CaretRightFilled from '../../assets/images/CaretRightFilled.svg';\n\ntype AlignmentsRowProps = {\n url?: string\n name?: string\n framework?: string\n};\nconst AlignmentRow:React.FC<AlignmentsRowProps> = ({ \n url,\n name,\n framework\n }) => {\n return (\n <div className=\"flex flex-col gap-[5px] font-poppins text-[12px] bg-[#DBEAFE] rounded-[15px] border-b-[1px] border-grayscale-200 border-solid w-full p-[10px] last:border-0\">\n <h1 className=\"text-blue-800 font-semibold uppercase\">{framework}</h1>\n {/* this might need to change to a link depends on how it comes back after the api call */}\n <button className=\"flex\" onClick={() => window.open(url)}>\n <span className=\"text-left\">{name}</span>\n <img className=\"w-[20px] self-end\" src={CaretRightFilled} alt=\"right-caret\"/>\n </button>\n </div>\n );\n};\n\nexport default AlignmentRow;\n","import React from 'react';\n\ntype InfoBoxProps = {\n text: string;\n handleClose: () => void;\n backgroundColor?: string;\n};\n\nconst InfoBox: React.FC<InfoBoxProps> = ({ text, handleClose, backgroundColor = '#6366F1' }) => {\n const bgColorWithOpacity = `${backgroundColor}1F`; // 12% opacity\n return (\n <div\n className=\"info-box p-[10px] rounded-[10px] w-full font-poppins text-[12px] leading[18px]\"\n style={{ backgroundColor: bgColorWithOpacity }}\n >\n {text}{' '}\n <button\n onClick={e => {\n e.stopPropagation();\n handleClose();\n }}\n className=\"text-indigo-500 font-[700] select-none\"\n >\n Close\n </button>\n </div>\n );\n};\n\nexport default InfoBox;\n","import React, { useState } from 'react';\n\nimport AlignmentRow from './AlignmentRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\ntype Alignment = {\n targetUrl: string;\n targetName: string;\n targetFramework: string;\n}\n\ntype AlignmentsBoxProps = {\n alignment: Alignment | Alignment[];\n style: 'Certificate' | 'boost'; \n};\n\nconst AlignmentsBox:React.FC<AlignmentsBoxProps> = ({ alignment, style }) => {\n const [showInfo, setShowInfo] = useState(false);\n const alignmentText = `\n Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies. \n Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.\n `;\n\n const alignments = Array.isArray(alignment)\n ? alignment.map((object, index) => (\n <AlignmentRow\n key={index}\n url={object.targetUrl}\n name={object.targetName}\n framework={object.targetFramework}\n />\n ))\n : alignment && (\n <AlignmentRow\n url={alignment.targetUrl}\n name={alignment.targetName}\n framework={alignment.targetFramework}\n />\n );\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3 className={style === \"Certificate\" ? \"text-[17px] text-grayscale-900 font-poppins\" : \"text-[22px] font-mouse\"}>Alignments</h3>\n <button className=\"ml-auto\" onClick={() => setShowInfo(!showInfo)}>\n <InfoIcon color={showInfo ? '#6366F1' : undefined} />\n </button>\n </div>\n {showInfo && (\n <InfoBox\n text={alignmentText}\n handleClose={() => setShowInfo(false)}\n />\n )}\n {alignments}\n </div>\n );\n};\n\nexport default AlignmentsBox;\n","import React from 'react';\n\nimport PuzzlePiece from '../svgs/PuzzlePiece';\n\nimport { categorizeSkills, getTotalCountOfSkills } from '../../helpers/credential.helpers';\n\n// Copy of VCDisplayCardSkillsCount, necessary to avoid circular dependency\nexport const CertDisplayCardSkillsCount: React.FC<{\n skills: { category: string; skill: string; subSkills: string[] }[];\n onClick?: () => void;\n}> = ({ skills, onClick }) => {\n const skillsCount = getTotalCountOfSkills(skills);\n\n if (skillsCount === 0) return <></>;\n\n const skillsMap = categorizeSkills(skills);\n\n // Calculate total count of skills and subskills\n const totalSkills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + category?.length,\n 0\n );\n const totalSubskills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + (category?.totalSubskillsCount || 0),\n 0\n );\n\n const total: any = totalSkills + totalSubskills;\n\n const text: string = skillsCount === 1 ? 'Skill' : 'Skills';\n\n return (\n <div\n className=\"flex items-center justify-center mt-8 cursor-pointer px-4 py-2 bg-white rounded-[20px] shadow-bottom\"\n onClick={onClick}\n >\n <div className=\"text-violet-500 text-xl flex items-center justify-center tracking-[0.75px] font-poppins font-semibold\">\n +{total} {text}{' '}\n <div className=\"bg-violet-500 rounded-full flex items-center justify-center ml-2 h-[30px] w-[30px] p-1\">\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n </div>\n </div>\n );\n};\n\nexport default CertDisplayCardSkillsCount;\n","export const truncateWithEllipsis = (str: string, maxLength: number) => {\n return str.length > maxLength ? `${str.substring(0, maxLength)}...` : str;\n};\n\nexport const capitalize = (string?: string): string => {\n return string ? string[0].toUpperCase() + string.slice(1) : '';\n};\n","import React, { useState } from 'react';\nimport { VerificationItem, VerificationStatusEnum } from '@learncard/types';\nimport { getColorForVerificationStatus } from '../../helpers/credential.helpers';\n\nimport InfoBox from './InfoBox';\nimport InfoIcon from '../svgs/InfoIcon';\nimport AcuteCheckmark from '../svgs/AcuteCheckmark';\nimport ExclamationPoint from '../svgs/ExclamationPoint';\nimport X from '../svgs/X';\nimport { capitalize } from '../../helpers/string.helpers';\n\ntype VerificationRowProps = {\n verification: VerificationItem;\n};\n\nconst VerificationRow: React.FC<VerificationRowProps> = ({ verification }) => {\n const [showInfo, setShowInfo] = useState(false);\n const statusColor = getColorForVerificationStatus(verification.status);\n\n const getIcon = () => {\n switch (verification.status) {\n case VerificationStatusEnum.Success:\n return <AcuteCheckmark />;\n case VerificationStatusEnum.Error:\n return <ExclamationPoint />;\n case VerificationStatusEnum.Failed:\n return <X />;\n }\n };\n\n let primaryText = verification.check\n ? `${verification.check}: ${verification.message}`\n : verification.message;\n if (verification.status === VerificationStatusEnum.Failed) {\n primaryText = verification.message ?? verification.details ?? '';\n }\n primaryText = capitalize(primaryText);\n\n const infoText = ''; // if we want certain verifications to have extra explanation, we can set this variable\n\n return (\n <div className=\"verification-row flex flex-col gap-[5px] font-poppins border-b-[1px] border-grayscale-200 border-solid w-full py-[10px] last:border-0 last:pb-0\">\n <span\n className=\"font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none\"\n style={{ color: statusColor }}\n >\n {getIcon()}\n {verification.status}\n {infoText && (\n <button className=\"ml-auto\" onClick={() => setShowInfo(!showInfo)}>\n <InfoIcon color={statusColor} />\n </button>\n )}\n </span>\n {showInfo && infoText && (\n <InfoBox\n text={infoText}\n handleClose={() => setShowInfo(false)}\n backgroundColor={statusColor}\n />\n )}\n <span className=\"text-[14px] text-grayscale-900 font-poppins\">{primaryText}</span>\n </div>\n );\n};\n\nexport default VerificationRow;\n","import React, { useState } from 'react';\n\nimport VerificationRow from './VerificationRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\nimport { VerificationItem } from '@learncard/types';\n\ntype VerificationsBoxProps = {\n verificationItems: VerificationItem[];\n};\n\nconst VerificationsBox: React.FC<VerificationsBoxProps> = ({ verificationItems }) => {\n const [showInfo, setShowInfo] = useState(false);\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Verifications</h3>\n <button\n className=\"ml-auto\"\n onClick={e => {\n e.stopPropagation();\n setShowInfo(!showInfo);\n }}\n >\n <InfoIcon color={showInfo ? '#6366F1' : undefined} />\n </button>\n </div>\n {showInfo && (\n <InfoBox\n text=\"Credential verifications check the cryptographic proof of digital credentials to ensure their authenticity and accuracy.\"\n handleClose={() => setShowInfo(false)}\n />\n )}\n\n {verificationItems.map((verification, index) => (\n <VerificationRow key={index} verification={verification} />\n ))}\n </div>\n );\n};\n\nexport default VerificationsBox;\n","import React, { useState } from 'react';\n\ntype TruncateTextBoxProps = {\n headerText: string;\n headerClassName?: string;\n\n // the text to be truncated if it's too long\n text: string;\n\n truncateThreshold?: number;\n\n // extra things to put at the bottom of the box\n children?: React.ReactNode;\n className?: string;\n};\n\nconst TruncateTextBox: React.FC<TruncateTextBoxProps> = ({\n headerText,\n headerClassName = '',\n text,\n truncateThreshold = 132,\n children,\n className = 'truncate-text-box',\n}) => {\n const needsTruncate = text?.length > truncateThreshold;\n const [showFullText, setShowFullText] = useState(false);\n const truncated = needsTruncate && !showFullText;\n\n const displayText = truncated ? text.substring(0, truncateThreshold) : text;\n\n return (\n <div\n className={`${className} w-full bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px]`}\n >\n <h3 className={`${headerClassName} text-[17px] text-grayscale-900 font-poppins`}>\n {headerText}\n </h3>\n\n <p className=\"text-[12px] text-grayscale-700 font-poppins mb-0 flex flex-col items-start\">\n {displayText}\n {truncated && (\n <>\n ...\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(true);\n }}\n >\n Show more\n </button>\n </>\n )}\n {needsTruncate && showFullText && (\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(false);\n }}\n >\n Show less\n </button>\n )}\n </p>\n\n {children}\n </div>\n );\n};\n\nexport default TruncateTextBox;\n","const BYTE_UNITS = [\n\t'B',\n\t'kB',\n\t'MB',\n\t'GB',\n\t'TB',\n\t'PB',\n\t'EB',\n\t'ZB',\n\t'YB',\n];\n\nconst BIBYTE_UNITS = [\n\t'B',\n\t'kiB',\n\t'MiB',\n\t'GiB',\n\t'TiB',\n\t'PiB',\n\t'EiB',\n\t'ZiB',\n\t'YiB',\n];\n\nconst BIT_UNITS = [\n\t'b',\n\t'kbit',\n\t'Mbit',\n\t'Gbit',\n\t'Tbit',\n\t'Pbit',\n\t'Ebit',\n\t'Zbit',\n\t'Ybit',\n];\n\nconst BIBIT_UNITS = [\n\t'b',\n\t'kibit',\n\t'Mibit',\n\t'Gibit',\n\t'Tibit',\n\t'Pibit',\n\t'Eibit',\n\t'Zibit',\n\t'Yibit',\n];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n\tlet result = number;\n\tif (typeof locale === 'string' || Array.isArray(locale)) {\n\t\tresult = number.toLocaleString(locale, options);\n\t} else if (locale === true || options !== undefined) {\n\t\tresult = number.toLocaleString(undefined, options);\n\t}\n\n\treturn result;\n};\n\nexport default function prettyBytes(number, options) {\n\tif (!Number.isFinite(number)) {\n\t\tthrow new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n\t}\n\n\toptions = {\n\t\tbits: false,\n\t\tbinary: false,\n\t\t...options,\n\t};\n\n\tconst UNITS = options.bits\n\t\t? (options.binary ? BIBIT_UNITS : BIT_UNITS)\n\t\t: (options.binary ? BIBYTE_UNITS : BYTE_UNITS);\n\n\tif (options.signed && number === 0) {\n\t\treturn ` 0 ${UNITS[0]}`;\n\t}\n\n\tconst isNegative = number < 0;\n\tconst prefix = isNegative ? '-' : (options.signed ? '+' : '');\n\n\tif (isNegative) {\n\t\tnumber = -number;\n\t}\n\n\tlet localeOptions;\n\n\tif (options.minimumFractionDigits !== undefined) {\n\t\tlocaleOptions = {minimumFractionDigits: options.minimumFractionDigits};\n\t}\n\n\tif (options.maximumFractionDigits !== undefined) {\n\t\tlocaleOptions = {maximumFractionDigits: options.maximumFractionDigits, ...localeOptions};\n\t}\n\n\tif (number < 1) {\n\t\tconst numberString = toLocaleString(number, options.locale, localeOptions);\n\t\treturn prefix + numberString + ' ' + UNITS[0];\n\t}\n\n\tconst exponent = Math.min(Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3), UNITS.length - 1);\n\tnumber /= (options.binary ? 1024 : 1000) ** exponent;\n\n\tif (!localeOptions) {\n\t\tnumber = number.toPrecision(3);\n\t}\n\n\tconst numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n\tconst unit = UNITS[exponent];\n\n\treturn prefix + numberString + ' ' + unit;\n}\n","export const getBaseUrl = (url: string) => {\n return url.replace(/(https?:\\/\\/(www\\.)?)/, '').split('/')[0];\n};\n","import React, { useEffect, useState } from 'react';\nimport prettyBytes from 'pretty-bytes';\n\nimport Camera from '../svgs/Camera';\nimport LinkIcon from '../svgs/LinkIcon';\nimport VideoIcon from '../svgs/VideoIcon';\nimport GenericDocumentIcon from '../svgs/GenericDocumentIcon';\n\nimport { Attachment, MediaMetadata, VideoMetadata } from '../../types';\nimport { getBaseUrl } from '../../helpers/url.helpers';\nimport { Lightbox, LightboxItem } from '../Lightbox';\n\ntype MediaAttachmentsBoxProps = {\n attachments: Attachment[];\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n};\n\nconst defaultGetFileMetadata = async (url: string) => {\n console.log({ url });\n const isFilestack = url.includes('filestack');\n if (!isFilestack) return;\n\n const urlParams = url.split('.com/')[1]?.split('/');\n if (!urlParams) return;\n const handle = urlParams[urlParams.length - 1];\n\n let fetchFailed = false;\n const data = await fetch(`https://cdn.filestackcontent.com/${handle}/metadata`)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n if (fetchFailed) return;\n\n const fileExtension = data.filename.split('.')[1];\n\n return {\n fileExtension,\n sizeInBytes: data.size,\n numberOfPages: undefined,\n };\n};\n\n// Function to determine if the URL is from YouTube\nconst isYoutubeUrl = (url: string) => {\n const youtubeUrl = new URL(url);\n return youtubeUrl.hostname === 'www.youtube.com';\n};\n\n// Function to get the YouTube video ID from the URL\nconst getYoutubeVideoId = (url: string) => {\n const regex = /(?:\\?v=|\\.com\\/embed\\/)([^&]+)/;\n const match = url.match(regex);\n return match ? match[1] : '';\n};\n\n// Function to get the cover image URL for YouTube videos\nconst getCoverImageUrl = (youtubeWatchUrl: string) => {\n if (!isYoutubeUrl(youtubeWatchUrl)) {\n return ''; // Return an empty string if the URL is not a YouTube URL\n }\n\n const videoId = getYoutubeVideoId(youtubeWatchUrl);\n // Construct and return the URL for the video's cover image\n // This URL fetches the highest resolution image available\n return videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : '';\n};\n\nconst defaultGetVideoMetadata = async (url: string) => {\n const isYoutube = isYoutubeUrl(url);\n if (!isYoutube) return;\n\n const metadataUrl = `http://youtube.com/oembed?url=${url}&format=json`;\n\n let fetchFailed = false;\n const metadata = await fetch(metadataUrl)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n const coverImageUrl = getCoverImageUrl(url);\n\n if (fetchFailed) return { imageUrl: coverImageUrl };\n\n return {\n title: metadata.title,\n imageUrl: coverImageUrl,\n videoLength: '', // TODO figure out how to get this\n };\n};\n\nconst MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({\n attachments,\n getFileMetadata = defaultGetFileMetadata,\n getVideoMetadata = defaultGetVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox = false,\n}) => {\n const [documentMetadata, setDocumentMetadata] = useState<{\n [documentUrl: string]: MediaMetadata | undefined;\n }>({});\n const [videoMetadata, setVideoMetadata] = useState<{\n [videoUrl: string]: VideoMetadata | undefined;\n }>({});\n\n const mediaAttachments: Attachment[] = [];\n const documentsAndLinks: Attachment[] = [];\n attachments.forEach(a => {\n switch (a.type) {\n case 'document':\n case 'link':\n documentsAndLinks.push(a);\n break;\n case 'photo':\n case 'video':\n mediaAttachments.push(a);\n break;\n default:\n break;\n }\n });\n\n useEffect(() => {\n const getMetadata = async (attachments: Attachment[]): Promise<any> => {\n const docMetadata: { [docUrl: string]: MediaMetadata | undefined } = {};\n const videoMetadata: { [videoUrl: string]: VideoMetadata | undefined } = {};\n await Promise.all(\n attachments.map(async attachment => {\n if (attachment.type === 'document') {\n docMetadata[attachment.url] = await getFileMetadata(attachment.url);\n } else if (attachment.type === 'video') {\n videoMetadata[attachment.url] = await getVideoMetadata(attachment.url);\n }\n })\n );\n\n setVideoMetadata(videoMetadata);\n setDocumentMetadata(docMetadata);\n };\n\n const videos = attachments.filter(a => a.type === 'video');\n getMetadata([...documentsAndLinks, ...videos]);\n }, []);\n\n const [currentLightboxUrl, setCurrentLightboxUrl] = useState<string | undefined>(undefined);\n const lightboxItems = mediaAttachments.filter(\n a => a.type === 'photo' || a.type === 'video'\n ) as LightboxItem[];\n const handleMediaAttachmentClick = (\n url: string,\n type: 'photo' | 'document' | 'video' | 'link'\n ) => {\n if (type === 'photo' || type === 'video') {\n setCurrentLightboxUrl(url);\n }\n\n onMediaAttachmentClick?.(url, type);\n };\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Attachments</h3>\n {mediaAttachments.length > 0 && (\n <div className=\"flex gap-[5px] justify-between flex-wrap w-full\">\n {enableLightbox && (\n <Lightbox\n items={lightboxItems}\n currentUrl={currentLightboxUrl}\n setCurrentUrl={setCurrentLightboxUrl}\n />\n )}\n {mediaAttachments.map((media, index) => {\n let innerContent: React.ReactNode;\n let title = media.title;\n\n if (media.type === 'video') {\n const metadata = videoMetadata[media.url];\n title = (title || metadata?.title) ?? '';\n const baseUrl = getBaseUrl(media.url);\n\n innerContent = (\n <div\n className=\"bg-cover bg-no-repeat bg-center relative font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600 rounded-[15px] h-full\"\n style={{\n backgroundImage: metadata?.imageUrl\n ? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${metadata?.imageUrl ?? ''\n })`\n : undefined,\n }}\n >\n {!metadata?.imageUrl && (\n <VideoIcon size=\"60\" className=\"m-auto\" />\n )}\n <div className=\"absolute bottom-[10px] left-[10px] z-10 flex items-center gap-[5px]\">\n {metadata?.imageUrl && <VideoIcon />}\n {metadata?.videoLength && (\n <span className=\"leading-[23px]\">\n {metadata.videoLength}\n </span>\n )}\n </div>\n </div>\n );\n } else {\n innerContent = (\n <div className=\"h-full w-full flex items-center justify-center\">\n <img className=\"object-cover h-full w-full\" src={media.url} />\n <Camera className=\"absolute bottom-[10px] left-[10px] z-10\" />\n </div>\n );\n }\n\n const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;\n\n if (onMediaAttachmentClick || enableLightbox) {\n return (\n <div\n key={index}\n className=\"flex bg-grayscale-100 items-center rounded-[15px] w-full\"\n >\n <button\n className=\"h-[80px] w-[80px] rounded-[15px] overflow-hidden flex-shrink-0\"\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(media.url, media.type);\n }}\n >\n {innerContent}\n </button>\n {title && (\n <div className=\"text-[12px] text-grayscale-900 font-poppins px-[10px] line-clamp-3\">\n {title}\n </div>\n )}\n </div>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n {documentsAndLinks.length > 0 && (\n <div className=\"w-full flex flex-col gap-[5px]\">\n {documentsAndLinks.map((docOrLink, index) => {\n const metadata =\n docOrLink.type === 'document'\n ? documentMetadata[docOrLink.url]\n : undefined;\n const { fileExtension, sizeInBytes, numberOfPages } = metadata ?? {};\n\n let baseUrl = '';\n if (docOrLink.type === 'link') {\n baseUrl = getBaseUrl(docOrLink.url);\n }\n\n const innerContent = (\n <div className=\"flex flex-col gap-[5px]\">\n <div className=\"flex gap-[5px] items-center\">\n {docOrLink.type === 'document' && (\n <GenericDocumentIcon className=\"shrink-0\" />\n )}\n {docOrLink.type === 'link' && <LinkIcon className=\"shrink-0\" />}\n\n <div className=\"flex flex-col\">\n <span className=\"text-grayscale-900 font-[400]\">\n {docOrLink.title ?? 'No title'}\n </span>\n {docOrLink.type === 'document' && metadata && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-grayscale-700 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {fileExtension && (\n <span className=\"uppercase\">\n {fileExtension}\n </span>\n )}\n {fileExtension &&\n (numberOfPages || sizeInBytes) &&\n ' • '}\n {numberOfPages && (\n <span>\n {numberOfPages} page\n {numberOfPages === 1 ? '' : 's'}\n </span>\n )}\n {numberOfPages && sizeInBytes && ' • '}\n {sizeInBytes && (\n <span>{prettyBytes(sizeInBytes)}</span>\n )}\n </a>\n )}\n {docOrLink.type === 'link' && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-indigo-500 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {baseUrl}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n\n const className = `row-attachment ${docOrLink.type} bg-grayscale-100 rounded-[15px] p-[10px] w-full font-poppins text-[12px] leading-[18px] tracking-[-0.33px] text-left`;\n\n if (onMediaAttachmentClick) {\n return (\n <button\n key={index}\n className={className}\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(docOrLink.url, docOrLink.type);\n }}\n >\n {innerContent}\n </button>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default MediaAttachmentsBox;\n","import Athletics from '../assets/images/athletics.svg';\nimport Business from '../assets/images/business.svg';\nimport Creative from '../assets/images/creative.svg';\nimport Digital from '../assets/images/digital.svg';\nimport Durable from '../assets/images/durable.svg';\nimport Medical from '../assets/images/medical.svg';\nimport Social from '../assets/images/social.svg';\nimport Stem from '../assets/images/stem.svg';\nimport Trade from '../assets/images/trade.svg';\n\nexport enum BoostCMSSKillsCategoryEnum {\n Durable = 'durable',\n Stem = 'stem',\n Athletic = 'athletic',\n Creative = 'creative',\n Business = 'business',\n Trade = 'trade',\n Social = 'social',\n Digital = 'digital',\n Medical = 'medical',\n}\n\n// ! MUST ALIGN WITH -> learncardapp/src/components/boost/BoostCMS/boostCMSForms/boostCMSSkills/boostSkills.ts\nexport const boostCMSSKillCategories: {\n id: number;\n title: string;\n IconComponent: React.ReactNode;\n iconClassName: string;\n iconCircleClass: string;\n type: BoostCMSSKillsCategoryEnum;\n}[] = [\n {\n id: 1,\n title: 'Durable',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Durable,\n },\n {\n id: 2,\n title: 'Stem',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Stem,\n },\n {\n id: 3,\n title: 'Athletic',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Athletic,\n },\n {\n id: 4,\n title: 'Creative',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Creative,\n },\n {\n id: 5,\n title: 'Business',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Business,\n },\n {\n id: 6,\n title: 'Trade',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Trade,\n },\n {\n id: 7,\n title: 'Social',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Social,\n },\n {\n id: 8,\n title: 'Digital',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Digital,\n },\n {\n id: 9,\n title: 'Medical',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n type: BoostCMSSKillsCategoryEnum.Medical,\n },\n];\n\nexport enum BoostCMSCategorySkillEnum {\n // durable skills\n Adaptability = 'adaptability',\n Perseverance = 'perseverance',\n MentalToughness = 'mentalToughness',\n PhysicalEndurance = 'physicalEndurance',\n LifelongLearning = 'lifelongLearning',\n\n // STEM skills\n Mathematics = 'mathematics',\n Science = 'science',\n Technology = 'technology',\n Engineering = 'engineering',\n Research = 'research',\n\n // athletic\n SportSpecificSkills = 'sportSpecificSkills',\n StrengthAndConditioning = 'strengthAndConditioning',\n Coordination = 'coordination',\n MentalFocus = 'mentalFocus',\n Teamwork = 'teamwork',\n\n // creative skills\n VisualArts = 'visualArts',\n PerformingArts = 'performingArts',\n Writing = 'writing',\n Design = 'design',\n Ideation = 'ideation',\n\n // business skills\n Management = 'management',\n Finance = 'finance',\n Marketing = 'marketing',\n Operations = 'operations',\n Entrepreneurship = 'entrepreneurship',\n\n // trade skills\n Construction = 'construction',\n Mechanics = 'mechanics',\n Manufacturing = 'manufacturing',\n Cosmetology = 'cosmetology',\n CulinaryArts = 'culinaryArts',\n\n // social skills\n History = 'history',\n Psychology = 'psychology',\n Sociology = 'sociology',\n Economics = 'economics',\n PoliticalScience = 'politicalScience',\n\n // digital skills\n BasicComputerSkills = 'basicComputerSkills',\n InformationLiteracy = 'informationLiteracy',\n SoftwareProficiency = 'softwareProficiency',\n OnlineCommunication = 'onlineCommunication',\n Cybersecurity = 'cybersecurity',\n\n // medical skills\n ClinicalSkills = 'clinicalSkills',\n AnatomyAndPhysiology = 'anatomyAndPhysiology',\n PatientCare = 'patientCare',\n MedicalSpecialties = 'medicalSpecialties',\n HealthcareAdministration = 'healthcareAdministration',\n}\n\nexport const CATEGORY_TO_SKILLS: {\n [key: BoostCMSSKillsCategoryEnum | string]: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n }[];\n} = {\n [BoostCMSSKillsCategoryEnum.Durable]: [\n {\n id: 1,\n title: 'Adaptability',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.Adaptability,\n },\n {\n id: 2,\n title: 'Perseverance',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.Perseverance,\n },\n {\n id: 3,\n title: 'Mental Toughness',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.MentalToughness,\n },\n {\n id: 4,\n title: 'Physical Endurance',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.PhysicalEndurance,\n },\n {\n id: 5,\n title: 'Lifelong Learning',\n IconComponent: Durable,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Durable,\n type: BoostCMSCategorySkillEnum.LifelongLearning,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Stem]: [\n {\n id: 1,\n title: 'Mathematics',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Mathematics,\n },\n {\n id: 2,\n title: 'Science',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Science,\n },\n {\n id: 3,\n title: 'Technology',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Technology,\n },\n {\n id: 4,\n title: 'Engineering',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Engineering,\n },\n {\n id: 5,\n title: 'Research',\n IconComponent: Stem,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Stem,\n type: BoostCMSCategorySkillEnum.Research,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Athletic]: [\n {\n id: 1,\n title: 'Sport specific skills',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.SportSpecificSkills,\n },\n {\n id: 2,\n title: 'Strength and Conditioning',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.StrengthAndConditioning,\n },\n {\n id: 3,\n title: 'Coordination',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.Coordination,\n },\n {\n id: 4,\n title: 'Mental Focus',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.MentalFocus,\n },\n {\n id: 5,\n title: 'Team work',\n IconComponent: Athletics,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Athletic,\n type: BoostCMSCategorySkillEnum.Teamwork,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Creative]: [\n {\n id: 1,\n title: 'Visual Arts',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.VisualArts,\n },\n {\n id: 2,\n title: 'Performing Arts',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.PerformingArts,\n },\n {\n id: 3,\n title: 'Writing',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Writing,\n },\n {\n id: 4,\n title: 'Design',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Design,\n },\n {\n id: 5,\n title: 'Ideation',\n IconComponent: Creative,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Creative,\n type: BoostCMSCategorySkillEnum.Ideation,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Business]: [\n {\n id: 1,\n title: 'Management',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Management,\n },\n {\n id: 2,\n title: 'Finance',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Finance,\n },\n {\n id: 3,\n title: 'Marketing',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Marketing,\n },\n {\n id: 4,\n title: 'Operations',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Operations,\n },\n {\n id: 5,\n title: 'Entrepreneurship',\n IconComponent: Business,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Business,\n type: BoostCMSCategorySkillEnum.Entrepreneurship,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Trade]: [\n {\n id: 1,\n title: 'Construction',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Construction,\n },\n {\n id: 2,\n title: 'Mechanics',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Mechanics,\n },\n {\n id: 3,\n title: 'Manufacturing',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Manufacturing,\n },\n {\n id: 4,\n title: 'Cosmetology',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.Cosmetology,\n },\n {\n id: 5,\n title: 'Culinary Arts',\n IconComponent: Trade,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Trade,\n type: BoostCMSCategorySkillEnum.CulinaryArts,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Social]: [\n {\n id: 1,\n title: 'History',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.History,\n },\n {\n id: 2,\n title: 'Psychology',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Psychology,\n },\n {\n id: 3,\n title: 'Sociology',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Sociology,\n },\n {\n id: 4,\n title: 'Economics',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.Economics,\n },\n {\n id: 5,\n title: 'Political Science',\n IconComponent: Social,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Social,\n type: BoostCMSCategorySkillEnum.PoliticalScience,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Digital]: [\n {\n id: 1,\n title: 'Basic Computer Skills',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.BasicComputerSkills,\n },\n {\n id: 2,\n title: 'Information Literacy',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.InformationLiteracy,\n },\n {\n id: 3,\n title: 'Software Proficiency',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.SoftwareProficiency,\n },\n {\n id: 4,\n title: 'Online Communication',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.OnlineCommunication,\n },\n {\n id: 5,\n title: 'Cybersecurity',\n IconComponent: Digital,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Digital,\n type: BoostCMSCategorySkillEnum.Cybersecurity,\n },\n ],\n [BoostCMSSKillsCategoryEnum.Medical]: [\n {\n id: 1,\n title: 'Clinical Skills',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.ClinicalSkills,\n },\n {\n id: 2,\n title: 'Anatomy and Physiology',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.AnatomyAndPhysiology,\n },\n {\n id: 3,\n title: 'Patient Care',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.PatientCare,\n },\n {\n id: 4,\n title: 'Medical Specialties',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.MedicalSpecialties,\n },\n {\n id: 5,\n title: 'Healthcare Administration',\n IconComponent: Medical,\n iconClassName: 'text-white',\n iconCircleClass: 'bg-cyan-700',\n category: BoostCMSSKillsCategoryEnum.Medical,\n type: BoostCMSCategorySkillEnum.HealthcareAdministration,\n },\n ],\n};\n\nexport enum BoostCMSSubSkillEnum {\n // * Durable\n // Adaptability\n flexibility = 'flexibility',\n resilience = 'resilience',\n problemSolving = 'problemSolving',\n resourcefulness = 'resourcefulness',\n stressManagement = 'stressManagement',\n\n // Perseverance\n discipline = 'discipline',\n focus = 'focus',\n commitment = 'commitment',\n grit = 'grit',\n tenacity = 'tenacity',\n\n // Mental toughness\n optimism = 'optimism',\n selfConfidence = 'selfConfidence',\n emotionalRegulation = 'emotionalRegulation',\n growthMindset = 'growthMindset',\n positiveSelfTalk = 'positiveSelfTalk',\n\n // physical edurance\n strength = 'strength',\n stamina = 'stamina',\n cardiovascularFitness = 'cardiovascularFitness',\n painTolerance = 'painTolerance',\n injuryPrevention = 'injuryPrevention',\n\n // lifelong learning\n curiosity = 'curiosity',\n openMindedness = 'openMindedness',\n criticalThinking = 'critical thinking',\n selfDirectedLearning = 'selfDirectedLearning',\n knowledgeRetention = 'knowledgeRetention',\n\n // * STEM\n // Mathematics\n algebra = 'algebra',\n geometry = 'geometry',\n trigonometry = 'trigonometry',\n calculus = 'calculus',\n statistics = 'statistics',\n\n // science\n physics = 'physics',\n chemistry = 'chemistry',\n biology = 'biology',\n earthScience = 'earthScience',\n environmentalScience = 'environmentalScience',\n\n // technology\n coding = 'coding',\n softwareDevelopment = 'softwareDevelopment',\n dataAnalysis = 'dataAnalysis',\n robotics = 'robotics',\n cybersecurity = 'cybersecurity',\n\n // engineering\n mechanicalEngineering = 'mechanicalEngineering',\n electricalEngineering = 'electricalEngineering',\n civilEngineering = 'civilEngineering',\n chemicalEngineering = 'chemicalEngineering',\n computerEngineering = 'computerEngineering',\n\n // research\n hypothesisDevelopment = 'hypothesisDevelopment',\n experimentalDesign = 'experimentalDesign',\n dataCollection = 'dataCollection',\n analysis = 'analysis',\n presentation = 'presentation',\n\n // * Athletic\n // sport specific skills\n ballHandling = 'ballHandling',\n runningTechnique = 'runningTechnique',\n swingMechanics = 'swingMechanics',\n tackling = 'tackling',\n swimmingStrokes = 'swimmingStrokes',\n\n // strength and conditioning\n weightLifting = 'weightLifting',\n speedTraining = 'speedTraining',\n agility = 'agility',\n lexibility = 'flexibility',\n // injuryPrevention = 'injuryPrevention', // ! duplicate\n\n // coordination\n handEyeCoordination = 'handEyeCoordination',\n footwork = 'footwork',\n balance = 'balance',\n reactionTime = 'reactionTime',\n spatialAwareness = 'spatialAwareness',\n\n // mental focus\n visualization = 'visualization',\n goalSetting = 'goalSetting',\n competitiveness = 'competitiveness',\n // resilience = 'resilience', // ! duplicate\n handlingPressure = 'handlingPressure',\n\n // teamwork\n communication = 'communication',\n cooperation = 'cooperation',\n roleUnderstanding = 'roleUnderstanding',\n strategy = 'strategy',\n sportsmanship = 'sportsmanship',\n\n // * Creative\n // visual arts\n drawing = 'drawing',\n painting = 'painting',\n sculpture = 'sculpture',\n graphicDesign = 'graphicDesign',\n photography = 'photography',\n\n // performing arts\n acting = 'acting',\n dance = 'dance',\n singing = 'singing',\n instrumental = 'instrumental',\n theaterProduction = 'theaterProduction',\n costumeDesign = 'costumeDesign',\n directing = 'directing',\n\n // writing\n poetry = 'poetry',\n fiction = 'fiction',\n nonfiction = 'nonfiction',\n scriptWriting = 'scriptWriting',\n copyWriting = 'copyWriting',\n journalism = 'journalism',\n\n // design\n fashionDesign = 'fashionDesign',\n interiorDesign = 'interiorDesign',\n webDesign = 'webDesign',\n productDesign = 'productDesign',\n gameDesign = 'gameDesign',\n\n // ideation\n brainstorming = 'brainstorming',\n conceptDevelopment = 'concept development',\n innovation = 'innovation',\n // problemSolving = 'problem-solving', // ! duplicate\n outOfTheBoxThinking = 'outOfTheBoxThinking',\n\n // * Business\n // management\n leadership = 'leadership',\n strategicPlanning = 'strategicPlanning',\n teamBuilding = 'teamBuilding',\n delegation = 'delegation',\n conflictResolution = 'conflictResolution',\n\n // finance\n accounting = 'accounting',\n budgeting = 'budgeting',\n financialAnalysis = 'financialAnalysis',\n investment = 'investment',\n riskManagement = 'riskManagement',\n\n // marketing\n marketResearch = 'marketResearch',\n branding = 'branding',\n advertising = 'advertising',\n sales = 'sales',\n customerRelationshipManagement = 'customerRelationshipManagement',\n\n // operations\n logistics = 'logistics',\n supplyChainManagement = 'supplyChainManagement',\n processImprovement = 'processImprovement',\n projectManagement = 'projectManagement',\n qualityControl = 'qualityControl',\n\n // entrepreneurship\n opportunityRecognition = 'opportunityRecognition',\n businessPlanning = 'businessPlanning',\n fundraising = 'fundraising',\n networking = 'networking',\n decisionMaking = 'decisionMaking',\n\n // * Trade\n // construction\n carpentry = 'carpentry',\n electricalWork = 'electricalWork',\n plumbing = 'plumbing',\n masonry = 'masonry',\n HVAC = 'HVAC',\n\n // mechanics\n automotiveRepair = 'automotiveRepair',\n dieselEngineRepair = 'dieselEngineRepair',\n smallEngineRepair = 'smallEngineRepair',\n aircraftMaintenance = 'aircraftMaintenance',\n heavyEquipmentOperation = 'heavyEquipmentOperation',\n\n // manufacturing\n welding = 'welding',\n machining = 'machining',\n assembly = 'assembly',\n fabrication = 'fabrication',\n qualityAssurance = 'qualityAssurance',\n\n // cosmetology\n hairstyling = 'hairstyling',\n barbering = 'barbering',\n nailTechnology = 'nailTechnology',\n makeupArtistry = 'makeupArtistry',\n esthetics = 'esthetics',\n\n // culinary arts\n cookingTechniques = 'cookingTechniques',\n baking = 'baking',\n foodSafety = 'foodSafety',\n menuPlanning = 'menuPlanning',\n restaurantManagement = 'restaurantManagement',\n\n // * Social\n // history\n researchMethods = 'researchMethods',\n analysisOfPrimarySources = 'analysisOfPrimarySources',\n chronologicalReasoning = 'chronologicalReasoning',\n comparativeHistory = 'comparativeHistory',\n historiography = 'historiography',\n\n // psychology\n cognitivePsychology = 'cognitivePsychology',\n developmentalPsychology = 'developmentalPsychology',\n socialPsychology = 'socialPsychology',\n experimentalMethods = 'experimentalMethods',\n clinicalPsychology = 'clinicalPsychology',\n\n // sociology\n socialInequality = 'socialInequality',\n socialInstitutions = 'socialInstitutions',\n // 'researchMethods = 'researchMethods', // !duplicate\n socialChange = 'socialChange',\n socialMovements = 'socialMovements',\n\n // economics\n microeconomics = 'microeconomics',\n macroeconomics = 'macroeconomics',\n econometrics = 'econometrics',\n economicPolicy = 'economicPolicy',\n internationalEconomics = 'internationalEconomics',\n\n // political science\n governmentSystems = 'governmentSystems',\n politicalTheory = 'politicalTheory',\n internationalRelations = 'internationalRelations',\n comparativePolitics = 'comparativePolitics',\n publicPolicy = 'publicPolicy',\n\n // * Digital\n // basic computer skills\n typing = 'typing',\n fileManagement = 'fileManagement',\n internetNavigation = 'internetNavigation',\n email = 'email',\n wordProcessing = 'wordProcessing',\n\n // information literacy\n searchEngineProficiency = 'searchEngineProficiency',\n evaluatingSources = 'evaluatingSources',\n factChecking = 'factChecking',\n criticalMediaAnalysis = 'criticalMediaAnalysis',\n understandingBias = 'understandingBias',\n\n // software proficiency\n productivitySuites = 'productivitySuites',\n specializedSoftware = 'specializedSoftware',\n designSoftware = 'designSoftware',\n programmingBasics = 'programmingBasics',\n dataVisualizationTools = 'dataVisualizationTools',\n\n // online communication\n netiquette = 'netiquette',\n effectiveEmailAndMessaging = 'effectiveEmailAndMessaging',\n socialMediaPlatforms = 'socialMediaPlatforms',\n videoConferencing = 'videoConferencing',\n collaborationTools = 'collaborationTools',\n\n // cyber security\n passwordManagement = 'passwordManagement',\n phishingAwareness = 'phishingAwareness',\n dataPrivacy = 'dataPrivacy',\n safeOnlinePractices = 'safeOnlinePractices',\n protectingDevices = 'protectingDevices',\n\n // * Medical\n // clinical skills\n patientAssessment = 'patientAssessment',\n diagnosticProcedures = 'diagnosticProcedures',\n medicationAdministration = 'medicationAdministration',\n woundCare = 'woundCare',\n basicLifeSupport = 'basicLifeSupport',\n\n // anatomy and physiology\n bodySystems = 'bodySystems',\n medicalTerminology = 'medicalTerminology',\n diseaseProcesses = 'diseaseProcesses',\n pharmacology = 'pharmacology',\n pathophysiology = 'pathophysiology',\n\n // patient care\n bedsideManner = 'bedsideManner',\n empathy = 'empathy',\n // 'communication = 'communication', // ! duplicate\n culturalSensitivity = 'culturalSensitivity',\n ethics = 'ethics',\n\n // medical specialties\n surgery = 'surgery',\n emergencyMedicine = 'emergencyMedicine',\n pediatrics = 'pediatrics',\n radiology = 'radiology',\n diagnosticReasoning = 'diagnosticReasoning',\n treatmentPlanning = 'treatmentPlanning',\n interdisciplinaryCollaboration = 'interdisciplinaryCollaboration',\n\n // healthcare administration\n insuranceAndBilling = 'insuranceAndBilling',\n medicalRecords = 'medicalRecords',\n patientScheduling = 'patientScheduling',\n regulatoryCompliance = 'regulatoryCompliance',\n facilityManagement = 'facilityManagement',\n}\n\nexport const SKILLS_TO_SUBSKILLS: {\n [key: BoostCMSCategorySkillEnum | string]: {\n id: number;\n title: string;\n type: BoostCMSCategorySkillEnum | string;\n }[];\n} = {\n // Durable\n [BoostCMSCategorySkillEnum.Adaptability]: [\n {\n id: 1,\n title: 'Flexibility',\n type: BoostCMSSubSkillEnum.flexibility,\n },\n {\n id: 2,\n title: 'Resilience',\n type: BoostCMSSubSkillEnum.resilience,\n },\n {\n id: 3,\n title: 'Problem Solving',\n type: BoostCMSSubSkillEnum.problemSolving,\n },\n {\n id: 4,\n title: 'Resourcefulness',\n type: BoostCMSSubSkillEnum.resourcefulness,\n },\n {\n id: 5,\n title: 'Stress management',\n type: BoostCMSSubSkillEnum.stressManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Perseverance]: [\n {\n id: 1,\n title: 'Discipline',\n type: BoostCMSSubSkillEnum.discipline,\n },\n {\n id: 2,\n title: 'focus',\n type: BoostCMSSubSkillEnum.focus,\n },\n {\n id: 3,\n title: 'Commitment',\n type: BoostCMSSubSkillEnum.commitment,\n },\n {\n id: 4,\n title: 'Grit',\n type: BoostCMSSubSkillEnum.grit,\n },\n {\n id: 5,\n title: 'Tenacity',\n type: BoostCMSSubSkillEnum.tenacity,\n },\n ],\n [BoostCMSCategorySkillEnum.MentalToughness]: [\n {\n id: 1,\n title: 'optimism',\n type: BoostCMSSubSkillEnum.optimism,\n },\n {\n id: 2,\n title: 'Self Confidence',\n type: BoostCMSSubSkillEnum.selfConfidence,\n },\n {\n id: 3,\n title: 'Emotional Regulation',\n type: BoostCMSSubSkillEnum.emotionalRegulation,\n },\n {\n id: 4,\n title: 'Growth Mindset',\n type: BoostCMSSubSkillEnum.growthMindset,\n },\n {\n id: 5,\n title: 'Positive Self-Talk',\n type: BoostCMSSubSkillEnum.positiveSelfTalk,\n },\n ],\n [BoostCMSCategorySkillEnum.PhysicalEndurance]: [\n {\n id: 1,\n title: 'Strength',\n type: BoostCMSSubSkillEnum.strength,\n },\n {\n id: 2,\n title: 'Stamina',\n type: BoostCMSSubSkillEnum.stamina,\n },\n {\n id: 3,\n title: 'Cardiovascular Fitness',\n type: BoostCMSSubSkillEnum.cardiovascularFitness,\n },\n {\n id: 4,\n title: 'Pain Tolerance',\n type: BoostCMSSubSkillEnum.painTolerance,\n },\n {\n id: 5,\n title: 'Injury Prevention',\n type: BoostCMSSubSkillEnum.injuryPrevention,\n },\n ],\n [BoostCMSCategorySkillEnum.LifelongLearning]: [\n {\n id: 1,\n title: 'Curiosity',\n type: BoostCMSSubSkillEnum.curiosity,\n },\n {\n id: 2,\n title: 'Open Mindedness',\n type: BoostCMSSubSkillEnum.openMindedness,\n },\n {\n id: 3,\n title: 'Critical Thinking',\n type: BoostCMSSubSkillEnum.criticalThinking,\n },\n {\n id: 4,\n title: 'Self-directed Learning',\n type: BoostCMSSubSkillEnum.selfDirectedLearning,\n },\n {\n id: 5,\n title: 'Knowledge Retention',\n type: BoostCMSSubSkillEnum.knowledgeRetention,\n },\n ],\n\n // STEM\n [BoostCMSCategorySkillEnum.Mathematics]: [\n {\n id: 1,\n title: 'Algebra',\n type: BoostCMSSubSkillEnum.algebra,\n },\n {\n id: 2,\n title: 'Geometry',\n type: BoostCMSSubSkillEnum.geometry,\n },\n {\n id: 3,\n title: 'Trigonometry',\n type: BoostCMSSubSkillEnum.trigonometry,\n },\n {\n id: 4,\n title: 'Calculus',\n type: BoostCMSSubSkillEnum.calculus,\n },\n {\n id: 5,\n title: 'Statistics',\n type: BoostCMSSubSkillEnum.statistics,\n },\n ],\n [BoostCMSCategorySkillEnum.Science]: [\n {\n id: 1,\n title: 'Physics',\n type: BoostCMSSubSkillEnum.physics,\n },\n {\n id: 2,\n title: 'Chemistry',\n type: BoostCMSSubSkillEnum.chemistry,\n },\n {\n id: 3,\n title: 'Biology',\n type: BoostCMSSubSkillEnum.biology,\n },\n {\n id: 4,\n title: 'Earth science',\n type: BoostCMSSubSkillEnum.earthScience,\n },\n {\n id: 5,\n title: 'Environmental science',\n type: BoostCMSSubSkillEnum.environmentalScience,\n },\n ],\n [BoostCMSCategorySkillEnum.Technology]: [\n {\n id: 1,\n title: 'Coding',\n type: BoostCMSSubSkillEnum.coding,\n },\n {\n id: 2,\n title: 'Software Development',\n type: BoostCMSSubSkillEnum.softwareDevelopment,\n },\n {\n id: 3,\n title: 'Data Analysis',\n type: BoostCMSSubSkillEnum.dataAnalysis,\n },\n {\n id: 4,\n title: 'Robotics',\n type: BoostCMSSubSkillEnum.robotics,\n },\n {\n id: 5,\n title: 'Cybersecurity',\n type: BoostCMSSubSkillEnum.cybersecurity,\n },\n ],\n [BoostCMSCategorySkillEnum.Engineering]: [\n {\n id: 1,\n title: 'Mechanical Engineering',\n type: BoostCMSSubSkillEnum.mechanicalEngineering,\n },\n {\n id: 2,\n title: 'Electrical Engineering',\n type: BoostCMSSubSkillEnum.electricalEngineering,\n },\n {\n id: 3,\n title: 'Civil Engineering',\n type: BoostCMSSubSkillEnum.civilEngineering,\n },\n {\n id: 4,\n title: 'Chemical Engineering',\n type: BoostCMSSubSkillEnum.chemicalEngineering,\n },\n {\n id: 5,\n title: 'Computer Engineering',\n type: BoostCMSSubSkillEnum.computerEngineering,\n },\n ],\n [BoostCMSCategorySkillEnum.Research]: [\n {\n id: 1,\n title: 'Hypothesis Development',\n type: BoostCMSSubSkillEnum.hypothesisDevelopment,\n },\n {\n id: 2,\n title: 'Experimental Design',\n type: BoostCMSSubSkillEnum.experimentalDesign,\n },\n {\n id: 3,\n title: 'Data Collection',\n type: BoostCMSSubSkillEnum.dataCollection,\n },\n {\n id: 4,\n title: 'Analysis',\n type: BoostCMSSubSkillEnum.analysis,\n },\n {\n id: 5,\n title: 'presentation',\n type: BoostCMSSubSkillEnum.presentation,\n },\n ],\n\n // athletic\n [BoostCMSCategorySkillEnum.SportSpecificSkills]: [\n {\n id: 1,\n title: 'Ball Handling',\n type: BoostCMSSubSkillEnum.ballHandling,\n },\n {\n id: 2,\n title: 'Running Technique',\n type: BoostCMSSubSkillEnum.runningTechnique,\n },\n {\n id: 3,\n title: 'Swing Mechanics',\n type: BoostCMSSubSkillEnum.swingMechanics,\n },\n {\n id: 4,\n title: 'Tackling',\n type: BoostCMSSubSkillEnum.tackling,\n },\n {\n id: 5,\n title: 'Swimming Strokes',\n type: BoostCMSSubSkillEnum.swimmingStrokes,\n },\n ],\n [BoostCMSCategorySkillEnum.StrengthAndConditioning]: [\n {\n id: 1,\n title: 'Weight Lifting',\n type: BoostCMSSubSkillEnum.weightLifting,\n },\n {\n id: 2,\n title: 'Speed Training',\n type: BoostCMSSubSkillEnum.speedTraining,\n },\n {\n id: 3,\n title: 'Agility',\n type: BoostCMSSubSkillEnum.agility,\n },\n {\n id: 4,\n title: 'Flexibility',\n type: BoostCMSSubSkillEnum.flexibility,\n },\n {\n id: 5,\n title: 'Injury Prevention',\n type: BoostCMSSubSkillEnum.injuryPrevention,\n },\n ],\n [BoostCMSCategorySkillEnum.Coordination]: [\n {\n id: 1,\n title: 'Hand Eye Coordination',\n type: BoostCMSSubSkillEnum.handEyeCoordination,\n },\n {\n id: 2,\n title: 'Footwork',\n type: BoostCMSSubSkillEnum.footwork,\n },\n {\n id: 3,\n title: 'Balance',\n type: BoostCMSSubSkillEnum.balance,\n },\n {\n id: 4,\n title: 'Reaction Time',\n type: BoostCMSSubSkillEnum.reactionTime,\n },\n {\n id: 5,\n title: 'Spatial Awareness',\n type: BoostCMSSubSkillEnum.spatialAwareness,\n },\n ],\n [BoostCMSCategorySkillEnum.MentalFocus]: [\n {\n id: 1,\n title: 'Visualization',\n type: BoostCMSSubSkillEnum.visualization,\n },\n {\n id: 2,\n title: 'Goal Setting',\n type: BoostCMSSubSkillEnum.goalSetting,\n },\n {\n id: 3,\n title: 'Competitiveness',\n type: BoostCMSSubSkillEnum.competitiveness,\n },\n {\n id: 4,\n title: 'Resilience',\n type: BoostCMSSubSkillEnum.resilience,\n },\n {\n id: 5,\n title: 'Handling pressure',\n type: BoostCMSSubSkillEnum.handlingPressure,\n },\n ],\n [BoostCMSCategorySkillEnum.Teamwork]: [\n {\n id: 1,\n title: 'Communication',\n type: BoostCMSSubSkillEnum.communication,\n },\n {\n id: 2,\n title: 'Cooperation',\n type: BoostCMSSubSkillEnum.cooperation,\n },\n {\n id: 3,\n title: 'Role Understanding',\n type: BoostCMSSubSkillEnum.roleUnderstanding,\n },\n {\n id: 4,\n title: 'Strategy',\n type: BoostCMSSubSkillEnum.strategy,\n },\n {\n id: 5,\n title: 'Sportsmanship',\n type: BoostCMSSubSkillEnum.sportsmanship,\n },\n ],\n\n // creative\n [BoostCMSCategorySkillEnum.VisualArts]: [\n {\n id: 1,\n title: 'Drawing',\n type: BoostCMSSubSkillEnum.drawing,\n },\n {\n id: 2,\n title: 'Painting',\n type: BoostCMSSubSkillEnum.painting,\n },\n {\n id: 3,\n title: 'Sculpture',\n type: BoostCMSSubSkillEnum.sculpture,\n },\n {\n id: 4,\n title: 'Graphic design',\n type: BoostCMSSubSkillEnum.graphicDesign,\n },\n {\n id: 5,\n title: 'Photography',\n type: BoostCMSSubSkillEnum.photography,\n },\n ],\n [BoostCMSCategorySkillEnum.PerformingArts]: [\n {\n id: 1,\n title: 'Acting',\n type: BoostCMSSubSkillEnum.acting,\n },\n {\n id: 2,\n title: 'Dance',\n type: BoostCMSSubSkillEnum.dance,\n },\n {\n id: 3,\n title: 'Singing',\n type: BoostCMSSubSkillEnum.singing,\n },\n {\n id: 4,\n title: 'Instrumental',\n type: BoostCMSSubSkillEnum.instrumental,\n },\n {\n id: 5,\n title: 'Theatre Production',\n type: BoostCMSSubSkillEnum.theaterProduction,\n },\n {\n id: 6,\n title: 'Costume Design',\n type: BoostCMSSubSkillEnum.costumeDesign,\n },\n {\n id: 7,\n title: 'Directing',\n type: BoostCMSSubSkillEnum.directing,\n },\n ],\n [BoostCMSCategorySkillEnum.Writing]: [\n {\n id: 1,\n title: 'Poetry',\n type: BoostCMSSubSkillEnum.poetry,\n },\n {\n id: 2,\n title: 'Fiction',\n type: BoostCMSSubSkillEnum.fiction,\n },\n {\n id: 3,\n title: 'Non fiction',\n type: BoostCMSSubSkillEnum.nonfiction,\n },\n {\n id: 4,\n title: 'Script Writing',\n type: BoostCMSSubSkillEnum.scriptWriting,\n },\n {\n id: 5,\n title: 'Copy Writing',\n type: BoostCMSSubSkillEnum.copyWriting,\n },\n {\n id: 6,\n title: 'Journalism',\n type: BoostCMSSubSkillEnum.journalism,\n },\n ],\n [BoostCMSCategorySkillEnum.Design]: [\n {\n id: 1,\n title: 'Fashion Design',\n type: BoostCMSSubSkillEnum.fashionDesign,\n },\n {\n id: 2,\n title: 'Interior Design',\n type: BoostCMSSubSkillEnum.interiorDesign,\n },\n {\n id: 3,\n title: 'Web Design',\n type: BoostCMSSubSkillEnum.webDesign,\n },\n {\n id: 4,\n title: 'Product Design',\n type: BoostCMSSubSkillEnum.productDesign,\n },\n {\n id: 5,\n title: 'Game Design',\n type: BoostCMSSubSkillEnum.gameDesign,\n },\n ],\n [BoostCMSCategorySkillEnum.Ideation]: [\n {\n id: 1,\n title: 'Brainstorming',\n type: BoostCMSSubSkillEnum.brainstorming,\n },\n {\n id: 2,\n title: 'Concept Development',\n type: BoostCMSSubSkillEnum.conceptDevelopment,\n },\n {\n id: 3,\n title: 'Innovation',\n type: BoostCMSSubSkillEnum.innovation,\n },\n {\n id: 4,\n title: 'Problem Solving',\n type: BoostCMSSubSkillEnum.problemSolving,\n },\n {\n id: 5,\n title: 'Out of the box thinking',\n type: BoostCMSSubSkillEnum.outOfTheBoxThinking,\n },\n ],\n\n // business\n [BoostCMSCategorySkillEnum.Management]: [\n {\n id: 1,\n title: 'Leadership',\n type: BoostCMSSubSkillEnum.leadership,\n },\n {\n id: 2,\n title: 'Strategic Planning',\n type: BoostCMSSubSkillEnum.strategicPlanning,\n },\n {\n id: 3,\n title: 'Team Building',\n type: BoostCMSSubSkillEnum.teamBuilding,\n },\n {\n id: 4,\n title: 'Delegation',\n type: BoostCMSSubSkillEnum.delegation,\n },\n {\n id: 5,\n title: 'Conflict Resolution',\n type: BoostCMSSubSkillEnum.conflictResolution,\n },\n ],\n [BoostCMSCategorySkillEnum.Finance]: [\n {\n id: 1,\n title: 'Accounting',\n type: BoostCMSSubSkillEnum.accounting,\n },\n {\n id: 2,\n title: 'Budgeting',\n type: BoostCMSSubSkillEnum.budgeting,\n },\n {\n id: 3,\n title: 'Financial Analysis',\n type: BoostCMSSubSkillEnum.financialAnalysis,\n },\n {\n id: 4,\n title: 'Investment',\n type: BoostCMSSubSkillEnum.investment,\n },\n {\n id: 5,\n title: 'Risk Management',\n type: BoostCMSSubSkillEnum.riskManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Marketing]: [\n {\n id: 1,\n title: 'Market Research',\n type: BoostCMSSubSkillEnum.marketResearch,\n },\n {\n id: 2,\n title: 'Branding',\n type: BoostCMSSubSkillEnum.branding,\n },\n {\n id: 3,\n title: 'Advertising',\n type: BoostCMSSubSkillEnum.advertising,\n },\n {\n id: 4,\n title: 'Sales',\n type: BoostCMSSubSkillEnum.sales,\n },\n {\n id: 5,\n title: 'Customer Relationship Management',\n type: BoostCMSSubSkillEnum.customerRelationshipManagement,\n },\n ],\n [BoostCMSCategorySkillEnum.Operations]: [\n {\n id: 1,\n title: 'Logistics',\n type: BoostCMSSubSkillEnum.logistics,\n },\n {\n id: 2,\n title: 'Supply Chain Management',\n type: BoostCMSSubSkillEnum.supplyChainManagement,\n },\n {\n id: 3,\n title: 'Process Improvement',\n type: BoostCMSSubSkillEnum.processImprovement,\n },\n {\n id: 4,\n title: 'Project Management',\n type: BoostCMSSubSkillEnum.projectManagement,\n },\n {\n id: 5,\n title: 'Quality Control',\n type: BoostCMSSubSkillEnum.qualityControl,\n },\n ],\n [BoostCMSCategorySkillEnum.Entrepreneurship]: [\n {\n id: 1,\n title: 'Opportunity Recognition',\n type: BoostCMSSubSkillEnum.opportunityRecognition,\n },\n {\n id: 2,\n title: 'Business Planning',\n type: BoostCMSSubSkillEnum.businessPlanning,\n },\n {\n id: 3,\n title: 'Fundraising',\n type: BoostCMSSubSkillEnum.fundraising,\n },\n {\n id: 4,\n title: 'Networking',\n type: BoostCMSSubSkillEnum.networking,\n },\n {\n id: 5,\n title: 'Decision-making',\n type: BoostCMSSubSkillEnum.decisionMaking,\n },\n ],\n\n // trade\n [BoostCMSCategorySkillEnum.Construction]: [\n {\n id: 1,\n title: 'Carpentry',\n type: BoostCMSSubSkillEnum.carpentry,\n },\n {\n id: 2,\n title: 'Electrical Work',\n type: BoostCMSSubSkillEnum.electricalWork,\n },\n {\n id: 3,\n title: 'Plumbing',\n type: BoostCMSSubSkillEnum.plumbing,\n },\n {\n id: 4,\n title: 'Masonry',\n type: BoostCMSSubSkillEnum.masonry,\n },\n {\n id: 5,\n title: 'HVAC',\n type: BoostCMSSubSkillEnum.HVAC,\n },\n ],\n [BoostCMSCategorySkillEnum.Mechanics]: [\n {\n id: 1,\n title: 'Automotive Repair',\n type: BoostCMSSubSkillEnum.automotiveRepair,\n },\n {\n id: 2,\n title: 'Diesel Engine Repair',\n type: BoostCMSSubSkillEnum.dieselEngineRepair,\n },\n {\n id: 3,\n title: 'Small Engine Repair',\n type: BoostCMSSubSkillEnum.smallEngineRepair,\n },\n {\n id: 4,\n title: 'Aircraft Maintenance',\n type: BoostCMSSubSkillEnum.aircraftMaintenance,\n },\n {\n id: 5,\n title: 'Heavy Equipment Operation',\n type: BoostCMSSubSkillEnum.heavyEquipmentOperation,\n },\n ],\n [BoostCMSCategorySkillEnum.Manufacturing]: [\n {\n id: 1,\n title: 'Welding',\n type: BoostCMSSubSkillEnum.welding,\n },\n {\n id: 2,\n title: 'Machining',\n type: BoostCMSSubSkillEnum.machining,\n },\n {\n id: 3,\n title: 'Assembly',\n type: BoostCMSSubSkillEnum.assembly,\n },\n {\n id: 4,\n title: 'Fabrication',\n type: BoostCMSSubSkillEnum.fabrication,\n },\n {\n id: 5,\n title: 'Quality Assurance',\n type: BoostCMSSubSkillEnum.qualityAssurance,\n },\n ],\n [BoostCMSCategorySkillEnum.Cosmetology]: [\n {\n id: 1,\n title: 'Hairstyling',\n type: BoostCMSSubSkillEnum.hairstyling,\n },\n {\n id: 2,\n title: 'Barbering',\n type: BoostCMSSubSkillEnum.barbering,\n },\n {\n id: 3,\n title: 'Nail Technology',\n type: BoostCMSSubSkillEnum.nailTechnology,\n },\n {\n id: 4,\n title: 'Makeup Artistry',\n type: BoostCMSSubSkillEnum.makeupArtistry,\n },\n {\n id: 5,\n title: 'Esthetics',\n type: BoostCMSSubSkillEnum.esthetics,\n },\n ],\n [BoostCMSCategorySkillEnum.CulinaryArts]: [\n {\n id: 1,\n title: 'Cooking Techniques',\n type: BoostCMSSubSkillEnum.cookingTechniques,\n },\n {\n id: 2,\n title: 'Baking',\n type: BoostCMSSubSkillEnum.baking,\n },\n {\n id: 3,\n title: 'Food Safety',\n type: BoostCMSSubSkillEnum.foodSafety,\n },\n {\n id: 4,\n title: 'Menu Planning',\n type: BoostCMSSubSkillEnum.menuPlanning,\n },\n {\n id: 5,\n title: 'Restaurant Management',\n type: BoostCMSSubSkillEnum.restaurantManagement,\n },\n ],\n\n // social\n [BoostCMSCategorySkillEnum.History]: [\n {\n id: 1,\n title: 'Research Methods',\n type: BoostCMSSubSkillEnum.researchMethods,\n },\n {\n id: 2,\n title: 'Analysis of Primary Sources',\n type: BoostCMSSubSkillEnum.analysisOfPrimarySources,\n },\n {\n id: 3,\n title: 'Chronological Reasoning',\n type: BoostCMSSubSkillEnum.chronologicalReasoning,\n },\n {\n id: 4,\n title: 'Comparative History',\n type: BoostCMSSubSkillEnum.comparativeHistory,\n },\n {\n id: 5,\n title: 'Historiography',\n type: BoostCMSSubSkillEnum.historiography,\n },\n ],\n [BoostCMSCategorySkillEnum.Psychology]: [\n {\n id: 1,\n title: 'Cognitive Psychology',\n type: BoostCMSSubSkillEnum.cognitivePsychology,\n },\n {\n id: 2,\n title: 'Developmental Psychology',\n type: BoostCMSSubSkillEnum.developmentalPsychology,\n },\n {\n id: 3,\n title: 'Social Psychology',\n type: BoostCMSSubSkillEnum.socialPsychology,\n },\n {\n id: 4,\n title: 'Experimental Methods',\n type: BoostCMSSubSkillEnum.experimentalMethods,\n },\n {\n id: 5,\n title: 'Clinical Psychology',\n type: BoostCMSSubSkillEnum.clinicalPsychology,\n },\n ],\n [BoostCMSCategorySkillEnum.Sociology]: [\n {\n id: 1,\n title: 'Social Inequality',\n type: BoostCMSSubSkillEnum.socialInequality,\n },\n {\n id: 2,\n title: 'Social Institutions',\n type: BoostCMSSubSkillEnum.socialInstitutions,\n },\n {\n id: 3,\n title: 'Research Methods',\n type: BoostCMSSubSkillEnum.researchMethods,\n },\n {\n id: 4,\n title: 'Social Change',\n type: BoostCMSSubSkillEnum.socialChange,\n },\n {\n id: 5,\n title: 'Social Movements',\n type: BoostCMSSubSkillEnum.socialMovements,\n },\n ],\n [BoostCMSCategorySkillEnum.Economics]: [\n {\n id: 1,\n title: 'Microeconomics',\n type: BoostCMSSubSkillEnum.microeconomics,\n },\n {\n id: 2,\n title: 'Macroeconomics',\n type: BoostCMSSubSkillEnum.macroeconomics,\n },\n {\n id: 3,\n title: 'Econometrics',\n type: BoostCMSSubSkillEnum.econometrics,\n },\n {\n id: 4,\n title: 'Economic Policy',\n type: BoostCMSSubSkillEnum.economicPolicy,\n },\n {\n id: 5,\n title: 'International Economics',\n type: BoostCMSSubSkillEnum.internationalEconomics,\n },\n ],\n [BoostCMSCategorySkillEnum.PoliticalScience]: [\n {\n id: 1,\n title: 'Government Systems',\n type: BoostCMSSubSkillEnum.governmentSystems,\n },\n {\n id: 2,\n title: 'Political Theory',\n type: BoostCMSSubSkillEnum.politicalTheory,\n },\n {\n id: 3,\n title: 'International Relations',\n type: BoostCMSSubSkillEnum.internationalRelations,\n },\n {\n id: 4,\n title: 'Comparative Politics',\n type: BoostCMSSubSkillEnum.comparativePolitics,\n },\n {\n id: 5,\n title: 'Public Policy',\n type: BoostCMSSubSkillEnum.publicPolicy,\n },\n ],\n\n // digital\n [BoostCMSCategorySkillEnum.BasicComputerSkills]: [\n {\n id: 1,\n title: 'Typing',\n type: BoostCMSSubSkillEnum.typing,\n },\n {\n id: 2,\n title: 'File Management',\n type: BoostCMSSubSkillEnum.fileManagement,\n },\n {\n id: 3,\n title: 'Internet Navigation',\n type: BoostCMSSubSkillEnum.internetNavigation,\n },\n {\n id: 4,\n title: 'Email',\n type: BoostCMSSubSkillEnum.email,\n },\n {\n id: 5,\n title: 'Word Processing',\n type: BoostCMSSubSkillEnum.wordProcessing,\n },\n ],\n [BoostCMSCategorySkillEnum.InformationLiteracy]: [\n {\n id: 1,\n title: 'Search Engine Proficiency',\n type: BoostCMSSubSkillEnum.searchEngineProficiency,\n },\n {\n id: 2,\n title: 'evaluating sources',\n type: BoostCMSSubSkillEnum.evaluatingSources,\n },\n {\n id: 3,\n title: 'Fact Checking',\n type: BoostCMSSubSkillEnum.factChecking,\n },\n {\n id: 4,\n title: 'Critical Media Analysis',\n type: BoostCMSSubSkillEnum.criticalMediaAnalysis,\n },\n {\n id: 5,\n title: 'Understanding Bias',\n type: BoostCMSSubSkillEnum.understandingBias,\n },\n ],\n [BoostCMSCategorySkillEnum.SoftwareProficiency]: [\n {\n id: 1,\n title: 'Productivity Suites',\n type: BoostCMSSubSkillEnum.productivitySuites,\n },\n {\n id: 2,\n title: 'Specialized Software',\n type: BoostCMSSubSkillEnum.specializedSoftware,\n },\n {\n id: 3,\n title: 'Design Software',\n type: BoostCMSSubSkillEnum.designSoftware,\n },\n {\n id: 4,\n title: 'Programming Basics',\n type: BoostCMSSubSkillEnum.programmingBasics,\n },\n {\n id: 5,\n title: 'Data Visualization Tools',\n type: BoostCMSSubSkillEnum.dataVisualizationTools,\n },\n ],\n [BoostCMSCategorySkillEnum.OnlineCommunication]: [\n {\n id: 1,\n title: 'Netiquette',\n type: BoostCMSSubSkillEnum.netiquette,\n },\n {\n id: 2,\n title: 'Effective Email and Messaging',\n type: BoostCMSSubSkillEnum.effectiveEmailAndMessaging,\n },\n {\n id: 3,\n title: 'Social Media Platforms',\n type: BoostCMSSubSkillEnum.socialMediaPlatforms,\n },\n {\n id: 4,\n title: 'Video Conferencing',\n type: BoostCMSSubSkillEnum.videoConferencing,\n },\n {\n id: 5,\n title: 'Collaboration Tools',\n type: BoostCMSSubSkillEnum.collaborationTools,\n },\n ],\n [BoostCMSCategorySkillEnum.Cybersecurity]: [\n {\n id: 1,\n title: 'Password Management',\n type: BoostCMSSubSkillEnum.passwordManagement,\n },\n {\n id: 2,\n title: 'Phishing Awareness',\n type: BoostCMSSubSkillEnum.phishingAwareness,\n },\n {\n id: 3,\n title: 'Data Privacy',\n type: BoostCMSSubSkillEnum.dataPrivacy,\n },\n {\n id: 4,\n title: 'Safe Online Practices',\n type: BoostCMSSubSkillEnum.safeOnlinePractices,\n },\n {\n id: 5,\n title: 'Protecting Devices',\n type: BoostCMSSubSkillEnum.protectingDevices,\n },\n ],\n\n // medical\n [BoostCMSCategorySkillEnum.ClinicalSkills]: [\n {\n id: 1,\n title: 'Patient Assessment',\n type: BoostCMSSubSkillEnum.patientAssessment,\n },\n {\n id: 2,\n title: 'Diagnostic Procedures',\n type: BoostCMSSubSkillEnum.diagnosticProcedures,\n },\n {\n id: 3,\n title: 'Medication Administration',\n type: BoostCMSSubSkillEnum.medicationAdministration,\n },\n {\n id: 4,\n title: 'Wound Care',\n type: BoostCMSSubSkillEnum.woundCare,\n },\n {\n id: 5,\n title: 'Basic Life Support',\n type: BoostCMSSubSkillEnum.basicLifeSupport,\n },\n ],\n [BoostCMSCategorySkillEnum.AnatomyAndPhysiology]: [\n {\n id: 1,\n title: 'Body Systems',\n type: BoostCMSSubSkillEnum.bodySystems,\n },\n {\n id: 2,\n title: 'Medical Terminology',\n type: BoostCMSSubSkillEnum.medicalTerminology,\n },\n {\n id: 3,\n title: 'Disease Processes',\n type: BoostCMSSubSkillEnum.diseaseProcesses,\n },\n {\n id: 4,\n title: 'Pharmacology',\n type: BoostCMSSubSkillEnum.pharmacology,\n },\n {\n id: 5,\n title: 'Pathophysiology',\n type: BoostCMSSubSkillEnum.pathophysiology,\n },\n ],\n [BoostCMSCategorySkillEnum.PatientCare]: [\n {\n id: 1,\n title: 'Bedside Manner',\n type: BoostCMSSubSkillEnum.bedsideManner,\n },\n {\n id: 2,\n title: 'Empathy',\n type: BoostCMSSubSkillEnum.empathy,\n },\n {\n id: 3,\n title: 'Communication',\n type: BoostCMSSubSkillEnum.communication,\n },\n {\n id: 4,\n title: 'Cultural Sensitivity',\n type: BoostCMSSubSkillEnum.culturalSensitivity,\n },\n {\n id: 5,\n title: 'Ethics',\n type: BoostCMSSubSkillEnum.ethics,\n },\n ],\n [BoostCMSCategorySkillEnum.MedicalSpecialties]: [\n {\n id: 1,\n title: 'Surgery',\n type: BoostCMSSubSkillEnum.surgery,\n },\n {\n id: 2,\n title: 'Emergency Medicine',\n type: BoostCMSSubSkillEnum.emergencyMedicine,\n },\n {\n id: 3,\n title: 'Pediatrics',\n type: BoostCMSSubSkillEnum.pediatrics,\n },\n {\n id: 4,\n title: 'Radiology',\n type: BoostCMSSubSkillEnum.radiology,\n },\n {\n id: 5,\n title: 'Diagnostic Reasoning',\n type: BoostCMSSubSkillEnum.diagnosticReasoning,\n },\n {\n id: 6,\n title: 'Treatment Planning',\n type: BoostCMSSubSkillEnum.treatmentPlanning,\n },\n {\n id: 7,\n title: 'Interdisciplinary Collaboration',\n type: BoostCMSSubSkillEnum.interdisciplinaryCollaboration,\n },\n ],\n [BoostCMSCategorySkillEnum.HealthcareAdministration]: [\n {\n id: 1,\n title: 'Insurance and Billing',\n type: BoostCMSSubSkillEnum.insuranceAndBilling,\n },\n {\n id: 2,\n title: 'Medical Records',\n type: BoostCMSSubSkillEnum.medicalRecords,\n },\n {\n id: 3,\n title: 'Patient Scheduling',\n type: BoostCMSSubSkillEnum.patientScheduling,\n },\n {\n id: 4,\n title: 'Regulatory Compliance',\n type: BoostCMSSubSkillEnum.regulatoryCompliance,\n },\n {\n id: 5,\n title: 'Facility Management',\n type: BoostCMSSubSkillEnum.facilityManagement,\n },\n ],\n};\n","import React from 'react';\n\nimport {\n BoostCMSCategorySkillEnum,\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSSubSkillEnum,\n} from '../../constants/skills';\n\nconst TopLevelSkill: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n skillSelected: {\n category: BoostCMSSKillsCategoryEnum | string;\n skill: BoostCMSCategorySkillEnum | string;\n subskills: BoostCMSSubSkillEnum[] | string[];\n };\n\n handleExpandSubSkills?: () => void;\n}> = ({ skillSelected, skill, handleExpandSubSkills }) => {\n const { title, IconComponent, type, category } = skill;\n\n const _category = boostCMSSKillCategories.find(c => c.type === category);\n\n const subSkills = skillSelected.subskills ?? [];\n const subSkillsCount = skillSelected.subskills.length ?? 0;\n\n return (\n <div\n className={`flex items-center justify-between w-full mb-4 bg-violet-100 rounded-[20px]`}\n >\n <div className=\"flex items-center justify-start w-[80%] px-[6px] py-[10px] overflow-hidden\">\n <div className=\"rounded-full h-[50px] w-[50px]\">\n <img src={IconComponent as string} alt=\"skill icon\" className=\"w-full h-full\" />\n </div>\n <div className=\"flex flex-col items-start justify-center ml-2\">\n <p className=\"font-poppins text-left text-violet-800 font-semibold text-xs\">\n {_category?.title}\n </p>\n <p className=\"text-black font-poppins text-left text-base font-normal\">\n {title}\n </p>\n </div>\n </div>\n {subSkills?.length > 0 && (\n <div className=\"flex items-center justify-center rounded-full bg-white mr-4 h-[40px] w-[40px]\">\n <button\n onClick={e => {\n e.stopPropagation();\n handleExpandSubSkills?.();\n }}\n className=\"text-black font-bold flex items-center justify-center text-center font-poppins\"\n >\n +{subSkillsCount}\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport default TopLevelSkill;\n","import React from 'react';\n\nimport {\n BoostCMSCategorySkillEnum,\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSSubSkillEnum,\n} from '../../constants/skills';\n\nconst Subskill: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n subSkill: {\n id: number;\n title: string;\n type: BoostCMSSubSkillEnum | string;\n };\n subskillSelected: boolean;\n}> = ({ subskillSelected, skill, subSkill }) => {\n const { title, IconComponent, type, category } = skill;\n\n const _category = boostCMSSKillCategories.find(c => c.type === category);\n\n return (\n <div className=\"flex items-center justify-between w-full mb-4 bg-violet-100 rounded-[20px]\">\n <div className=\"flex items-center justify-start w-[90%] px-[6px] py-[10px] overflow-hidden\">\n <div className=\"rounded-full h-[50px] w-[50px]\">\n <img src={IconComponent as string} alt=\"skill icon\" className=\"w-full h-full\" />\n </div>\n <div className=\"flex flex-col items-start justify-center ml-2\">\n <p className=\"font-poppins text-left text-violet-800 font-semibold text-xs\">\n {_category?.title} / {skill?.title}\n </p>\n <p className=\"text-black font-poppins text-left text-base font-normal\">\n {subSkill?.title}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Subskill;\n","import React, { useState } from 'react';\n\nimport TopLevelSkill from './TopLevelSkill';\nimport Subskill from './Subskill';\n\nimport {\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n BoostCMSCategorySkillEnum,\n BoostCMSSubSkillEnum,\n CATEGORY_TO_SKILLS,\n SKILLS_TO_SUBSKILLS,\n} from '../../constants/skills';\n\nexport const SelectedSkills: React.FC<{\n skill: {\n id: number;\n title: string;\n IconComponent: React.ReactNode | string;\n iconClassName: string;\n iconCircleClass: string;\n category: BoostCMSSKillsCategoryEnum | string;\n type: BoostCMSCategorySkillEnum | string;\n };\n skillSelected: {\n category: BoostCMSSKillsCategoryEnum | string;\n skill: BoostCMSCategorySkillEnum | string;\n subskills: BoostCMSSubSkillEnum[] | string[];\n };\n}> = ({ skill, skillSelected }) => {\n const [expandSubSkills, setExandSubSkills] = useState<boolean>(false);\n\n const handleExpandSubSkills = () => setExandSubSkills(!expandSubSkills);\n\n return (\n <>\n <TopLevelSkill\n skill={skill}\n skillSelected={skillSelected}\n handleExpandSubSkills={handleExpandSubSkills}\n />\n {skillSelected && skillSelected.subskills.length > 0 && expandSubSkills && (\n <div className=\"w-full flex items-center justify-end\">\n <div className=\"w-[95%] flex items-center flex-col\">\n {skillSelected.subskills.map((subSkill, i) => {\n const subskillSelected = skillSelected?.subskills?.includes(\n subSkill as BoostCMSSubSkillEnum\n );\n\n const _subSkill: any = SKILLS_TO_SUBSKILLS[\n skill.type as BoostCMSCategorySkillEnum\n ].find((ss: any) => ss.type === subSkill);\n\n return (\n <Subskill\n key={i}\n skill={skill}\n subSkill={_subSkill}\n subskillSelected={subskillSelected}\n />\n );\n })}\n </div>\n </div>\n )}\n </>\n );\n};\n\nexport default SelectedSkills;\n","import React, { useState } from 'react';\n\nimport {\n boostCMSSKillCategories,\n BoostCMSSKillsCategoryEnum,\n CATEGORY_TO_SKILLS,\n SKILLS_TO_SUBSKILLS,\n} from '../../constants/skills';\n\nimport SelectedSkills from './SelectedSkills';\nimport PuzzlePiece from '../svgs/PuzzlePiece';\n\nconst SkillsBox: React.FC<{\n skills: { category: string; skill: string; subSkills: string[] }[];\n}> = ({ skills }) => {\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full relative\">\n <div className=\"flex items-center justify-start\">\n <div className=\"bg-violet-500 rounded-full flex items-center justify-center h-[30px] w-[30px] p-1\">\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>{' '}\n <h3 className=\"text-[20px] leading-[20px] text-grayscale-900 ml-2\">Skills</h3>\n </div>\n\n {skills.length > 0 && (\n <div className=\"pt-0 pb-4 flex items-center justify-center flex-col w-full\">\n {skills.map((_skill, index) => {\n const category = boostCMSSKillCategories.find(\n c => c.type === _skill.category\n );\n const skill: any = CATEGORY_TO_SKILLS[\n _skill.category as BoostCMSSKillsCategoryEnum\n ].find(s => s.type === _skill.skill);\n const subSkills = SKILLS_TO_SUBSKILLS[_skill.skill];\n\n const selectedSkills = skills ?? [];\n const skillSelected: any = selectedSkills.find(s => s.skill === skill.type);\n\n return (\n <SelectedSkills\n key={index}\n skill={skill}\n skillSelected={skillSelected}\n />\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default SkillsBox;\n","import React from 'react';\nimport { getCategoryDarkColor, getInfoFromCredential } from '../../helpers/credential.helpers';\nimport { VC, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport VerificationsBox from './VerificationsBox';\nimport AlignmentsBox from './AlignmentsBox';\nimport TruncateTextBox from './TruncateTextBox';\nimport MediaAttachmentsBox from './MediaAttachmentsBox';\nimport SkillsBox from '../VCDisplayCard2/SkillsBox';\nimport LeftArrow from '../svgs/LeftArrow';\n\ntype CertificateBackFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n showBackButton?: boolean;\n handleViewFrontFace?: () => void;\n};\n\nexport const CertificateBackFace: React.FC<CertificateBackFaceProps> = ({\n credential,\n categoryType,\n verificationItems,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n showBackButton,\n handleViewFrontFace,\n}) => {\n const { createdAt, credentialSubject } = getInfoFromCredential(credential, 'MMM dd, yyyy', {\n uppercaseDate: false,\n });\n\n const { description } = credentialSubject?.achievement ?? {};\n const criteria = credentialSubject?.achievement?.criteria?.narrative;\n const alignment = credentialSubject?.achievement?.alignment;\n\n const credentialDarkColor = getCategoryDarkColor(categoryType);\n\n let bgColor = `bg-${credentialDarkColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n bgColor = 'bg-amber-700';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n bgColor = 'bg-lime-700';\n }\n\n return (\n <div\n role=\"button\"\n onClick={() => handleViewFrontFace?.()}\n className={`flex flex-col gap-[15px] items-center border-[5px] border-solid border-grayscale-200 py-[30px] px-[20px] rounded-[25px] max-w-[400px] ${bgColor}`}\n >\n {showBackButton ? (\n <div className=\"w-full\">\n <button\n className=\"vc-card-back-button rounded-full h-[50px] px-[15px] flex items-center justify-center gap-[5px] z-50 text-[30px] text-white select-none\"\n onClick={() => handleViewFrontFace?.()}\n >\n <LeftArrow className=\"text-white\" size=\"25\" />\n Details\n </button>\n </div>\n ) : (\n <h1 className=\"text-white text-center text-[22px] font-jacques\">Details</h1>\n )}\n\n <TruncateTextBox headerText=\"About\" text={description}>\n <span\n className={`text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description\n ? 'pt-[10px] border-t-[1px] border-solid border-grayscale-200'\n : ''\n }`}\n >\n Awarded on {createdAt}\n </span>\n </TruncateTextBox>\n\n {criteria && <TruncateTextBox headerText=\"Criteria\" text={criteria} />}\n\n {(credential.skills?.length ?? 0) > 0 &&\n (customSkillsComponent ? (\n customSkillsComponent\n ) : (\n <SkillsBox skills={credential.skills ?? []} />\n ))}\n\n {credential.attachments && credential.attachments.length > 0 && (\n <MediaAttachmentsBox\n attachments={credential.attachments}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n />\n )}\n\n {alignment && <AlignmentsBox alignment={alignment} style=\"Certificate\" />}\n\n {verificationItems && verificationItems.length > 0 && (\n <VerificationsBox verificationItems={verificationItems} />\n )}\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden bg-amber-700 bg-spice-700 bg-rose-700 bg-yellow-700 bg-teal-700\"></span>\n </div>\n );\n};\n\nexport default CertificateBackFace;\n","import React from 'react';\nimport RoundedCorner from '../svgs/RoundedCorner';\nimport { getCategoryIcon, getCategoryLightColor } from '../../helpers/credential.helpers';\nimport { LCCategoryEnum } from '../../types';\n\ntype CertificateCornerIconProps = {\n categoryType: LCCategoryEnum;\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n};\n\nconst CertificateCornerIcon: React.FC<CertificateCornerIconProps> = ({\n categoryType,\n position,\n}) => {\n const credentialPrimaryColor = getCategoryLightColor(categoryType);\n const credentialIcon = getCategoryIcon(categoryType);\n\n let iconPositionClassName, cornerPositionClassName;\n switch (position) {\n case 'top-left':\n iconPositionClassName = 'top-0 left-0';\n cornerPositionClassName = 'bottom-0 right-0';\n break;\n case 'top-right':\n iconPositionClassName = 'top-0 right-0';\n cornerPositionClassName = 'bottom-0 left-0 rotate-90';\n break;\n case 'bottom-left':\n iconPositionClassName = 'bottom-0 left-0';\n cornerPositionClassName = 'top-0 right-0 rotate-[270deg]';\n break;\n case 'bottom-right':\n iconPositionClassName = 'bottom-0 right-0';\n cornerPositionClassName = 'top-0 left-0 rotate-180';\n break;\n }\n\n return (\n <div\n className={`text-${credentialPrimaryColor} p-[11px] rounded-full bg-white absolute ${iconPositionClassName}`}\n >\n {credentialIcon}\n <RoundedCorner className={`absolute ${cornerPositionClassName}`} />\n </div>\n );\n};\n\nexport default CertificateCornerIcon;\n","import React from 'react';\n\ntype CertificateRibbonProps = {\n className?: string;\n};\n\nconst CertificateRibbon: React.FC<CertificateRibbonProps> = ({ className = '' }) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"127\"\n height=\"122\"\n viewBox=\"0 0 127 122\"\n fill=\"none\"\n className={className}\n >\n <path\n d=\"M63.5 9.98744C90.9495 9.98744 113.189 32.3381 113.189 59.9243\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M63.5 9.98744C36.0505 9.98744 13.8106 32.3381 13.8106 59.9243\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M55.491 104.475C55.1125 104.097 54.5055 104.04 54.0701 104.362C52.9214 105.204 51.6864 105.96 50.3683 106.64C50.2425 106.447 50.1763 106.348 50.1134 106.245C47.4317 102.052 43.5904 100.199 38.613 100.66C37.498 100.766 37.131 101.424 37.5563 102.465C38.677 105.212 40.5754 107.235 43.2282 108.558C43.4046 108.648 43.5742 108.75 43.7473 108.842C43.7369 108.926 43.7297 109.012 43.7193 109.096C41.5496 109.26 39.3799 109.431 37.1668 109.598C37.1455 109.189 37.1366 108.972 37.121 108.756C36.7986 103.845 34.4102 100.368 29.9291 98.3574C29.0968 97.9817 28.3206 98.4055 28.1859 99.3093C27.8266 101.757 28.1853 104.098 29.2854 106.295C29.6092 106.94 30.0099 107.541 30.3738 108.166L30.2295 108.323C28.2988 107.413 26.3714 106.5 24.4407 105.59C24.5285 105.376 24.5253 105.346 24.5321 105.326C24.6164 105.149 24.704 104.975 24.7917 104.795C26.9222 100.459 26.5793 96.318 23.8895 92.3858C23.1409 91.2898 22.4169 91.2768 21.6142 92.3372C19.8137 94.7256 19.0461 97.4221 19.2515 100.387C19.2639 100.567 19.3364 100.746 19.3789 100.923C17.7117 99.3716 16.5828 97.581 15.4909 95.7469C14.3956 93.9162 14.4014 92.0933 15.1984 90.1898C15.4618 89.5553 15.7553 88.9173 16.1286 88.3456C16.912 87.1453 17.8815 86.1241 19.2566 85.3674C19.2138 87.2538 18.6952 88.8726 17.7401 90.357C17.5014 90.7281 17.2027 91.0662 16.9772 91.4506C16.6609 91.9854 16.7184 92.5049 17.2002 92.9058C17.662 93.2934 18.2797 93.2203 18.7324 92.7615C18.8901 92.6041 19.0344 92.4334 19.1621 92.2528C21.0404 89.6474 21.7989 86.761 21.3977 83.5938C21.2758 82.6213 20.5707 82.165 19.7242 82.6257C18.5163 83.2816 17.3215 83.9974 16.2462 84.8392C14.8493 85.9359 13.9242 87.4368 13.1186 89.0571C12.8817 87.722 12.7449 86.393 12.5781 85.0675C12.5171 84.5713 12.6558 84.2007 13.0048 83.8124C16.7866 79.5579 17.5303 73.6356 14.9217 68.8332C14.4654 67.989 13.5019 67.8439 12.8011 68.5105C8.84164 72.2727 7.56188 77.961 9.63892 82.9694C10.1071 84.1001 10.4018 85.2117 10.4758 86.4243C10.547 87.5404 10.765 88.6423 10.9259 89.8279C8.25967 87.8684 5.35751 87.0464 2.11879 87.4692C0.946856 87.6183 0.600078 88.2366 1.05508 89.3274C2.97731 93.9333 7.56118 96.7496 12.6214 96.4044C13.052 96.3723 13.4512 96.6036 13.6595 96.9791C14.2284 97.996 14.8473 98.9893 15.5166 99.9457C16.1659 100.876 16.8989 101.748 17.5985 102.648C17.5415 102.692 17.5214 102.718 17.5014 102.718C17.3546 102.713 17.2078 102.7 17.0611 102.687C14.206 102.455 11.5964 103.178 9.21265 104.783C8.55309 105.229 8.00006 105.722 8.14237 106.621L8.86947 107.347C8.91615 107.354 8.97293 107.343 9.01284 107.37C13.5125 110.336 18.0571 110.34 22.6628 107.465C22.8603 107.341 23.2505 107.382 23.4869 107.491C25.441 108.384 27.385 109.314 29.3291 110.231C29.4722 110.3 29.6254 110.353 29.8918 110.465C29.6042 110.593 29.427 110.664 29.2598 110.744C26.5104 112.051 24.5082 114.084 23.2831 116.866C22.8173 117.928 23.1945 118.573 24.3482 118.714C29.3469 119.332 34.1344 116.792 36.416 112.272C36.6587 111.79 36.9294 111.706 37.4267 111.68C39.5628 111.563 41.6959 111.369 43.8289 111.195C44.0359 111.18 44.2396 111.143 44.5434 111.105C42.5449 113.737 41.6565 116.574 41.9476 119.739C42.0458 120.788 42.9706 121.35 43.947 120.932C48.5281 118.969 51.3938 114.416 51.1384 109.439C51.1143 108.932 51.2291 108.665 51.7008 108.406C52.8251 107.787 53.9096 107.095 54.9842 106.394C55.0947 106.323 55.2018 106.249 55.3123 106.172C55.8849 105.773 55.9624 104.959 55.4777 104.475L55.491 104.475ZM13.4514 71.2499C15.0126 73.9881 14.0295 79.7449 11.6834 81.8228C10.1082 79.2113 11.0479 73.4581 13.4514 71.2499ZM11.4749 106.124C13.6717 104.534 18.1698 104.505 20.4741 106.103C17.9468 107.725 13.4055 107.718 11.4749 106.124ZM11.7151 94.1395C8.83431 94.3839 4.67541 91.9919 3.89616 89.6864C6.58027 89.4064 10.0706 91.3785 11.7151 94.1395ZM22.7731 94.7808C24.2992 97.859 24.3009 100.848 22.7574 103.909C21.068 102.114 21.073 97.122 22.7731 94.7808ZM26.0112 116.469C27.9507 113.617 30.5409 112.111 33.9287 111.911C33.09 114.141 29.1897 116.743 26.0112 116.469ZM34.814 109.03C32.284 107.837 30.1144 104.002 30.3552 101.221C32.5267 102.017 35.0569 105.83 34.814 109.03ZM44.261 118.184C43.9235 115.636 46.1413 111.85 48.8045 110.423C49.2003 112.668 47.0536 116.901 44.261 118.184ZM48.1917 107.521C44.6993 107.308 42.1343 105.778 40.2866 102.955C42.3744 102.481 46.6558 104.399 48.1917 107.521Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M103.526 107.542C103.988 107.307 104.265 107.285 104.694 107.567C109.034 110.397 114.248 110.246 118.373 107.197C119.194 106.591 119.228 105.835 118.427 105.195C116.813 103.894 114.967 103.085 112.921 102.812C111.809 102.664 110.678 102.688 109.517 102.636C109.696 102.417 109.892 102.201 110.054 101.965C111.197 100.322 112.364 98.6946 113.457 97.0139C113.748 96.5622 113.984 96.3801 114.541 96.4194C119.617 96.7604 124.261 93.8706 126.123 89.2515C126.509 88.2904 126.155 87.559 125.134 87.5208C123.789 87.4643 122.425 87.4611 121.098 87.6413C119.304 87.8859 117.727 88.7313 116.278 89.8038C116.459 88.0288 116.631 86.3037 116.83 84.5787C116.852 84.3688 116.998 84.1763 117.094 83.9802C119.641 78.8979 118.638 72.8222 114.591 68.7677C113.455 67.6327 112.775 67.7294 112.068 69.1388C109.649 73.9584 110.464 79.6867 114.154 83.8627C114.328 84.0568 114.583 84.3113 114.567 84.5211C114.458 86.0366 114.292 87.5419 114.139 89.0538C114.069 89.0502 113.995 89.0498 113.922 89.0495C113.841 88.8758 113.764 88.6988 113.679 88.5218C112.348 85.8199 110.317 83.8576 107.542 82.6714C106.54 82.24 105.864 82.5933 105.749 83.639C105.292 87.8784 106.637 91.4434 109.907 94.258C110.463 94.7338 111.079 95.1432 111.702 95.6061C110.687 97.5704 109.468 99.3571 107.941 100.982C107.887 100.875 107.867 100.855 107.867 100.835C107.873 100.689 107.886 100.542 107.898 100.396C108.097 97.3513 107.296 94.5953 105.393 92.1704C104.846 91.4714 103.975 91.4639 103.451 92.1677C102.928 92.8716 102.477 93.5824 102.111 94.3504C101.084 96.4812 100.768 98.7454 101.133 101.1C101.243 101.806 101.769 102.219 102.415 102.162C102.989 102.111 103.393 101.574 103.367 100.89C103.359 100.67 103.318 100.45 103.297 100.23C103.134 98.3303 103.459 96.5393 104.425 94.8047C104.533 94.9518 104.603 95.0154 104.64 95.0989C106.059 98.0545 106.06 100.987 104.552 103.885C104.456 104.068 104.237 104.326 104.075 104.456C101.951 106.095 99.5845 107.293 97.0398 108.147C96.9665 108.173 96.873 108.146 96.7462 108.139C98.6351 105.516 99.412 102.651 98.9929 99.4732C98.8371 98.2963 98.2082 97.9267 97.1428 98.3948C93.4875 100.01 91.1922 102.764 90.3103 106.665C90.1078 107.564 90.0656 108.496 89.9241 109.602C87.7548 109.432 85.5787 109.255 83.3994 109.081C83.399 108.994 83.3985 108.908 83.3948 108.824C83.5845 108.728 83.7776 108.636 83.9706 108.537C86.643 107.187 88.538 105.127 89.6489 102.35C90.0016 101.476 89.6247 100.794 88.7133 100.673C85.592 100.255 82.7563 100.964 80.1995 102.768C78.7765 103.774 77.7019 105.088 76.7853 106.647C75.4609 105.96 74.2262 105.192 73.0678 104.346C72.6359 104.028 72.0323 104.081 71.6571 104.456C71.1624 104.95 71.2564 105.774 71.8488 106.153C73.0435 106.922 74.2315 107.677 75.436 108.403C75.8944 108.681 76.0157 108.935 75.9915 109.435C75.7422 114.465 78.7105 119.121 83.3201 120.985C84.226 121.353 85.0675 120.834 85.1662 119.865C85.4594 117.007 84.8194 114.372 83.2031 111.969C83.0217 111.701 82.8469 111.427 82.7528 111.287C85.0554 111.418 87.3848 111.582 89.7139 111.667C90.2244 111.686 90.4818 111.797 90.721 112.268C93.0148 116.801 97.9214 119.38 102.892 118.687C103.796 118.562 104.246 117.751 103.881 116.91C103.142 115.21 102.128 113.686 100.654 112.546C99.6361 111.755 98.5153 111.093 97.4409 110.371C97.5707 110.322 97.7706 110.263 97.9604 110.174C99.8211 109.3 101.692 108.456 103.522 107.525L103.526 107.542ZM115.749 106.061C113.919 107.735 109.011 107.748 106.591 106.047C109.693 104.509 112.696 104.524 115.749 106.061ZM113.709 71.2625C116.092 73.4897 116.978 78.7584 115.522 81.8002C113.229 80.3331 112.118 73.977 113.709 71.2625ZM107.97 85.5189C110.309 86.3432 112.88 90.7871 112.471 93.3041C109.92 92.029 107.709 88.1965 107.97 85.5189ZM123.323 89.6712C122.108 92.2376 118.155 94.4776 115.478 94.1449C116.647 91.6249 120.433 89.444 123.323 89.6712ZM86.8726 102.927C85.0248 105.763 82.4766 107.29 79.0148 107.514C80.1931 104.89 84.2385 102.531 86.8726 102.927ZM82.9097 118.215C80.3619 117.043 78.0748 113.213 78.2846 110.379C81.024 111.842 83.2442 115.631 82.9097 118.215ZM92.3866 108.984C91.9508 106.493 94.2033 102.462 96.7727 101.195C97.0761 103.925 94.7771 107.976 92.3866 108.984ZM101.137 116.523C98.1553 116.695 94.3382 114.501 93.2018 112.007C95.712 111.602 99.539 113.76 101.137 116.523Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default CertificateRibbon;\n","import React from 'react';\nimport CertificateRibbon from './CertificateRibbon';\n\ntype CertificateImageDisplayProps = {\n imageUrl: string;\n className?: string;\n ribbonColor?: string;\n};\n\nconst CertificateImageDisplay: React.FC<CertificateImageDisplayProps> = ({\n imageUrl,\n className = '',\n ribbonColor = 'amber-500',\n}) => {\n return (\n <div\n className={`flex items-center justify-center w-[120px] h-[120px] rounded-full border-white border-solid border-4 bg-white z-50 ${className}`}\n >\n <div className=\"relative w-[75%] h-[75%] flex items-center justify-center rounded-full border-white border-solid border-4 overflow-hidden object-contain\">\n <img src={imageUrl} alt=\"certificate thumbnail\" />\n </div>\n\n <CertificateRibbon className={`absolute z-[9999] ${ribbonColor} w-[120px] h-[120px]`} />\n </div>\n );\n};\n\nexport default CertificateImageDisplay;\n","import React from 'react';\nimport IssuerSeal from '../svgs/IssuerSeal';\n\ntype CertificateProfileImageDisplayProps = {\n imageUrl?: string;\n imageComponent?: React.ReactNode;\n isIssuer?: boolean;\n className?: string;\n};\n\nconst CertificateProfileImageDisplay: React.FC<CertificateProfileImageDisplayProps> = ({\n imageUrl,\n isIssuer = false,\n className = '',\n imageComponent,\n}) => {\n const imageClassName = `h-[50px] w-[50px] rounded-full overflow-hidden ${isIssuer ? 'absolute border-[2px] border-solid border-grayscale-200' : ''\n }`;\n return (\n <div className={className}>\n {isIssuer && (\n <div className=\"bg-white rounded-full p-[5px]\">\n <IssuerSeal />\n </div>\n )}\n\n {imageComponent && <div className={imageClassName}>{imageComponent}</div>}\n {!imageComponent && <img className={imageClassName} src={imageUrl} />}\n </div>\n );\n};\n\nexport default CertificateProfileImageDisplay;\n","import React from 'react';\nimport UnknownVerifierBadge from '../svgs/UnknownVerifierBadge';\nimport VerifiedBadge from '../svgs/VerifiedBadge';\nimport PersonBadge from '../svgs/PersonBadge';\nimport RedFlag from '../svgs/RedFlag';\n\nexport const VERIFIER_STATES = {\n selfVerified: 'Self Verified',\n trustedVerifier: 'Trusted Verifier',\n unknownVerifier: 'Unknown Verifier',\n untrustedVerifier: 'Untrusted Verifier',\n} as const;\nexport type VerifierState = (typeof VERIFIER_STATES)[keyof typeof VERIFIER_STATES];\n\ntype VerifierStateBadgeAndTextProps = {\n verifierState: VerifierState;\n};\n\nconst VerifierStateBadgeAndText: React.FC<VerifierStateBadgeAndTextProps> = ({ verifierState }) => {\n return (\n <div className=\"flex justify-center\">\n {verifierState === VERIFIER_STATES.selfVerified && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-green-dark flex gap-[3px] items-center\">\n <PersonBadge />\n Self Verified\n </span>\n )}\n {verifierState === VERIFIER_STATES.trustedVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-blue-light flex gap-[3px] items-center\">\n <VerifiedBadge />\n Trusted Verifier\n </span>\n )}\n {verifierState === VERIFIER_STATES.unknownVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-orange-500 flex gap-[3px] items-center\">\n <UnknownVerifierBadge />\n Unknown Verifier\n </span>\n )}\n {verifierState === VERIFIER_STATES.untrustedVerifier && (\n <span className=\"uppercase font-poppins text-[12px] font-[500] text-red-mastercard flex gap-[3px] items-center\">\n <RedFlag />\n Untrusted Verifier\n </span>\n )}\n </div>\n );\n};\n\nexport default VerifierStateBadgeAndText;\n","import React from 'react';\n\nimport CertificateCornerIcon from './CertificateCornerIcon';\nimport CertificateImageDisplay from './CertificateImageDisplay';\nimport CertDisplayCardSkillsCount from './CertDisplayCardSkillsCount';\nimport CertificateProfileImageDisplay from './CertificateProfileImageDisplay';\n\nimport Smiley from '../svgs/Smiley';\nimport Line from '../svgs/Line';\n\nimport {\n getInfoFromCredential,\n getNameFromProfile,\n getImageFromProfile,\n getCategoryLightColor,\n getCategoryDarkColor,\n} from '../../helpers/credential.helpers';\n\nimport { VC, Profile } from '@learncard/types';\nimport { BoostAchievementCredential, LCCategoryEnum } from '../../types';\nimport VerifierStateBadgeAndText, {\n VerifierState,\n VERIFIER_STATES,\n} from './VerifierStateBadgeAndText';\n\ntype CertificateFrontFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n trustedAppRegistry?: any[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n handleViewBackFace?: () => void;\n showDetailsBtn?: boolean;\n};\n\nexport const CertificateFrontFace: React.FC<CertificateFrontFaceProps> = ({\n isFront,\n credential,\n categoryType,\n issuerOverride,\n issueeOverride,\n trustedAppRegistry,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n hideIssueDate,\n handleViewBackFace,\n showDetailsBtn = false,\n}) => {\n const {\n title = '',\n createdAt,\n issuer: _issuer = '',\n issuee: _issuee = '',\n credentialSubject,\n imageUrl,\n } = getInfoFromCredential(credential, 'MMM dd, yyyy', { uppercaseDate: false });\n\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const { description } = credentialSubject?.achievement ?? {};\n\n const credentialLightColor = getCategoryLightColor(categoryType); // 500\n const credentialDarkColor = getCategoryDarkColor(categoryType); // 700\n\n let categoryTitle: string | undefined = categoryType;\n\n let textLightColor = `text-${credentialLightColor}`;\n let textDarkColor = `text-${credentialDarkColor}`;\n let borderColor = `border-${credentialLightColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n textLightColor = 'text-amber-500';\n textDarkColor = 'text-amber-700';\n borderColor = 'border-amber-500';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n textLightColor = 'text-lime-500';\n textDarkColor = 'text-lime-700';\n borderColor = 'border-lime-500';\n } else if (categoryType === LCCategoryEnum.learningHistory) {\n categoryTitle = 'Course';\n } else if (categoryType === LCCategoryEnum.workHistory) {\n categoryTitle = 'Experiences';\n textLightColor = 'text-blue-500';\n textDarkColor = 'text-blue-700';\n borderColor = 'border-blue-500';\n }\n\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id;\n\n let verifierState: VerifierState;\n if (credentialSubject?.id === issuerDid && issuerDid && issuerDid !== 'did:example:123') {\n // the extra \"&& issuerDid\" is so that the credential preview doesn't say \"Self Verified\"\n // the did:example:123 condition is so that we don't show this status from the Manage Boosts tab\n verifierState = VERIFIER_STATES.selfVerified;\n } else {\n const appRegistryEntry = trustedAppRegistry?.find(\n registryEntry => registryEntry.did === issuerDid\n );\n\n if (appRegistryEntry) {\n verifierState = appRegistryEntry.isTrusted\n ? VERIFIER_STATES.trustedVerifier\n : VERIFIER_STATES.untrustedVerifier;\n } else {\n verifierState = VERIFIER_STATES.unknownVerifier;\n }\n }\n const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;\n\n const issueeImageExists = issueeImage || subjectImageComponent;\n\n return (\n <section\n role=\"button\"\n onClick={() => handleViewBackFace?.()}\n className=\"relative p-[13px] mt-[55px] bg-white border-[5px] rounded-[30px] border-soid border-grayscale-200 max-w-[300px]\"\n >\n <div className=\"w-[calc(100%-26px)] absolute top-[-52px]\">\n <CertificateImageDisplay\n imageUrl={imageUrl ?? ''}\n className=\"mx-auto\"\n ribbonColor={textLightColor}\n />\n </div>\n\n <div\n className={`flex flex-col gap-[15px] items-center px-[20px] pt-[55px] ${isSelfVerified ? 'pb-[20px]' : 'pb-[77px]'\n } border-solid border-[4px] ${borderColor} rounded-[30px]`}\n >\n <div className=\"flex flex-col gap-[5px] items-center\">\n <div className={`${textLightColor} uppercase text-[14px] font-poppins`}>\n {categoryTitle}\n </div>\n\n <h1 className=\"text-grayscale-900 text-center text-[20px] font-jacques\">\n {title}\n </h1>\n </div>\n\n {customBodyCardComponent}\n {issueeImageExists && !customBodyCardComponent && (\n <CertificateProfileImageDisplay\n imageUrl={issueeImage}\n imageComponent={subjectImageComponent}\n className={`flex justify-center items-center ${textDarkColor}`}\n isIssuer={isSelfVerified}\n />\n )}\n {!issueeImageExists && !customBodyCardComponent && (\n <div className=\"h-[50px] w-[50px] rounded-full bg-grayscale-500 flex items-center justify-center\">\n <Smiley />\n </div>\n )}\n\n <div className=\"text-[14px] text-grayscale-800 flex flex-col items-center w-full\">\n <span className=\"font-jacques flex gap-[5px] items-center w-full overflow-ellipsis whitespace-nowrap overflow-hidden justify-center\">\n {issueeName === '0 person' ? (\n 'Not yet awarded'\n ) : (\n <>Awarded to {issueeName || <Line width=\"60\" />}</>\n )}\n </span>\n {!hideIssueDate && <span className=\"font-jacques\">on {createdAt}</span>}\n </div>\n\n <div className=\"flex flex-col gap-[10px] items-center\">\n {description && (\n <div className=\"text-center text-grayscale-700 text-[12px] font-jacques line-clamp-4\">\n {description}\n </div>\n )}\n\n <CertDisplayCardSkillsCount\n skills={credential?.skills ?? []}\n onClick={handleViewBackFace}\n />\n\n {isFront && showDetailsBtn && (\n <button\n type=\"button\"\n className=\"vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[30px] py-[8px] rounded-[40px] text-[28px] tracking-[0.75px] uppercase leading-[28px] mt-[25px] w-fit select-none\"\n onClick={() => handleViewBackFace?.()}\n >\n Details\n </button>\n )}\n </div>\n\n <div className=\"flex flex-col gap-[5px] items-center w-full\">\n <span className=\"font-jacques text-[12px] text-grayscale-800\">\n Certified by\n </span>\n <span className=\"mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b-[1px] border-solid border-grayscale-200 w-full text-center overflow-ellipsis whitespace-normal scrollbar-hide\">\n {issuerName}\n </span>\n\n <VerifierStateBadgeAndText verifierState={verifierState} />\n </div>\n </div>\n\n {categoryType && (\n <>\n <CertificateCornerIcon categoryType={categoryType} position=\"top-left\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"top-right\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"bottom-left\" />\n <CertificateCornerIcon categoryType={categoryType} position=\"bottom-right\" />\n </>\n )}\n\n {!isSelfVerified && (\n <CertificateProfileImageDisplay\n imageUrl={issuerImage}\n imageComponent={issuerImageComponent}\n className={`w-[calc(100%-26px)] absolute bottom-0 flex justify-center items-center ${textDarkColor}`}\n isIssuer\n />\n )}\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500\"></span>\n </section>\n );\n};\n\nexport default CertificateFrontFace;\n","import React, { useState } from 'react';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport CertificateFrontFace from './CertificateFrontFace';\nimport CertificateBackFace from './CertificateBackFace';\nimport FatArrow from '../svgs/FatArrow';\nimport ThreeDots from '../../assets/images/DotsThreeOutline.svg';\n\ntype CertificateDisplayCardProps = {\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n trustedAppRegistry?: any[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n\n handleXClick?: () => void;\n onDotsClick?: () => void;\n isFrontOverride?: boolean;\n setIsFrontOverride?: (value: boolean) => void;\n hideNavButtons?: boolean;\n showBackButton?: boolean;\n showDetailsBtn?: boolean;\n};\n\nexport const CertificateDisplayCard: React.FC<CertificateDisplayCardProps> = ({\n credential,\n categoryType,\n verificationItems,\n issuerOverride,\n issueeOverride,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n trustedAppRegistry,\n hideIssueDate,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n\n handleXClick,\n onDotsClick,\n isFrontOverride,\n setIsFrontOverride,\n hideNavButtons,\n showBackButton = false,\n showDetailsBtn = false,\n}) => {\n const [_isFront, _setIsFront] = useState(isFrontOverride ?? true);\n\n const isFront = isFrontOverride ?? _isFront;\n const setIsFront = setIsFrontOverride ?? _setIsFront;\n\n return (\n <section className=\"w-full flex flex-col gap-[15px] justify-center relative min-w-[220px]\">\n <section className=\"mx-auto\">\n {isFront && (\n <CertificateFrontFace\n credential={credential}\n categoryType={categoryType}\n issuerOverride={issuerOverride}\n issueeOverride={issueeOverride}\n trustedAppRegistry={trustedAppRegistry}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n customBodyCardComponent={customBodyCardComponent}\n hideIssueDate={hideIssueDate}\n handleViewBackFace={() => setIsFront(!isFront)}\n isFront={isFront}\n showDetailsBtn={showDetailsBtn}\n />\n )}\n\n {!isFront && (\n <CertificateBackFace\n credential={credential}\n categoryType={categoryType}\n verificationItems={verificationItems}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n showBackButton={(showBackButton && !hideNavButtons) || showDetailsBtn}\n handleViewFrontFace={() => setIsFront(!isFront)}\n />\n )}\n\n {onDotsClick && (\n <button\n className=\"absolute right-[-20px] top-[-52px] bg-white rounded-full p-[10px] shadow-bottom\"\n onClick={onDotsClick}\n >\n <img\n alt=\"Menu dropdown icon\"\n className=\"h-[20px] w-[20px]\"\n src={ThreeDots}\n />\n </button>\n )}\n </section>\n\n {!hideNavButtons && (\n <div className=\"flex gap-[10px] font-mouse text-[30px] leading-[28px] tracking-[0.75px] relative top-[-10px] left-0 w-full\">\n {!isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] flex mx-auto justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n <FatArrow direction=\"left\" /> Back\n </button>\n )}\n\n {handleXClick && (\n <button\n onClick={handleXClick}\n className=\"bg-white text-grayscale-900 rounded-[20px] py-[15px] px-[20px] grow\"\n >\n Close\n </button>\n )}\n\n {isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] mx-auto flex justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n Details <FatArrow direction=\"right\" />\n </button>\n )}\n </div>\n )}\n </section>\n );\n};\n\nexport default CertificateDisplayCard;\n"],"names":["this"],"mappings":"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"}