@learncard/react 2.6.62 → 2.6.63

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 (29) hide show
  1. package/dist/cjs/{CertificateDisplayCard-0313937f.js → CertificateDisplayCard-eb505657.js} +65 -4
  2. package/dist/cjs/CertificateDisplayCard-eb505657.js.map +1 -0
  3. package/dist/cjs/{VCCard-01fc6152.js → VCCard-e9147997.js} +2 -2
  4. package/dist/cjs/{VCCard-01fc6152.js.map → VCCard-e9147997.js.map} +1 -1
  5. package/dist/cjs/{VCDisplayCard2-8340e928.js → VCDisplayCard2-159e6248.js} +7 -3
  6. package/dist/cjs/VCDisplayCard2-159e6248.js.map +1 -0
  7. package/dist/cjs/index.js +4 -4
  8. package/dist/cjs/index13.js +4 -4
  9. package/dist/cjs/index36.js +3 -3
  10. package/dist/cjs/index39.js +2 -2
  11. package/dist/cjs/index6.js +2 -2
  12. package/dist/esm/{CertificateDisplayCard-8efb9841.js → CertificateDisplayCard-c957fc65.js} +64 -5
  13. package/dist/esm/CertificateDisplayCard-c957fc65.js.map +1 -0
  14. package/dist/esm/{VCCard-b87df8a7.js → VCCard-b2d4987a.js} +2 -2
  15. package/dist/esm/{VCCard-b87df8a7.js.map → VCCard-b2d4987a.js.map} +1 -1
  16. package/dist/esm/{VCDisplayCard2-96a5e8b2.js → VCDisplayCard2-0f7dc0fa.js} +7 -3
  17. package/dist/esm/VCDisplayCard2-0f7dc0fa.js.map +1 -0
  18. package/dist/esm/index.js +4 -4
  19. package/dist/esm/index13.js +4 -4
  20. package/dist/esm/index36.js +3 -3
  21. package/dist/esm/index39.js +2 -2
  22. package/dist/esm/index6.js +2 -2
  23. package/dist/main.css +1 -1
  24. package/dist/main.js +1 -1
  25. package/package.json +1 -1
  26. package/dist/cjs/CertificateDisplayCard-0313937f.js.map +0 -1
  27. package/dist/cjs/VCDisplayCard2-8340e928.js.map +0 -1
  28. package/dist/esm/CertificateDisplayCard-8efb9841.js.map +0 -1
  29. package/dist/esm/VCDisplayCard2-96a5e8b2.js.map +0 -1
@@ -14,6 +14,7 @@ var Social = require('./social.svg');
14
14
  var Stem = require('./stem.svg');
15
15
  var Trade = require('./trade.svg');
16
16
  var VCVerificationPill = require('./VCVerificationPill-0b0f6894.js');
17
+ var CaretRightFilled = require('./CaretRightFilled.svg');
17
18
  require('./index.es-f433af46.js');
18
19
  require('./vc.check.svg');
19
20
  var index = require('./index-7d94d5ac.js');
@@ -33,6 +34,7 @@ var Medical__default = /*#__PURE__*/_interopDefaultLegacy(Medical);
33
34
  var Social__default = /*#__PURE__*/_interopDefaultLegacy(Social);
34
35
  var Stem__default = /*#__PURE__*/_interopDefaultLegacy(Stem);
35
36
  var Trade__default = /*#__PURE__*/_interopDefaultLegacy(Trade);
37
+ var CaretRightFilled__default = /*#__PURE__*/_interopDefaultLegacy(CaretRightFilled);
36
38
  var ThreeDots__default = /*#__PURE__*/_interopDefaultLegacy(ThreeDots);
37
39
 
38
40
  const AcuteCheckmark = ({ className = "" }) => {
@@ -366,6 +368,27 @@ const X = ({ className = "" }) => {
366
368
  }));
367
369
  };
368
370
 
371
+ const AlignmentRow = ({
372
+ url,
373
+ name,
374
+ framework
375
+ }) => {
376
+ return /* @__PURE__ */ React__default["default"].createElement("div", {
377
+ 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"
378
+ }, /* @__PURE__ */ React__default["default"].createElement("h1", {
379
+ className: "text-blue-800 font-semibold uppercase"
380
+ }, framework), /* @__PURE__ */ React__default["default"].createElement("button", {
381
+ className: "flex",
382
+ onClick: () => window.open(url)
383
+ }, /* @__PURE__ */ React__default["default"].createElement("span", {
384
+ className: "text-left"
385
+ }, name), /* @__PURE__ */ React__default["default"].createElement("img", {
386
+ className: "w-[20px] self-end",
387
+ src: CaretRightFilled__default["default"],
388
+ alt: "right-caret"
389
+ })));
390
+ };
391
+
369
392
  const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
370
393
  const bgColorWithOpacity = `${backgroundColor}1F`;
371
394
  return /* @__PURE__ */ React__default["default"].createElement("div", {
@@ -377,6 +400,39 @@ const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
377
400
  }, "Close"));
378
401
  };
379
402
 
