@learncard/react 2.8.14 → 2.8.16

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 (44) hide show
  1. package/dist/cjs/BoostGenericCard-6064f7b0.js +122 -0
  2. package/dist/cjs/BoostGenericCard-6064f7b0.js.map +1 -0
  3. package/dist/cjs/{CertDisplayCardSkillsCount-b1565a79.js → CertDisplayCardSkillsCount-de4a0019.js} +3 -3
  4. package/dist/cjs/CertDisplayCardSkillsCount-de4a0019.js.map +1 -0
  5. package/dist/cjs/{CertificateDisplayCard-26aedfb3.js → CertificateDisplayCard-b4987c0a.js} +2 -2
  6. package/dist/cjs/{CertificateDisplayCard-26aedfb3.js.map → CertificateDisplayCard-b4987c0a.js.map} +1 -1
  7. package/dist/cjs/{VCCard-bd181185.js → VCCard-dd0c1cc4.js} +2 -2
  8. package/dist/cjs/{VCCard-bd181185.js.map → VCCard-dd0c1cc4.js.map} +1 -1
  9. package/dist/cjs/{VCDisplayCard2-3013307b.js → VCDisplayCard2-679300d2.js} +3 -3
  10. package/dist/cjs/{VCDisplayCard2-3013307b.js.map → VCDisplayCard2-679300d2.js.map} +1 -1
  11. package/dist/cjs/index-5488badc.js.map +1 -1
  12. package/dist/cjs/index.js +5 -5
  13. package/dist/cjs/index13.js +5 -5
  14. package/dist/cjs/index3.js +2 -2
  15. package/dist/cjs/index37.js +4 -4
  16. package/dist/cjs/index40.js +3 -3
  17. package/dist/cjs/index6.js +2 -2
  18. package/dist/esm/BoostGenericCard-42c82f7f.js +116 -0
  19. package/dist/esm/BoostGenericCard-42c82f7f.js.map +1 -0
  20. package/dist/esm/{CertDisplayCardSkillsCount-9cf487a7.js → CertDisplayCardSkillsCount-813fb647.js} +3 -3
  21. package/dist/esm/CertDisplayCardSkillsCount-813fb647.js.map +1 -0
  22. package/dist/esm/{CertificateDisplayCard-34c129c7.js → CertificateDisplayCard-b45bac21.js} +2 -2
  23. package/dist/esm/{CertificateDisplayCard-34c129c7.js.map → CertificateDisplayCard-b45bac21.js.map} +1 -1
  24. package/dist/esm/{VCCard-df04edb1.js → VCCard-9f4638fc.js} +2 -2
  25. package/dist/esm/{VCCard-df04edb1.js.map → VCCard-9f4638fc.js.map} +1 -1
  26. package/dist/esm/{VCDisplayCard2-b95f4c89.js → VCDisplayCard2-3c9c2e29.js} +3 -3
  27. package/dist/esm/{VCDisplayCard2-b95f4c89.js.map → VCDisplayCard2-3c9c2e29.js.map} +1 -1
  28. package/dist/esm/index-28917993.js.map +1 -1
  29. package/dist/esm/index.js +5 -5
  30. package/dist/esm/index13.js +5 -5
  31. package/dist/esm/index3.js +2 -2
  32. package/dist/esm/index37.js +4 -4
  33. package/dist/esm/index40.js +3 -3
  34. package/dist/esm/index6.js +2 -2
  35. package/dist/index.d.ts +1 -0
  36. package/dist/main.css +1 -1
  37. package/dist/main.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/cjs/BoostGenericCard-c34f1bb9.js +0 -130
  40. package/dist/cjs/BoostGenericCard-c34f1bb9.js.map +0 -1
  41. package/dist/cjs/CertDisplayCardSkillsCount-b1565a79.js.map +0 -1
  42. package/dist/esm/BoostGenericCard-5d259cdc.js +0 -124
  43. package/dist/esm/BoostGenericCard-5d259cdc.js.map +0 -1
  44. package/dist/esm/CertDisplayCardSkillsCount-9cf487a7.js.map +0 -1