403
+ const AlignmentsBox = ({ alignment, style }) => {
404
+ const [showInfo, setShowInfo] = React.useState(false);
405
+ const alignmentText = `
406
+ Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies.
407
+ Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.
408
+ `;
409
+ const alignments = Array.isArray(alignment) ? alignment.map((object, index) => /* @__PURE__ */ React__default["default"].createElement(AlignmentRow, {
410
+ key: index,
411
+ url: object.targetUrl,
412
+ name: object.targetName,
413
+ framework: object.targetFramework
414
+ })) : alignment && /* @__PURE__ */ React__default["default"].createElement(AlignmentRow, {
415
+ url: alignment.targetUrl,
416
+ name: alignment.targetName,
417
+ framework: alignment.targetFramework
418
+ });
419
+ return /* @__PURE__ */ React__default["default"].createElement("div", {
420
+ className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full"
421
+ }, /* @__PURE__ */ React__default["default"].createElement("div", {
422
+ className: "flex w-full items-center"
423
+ }, /* @__PURE__ */ React__default["default"].createElement("h3", {
424
+ className: style === "Certificate" ? "text-[17px] text-grayscale-900 font-poppins" : "text-[22px] font-mouse"
425
+ }, "Alignments"), /* @__PURE__ */ React__default["default"].createElement("button", {
426
+ className: "ml-auto",
427
+ onClick: () => setShowInfo(!showInfo)
428
+ }, /* @__PURE__ */ React__default["default"].createElement(InfoIcon, {
429
+ color: showInfo ? "#6366F1" : void 0
430
+ }))), showInfo && /* @__PURE__ */ React__default["default"].createElement(InfoBox, {
431
+ text: alignmentText,
432
+ handleClose: () => setShowInfo(false)
433
+ }), alignments);
434
+ };
435
+
380
436
  const truncateWithEllipsis = (str, maxLength) => {
381
437
  return str.length > maxLength ? `${str.substring(0, maxLength)}...` : str;
382
438
  };
@@ -2677,12 +2733,13 @@ const CertificateBackFace = ({
2677
2733
  onMediaAttachmentClick,
2678
2734
  enableLightbox
2679
2735
  }) => {
2680
- var _a, _b, _c, _d, _e, _f;
2736
+ var _a, _b, _c, _d, _e, _f, _g;
2681
2737
  const { createdAt, credentialSubject } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
2682
2738
  uppercaseDate: false
2683
2739
  });
2684
2740
  const { description } = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
2685
2741
  const criteria = (_c = (_b = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _b.criteria) == null ? void 0 : _c.narrative;
2742
+ const alignment = (_d = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _d.alignment;
2686
2743
  const credentialDarkColor = credential_helpers.getCategoryDarkColor(categoryType);
2687
2744
  let bgColor = `bg-${credentialDarkColor}`;
2688
2745
  if (categoryType === index.LCCategoryEnum.accommodations) {
@@ -2702,14 +2759,17 @@ const CertificateBackFace = ({
2702
2759
  }, "Awarded on ", createdAt)), criteria && /* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, {
2703
2760
  headerText: "Criteria",
2704
2761
  text: criteria
2705
- }), ((_e = (_d = credential.skills) == null ? void 0 : _d.length) != null ? _e : 0) > 0 && (customSkillsComponent ? customSkillsComponent : /* @__PURE__ */ React__default["default"].createElement(SkillsBox, {
2706
- skills: (_f = credential.skills) != null ? _f : []
2762
+ }), ((_f = (_e = credential.skills) == null ? void 0 : _e.length) != null ? _f : 0) > 0 && (customSkillsComponent ? customSkillsComponent : /* @__PURE__ */ React__default["default"].createElement(SkillsBox, {
2763
+ skills: (_g = credential.skills) != null ? _g : []
2707
2764
  })), credential.attachments && credential.attachments.length > 0 && /* @__PURE__ */ React__default["default"].createElement(MediaAttachmentsBox, {
2708
2765
  attachments: credential.attachments,
2709
2766
  getFileMetadata,
2710
2767
  getVideoMetadata,
2711
2768
  onMediaAttachmentClick,
2712
2769
  enableLightbox
2770
+ }), alignment && /* @__PURE__ */ React__default["default"].createElement(AlignmentsBox, {
2771
+ alignment,
2772
+ style: "Certificate"
2713
2773
  }), verificationItems && verificationItems.length > 0 && /* @__PURE__ */ React__default["default"].createElement(VerificationsBox, {
2714
2774
  verificationItems
2715
2775
  }), /* @__PURE__ */ React__default["default"].createElement("span", {
@@ -3045,6 +3105,7 @@ const CertificateDisplayCard = ({
3045
3105
  };
3046
3106
 
3047
3107
  exports.AcuteCheckmark = AcuteCheckmark;
3108
+ exports.AlignmentsBox = AlignmentsBox;
3048
3109
  exports.Camera = Camera;
3049
3110
  exports.CertificateDisplayCard = CertificateDisplayCard;
3050
3111
  exports.ExclamationPoint = ExclamationPoint;
@@ -3060,4 +3121,4 @@ exports.capitalize = capitalize;
3060
3121
  exports.getBaseUrl = getBaseUrl;
3061
3122
  exports.prettyBytes = prettyBytes;
3062
3123
  exports.truncateWithEllipsis = truncateWithEllipsis;
3063
- //# sourceMappingURL=CertificateDisplayCard-0313937f.js.map
3124
+ //# sourceMappingURL=CertificateDisplayCard-eb505657.js.map