@@ -1,130 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var index$1 = require('./index-5488badc.js');
5
- var index = require('./index-08002ab6.js');
6
- var IDDisplayIcon = require('./IDDisplayIcon-62993df0.js');
7
- var ThreeDotVertical = require('./ThreeDotVertical-e39ac5df.js');
8
- var CertDisplayCardSkillsCount = require('./CertDisplayCardSkillsCount-b1565a79.js');
9
- var CircleCheckButton = require('./CircleCheckButton-82d47ee2.js');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
-
15
- const getDisplayIcon = (displayType) => {
16
- switch (displayType) {
17
- case "badge" /* Badge */:
18
- return IDDisplayIcon.BadgeDisplayIcon;
19
- case "certificate" /* Certificate */:
20
- return IDDisplayIcon.CertificateDisplayIcon;
21
- case "id" /* ID */:
22
- return IDDisplayIcon.IDDisplayIcon;
23
- case "course" /* Course */:
24
- return IDDisplayIcon.CourseDisplayIcon;
25
- case "award" /* Award */:
26
- return IDDisplayIcon.AwardDisplayIcon;
27
- default:
28
- return IDDisplayIcon.BadgeDisplayIcon;
29
- }
30
- };
31
-
32
- const BoostGenericCard = ({
33
- title,
34
- customTitle,
35
- thumbImgSrc,
36
- customThumbClass = "",
37
- customHeaderClass = "",
38
- type = index$1.WalletCategoryTypes.achievements,
39
- className,
40
- onCheckClick,
41
- showChecked,
42
- checkStatus,
43
- customThumbComponent,
44
- innerOnClick,
45
- bgImgSrc,
46
- issuerName,
47
- customIssuerName,
48
- dateDisplay,
49
- customDateDisplay,
50
- optionsTriggerOnClick,
51
- verifierBadge,
52
- credential,
53
- isInSkillsModal,
54
- displayType,
55
- linkedCredentialsCount = 0,
56
- linkedCredentialsClassName = ""
57
- }) => {
58
- var _a;
59
- const thumbClass = index.TYPE_TO_WALLET_DARK_COLOR[type] ? `bg-${index.TYPE_TO_WALLET_DARK_COLOR[type]}` : "bg-grayscale-50";
60
- const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;
61
- const imgSrc = (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" ? thumbImgSrc : index.TYPE_TO_IMG_SRC[type];
62
- index.TYPE_TO_WALLET_DARK_COLOR[type] ? `bg-${index.TYPE_TO_WALLET_DARK_COLOR[type]}` : "bg-grayscale-900";
63
- const checkBtnClass = checkStatus ? "generic-vc-card checked" : "generic-vc-card unchecked";
64
- const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;
65
- const handleInnerClick = () => {
66
- innerOnClick == null ? void 0 : innerOnClick();
67
- };
68
- const handleOptionsClick = () => {
69
- optionsTriggerOnClick == null ? void 0 : optionsTriggerOnClick();
70
- };
71
- const DisplayIcon = getDisplayIcon(displayType);
72
- return /* @__PURE__ */ React__default["default"].createElement("div", {
73
- className: `flex generic-display-card-simple bg-white flex-col shadow-bottom relative py-[0px] px-[0px] w-[160px] h-[265px] min-h-[265px] rounded-[20px] overflow-hidden ${className}`
74
- }, optionsTriggerOnClick && /* @__PURE__ */ React__default["default"].createElement("section", {
75
- className: "absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center",
76
- onClick: handleOptionsClick
77
- }, /* @__PURE__ */ React__default["default"].createElement(ThreeDotVertical.ThreeDotVertical, {
78
- className: "h-[20px] w-[20px] z-50 text-grayscale-900"
79
- })), bgImgSrc && /* @__PURE__ */ React__default["default"].createElement("section", {
80
- className: "absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3"
81
- }, /* @__PURE__ */ React__default["default"].createElement("img", {
82
- className: "h-full w-full object-cover overflow-hidden",
83
- src: bgImgSrc
84
- })), /* @__PURE__ */ React__default["default"].createElement("button", {
85
- type: "button",
86
- className: "boost-small-card inner-click-container z-10",
87
- onClick: handleInnerClick
88
- }, customThumbComponent && customThumbComponent, !customThumbComponent && /* @__PURE__ */ React__default["default"].createElement("section", {
89
- className: defaultThumbClass
90
- }, thumbImgSrc && (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" && /* @__PURE__ */ React__default["default"].createElement("img", {
91
- className: "generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden",
92
- src: thumbImgSrc != null ? thumbImgSrc : "",
93
- alt: "Credential Achievement Image"
94
- }), (!thumbImgSrc || (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) === "") && /* @__PURE__ */ React__default["default"].createElement("img", {
95
- className: "max-w-[110px] w-full h-full p-[0px] object-cover rounded-full",
96
- src: imgSrc
97
- })), /* @__PURE__ */ React__default["default"].createElement("section", {
98
- className: "boost-generic-info-section"
99
- }, !customTitle && /* @__PURE__ */ React__default["default"].createElement("div", {
100
- className: `${defaultHeaderClass} items-center`
101
- }, /* @__PURE__ */ React__default["default"].createElement("p", {
102
- className: "relative z-[100] small-boost-title text-[16px] leading-[130%] px-[0px] font-medium text-center text-grayscale-900 line-clamp-2 max-w-full"
103
- }, title)), customTitle && customTitle, customIssuerName && customIssuerName, !customIssuerName && /* @__PURE__ */ React__default["default"].createElement("span", {
104
- className: "flex items-center justify-center small-generic-boost-issuer-name line-clamp-1 text-[12px] text-grayscale-700 px-[6px]"
105
- }, "by ", /* @__PURE__ */ React__default["default"].createElement("span", {
106
- className: "font-bold whitespace-pre"
107
- }, " ", issuerName)), customDateDisplay && customDateDisplay, !customDateDisplay && /* @__PURE__ */ React__default["default"].createElement("p", {
108
- className: "small-generic-boost-date-display line-clamp-1 flex items-center justify-center text-center text-[12px] text-grayscale-700 px-[7px]"
109
- }, verifierBadge, dateDisplay), isInSkillsModal && /* @__PURE__ */ React__default["default"].createElement(CertDisplayCardSkillsCount.CertDisplayCardSkillsCount, {
110
- skills: (_a = credential == null ? void 0 : credential.skills) != null ? _a : [],
111
- onClick: handleInnerClick,
112
- className: "boost-generic",
113
- isInSkillsModal
114
- }))), linkedCredentialsCount > 0 && /* @__PURE__ */ React__default["default"].createElement("div", {
115
- className: `absolute bottom-0 left-0 h-[20px] w-full rounded-b-[20px] flex items-center justify-center py-4 mt-1 ${linkedCredentialsClassName}`
116
- }, /* @__PURE__ */ React__default["default"].createElement(DisplayIcon, {
117
- className: `h-[20px] w-[20px]`
118
- }), " ", /* @__PURE__ */ React__default["default"].createElement("span", {
119
- className: "ml-2 font-poppins text-sm font-semibold text-white"
120
- }, "+", linkedCredentialsCount, " Linked")), showChecked && /* @__PURE__ */ React__default["default"].createElement("div", {
121
- className: "check-btn-overlay absolute top-[5px] left-[5px]"
122
- }, /* @__PURE__ */ React__default["default"].createElement(CircleCheckButton.CircleCheckButton, {
123
- checked: checkStatus,
124
- onClick: onCheckClick,
125
- className: checkBtnClass
126
- })));
127
- };
128
-
129
- exports.BoostGenericCard = BoostGenericCard;
130
- //# sourceMappingURL=BoostGenericCard-c34f1bb9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoostGenericCard-c34f1bb9.js","sources":["../../src/helpers/display.helpers.ts","../../src/components/BoostGenericCard/BoostGenericCard.tsx"],"sourcesContent":["import { LCCategoryEnum } from '../types';\n\nimport { BadgeDisplayIcon } from '../components/svgs/BadgeDisplayIcon';\nimport { CertificateDisplayIcon } from '../components/svgs/CertificateDisplayIcon';\nimport { IDDisplayIcon } from '../components/svgs/IDDisplayIcon';\nimport { CourseDisplayIcon } from '../components/svgs/CourseDisplayIcon';\nimport { AwardDisplayIcon } from '../components/svgs/AwardDisplayIcon';\n\nexport enum DisplayTypeEnum {\n Badge = 'badge',\n Certificate = 'certificate',\n ID = 'id',\n Course = 'course',\n Award = 'award',\n}\n\nexport const getDefaultDisplayType = (category: string): DisplayTypeEnum => {\n if (category === LCCategoryEnum.socialBadge || category === LCCategoryEnum.workHistory) {\n return DisplayTypeEnum.Badge;\n }\n\n if (category === LCCategoryEnum.id || category === LCCategoryEnum.membership) {\n return DisplayTypeEnum.ID;\n }\n\n if (\n category === LCCategoryEnum.achievement ||\n category === LCCategoryEnum.accommodations ||\n category === LCCategoryEnum.accomplishments ||\n category === LCCategoryEnum.learningHistory\n ) {\n return DisplayTypeEnum.Certificate;\n }\n\n return DisplayTypeEnum.Badge;\n};\n\nexport const getDisplayIcon = (displayType: DisplayTypeEnum): React.FC<{ className?: string }> => {\n switch (displayType) {\n case DisplayTypeEnum.Badge:\n return BadgeDisplayIcon;\n case DisplayTypeEnum.Certificate:\n return CertificateDisplayIcon;\n case DisplayTypeEnum.ID:\n return IDDisplayIcon;\n case DisplayTypeEnum.Course:\n return CourseDisplayIcon;\n case DisplayTypeEnum.Award:\n return AwardDisplayIcon;\n default:\n return BadgeDisplayIcon;\n }\n};\n","import React from 'react';\nimport { BoostGenericCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport { DisplayTypeEnum, getDisplayIcon } from '../../helpers/display.helpers';\nimport { CertDisplayCardSkillsCount } from '../CertificateDisplayCard';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\n\nexport const BoostGenericCard: React.FC<BoostGenericCardProps> = ({\n title,\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n customThumbComponent,\n innerOnClick,\n bgImgSrc,\n issuerName,\n customIssuerName,\n dateDisplay,\n customDateDisplay,\n optionsTriggerOnClick,\n verifierBadge,\n credential,\n isInSkillsModal,\n displayType,\n linkedCredentialsCount = 0,\n linkedCredentialsClassName = '',\n}) => {\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n const headerBgColor = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-900';\n const checkBtnClass = checkStatus ? 'generic-vc-card checked' : 'generic-vc-card unchecked';\n const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;\n\n const handleInnerClick = () => {\n innerOnClick?.();\n };\n\n const handleOptionsClick = () => {\n optionsTriggerOnClick?.();\n };\n\n const DisplayIcon = getDisplayIcon(displayType as DisplayTypeEnum);\n\n return (\n <div\n className={`flex generic-display-card-simple bg-white flex-col shadow-bottom relative py-[0px] px-[0px] w-[160px] h-[265px] min-h-[265px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] z-50 text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3\">\n <img className=\"h-full w-full object-cover overflow-hidden\" src={bgImgSrc} />\n </section>\n )}\n <button\n type=\"button\"\n className=\"boost-small-card inner-click-container z-10\"\n onClick={handleInnerClick}\n >\n {customThumbComponent && customThumbComponent}\n {!customThumbComponent && (\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <img\n className=\"generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[110px] w-full h-full p-[0px] object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n <section className=\"boost-generic-info-section\">\n {!customTitle && (\n <div className={`${defaultHeaderClass} items-center`}>\n <p className=\"relative z-[100] small-boost-title text-[16px] leading-[130%] px-[0px] font-medium text-center text-grayscale-900 line-clamp-2 max-w-full\">\n {title}\n </p>\n </div>\n )}\n\n {customTitle && customTitle}\n\n {customIssuerName && customIssuerName}\n {!customIssuerName && (\n <span className=\"flex items-center justify-center small-generic-boost-issuer-name line-clamp-1 text-[12px] text-grayscale-700 px-[6px]\">\n by <span className=\"font-bold whitespace-pre\"> {issuerName}</span>\n </span>\n )}\n\n {customDateDisplay && customDateDisplay}\n {!customDateDisplay && (\n <p className=\"small-generic-boost-date-display line-clamp-1 flex items-center justify-center text-center text-[12px] text-grayscale-700 px-[7px]\">\n {verifierBadge}\n {dateDisplay}\n </p>\n )}\n\n {isInSkillsModal && (\n <CertDisplayCardSkillsCount\n skills={credential?.skills ?? []}\n onClick={handleInnerClick}\n className={'boost-generic'}\n isInSkillsModal={isInSkillsModal}\n />\n )}\n </section>\n </button>\n\n {/* Linked Credentials */}\n {linkedCredentialsCount > 0 && (\n <div\n className={`absolute bottom-0 left-0 h-[20px] w-full rounded-b-[20px] flex items-center justify-center py-4 mt-1 ${linkedCredentialsClassName}`}\n >\n <DisplayIcon className={`h-[20px] w-[20px]`} />{' '}\n <span className=\"ml-2 font-poppins text-sm font-semibold text-white\">\n +{linkedCredentialsCount} Linked\n </span>\n </div>\n )}\n\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default BoostGenericCard;\n"],"names":["BadgeDisplayIcon","CertificateDisplayIcon","IDDisplayIcon","CourseDisplayIcon","AwardDisplayIcon","WalletCategoryTypes","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","React","ThreeDotVertical","CertDisplayCardSkillsCount","CircleCheckButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CertDisplayCardSkillsCount-b1565a79.js","sources":["../../src/components/CertificateDisplayCard/CertDisplayCardSkillsCount.tsx"],"sourcesContent":["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 className?: string;\n isInSkillsModal?: boolean;\n}> = ({ skills, onClick, className, isInSkillsModal }) => {\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 cursor-pointer bg-white rounded-[20px] ${className === 'boost-generic' ? '' : 'px-4 py-2 mt-8 shadow-bottom'} `}\n onClick={onClick}\n >\n <div\n className={`text-violet-500 flex items-center justify-center tracking-[0.75px] font-poppins font-semibold ${\n className === 'boost-generic' ? 'text-[12px] mt-[5px]' : 'text-xl'\n }`}\n >\n {isInSkillsModal ? (\n <>\n <div\n className=\"bg-violet-500 rounded-full flex items-center justify-center mr-[5px] p-1 h-[20px] w-[20px]\"\n >\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n +{total} {text}\n </>\n ) : (\n <>\n +{total} {text}\n <div\n className=\"bg-violet-500 rounded-full flex items-center justify-center ml-2 p-1 h-[30px] w-[30px]\"\n >\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default CertDisplayCardSkillsCount;\n"],"names":["getTotalCountOfSkills","React","categorizeSkills","total","PuzzlePiece"],"mappings":";;;;;;;;;;AAOO,MAAM,6BAKR,CAAC,EAAE,QAAQ,OAAS,EAAA,SAAA,EAAW,iBAAsB,KAAA;AACtD,EAAM,MAAA,WAAA,GAAcA,yCAAsB,MAAM,CAAA,CAAA;AAEhD,EAAA,IAAI,WAAgB,KAAA,CAAA;AAAG,IAAA,uBAASC,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEhC,EAAM,MAAA,SAAA,GAAYC,oCAAiB,MAAM,CAAA,CAAA;AAGzC,EAAA,MAAM,WAAmB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IAC9C,CAACC,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAQ,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA;AAAA,IACjD,CAAA;AAAA,GACJ,CAAA;AACA,EAAA,MAAM,cAAsB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IACjD,CAACA,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAAA,CAAS,qCAAU,mBAAuB,KAAA,CAAA,CAAA;AAAA,IACzE,CAAA;AAAA,GACJ,CAAA;AAEA,EAAA,MAAM,QAAa,WAAc,GAAA,cAAA,CAAA;AAEjC,EAAM,MAAA,IAAA,GAAe,WAAgB,KAAA,CAAA,GAAI,OAAU,GAAA,QAAA,CAAA;AAEnD,EAAA,uBACKF,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAW,EAAA,CAAA,wEAAA,EAA2E,SAAc,KAAA,eAAA,GAAkB,EAAK,GAAA,8BAAA,CAAA,CAAA,CAAA;AAAA,IAC3H,OAAA;AAAA,GAAA,kBAECA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAW,EAAA,CAAA,8FAAA,EACP,SAAc,KAAA,eAAA,GAAkB,sBAAyB,GAAA,SAAA,CAAA,CAAA;AAAA,GAG5D,EAAA,eAAA,qHAEYA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAU,EAAA,4FAAA;AAAA,GAAA,kBAETA,yBAAA,CAAA,aAAA,CAAAG,uBAAA,EAAA;AAAA,IAAY,SAAU,EAAA,YAAA;AAAA,IAAa,IAAK,EAAA,MAAA;AAAA,GAAO,CACpD,CAAA,EAAM,GACJ,EAAA,KAAA,EAAM,GAAE,EAAA,IACd,CAEA,mBAAAH,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAE,GACI,EAAA,KAAA,EAAM,GAAE,EAAA,IAAA,kBACTA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAU,EAAA,wFAAA;AAAA,GAAA,kBAETA,yBAAA,CAAA,aAAA,CAAAG,uBAAA,EAAA;AAAA,IAAY,SAAU,EAAA,YAAA;AAAA,IAAa,IAAK,EAAA,MAAA;AAAA,GAAO,CACpD,CACJ,CAEZ,CACJ,CAAA,CAAA;AAER;;;;"}
@@ -1,124 +0,0 @@
1
- import React from 'react';
2
- import { W as WalletCategoryTypes } from './index-28917993.js';
3
- import { a as TYPE_TO_IMG_SRC, b as TYPE_TO_WALLET_DARK_COLOR } from './index-b102febc.js';
4
- import { B as BadgeDisplayIcon, A as AwardDisplayIcon, a as CourseDisplayIcon, I as IDDisplayIcon, C as CertificateDisplayIcon } from './IDDisplayIcon-82a851e7.js';
5
- import { T as ThreeDotVertical } from './ThreeDotVertical-e3144ad0.js';
6
- import { C as CertDisplayCardSkillsCount } from './CertDisplayCardSkillsCount-9cf487a7.js';
7
- import { C as CircleCheckButton } from './CircleCheckButton-5a97f071.js';
8
-
9
- const getDisplayIcon = (displayType) => {
10
- switch (displayType) {
11
- case "badge" /* Badge */:
12
- return BadgeDisplayIcon;
13
- case "certificate" /* Certificate */:
14
- return CertificateDisplayIcon;
15
- case "id" /* ID */:
16
- return IDDisplayIcon;
17
- case "course" /* Course */:
18
- return CourseDisplayIcon;
19
- case "award" /* Award */:
20
- return AwardDisplayIcon;
21
- default:
22
- return BadgeDisplayIcon;
23
- }
24
- };
25
-
26
- const BoostGenericCard = ({
27
- title,
28
- customTitle,
29
- thumbImgSrc,
30
- customThumbClass = "",
31
- customHeaderClass = "",
32
- type = WalletCategoryTypes.achievements,
33
- className,
34
- onCheckClick,
35
- showChecked,
36
- checkStatus,
37
- customThumbComponent,
38
- innerOnClick,
39
- bgImgSrc,
40
- issuerName,
41
- customIssuerName,
42
- dateDisplay,
43
- customDateDisplay,
44
- optionsTriggerOnClick,
45
- verifierBadge,
46
- credential,
47
- isInSkillsModal,
48
- displayType,
49
- linkedCredentialsCount = 0,
50
- linkedCredentialsClassName = ""
51
- }) => {
52
- var _a;
53
- const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type] ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}` : "bg-grayscale-50";
54
- const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;
55
- const imgSrc = (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" ? thumbImgSrc : TYPE_TO_IMG_SRC[type];
56
- TYPE_TO_WALLET_DARK_COLOR[type] ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}` : "bg-grayscale-900";
57
- const checkBtnClass = checkStatus ? "generic-vc-card checked" : "generic-vc-card unchecked";
58
- const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;
59
- const handleInnerClick = () => {
60
- innerOnClick == null ? void 0 : innerOnClick();
61
- };
62
- const handleOptionsClick = () => {
63
- optionsTriggerOnClick == null ? void 0 : optionsTriggerOnClick();
64
- };
65
- const DisplayIcon = getDisplayIcon(displayType);
66
- return /* @__PURE__ */ React.createElement("div", {
67
- className: `flex generic-display-card-simple bg-white flex-col shadow-bottom relative py-[0px] px-[0px] w-[160px] h-[265px] min-h-[265px] rounded-[20px] overflow-hidden ${className}`
68
- }, optionsTriggerOnClick && /* @__PURE__ */ React.createElement("section", {
69
- className: "absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center",
70
- onClick: handleOptionsClick
71
- }, /* @__PURE__ */ React.createElement(ThreeDotVertical, {
72
- className: "h-[20px] w-[20px] z-50 text-grayscale-900"
73
- })), bgImgSrc && /* @__PURE__ */ React.createElement("section", {
74
- className: "absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3"
75
- }, /* @__PURE__ */ React.createElement("img", {
76
- className: "h-full w-full object-cover overflow-hidden",
77
- src: bgImgSrc
78
- })), /* @__PURE__ */ React.createElement("button", {
79
- type: "button",
80
- className: "boost-small-card inner-click-container z-10",
81
- onClick: handleInnerClick
82
- }, customThumbComponent && customThumbComponent, !customThumbComponent && /* @__PURE__ */ React.createElement("section", {
83
- className: defaultThumbClass
84
- }, thumbImgSrc && (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" && /* @__PURE__ */ React.createElement("img", {
85
- className: "generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden",
86
- src: thumbImgSrc != null ? thumbImgSrc : "",
87
- alt: "Credential Achievement Image"
88
- }), (!thumbImgSrc || (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) === "") && /* @__PURE__ */ React.createElement("img", {
89
- className: "max-w-[110px] w-full h-full p-[0px] object-cover rounded-full",
90
- src: imgSrc
91
- })), /* @__PURE__ */ React.createElement("section", {
92
- className: "boost-generic-info-section"
93
- }, !customTitle && /* @__PURE__ */ React.createElement("div", {
94
- className: `${defaultHeaderClass} items-center`
95
- }, /* @__PURE__ */ React.createElement("p", {
96
- className: "relative z-[100] small-boost-title text-[16px] leading-[130%] px-[0px] font-medium text-center text-grayscale-900 line-clamp-2 max-w-full"
97
- }, title)), customTitle && customTitle, customIssuerName && customIssuerName, !customIssuerName && /* @__PURE__ */ React.createElement("span", {
98
- className: "flex items-center justify-center small-generic-boost-issuer-name line-clamp-1 text-[12px] text-grayscale-700 px-[6px]"
99
- }, "by ", /* @__PURE__ */ React.createElement("span", {
100
- className: "font-bold whitespace-pre"
101
- }, " ", issuerName)), customDateDisplay && customDateDisplay, !customDateDisplay && /* @__PURE__ */ React.createElement("p", {
102
- className: "small-generic-boost-date-display line-clamp-1 flex items-center justify-center text-center text-[12px] text-grayscale-700 px-[7px]"
103
- }, verifierBadge, dateDisplay), isInSkillsModal && /* @__PURE__ */ React.createElement(CertDisplayCardSkillsCount, {
104
- skills: (_a = credential == null ? void 0 : credential.skills) != null ? _a : [],
105
- onClick: handleInnerClick,
106
- className: "boost-generic",
107
- isInSkillsModal
108
- }))), linkedCredentialsCount > 0 && /* @__PURE__ */ React.createElement("div", {
109
- className: `absolute bottom-0 left-0 h-[20px] w-full rounded-b-[20px] flex items-center justify-center py-4 mt-1 ${linkedCredentialsClassName}`
110
- }, /* @__PURE__ */ React.createElement(DisplayIcon, {
111
- className: `h-[20px] w-[20px]`
112
- }), " ", /* @__PURE__ */ React.createElement("span", {
113
- className: "ml-2 font-poppins text-sm font-semibold text-white"
114
- }, "+", linkedCredentialsCount, " Linked")), showChecked && /* @__PURE__ */ React.createElement("div", {
115
- className: "check-btn-overlay absolute top-[5px] left-[5px]"
116
- }, /* @__PURE__ */ React.createElement(CircleCheckButton, {
117
- checked: checkStatus,
118
- onClick: onCheckClick,
119
- className: checkBtnClass
120
- })));
121
- };
122
-
123
- export { BoostGenericCard as B };
124
- //# sourceMappingURL=BoostGenericCard-5d259cdc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoostGenericCard-5d259cdc.js","sources":["../../src/helpers/display.helpers.ts","../../src/components/BoostGenericCard/BoostGenericCard.tsx"],"sourcesContent":["import { LCCategoryEnum } from '../types';\n\nimport { BadgeDisplayIcon } from '../components/svgs/BadgeDisplayIcon';\nimport { CertificateDisplayIcon } from '../components/svgs/CertificateDisplayIcon';\nimport { IDDisplayIcon } from '../components/svgs/IDDisplayIcon';\nimport { CourseDisplayIcon } from '../components/svgs/CourseDisplayIcon';\nimport { AwardDisplayIcon } from '../components/svgs/AwardDisplayIcon';\n\nexport enum DisplayTypeEnum {\n Badge = 'badge',\n Certificate = 'certificate',\n ID = 'id',\n Course = 'course',\n Award = 'award',\n}\n\nexport const getDefaultDisplayType = (category: string): DisplayTypeEnum => {\n if (category === LCCategoryEnum.socialBadge || category === LCCategoryEnum.workHistory) {\n return DisplayTypeEnum.Badge;\n }\n\n if (category === LCCategoryEnum.id || category === LCCategoryEnum.membership) {\n return DisplayTypeEnum.ID;\n }\n\n if (\n category === LCCategoryEnum.achievement ||\n category === LCCategoryEnum.accommodations ||\n category === LCCategoryEnum.accomplishments ||\n category === LCCategoryEnum.learningHistory\n ) {\n return DisplayTypeEnum.Certificate;\n }\n\n return DisplayTypeEnum.Badge;\n};\n\nexport const getDisplayIcon = (displayType: DisplayTypeEnum): React.FC<{ className?: string }> => {\n switch (displayType) {\n case DisplayTypeEnum.Badge:\n return BadgeDisplayIcon;\n case DisplayTypeEnum.Certificate:\n return CertificateDisplayIcon;\n case DisplayTypeEnum.ID:\n return IDDisplayIcon;\n case DisplayTypeEnum.Course:\n return CourseDisplayIcon;\n case DisplayTypeEnum.Award:\n return AwardDisplayIcon;\n default:\n return BadgeDisplayIcon;\n }\n};\n","import React from 'react';\nimport { BoostGenericCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport { DisplayTypeEnum, getDisplayIcon } from '../../helpers/display.helpers';\nimport { CertDisplayCardSkillsCount } from '../CertificateDisplayCard';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\n\nexport const BoostGenericCard: React.FC<BoostGenericCardProps> = ({\n title,\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n customThumbComponent,\n innerOnClick,\n bgImgSrc,\n issuerName,\n customIssuerName,\n dateDisplay,\n customDateDisplay,\n optionsTriggerOnClick,\n verifierBadge,\n credential,\n isInSkillsModal,\n displayType,\n linkedCredentialsCount = 0,\n linkedCredentialsClassName = '',\n}) => {\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n const headerBgColor = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-900';\n const checkBtnClass = checkStatus ? 'generic-vc-card checked' : 'generic-vc-card unchecked';\n const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;\n\n const handleInnerClick = () => {\n innerOnClick?.();\n };\n\n const handleOptionsClick = () => {\n optionsTriggerOnClick?.();\n };\n\n const DisplayIcon = getDisplayIcon(displayType as DisplayTypeEnum);\n\n return (\n <div\n className={`flex generic-display-card-simple bg-white flex-col shadow-bottom relative py-[0px] px-[0px] w-[160px] h-[265px] min-h-[265px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] z-50 text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3\">\n <img className=\"h-full w-full object-cover overflow-hidden\" src={bgImgSrc} />\n </section>\n )}\n <button\n type=\"button\"\n className=\"boost-small-card inner-click-container z-10\"\n onClick={handleInnerClick}\n >\n {customThumbComponent && customThumbComponent}\n {!customThumbComponent && (\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <img\n className=\"generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[110px] w-full h-full p-[0px] object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n <section className=\"boost-generic-info-section\">\n {!customTitle && (\n <div className={`${defaultHeaderClass} items-center`}>\n <p className=\"relative z-[100] small-boost-title text-[16px] leading-[130%] px-[0px] font-medium text-center text-grayscale-900 line-clamp-2 max-w-full\">\n {title}\n </p>\n </div>\n )}\n\n {customTitle && customTitle}\n\n {customIssuerName && customIssuerName}\n {!customIssuerName && (\n <span className=\"flex items-center justify-center small-generic-boost-issuer-name line-clamp-1 text-[12px] text-grayscale-700 px-[6px]\">\n by <span className=\"font-bold whitespace-pre\"> {issuerName}</span>\n </span>\n )}\n\n {customDateDisplay && customDateDisplay}\n {!customDateDisplay && (\n <p className=\"small-generic-boost-date-display line-clamp-1 flex items-center justify-center text-center text-[12px] text-grayscale-700 px-[7px]\">\n {verifierBadge}\n {dateDisplay}\n </p>\n )}\n\n {isInSkillsModal && (\n <CertDisplayCardSkillsCount\n skills={credential?.skills ?? []}\n onClick={handleInnerClick}\n className={'boost-generic'}\n isInSkillsModal={isInSkillsModal}\n />\n )}\n </section>\n </button>\n\n {/* Linked Credentials */}\n {linkedCredentialsCount > 0 && (\n <div\n className={`absolute bottom-0 left-0 h-[20px] w-full rounded-b-[20px] flex items-center justify-center py-4 mt-1 ${linkedCredentialsClassName}`}\n >\n <DisplayIcon className={`h-[20px] w-[20px]`} />{' '}\n <span className=\"ml-2 font-poppins text-sm font-semibold text-white\">\n +{linkedCredentialsCount} Linked\n </span>\n </div>\n )}\n\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default BoostGenericCard;\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CertDisplayCardSkillsCount-9cf487a7.js","sources":["../../src/components/CertificateDisplayCard/CertDisplayCardSkillsCount.tsx"],"sourcesContent":["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 className?: string;\n isInSkillsModal?: boolean;\n}> = ({ skills, onClick, className, isInSkillsModal }) => {\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 cursor-pointer bg-white rounded-[20px] ${className === 'boost-generic' ? '' : 'px-4 py-2 mt-8 shadow-bottom'} `}\n onClick={onClick}\n >\n <div\n className={`text-violet-500 flex items-center justify-center tracking-[0.75px] font-poppins font-semibold ${\n className === 'boost-generic' ? 'text-[12px] mt-[5px]' : 'text-xl'\n }`}\n >\n {isInSkillsModal ? (\n <>\n <div\n className=\"bg-violet-500 rounded-full flex items-center justify-center mr-[5px] p-1 h-[20px] w-[20px]\"\n >\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n +{total} {text}\n </>\n ) : (\n <>\n +{total} {text}\n <div\n className=\"bg-violet-500 rounded-full flex items-center justify-center ml-2 p-1 h-[30px] w-[30px]\"\n >\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default CertDisplayCardSkillsCount;\n"],"names":["total"],"mappings":";;;;AAOO,MAAM,6BAKR,CAAC,EAAE,QAAQ,OAAS,EAAA,SAAA,EAAW,iBAAsB,KAAA;AACtD,EAAM,MAAA,WAAA,GAAc,sBAAsB,MAAM,CAAA,CAAA;AAEhD,EAAA,IAAI,WAAgB,KAAA,CAAA;AAAG,IAAA,uBAAS,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEhC,EAAM,MAAA,SAAA,GAAY,iBAAiB,MAAM,CAAA,CAAA;AAGzC,EAAA,MAAM,WAAmB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IAC9C,CAACA,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAQ,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA;AAAA,IACjD,CAAA;AAAA,GACJ,CAAA;AACA,EAAA,MAAM,cAAsB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IACjD,CAACA,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAAA,CAAS,qCAAU,mBAAuB,KAAA,CAAA,CAAA;AAAA,IACzE,CAAA;AAAA,GACJ,CAAA;AAEA,EAAA,MAAM,QAAa,WAAc,GAAA,cAAA,CAAA;AAEjC,EAAM,MAAA,IAAA,GAAe,WAAgB,KAAA,CAAA,GAAI,OAAU,GAAA,QAAA,CAAA;AAEnD,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAW,EAAA,CAAA,wEAAA,EAA2E,SAAc,KAAA,eAAA,GAAkB,EAAK,GAAA,8BAAA,CAAA,CAAA,CAAA;AAAA,IAC3H,OAAA;AAAA,GAAA,kBAEC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAW,EAAA,CAAA,8FAAA,EACP,SAAc,KAAA,eAAA,GAAkB,sBAAyB,GAAA,SAAA,CAAA,CAAA;AAAA,GAG5D,EAAA,eAAA,6EAEY,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAU,EAAA,4FAAA;AAAA,GAAA,kBAET,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAY,SAAU,EAAA,YAAA;AAAA,IAAa,IAAK,EAAA,MAAA;AAAA,GAAO,CACpD,CAAA,EAAM,GACJ,EAAA,KAAA,EAAM,GAAE,EAAA,IACd,CAEA,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAE,GACI,EAAA,KAAA,EAAM,GAAE,EAAA,IAAA,kBACT,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAU,EAAA,wFAAA;AAAA,GAAA,kBAET,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAA,IAAY,SAAU,EAAA,YAAA;AAAA,IAAa,IAAK,EAAA,MAAA;AAAA,GAAO,CACpD,CACJ,CAEZ,CACJ,CAAA,CAAA;AAER;;;;"}