@blockspoon/cert-badge-renderer 1.0.1
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.
- package/README.md +92 -0
- package/dist/constants/componentsDirection.d.ts +2 -0
- package/dist/constants/componentsDirection.js +46 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -0
- package/dist/interface/index.d.ts +123 -0
- package/dist/interface/index.js +21 -0
- package/dist/templates/badges/BadgeType1.d.ts +2 -0
- package/dist/templates/badges/BadgeType1.js +45 -0
- package/dist/templates/badges/BadgeType10.d.ts +2 -0
- package/dist/templates/badges/BadgeType10.js +80 -0
- package/dist/templates/badges/BadgeType11.d.ts +2 -0
- package/dist/templates/badges/BadgeType11.js +108 -0
- package/dist/templates/badges/BadgeType12.d.ts +2 -0
- package/dist/templates/badges/BadgeType12.js +93 -0
- package/dist/templates/badges/BadgeType13.d.ts +2 -0
- package/dist/templates/badges/BadgeType13.js +53 -0
- package/dist/templates/badges/BadgeType14.d.ts +2 -0
- package/dist/templates/badges/BadgeType14.js +76 -0
- package/dist/templates/badges/BadgeType15.d.ts +2 -0
- package/dist/templates/badges/BadgeType15.js +57 -0
- package/dist/templates/badges/BadgeType16.d.ts +2 -0
- package/dist/templates/badges/BadgeType16.js +188 -0
- package/dist/templates/badges/BadgeType17.d.ts +2 -0
- package/dist/templates/badges/BadgeType17.js +83 -0
- package/dist/templates/badges/BadgeType18.d.ts +2 -0
- package/dist/templates/badges/BadgeType18.js +50 -0
- package/dist/templates/badges/BadgeType19.d.ts +2 -0
- package/dist/templates/badges/BadgeType19.js +80 -0
- package/dist/templates/badges/BadgeType2.d.ts +2 -0
- package/dist/templates/badges/BadgeType2.js +48 -0
- package/dist/templates/badges/BadgeType20.d.ts +2 -0
- package/dist/templates/badges/BadgeType20.js +97 -0
- package/dist/templates/badges/BadgeType21.d.ts +2 -0
- package/dist/templates/badges/BadgeType21.js +63 -0
- package/dist/templates/badges/BadgeType22.d.ts +2 -0
- package/dist/templates/badges/BadgeType22.js +58 -0
- package/dist/templates/badges/BadgeType23.d.ts +2 -0
- package/dist/templates/badges/BadgeType23.js +55 -0
- package/dist/templates/badges/BadgeType24.d.ts +2 -0
- package/dist/templates/badges/BadgeType24.js +59 -0
- package/dist/templates/badges/BadgeType25.d.ts +2 -0
- package/dist/templates/badges/BadgeType25.js +58 -0
- package/dist/templates/badges/BadgeType26.d.ts +2 -0
- package/dist/templates/badges/BadgeType26.js +82 -0
- package/dist/templates/badges/BadgeType27.d.ts +2 -0
- package/dist/templates/badges/BadgeType27.js +63 -0
- package/dist/templates/badges/BadgeType28.d.ts +2 -0
- package/dist/templates/badges/BadgeType28.js +64 -0
- package/dist/templates/badges/BadgeType29.d.ts +5 -0
- package/dist/templates/badges/BadgeType29.js +111 -0
- package/dist/templates/badges/BadgeType3.d.ts +2 -0
- package/dist/templates/badges/BadgeType3.js +92 -0
- package/dist/templates/badges/BadgeType30.d.ts +2 -0
- package/dist/templates/badges/BadgeType30.js +40 -0
- package/dist/templates/badges/BadgeType31.d.ts +2 -0
- package/dist/templates/badges/BadgeType31.js +163 -0
- package/dist/templates/badges/BadgeType32.d.ts +2 -0
- package/dist/templates/badges/BadgeType32.js +100 -0
- package/dist/templates/badges/BadgeType33.d.ts +2 -0
- package/dist/templates/badges/BadgeType33.js +114 -0
- package/dist/templates/badges/BadgeType34.d.ts +2 -0
- package/dist/templates/badges/BadgeType34.js +156 -0
- package/dist/templates/badges/BadgeType35.d.ts +2 -0
- package/dist/templates/badges/BadgeType35.js +52 -0
- package/dist/templates/badges/BadgeType36.d.ts +2 -0
- package/dist/templates/badges/BadgeType36.js +144 -0
- package/dist/templates/badges/BadgeType37.d.ts +2 -0
- package/dist/templates/badges/BadgeType37.js +144 -0
- package/dist/templates/badges/BadgeType38.d.ts +2 -0
- package/dist/templates/badges/BadgeType38.js +113 -0
- package/dist/templates/badges/BadgeType39.d.ts +2 -0
- package/dist/templates/badges/BadgeType39.js +103 -0
- package/dist/templates/badges/BadgeType4.d.ts +2 -0
- package/dist/templates/badges/BadgeType4.js +69 -0
- package/dist/templates/badges/BadgeType40.d.ts +2 -0
- package/dist/templates/badges/BadgeType40.js +122 -0
- package/dist/templates/badges/BadgeType41.d.ts +2 -0
- package/dist/templates/badges/BadgeType41.js +64 -0
- package/dist/templates/badges/BadgeType42.d.ts +2 -0
- package/dist/templates/badges/BadgeType42.js +108 -0
- package/dist/templates/badges/BadgeType43.d.ts +2 -0
- package/dist/templates/badges/BadgeType43.js +82 -0
- package/dist/templates/badges/BadgeType44.d.ts +2 -0
- package/dist/templates/badges/BadgeType44.js +43 -0
- package/dist/templates/badges/BadgeType45.d.ts +2 -0
- package/dist/templates/badges/BadgeType45.js +91 -0
- package/dist/templates/badges/BadgeType46.d.ts +2 -0
- package/dist/templates/badges/BadgeType46.js +186 -0
- package/dist/templates/badges/BadgeType47.d.ts +2 -0
- package/dist/templates/badges/BadgeType47.js +12 -0
- package/dist/templates/badges/BadgeType48.d.ts +2 -0
- package/dist/templates/badges/BadgeType48.js +9 -0
- package/dist/templates/badges/BadgeType49.d.ts +2 -0
- package/dist/templates/badges/BadgeType49.js +30 -0
- package/dist/templates/badges/BadgeType5.d.ts +2 -0
- package/dist/templates/badges/BadgeType5.js +82 -0
- package/dist/templates/badges/BadgeType50.d.ts +2 -0
- package/dist/templates/badges/BadgeType50.js +32 -0
- package/dist/templates/badges/BadgeType51.d.ts +2 -0
- package/dist/templates/badges/BadgeType51.js +189 -0
- package/dist/templates/badges/BadgeType52.d.ts +2 -0
- package/dist/templates/badges/BadgeType52.js +49 -0
- package/dist/templates/badges/BadgeType53.d.ts +2 -0
- package/dist/templates/badges/BadgeType53.js +86 -0
- package/dist/templates/badges/BadgeType54.d.ts +2 -0
- package/dist/templates/badges/BadgeType54.js +152 -0
- package/dist/templates/badges/BadgeType55.d.ts +2 -0
- package/dist/templates/badges/BadgeType55.js +239 -0
- package/dist/templates/badges/BadgeType56.d.ts +2 -0
- package/dist/templates/badges/BadgeType56.js +77 -0
- package/dist/templates/badges/BadgeType57.d.ts +2 -0
- package/dist/templates/badges/BadgeType57.js +201 -0
- package/dist/templates/badges/BadgeType58.d.ts +2 -0
- package/dist/templates/badges/BadgeType58.js +65 -0
- package/dist/templates/badges/BadgeType59.d.ts +2 -0
- package/dist/templates/badges/BadgeType59.js +67 -0
- package/dist/templates/badges/BadgeType6.d.ts +2 -0
- package/dist/templates/badges/BadgeType6.js +58 -0
- package/dist/templates/badges/BadgeType60.d.ts +2 -0
- package/dist/templates/badges/BadgeType60.js +89 -0
- package/dist/templates/badges/BadgeType61.d.ts +2 -0
- package/dist/templates/badges/BadgeType61.js +58 -0
- package/dist/templates/badges/BadgeType62.d.ts +2 -0
- package/dist/templates/badges/BadgeType62.js +127 -0
- package/dist/templates/badges/BadgeType63.d.ts +2 -0
- package/dist/templates/badges/BadgeType63.js +82 -0
- package/dist/templates/badges/BadgeType64.d.ts +2 -0
- package/dist/templates/badges/BadgeType64.js +211 -0
- package/dist/templates/badges/BadgeType65.d.ts +2 -0
- package/dist/templates/badges/BadgeType65.js +134 -0
- package/dist/templates/badges/BadgeType66.d.ts +2 -0
- package/dist/templates/badges/BadgeType66.js +72 -0
- package/dist/templates/badges/BadgeType67.d.ts +2 -0
- package/dist/templates/badges/BadgeType67.js +97 -0
- package/dist/templates/badges/BadgeType68.d.ts +2 -0
- package/dist/templates/badges/BadgeType68.js +164 -0
- package/dist/templates/badges/BadgeType69.d.ts +2 -0
- package/dist/templates/badges/BadgeType69.js +59 -0
- package/dist/templates/badges/BadgeType7.d.ts +2 -0
- package/dist/templates/badges/BadgeType7.js +73 -0
- package/dist/templates/badges/BadgeType70.d.ts +2 -0
- package/dist/templates/badges/BadgeType70.js +81 -0
- package/dist/templates/badges/BadgeType71.d.ts +2 -0
- package/dist/templates/badges/BadgeType71.js +105 -0
- package/dist/templates/badges/BadgeType8.d.ts +2 -0
- package/dist/templates/badges/BadgeType8.js +44 -0
- package/dist/templates/badges/BadgeType9.d.ts +2 -0
- package/dist/templates/badges/BadgeType9.js +168 -0
- package/dist/templates/badges/index.d.ts +145 -0
- package/dist/templates/badges/index.js +147 -0
- package/dist/templates/certificates/NewCertificateType1.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType1.js +64 -0
- package/dist/templates/certificates/NewCertificateType10.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType10.js +106 -0
- package/dist/templates/certificates/NewCertificateType11.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType11.js +377 -0
- package/dist/templates/certificates/NewCertificateType12.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType12.js +535 -0
- package/dist/templates/certificates/NewCertificateType13.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType13.js +246 -0
- package/dist/templates/certificates/NewCertificateType14.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType14.js +230 -0
- package/dist/templates/certificates/NewCertificateType15.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType15.js +169 -0
- package/dist/templates/certificates/NewCertificateType16.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType16.js +159 -0
- package/dist/templates/certificates/NewCertificateType17.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType17.js +228 -0
- package/dist/templates/certificates/NewCertificateType18.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType18.js +5477 -0
- package/dist/templates/certificates/NewCertificateType19.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType19.js +784 -0
- package/dist/templates/certificates/NewCertificateType2.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType2.js +92 -0
- package/dist/templates/certificates/NewCertificateType20.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType20.js +460 -0
- package/dist/templates/certificates/NewCertificateType21.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType21.js +238 -0
- package/dist/templates/certificates/NewCertificateType22.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType22.js +117 -0
- package/dist/templates/certificates/NewCertificateType23.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType23.js +198 -0
- package/dist/templates/certificates/NewCertificateType24.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType24.js +154 -0
- package/dist/templates/certificates/NewCertificateType25.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType25.js +317 -0
- package/dist/templates/certificates/NewCertificateType26.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType26.js +143 -0
- package/dist/templates/certificates/NewCertificateType27.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType27.js +331 -0
- package/dist/templates/certificates/NewCertificateType28.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType28.js +137 -0
- package/dist/templates/certificates/NewCertificateType29.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType29.js +117 -0
- package/dist/templates/certificates/NewCertificateType3.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType3.js +137 -0
- package/dist/templates/certificates/NewCertificateType30.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType30.js +238 -0
- package/dist/templates/certificates/NewCertificateType31.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType31.js +212 -0
- package/dist/templates/certificates/NewCertificateType32.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType32.js +77 -0
- package/dist/templates/certificates/NewCertificateType33.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType33.js +126 -0
- package/dist/templates/certificates/NewCertificateType34.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType34.js +209 -0
- package/dist/templates/certificates/NewCertificateType4.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType4.js +175 -0
- package/dist/templates/certificates/NewCertificateType5.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType5.js +186 -0
- package/dist/templates/certificates/NewCertificateType6.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType6.js +184 -0
- package/dist/templates/certificates/NewCertificateType6Single.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType6Single.js +167 -0
- package/dist/templates/certificates/NewCertificateType7.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType7.js +152 -0
- package/dist/templates/certificates/NewCertificateType7Single.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType7Single.js +154 -0
- package/dist/templates/certificates/NewCertificateType8.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType8.js +165 -0
- package/dist/templates/certificates/NewCertificateType9.d.ts +2 -0
- package/dist/templates/certificates/NewCertificateType9.js +365 -0
- package/dist/templates/certificates/NewEmptyLandscapeCertificate.d.ts +2 -0
- package/dist/templates/certificates/NewEmptyLandscapeCertificate.js +19 -0
- package/dist/templates/certificates/NewEmptyPortraitCertificate.d.ts +2 -0
- package/dist/templates/certificates/NewEmptyPortraitCertificate.js +19 -0
- package/dist/templates/certificates/index.d.ts +79 -0
- package/dist/templates/certificates/index.js +81 -0
- package/dist/templates/icons/IconArrow.d.ts +2 -0
- package/dist/templates/icons/IconArrow.js +23 -0
- package/dist/templates/icons/IconBg1.d.ts +2 -0
- package/dist/templates/icons/IconBg1.js +30 -0
- package/dist/templates/icons/IconBg2.d.ts +2 -0
- package/dist/templates/icons/IconBg2.js +44 -0
- package/dist/templates/icons/IconBg3.d.ts +2 -0
- package/dist/templates/icons/IconBg3.js +34 -0
- package/dist/templates/icons/IconBg4.d.ts +2 -0
- package/dist/templates/icons/IconBg4.js +34 -0
- package/dist/templates/icons/IconBg5.d.ts +2 -0
- package/dist/templates/icons/IconBg5.js +66 -0
- package/dist/templates/icons/IconBg6.d.ts +2 -0
- package/dist/templates/icons/IconBg6.js +108 -0
- package/dist/templates/icons/IconBg7.d.ts +2 -0
- package/dist/templates/icons/IconBg7.js +86 -0
- package/dist/templates/icons/IconBg8.d.ts +2 -0
- package/dist/templates/icons/IconBg8.js +34 -0
- package/dist/templates/icons/IconBg9.d.ts +2 -0
- package/dist/templates/icons/IconBg9.js +49 -0
- package/dist/templates/icons/IconBottomLeft1.d.ts +2 -0
- package/dist/templates/icons/IconBottomLeft1.js +24 -0
- package/dist/templates/icons/IconBottomLeft2.d.ts +2 -0
- package/dist/templates/icons/IconBottomLeft2.js +37 -0
- package/dist/templates/icons/IconBottomRight1.d.ts +2 -0
- package/dist/templates/icons/IconBottomRight1.js +24 -0
- package/dist/templates/icons/IconBottomRight2.d.ts +2 -0
- package/dist/templates/icons/IconBottomRight2.js +37 -0
- package/dist/templates/icons/IconContainer1.d.ts +2 -0
- package/dist/templates/icons/IconContainer1.js +84 -0
- package/dist/templates/icons/IconContainer2.d.ts +2 -0
- package/dist/templates/icons/IconContainer2.js +28 -0
- package/dist/templates/icons/IconContainer3.d.ts +2 -0
- package/dist/templates/icons/IconContainer3.js +25 -0
- package/dist/templates/icons/IconContainer4.d.ts +2 -0
- package/dist/templates/icons/IconContainer4.js +27 -0
- package/dist/templates/icons/IconContainer5.d.ts +2 -0
- package/dist/templates/icons/IconContainer5.js +310 -0
- package/dist/templates/icons/IconDonut.d.ts +2 -0
- package/dist/templates/icons/IconDonut.js +25 -0
- package/dist/templates/icons/IconEllipse1.d.ts +2 -0
- package/dist/templates/icons/IconEllipse1.js +39 -0
- package/dist/templates/icons/IconEllipse2.d.ts +2 -0
- package/dist/templates/icons/IconEllipse2.js +40 -0
- package/dist/templates/icons/IconEtc1.d.ts +2 -0
- package/dist/templates/icons/IconEtc1.js +47 -0
- package/dist/templates/icons/IconEtc2.d.ts +2 -0
- package/dist/templates/icons/IconEtc2.js +64 -0
- package/dist/templates/icons/IconEtc3.d.ts +2 -0
- package/dist/templates/icons/IconEtc3.js +38 -0
- package/dist/templates/icons/IconFrame1.d.ts +2 -0
- package/dist/templates/icons/IconFrame1.js +23 -0
- package/dist/templates/icons/IconFrame2.d.ts +2 -0
- package/dist/templates/icons/IconFrame2.js +23 -0
- package/dist/templates/icons/IconFrame3.d.ts +2 -0
- package/dist/templates/icons/IconFrame3.js +23 -0
- package/dist/templates/icons/IconFrame4.d.ts +2 -0
- package/dist/templates/icons/IconFrame4.js +84 -0
- package/dist/templates/icons/IconGear.d.ts +2 -0
- package/dist/templates/icons/IconGear.js +58 -0
- package/dist/templates/icons/IconMedal.d.ts +2 -0
- package/dist/templates/icons/IconMedal.js +50 -0
- package/dist/templates/icons/IconMortarboard1.d.ts +2 -0
- package/dist/templates/icons/IconMortarboard1.js +34 -0
- package/dist/templates/icons/IconMortarboard2.d.ts +2 -0
- package/dist/templates/icons/IconMortarboard2.js +33 -0
- package/dist/templates/icons/IconMortarboard3.d.ts +2 -0
- package/dist/templates/icons/IconMortarboard3.js +39 -0
- package/dist/templates/icons/IconMortarboard4.d.ts +2 -0
- package/dist/templates/icons/IconMortarboard4.js +44 -0
- package/dist/templates/icons/IconMortarboard5.d.ts +2 -0
- package/dist/templates/icons/IconMortarboard5.js +73 -0
- package/dist/templates/icons/IconPhrase1.d.ts +2 -0
- package/dist/templates/icons/IconPhrase1.js +231 -0
- package/dist/templates/icons/IconPhrase2.d.ts +2 -0
- package/dist/templates/icons/IconPhrase2.js +28 -0
- package/dist/templates/icons/IconPhrase3.d.ts +2 -0
- package/dist/templates/icons/IconPhrase3.js +23 -0
- package/dist/templates/icons/IconPhrase4.d.ts +2 -0
- package/dist/templates/icons/IconPhrase4.js +25 -0
- package/dist/templates/icons/IconPillar1.d.ts +2 -0
- package/dist/templates/icons/IconPillar1.js +72 -0
- package/dist/templates/icons/IconPillar2.d.ts +2 -0
- package/dist/templates/icons/IconPillar2.js +123 -0
- package/dist/templates/icons/IconSkewedLeft.d.ts +2 -0
- package/dist/templates/icons/IconSkewedLeft.js +21 -0
- package/dist/templates/icons/IconSkewedRight.d.ts +2 -0
- package/dist/templates/icons/IconSkewedRight.js +27 -0
- package/dist/templates/icons/IconSmallType1.d.ts +2 -0
- package/dist/templates/icons/IconSmallType1.js +26 -0
- package/dist/templates/icons/IconSmallType10.d.ts +2 -0
- package/dist/templates/icons/IconSmallType10.js +24 -0
- package/dist/templates/icons/IconSmallType2.d.ts +2 -0
- package/dist/templates/icons/IconSmallType2.js +28 -0
- package/dist/templates/icons/IconSmallType3.d.ts +2 -0
- package/dist/templates/icons/IconSmallType3.js +23 -0
- package/dist/templates/icons/IconSmallType4.d.ts +2 -0
- package/dist/templates/icons/IconSmallType4.js +30 -0
- package/dist/templates/icons/IconSmallType5.d.ts +2 -0
- package/dist/templates/icons/IconSmallType5.js +23 -0
- package/dist/templates/icons/IconSmallType6.d.ts +2 -0
- package/dist/templates/icons/IconSmallType6.js +27 -0
- package/dist/templates/icons/IconSmallType7.d.ts +2 -0
- package/dist/templates/icons/IconSmallType7.js +25 -0
- package/dist/templates/icons/IconSmallType8.d.ts +2 -0
- package/dist/templates/icons/IconSmallType8.js +23 -0
- package/dist/templates/icons/IconSmallType9.d.ts +2 -0
- package/dist/templates/icons/IconSmallType9.js +23 -0
- package/dist/templates/icons/IconSpring1.d.ts +2 -0
- package/dist/templates/icons/IconSpring1.js +68 -0
- package/dist/templates/icons/IconSpring2.d.ts +2 -0
- package/dist/templates/icons/IconSpring2.js +63 -0
- package/dist/templates/icons/IconStar.d.ts +2 -0
- package/dist/templates/icons/IconStar.js +32 -0
- package/dist/templates/icons/IconStar2.d.ts +2 -0
- package/dist/templates/icons/IconStar2.js +30 -0
- package/dist/templates/icons/IconStar3.d.ts +2 -0
- package/dist/templates/icons/IconStar3.js +34 -0
- package/dist/templates/icons/IconStar4.d.ts +2 -0
- package/dist/templates/icons/IconStar4.js +44 -0
- package/dist/templates/icons/IconStar5.d.ts +2 -0
- package/dist/templates/icons/IconStar5.js +108 -0
- package/dist/templates/icons/IconStar6.d.ts +2 -0
- package/dist/templates/icons/IconStar6.js +30 -0
- package/dist/templates/icons/IconTopLeft1.d.ts +2 -0
- package/dist/templates/icons/IconTopLeft1.js +24 -0
- package/dist/templates/icons/IconTopLeft2.d.ts +2 -0
- package/dist/templates/icons/IconTopLeft2.js +37 -0
- package/dist/templates/icons/IconTopRight1.d.ts +2 -0
- package/dist/templates/icons/IconTopRight1.js +24 -0
- package/dist/templates/icons/IconTopRight2.d.ts +2 -0
- package/dist/templates/icons/IconTopRight2.js +37 -0
- package/dist/templates/icons/IconTrophy1.d.ts +2 -0
- package/dist/templates/icons/IconTrophy1.js +42 -0
- package/dist/templates/icons/IconTrophy2.d.ts +2 -0
- package/dist/templates/icons/IconTrophy2.js +56 -0
- package/dist/templates/icons/IconTrophy3.d.ts +2 -0
- package/dist/templates/icons/IconTrophy3.js +42 -0
- package/dist/templates/icons/IconTrophy4.d.ts +2 -0
- package/dist/templates/icons/IconTrophy4.js +42 -0
- package/dist/templates/icons/IconType47.d.ts +2 -0
- package/dist/templates/icons/IconType47.js +28 -0
- package/dist/templates/icons/IconWave1.d.ts +4 -0
- package/dist/templates/icons/IconWave1.js +62 -0
- package/dist/templates/icons/IconWave2.d.ts +2 -0
- package/dist/templates/icons/IconWave2.js +47 -0
- package/dist/templates/icons/index.d.ts +149 -0
- package/dist/templates/icons/index.js +151 -0
- package/dist/templates/ribbons/RibbonType1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType1.js +76 -0
- package/dist/templates/ribbons/RibbonType12.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType12.js +86 -0
- package/dist/templates/ribbons/RibbonType13.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType13.js +78 -0
- package/dist/templates/ribbons/RibbonType13_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType13_1.js +51 -0
- package/dist/templates/ribbons/RibbonType18.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType18.js +73 -0
- package/dist/templates/ribbons/RibbonType18_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType18_1.js +61 -0
- package/dist/templates/ribbons/RibbonType19.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType19.js +137 -0
- package/dist/templates/ribbons/RibbonType19_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType19_1.js +92 -0
- package/dist/templates/ribbons/RibbonType2.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType2.js +53 -0
- package/dist/templates/ribbons/RibbonType21.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType21.js +122 -0
- package/dist/templates/ribbons/RibbonType22.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType22.js +72 -0
- package/dist/templates/ribbons/RibbonType23.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType23.js +104 -0
- package/dist/templates/ribbons/RibbonType23_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType23_1.js +104 -0
- package/dist/templates/ribbons/RibbonType24.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType24.js +77 -0
- package/dist/templates/ribbons/RibbonType24_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType24_1.js +71 -0
- package/dist/templates/ribbons/RibbonType26.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType26.js +113 -0
- package/dist/templates/ribbons/RibbonType27.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType27.js +93 -0
- package/dist/templates/ribbons/RibbonType27_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType27_1.js +62 -0
- package/dist/templates/ribbons/RibbonType34.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType34.js +160 -0
- package/dist/templates/ribbons/RibbonType35.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType35.js +145 -0
- package/dist/templates/ribbons/RibbonType35_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType35_1.js +128 -0
- package/dist/templates/ribbons/RibbonType4.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType4.js +139 -0
- package/dist/templates/ribbons/RibbonType45.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType45.js +142 -0
- package/dist/templates/ribbons/RibbonType46.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType46.js +38 -0
- package/dist/templates/ribbons/RibbonType5.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType5.js +49 -0
- package/dist/templates/ribbons/RibbonType53.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType53.js +61 -0
- package/dist/templates/ribbons/RibbonType57.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType57.js +52 -0
- package/dist/templates/ribbons/RibbonType6.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType6.js +72 -0
- package/dist/templates/ribbons/RibbonType61.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType61.js +109 -0
- package/dist/templates/ribbons/RibbonType7.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType7.js +110 -0
- package/dist/templates/ribbons/RibbonType7_1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType7_1.js +110 -0
- package/dist/templates/ribbons/RibbonType8.d.ts +2 -0
- package/dist/templates/ribbons/RibbonType8.js +104 -0
- package/dist/templates/ribbons/RibbonWing1.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing1.js +97 -0
- package/dist/templates/ribbons/RibbonWing10.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing10.js +70 -0
- package/dist/templates/ribbons/RibbonWing11.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing11.js +76 -0
- package/dist/templates/ribbons/RibbonWing12.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing12.js +82 -0
- package/dist/templates/ribbons/RibbonWing14.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing14.js +66 -0
- package/dist/templates/ribbons/RibbonWing2.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing2.js +66 -0
- package/dist/templates/ribbons/RibbonWing3.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing3.js +82 -0
- package/dist/templates/ribbons/RibbonWing4.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing4.js +94 -0
- package/dist/templates/ribbons/RibbonWing5.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing5.js +66 -0
- package/dist/templates/ribbons/RibbonWing6.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing6.js +246 -0
- package/dist/templates/ribbons/RibbonWing7.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing7.js +76 -0
- package/dist/templates/ribbons/RibbonWing8.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing8.js +76 -0
- package/dist/templates/ribbons/RibbonWing9.d.ts +2 -0
- package/dist/templates/ribbons/RibbonWing9.js +66 -0
- package/dist/templates/ribbons/index.d.ts +93 -0
- package/dist/templates/ribbons/index.js +97 -0
- package/dist/templates/svgTemplate.d.ts +8 -0
- package/dist/templates/svgTemplate.js +704 -0
- package/dist/util.d.ts +1 -0
- package/dist/util.js +32 -0
- package/dist/utils/generateAchievementFile.d.ts +12 -0
- package/dist/utils/generateAchievementFile.js +75 -0
- package/dist/utils/generateAchievementHTML.d.ts +2 -0
- package/dist/utils/generateAchievementHTML.js +310 -0
- package/dist/utils/generateDesignFile.d.ts +12 -0
- package/dist/utils/generateDesignFile.js +75 -0
- package/dist/utils/generateDesignHTML.d.ts +2 -0
- package/dist/utils/generateDesignHTML.js +289 -0
- package/dist/utils/getBindingValue.d.ts +1 -0
- package/dist/utils/getBindingValue.js +98 -0
- package/package.json +23 -0
- package/src/constants/componentsDirection.ts +44 -0
- package/src/index.ts +4 -0
- package/src/interface/index.ts +142 -0
- package/src/templates/badges/BadgeType1.ts +48 -0
- package/src/templates/badges/BadgeType10.ts +83 -0
- package/src/templates/badges/BadgeType11.ts +110 -0
- package/src/templates/badges/BadgeType12.ts +96 -0
- package/src/templates/badges/BadgeType13.ts +55 -0
- package/src/templates/badges/BadgeType14.ts +79 -0
- package/src/templates/badges/BadgeType15.ts +59 -0
- package/src/templates/badges/BadgeType16.ts +191 -0
- package/src/templates/badges/BadgeType17.ts +86 -0
- package/src/templates/badges/BadgeType18.ts +52 -0
- package/src/templates/badges/BadgeType19.ts +82 -0
- package/src/templates/badges/BadgeType2.ts +50 -0
- package/src/templates/badges/BadgeType20.ts +100 -0
- package/src/templates/badges/BadgeType21.ts +66 -0
- package/src/templates/badges/BadgeType22.ts +61 -0
- package/src/templates/badges/BadgeType23.ts +58 -0
- package/src/templates/badges/BadgeType24.ts +62 -0
- package/src/templates/badges/BadgeType25.ts +60 -0
- package/src/templates/badges/BadgeType26.ts +84 -0
- package/src/templates/badges/BadgeType27.ts +65 -0
- package/src/templates/badges/BadgeType28.ts +67 -0
- package/src/templates/badges/BadgeType29.ts +116 -0
- package/src/templates/badges/BadgeType3.ts +95 -0
- package/src/templates/badges/BadgeType30.ts +42 -0
- package/src/templates/badges/BadgeType31.ts +165 -0
- package/src/templates/badges/BadgeType32.ts +102 -0
- package/src/templates/badges/BadgeType33.ts +116 -0
- package/src/templates/badges/BadgeType34.ts +158 -0
- package/src/templates/badges/BadgeType35.ts +54 -0
- package/src/templates/badges/BadgeType36.ts +147 -0
- package/src/templates/badges/BadgeType37.ts +146 -0
- package/src/templates/badges/BadgeType38.ts +115 -0
- package/src/templates/badges/BadgeType39.ts +105 -0
- package/src/templates/badges/BadgeType4.ts +72 -0
- package/src/templates/badges/BadgeType40.ts +124 -0
- package/src/templates/badges/BadgeType41.ts +66 -0
- package/src/templates/badges/BadgeType42.ts +110 -0
- package/src/templates/badges/BadgeType43.ts +84 -0
- package/src/templates/badges/BadgeType44.ts +45 -0
- package/src/templates/badges/BadgeType45.ts +93 -0
- package/src/templates/badges/BadgeType46.ts +191 -0
- package/src/templates/badges/BadgeType47.ts +14 -0
- package/src/templates/badges/BadgeType48.ts +11 -0
- package/src/templates/badges/BadgeType49.ts +33 -0
- package/src/templates/badges/BadgeType5.ts +85 -0
- package/src/templates/badges/BadgeType50.ts +35 -0
- package/src/templates/badges/BadgeType51.ts +191 -0
- package/src/templates/badges/BadgeType52.ts +51 -0
- package/src/templates/badges/BadgeType53.ts +90 -0
- package/src/templates/badges/BadgeType54.ts +154 -0
- package/src/templates/badges/BadgeType55.ts +241 -0
- package/src/templates/badges/BadgeType56.ts +79 -0
- package/src/templates/badges/BadgeType57.ts +204 -0
- package/src/templates/badges/BadgeType58.ts +67 -0
- package/src/templates/badges/BadgeType59.ts +69 -0
- package/src/templates/badges/BadgeType6.ts +61 -0
- package/src/templates/badges/BadgeType60.ts +91 -0
- package/src/templates/badges/BadgeType61.ts +60 -0
- package/src/templates/badges/BadgeType62.ts +130 -0
- package/src/templates/badges/BadgeType63.ts +84 -0
- package/src/templates/badges/BadgeType64.ts +214 -0
- package/src/templates/badges/BadgeType65.ts +137 -0
- package/src/templates/badges/BadgeType66.ts +75 -0
- package/src/templates/badges/BadgeType67.ts +100 -0
- package/src/templates/badges/BadgeType68.ts +168 -0
- package/src/templates/badges/BadgeType69.ts +61 -0
- package/src/templates/badges/BadgeType7.ts +76 -0
- package/src/templates/badges/BadgeType70.ts +85 -0
- package/src/templates/badges/BadgeType71.ts +109 -0
- package/src/templates/badges/BadgeType8.ts +46 -0
- package/src/templates/badges/BadgeType9.ts +171 -0
- package/src/templates/badges/index.ts +147 -0
- package/src/templates/certificates/NewCertificateType1.ts +67 -0
- package/src/templates/certificates/NewCertificateType10.ts +109 -0
- package/src/templates/certificates/NewCertificateType11.ts +380 -0
- package/src/templates/certificates/NewCertificateType12.ts +540 -0
- package/src/templates/certificates/NewCertificateType13.ts +252 -0
- package/src/templates/certificates/NewCertificateType14.ts +236 -0
- package/src/templates/certificates/NewCertificateType15.ts +175 -0
- package/src/templates/certificates/NewCertificateType16.ts +167 -0
- package/src/templates/certificates/NewCertificateType17.ts +236 -0
- package/src/templates/certificates/NewCertificateType18.ts +5485 -0
- package/src/templates/certificates/NewCertificateType19.ts +792 -0
- package/src/templates/certificates/NewCertificateType2.ts +94 -0
- package/src/templates/certificates/NewCertificateType20.ts +467 -0
- package/src/templates/certificates/NewCertificateType21.ts +246 -0
- package/src/templates/certificates/NewCertificateType22.ts +125 -0
- package/src/templates/certificates/NewCertificateType23.ts +206 -0
- package/src/templates/certificates/NewCertificateType24.ts +162 -0
- package/src/templates/certificates/NewCertificateType25.ts +325 -0
- package/src/templates/certificates/NewCertificateType26.ts +151 -0
- package/src/templates/certificates/NewCertificateType27.ts +339 -0
- package/src/templates/certificates/NewCertificateType28.ts +145 -0
- package/src/templates/certificates/NewCertificateType29.ts +125 -0
- package/src/templates/certificates/NewCertificateType3.ts +140 -0
- package/src/templates/certificates/NewCertificateType30.ts +246 -0
- package/src/templates/certificates/NewCertificateType31.ts +220 -0
- package/src/templates/certificates/NewCertificateType32.ts +85 -0
- package/src/templates/certificates/NewCertificateType33.ts +134 -0
- package/src/templates/certificates/NewCertificateType34.ts +217 -0
- package/src/templates/certificates/NewCertificateType4.ts +178 -0
- package/src/templates/certificates/NewCertificateType5.ts +189 -0
- package/src/templates/certificates/NewCertificateType6.ts +187 -0
- package/src/templates/certificates/NewCertificateType6Single.ts +170 -0
- package/src/templates/certificates/NewCertificateType7.ts +155 -0
- package/src/templates/certificates/NewCertificateType7Single.ts +157 -0
- package/src/templates/certificates/NewCertificateType8.ts +168 -0
- package/src/templates/certificates/NewCertificateType9.ts +368 -0
- package/src/templates/certificates/NewEmptyLandscapeCertificate.ts +27 -0
- package/src/templates/certificates/NewEmptyPortraitCertificate.ts +27 -0
- package/src/templates/certificates/index.ts +80 -0
- package/src/templates/icons/IconArrow.ts +25 -0
- package/src/templates/icons/IconBg1.ts +32 -0
- package/src/templates/icons/IconBg2.ts +47 -0
- package/src/templates/icons/IconBg3.ts +36 -0
- package/src/templates/icons/IconBg4.ts +36 -0
- package/src/templates/icons/IconBg5.ts +69 -0
- package/src/templates/icons/IconBg6.ts +110 -0
- package/src/templates/icons/IconBg7.ts +90 -0
- package/src/templates/icons/IconBg8.ts +36 -0
- package/src/templates/icons/IconBg9.ts +53 -0
- package/src/templates/icons/IconBottomLeft1.ts +26 -0
- package/src/templates/icons/IconBottomLeft2.ts +40 -0
- package/src/templates/icons/IconBottomRight1.ts +26 -0
- package/src/templates/icons/IconBottomRight2.ts +40 -0
- package/src/templates/icons/IconContainer1.ts +87 -0
- package/src/templates/icons/IconContainer2.ts +30 -0
- package/src/templates/icons/IconContainer3.ts +27 -0
- package/src/templates/icons/IconContainer4.ts +29 -0
- package/src/templates/icons/IconContainer5.ts +313 -0
- package/src/templates/icons/IconDonut.ts +27 -0
- package/src/templates/icons/IconEllipse1.ts +42 -0
- package/src/templates/icons/IconEllipse2.ts +43 -0
- package/src/templates/icons/IconEtc1.ts +49 -0
- package/src/templates/icons/IconEtc2.ts +66 -0
- package/src/templates/icons/IconEtc3.ts +40 -0
- package/src/templates/icons/IconFrame1.ts +25 -0
- package/src/templates/icons/IconFrame2.ts +25 -0
- package/src/templates/icons/IconFrame3.ts +25 -0
- package/src/templates/icons/IconFrame4.ts +87 -0
- package/src/templates/icons/IconGear.ts +61 -0
- package/src/templates/icons/IconMedal.ts +51 -0
- package/src/templates/icons/IconMortarboard1.ts +35 -0
- package/src/templates/icons/IconMortarboard2.ts +35 -0
- package/src/templates/icons/IconMortarboard3.ts +42 -0
- package/src/templates/icons/IconMortarboard4.ts +47 -0
- package/src/templates/icons/IconMortarboard5.ts +75 -0
- package/src/templates/icons/IconPhrase1.ts +233 -0
- package/src/templates/icons/IconPhrase2.ts +30 -0
- package/src/templates/icons/IconPhrase3.ts +25 -0
- package/src/templates/icons/IconPhrase4.ts +27 -0
- package/src/templates/icons/IconPillar1.ts +74 -0
- package/src/templates/icons/IconPillar2.ts +125 -0
- package/src/templates/icons/IconSkewedLeft.ts +23 -0
- package/src/templates/icons/IconSkewedRight.ts +29 -0
- package/src/templates/icons/IconSmallType1.ts +28 -0
- package/src/templates/icons/IconSmallType10.ts +26 -0
- package/src/templates/icons/IconSmallType2.ts +30 -0
- package/src/templates/icons/IconSmallType3.ts +25 -0
- package/src/templates/icons/IconSmallType4.ts +32 -0
- package/src/templates/icons/IconSmallType5.ts +25 -0
- package/src/templates/icons/IconSmallType6.ts +29 -0
- package/src/templates/icons/IconSmallType7.ts +27 -0
- package/src/templates/icons/IconSmallType8.ts +25 -0
- package/src/templates/icons/IconSmallType9.ts +25 -0
- package/src/templates/icons/IconSpring1.ts +70 -0
- package/src/templates/icons/IconSpring2.ts +65 -0
- package/src/templates/icons/IconStar.ts +33 -0
- package/src/templates/icons/IconStar2.ts +31 -0
- package/src/templates/icons/IconStar3.ts +35 -0
- package/src/templates/icons/IconStar4.ts +45 -0
- package/src/templates/icons/IconStar5.ts +111 -0
- package/src/templates/icons/IconStar6.ts +31 -0
- package/src/templates/icons/IconTopLeft1.ts +26 -0
- package/src/templates/icons/IconTopLeft2.ts +40 -0
- package/src/templates/icons/IconTopRight1.ts +26 -0
- package/src/templates/icons/IconTopRight2.ts +40 -0
- package/src/templates/icons/IconTrophy1.ts +45 -0
- package/src/templates/icons/IconTrophy2.ts +60 -0
- package/src/templates/icons/IconTrophy3.ts +44 -0
- package/src/templates/icons/IconTrophy4.ts +44 -0
- package/src/templates/icons/IconType47.ts +30 -0
- package/src/templates/icons/IconWave1.ts +63 -0
- package/src/templates/icons/IconWave2.ts +50 -0
- package/src/templates/icons/index.ts +170 -0
- package/src/templates/ribbons/RibbonType1.ts +79 -0
- package/src/templates/ribbons/RibbonType12.ts +88 -0
- package/src/templates/ribbons/RibbonType13.ts +81 -0
- package/src/templates/ribbons/RibbonType13_1.ts +53 -0
- package/src/templates/ribbons/RibbonType18.ts +77 -0
- package/src/templates/ribbons/RibbonType18_1.ts +63 -0
- package/src/templates/ribbons/RibbonType19.ts +141 -0
- package/src/templates/ribbons/RibbonType19_1.ts +94 -0
- package/src/templates/ribbons/RibbonType2.ts +56 -0
- package/src/templates/ribbons/RibbonType21.ts +125 -0
- package/src/templates/ribbons/RibbonType22.ts +74 -0
- package/src/templates/ribbons/RibbonType23.ts +106 -0
- package/src/templates/ribbons/RibbonType23_1.ts +106 -0
- package/src/templates/ribbons/RibbonType24.ts +80 -0
- package/src/templates/ribbons/RibbonType24_1.ts +73 -0
- package/src/templates/ribbons/RibbonType26.ts +116 -0
- package/src/templates/ribbons/RibbonType27.ts +97 -0
- package/src/templates/ribbons/RibbonType27_1.ts +64 -0
- package/src/templates/ribbons/RibbonType34.ts +163 -0
- package/src/templates/ribbons/RibbonType35.ts +148 -0
- package/src/templates/ribbons/RibbonType35_1.ts +130 -0
- package/src/templates/ribbons/RibbonType4.ts +142 -0
- package/src/templates/ribbons/RibbonType45.ts +145 -0
- package/src/templates/ribbons/RibbonType46.ts +40 -0
- package/src/templates/ribbons/RibbonType5.ts +52 -0
- package/src/templates/ribbons/RibbonType53.ts +63 -0
- package/src/templates/ribbons/RibbonType57.ts +54 -0
- package/src/templates/ribbons/RibbonType6.ts +75 -0
- package/src/templates/ribbons/RibbonType61.ts +112 -0
- package/src/templates/ribbons/RibbonType7.ts +113 -0
- package/src/templates/ribbons/RibbonType7_1.ts +113 -0
- package/src/templates/ribbons/RibbonType8.ts +107 -0
- package/src/templates/ribbons/RibbonWing1.ts +100 -0
- package/src/templates/ribbons/RibbonWing10.ts +72 -0
- package/src/templates/ribbons/RibbonWing11.ts +78 -0
- package/src/templates/ribbons/RibbonWing12.ts +84 -0
- package/src/templates/ribbons/RibbonWing14.ts +68 -0
- package/src/templates/ribbons/RibbonWing2.ts +68 -0
- package/src/templates/ribbons/RibbonWing3.ts +84 -0
- package/src/templates/ribbons/RibbonWing4.ts +96 -0
- package/src/templates/ribbons/RibbonWing5.ts +68 -0
- package/src/templates/ribbons/RibbonWing6.ts +248 -0
- package/src/templates/ribbons/RibbonWing7.ts +78 -0
- package/src/templates/ribbons/RibbonWing8.ts +78 -0
- package/src/templates/ribbons/RibbonWing9.ts +68 -0
- package/src/templates/ribbons/index.ts +99 -0
- package/src/templates/svgTemplate.ts +727 -0
- package/src/util.ts +20 -0
- package/src/utils/generateAchievementFile.ts +72 -0
- package/src/utils/generateAchievementHTML.ts +356 -0
- package/src/utils/generateDesignFile.ts +72 -0
- package/src/utils/generateDesignHTML.ts +324 -0
- package/src/utils/getBindingValue.ts +153 -0
- package/test/certificate.html +290 -0
- package/test/certificate.png +0 -0
- package/test/certificate_base64.png +0 -0
- package/test/test.js +601 -0
- package/tsconfig.json +12 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.generateDesignHTML = generateDesignHTML;
|
|
16
|
+
const interface_1 = require("../interface");
|
|
17
|
+
const getBindingValue_1 = require("./getBindingValue");
|
|
18
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
19
|
+
const svgTemplate_1 = require("../templates/svgTemplate");
|
|
20
|
+
const certificates_1 = __importDefault(require("../templates/certificates"));
|
|
21
|
+
const componentsDirection_1 = require("../constants/componentsDirection");
|
|
22
|
+
function convertImageToBase64(url) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
try {
|
|
25
|
+
// URL이 이미 baseUrl을 포함하고 있는지 확인
|
|
26
|
+
let finalUrls = [];
|
|
27
|
+
finalUrls = url.split("https://");
|
|
28
|
+
const finalUrl = "https://" + finalUrls.pop();
|
|
29
|
+
const response = yield fetch(finalUrl, {
|
|
30
|
+
credentials: "include",
|
|
31
|
+
headers: {
|
|
32
|
+
Accept: "image/*",
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
37
|
+
}
|
|
38
|
+
const contentType = response.headers.get("content-type");
|
|
39
|
+
if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith("image/"))) {
|
|
40
|
+
throw new Error(`Not an image! content-type: ${contentType}`);
|
|
41
|
+
}
|
|
42
|
+
const buffer = yield response.arrayBuffer();
|
|
43
|
+
const base64 = Buffer.from(buffer).toString("base64");
|
|
44
|
+
return `data:${contentType};base64,${base64}`;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error(`이미지 변환 실패: ${url}`, error);
|
|
48
|
+
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function generateDesignHTML(data_1) {
|
|
53
|
+
return __awaiter(this, arguments, void 0, function* (data, options = {}) {
|
|
54
|
+
const { size = 600, noSpace = false } = options;
|
|
55
|
+
// type에 따라 적절한 layout_json 선택
|
|
56
|
+
const elements = data.layout_json;
|
|
57
|
+
if (!elements || !Array.isArray(elements) || elements.length === 0) {
|
|
58
|
+
console.error("❌ [generateDesignHTML] layout_json이 비어 있음:", elements);
|
|
59
|
+
return `<div style="position: relative; width: 100%; height: 100%;"></div>`;
|
|
60
|
+
}
|
|
61
|
+
const sortedElements = elements.sort((a, b) => (a.order || 0) - (b.order || 0));
|
|
62
|
+
function isHorizontal(name) {
|
|
63
|
+
if (!name)
|
|
64
|
+
return false;
|
|
65
|
+
return !componentsDirection_1.portraitComponents.includes(name);
|
|
66
|
+
}
|
|
67
|
+
const templateComponentName = data === null || data === void 0 ? void 0 : data.template_type;
|
|
68
|
+
const isBadge = data === null || data === void 0 ? void 0 : data.template_type.includes("Badge");
|
|
69
|
+
const height = isBadge
|
|
70
|
+
? 600
|
|
71
|
+
: isHorizontal(templateComponentName)
|
|
72
|
+
? 810
|
|
73
|
+
: 1152;
|
|
74
|
+
const width = isBadge
|
|
75
|
+
? 600
|
|
76
|
+
: isHorizontal(templateComponentName)
|
|
77
|
+
? 1152
|
|
78
|
+
: 810;
|
|
79
|
+
let html = `
|
|
80
|
+
<!DOCTYPE html>
|
|
81
|
+
<html lang="ko">
|
|
82
|
+
<head>
|
|
83
|
+
<meta charset="UTF-8">
|
|
84
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
85
|
+
<title>Certificate</title>
|
|
86
|
+
<style>
|
|
87
|
+
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
|
|
88
|
+
* {
|
|
89
|
+
margin: 0;
|
|
90
|
+
padding: 0;
|
|
91
|
+
box-sizing: border-box;
|
|
92
|
+
}
|
|
93
|
+
body {
|
|
94
|
+
font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
|
|
95
|
+
-webkit-font-smoothing: antialiased;
|
|
96
|
+
-moz-osx-font-smoothing: grayscale;
|
|
97
|
+
}
|
|
98
|
+
</style>
|
|
99
|
+
</head>
|
|
100
|
+
<body style="
|
|
101
|
+
width: ${size}px;
|
|
102
|
+
height: ${size}px;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: center;
|
|
106
|
+
justify-content: center;
|
|
107
|
+
">
|
|
108
|
+
<div
|
|
109
|
+
style="
|
|
110
|
+
width: ${isHorizontal(templateComponentName)
|
|
111
|
+
? size
|
|
112
|
+
: size * (width / height)}px;
|
|
113
|
+
height: ${isHorizontal(templateComponentName)
|
|
114
|
+
? size * (height / width)
|
|
115
|
+
: size}px;
|
|
116
|
+
aspect-ratio: ${width / height};
|
|
117
|
+
${noSpace ? "position: absolute; top: 0; left: 0;" : ""}
|
|
118
|
+
"
|
|
119
|
+
>
|
|
120
|
+
<div style="
|
|
121
|
+
position: relative;
|
|
122
|
+
width: ${width}px;
|
|
123
|
+
height: ${height}px;
|
|
124
|
+
overflow: hidden;
|
|
125
|
+
transform: scale(${isHorizontal(templateComponentName) ? size / width : size / height});
|
|
126
|
+
transform-origin: top left;
|
|
127
|
+
">
|
|
128
|
+
`;
|
|
129
|
+
if (!isBadge) {
|
|
130
|
+
html += certificates_1.default[data === null || data === void 0 ? void 0 : data.template_type]({
|
|
131
|
+
mainColor: (data === null || data === void 0 ? void 0 : data.main_color) || "#000000",
|
|
132
|
+
subColor: (data === null || data === void 0 ? void 0 : data.sub_color) || "#000000",
|
|
133
|
+
extraColor1: (data === null || data === void 0 ? void 0 : data.extra_color_1) || "#000000",
|
|
134
|
+
extraColor2: (data === null || data === void 0 ? void 0 : data.extra_color_2) || "#000000",
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
for (const element of sortedElements) {
|
|
138
|
+
if (element.bindingKey === "requirements")
|
|
139
|
+
continue;
|
|
140
|
+
let bindingValue = null;
|
|
141
|
+
if (element.designType === interface_1.CERTIFICATE_DESIGN_TYPE.PROPS) {
|
|
142
|
+
bindingValue = (0, getBindingValue_1.getBindingValue)(element.type, element.bindingKey, data);
|
|
143
|
+
if (element.controlType === "text") {
|
|
144
|
+
element.text = bindingValue;
|
|
145
|
+
}
|
|
146
|
+
if (element.controlType === "image") {
|
|
147
|
+
element.src = bindingValue;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (bindingValue === null &&
|
|
151
|
+
element.designType === interface_1.CERTIFICATE_DESIGN_TYPE.PROPS)
|
|
152
|
+
continue;
|
|
153
|
+
const commonStyles = `
|
|
154
|
+
position: absolute;
|
|
155
|
+
top: ${element.y}px;
|
|
156
|
+
left: ${element.x}px;
|
|
157
|
+
width: ${element.bindingKey === "badge" ? "600px" : element.width + "px"};
|
|
158
|
+
height: ${element.bindingKey === "badge" ? "600px" : element.height + "px"};
|
|
159
|
+
background: transparent;
|
|
160
|
+
font-size: ${element.fontSize}px;
|
|
161
|
+
font-weight: ${element.fontWeight || "normal"};
|
|
162
|
+
font-style: ${element.fontStyle || "normal"};
|
|
163
|
+
text-decoration: ${element.textDecoration || "none"};
|
|
164
|
+
text-align: ${element.textAlign || "left"};
|
|
165
|
+
font-family: ${element.fontFamily || "inherit"};
|
|
166
|
+
color: ${element.color || "black"};
|
|
167
|
+
border: none;
|
|
168
|
+
padding: "0";
|
|
169
|
+
display: flex;
|
|
170
|
+
align-items: start;
|
|
171
|
+
justify-content: ${element.textAlign === "center"
|
|
172
|
+
? "center"
|
|
173
|
+
: element.textAlign === "left"
|
|
174
|
+
? "flex-start"
|
|
175
|
+
: "flex-end"};
|
|
176
|
+
padding-left: "0";
|
|
177
|
+
padding-right: "0";
|
|
178
|
+
word-break: break-word;
|
|
179
|
+
white-space: pre-wrap;
|
|
180
|
+
`;
|
|
181
|
+
if (element.controlType === "svg") {
|
|
182
|
+
const templates = element.designType === "badge"
|
|
183
|
+
? svgTemplate_1.badgeTemplates
|
|
184
|
+
: element.designType === "icon"
|
|
185
|
+
? svgTemplate_1.iconTemplates
|
|
186
|
+
: svgTemplate_1.ribbonTemplates;
|
|
187
|
+
const template = templates.find((t) => t.id === element.componentName);
|
|
188
|
+
if (template) {
|
|
189
|
+
const optimizedStyles = `
|
|
190
|
+
position: absolute;
|
|
191
|
+
top: ${element.y}px;
|
|
192
|
+
left: ${element.x}px;
|
|
193
|
+
width: ${element.width}px;
|
|
194
|
+
height: ${element.height}px;
|
|
195
|
+
isolation: isolate;
|
|
196
|
+
display: flex;
|
|
197
|
+
align-items: center;
|
|
198
|
+
justify-content: center;
|
|
199
|
+
will-change: transform, contents;
|
|
200
|
+
transform: translateZ(0);
|
|
201
|
+
backface-visibility: hidden;
|
|
202
|
+
`;
|
|
203
|
+
html += `<div style="${optimizedStyles}">`;
|
|
204
|
+
const svgString = template.Component({
|
|
205
|
+
mainColor: element.mainColor,
|
|
206
|
+
subColor: element.subColor,
|
|
207
|
+
extraColor1: element.extraColor1 || "#000000",
|
|
208
|
+
extraColor2: element.extraColor2 || "#000000",
|
|
209
|
+
});
|
|
210
|
+
if (typeof svgString === "string") {
|
|
211
|
+
// live-server 스크립트 제거
|
|
212
|
+
const cleanSvg = svgString.replace(/<!-- Code injected by live-server -->[\s\S]*?<\/script>/, "");
|
|
213
|
+
html += cleanSvg;
|
|
214
|
+
}
|
|
215
|
+
else if (svgString instanceof Element) {
|
|
216
|
+
html += svgString.outerHTML;
|
|
217
|
+
}
|
|
218
|
+
html += `</div>`;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
console.error(`❌ SVG 컴포넌트를 찾을 수 없음: ${element.componentName}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else if (element.controlType === "text") {
|
|
225
|
+
html += `<div style="${commonStyles}">${element.text || ""}</div>`;
|
|
226
|
+
}
|
|
227
|
+
else if (element.controlType === "image") {
|
|
228
|
+
html += `<div style="${commonStyles}">`;
|
|
229
|
+
if (element.bindingKey === "qr_code" && element.src) {
|
|
230
|
+
// QR 코드
|
|
231
|
+
try {
|
|
232
|
+
const qrCodeSvg = yield qrcode_1.default.toString(element.src, {
|
|
233
|
+
type: "svg",
|
|
234
|
+
width: element.width,
|
|
235
|
+
height: element.height,
|
|
236
|
+
errorCorrectionLevel: "H",
|
|
237
|
+
});
|
|
238
|
+
html += qrCodeSvg;
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
console.error("❌ QR 코드 생성 실패:", error);
|
|
242
|
+
html += `<div style="
|
|
243
|
+
background-color: #f5f5f5;
|
|
244
|
+
width: 100%;
|
|
245
|
+
height: 100%;
|
|
246
|
+
display: flex;
|
|
247
|
+
justify-content: center;
|
|
248
|
+
align-items: center;
|
|
249
|
+
">QR Code Error</div>`;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else if (element.src) {
|
|
253
|
+
// 이미지를 base64로 변환
|
|
254
|
+
const base64Image = yield convertImageToBase64(element.src);
|
|
255
|
+
html += `<img
|
|
256
|
+
src="${base64Image}"
|
|
257
|
+
alt="Uploaded"
|
|
258
|
+
style="
|
|
259
|
+
width: 100%;
|
|
260
|
+
height: 100%;
|
|
261
|
+
max-width: 100%;
|
|
262
|
+
max-height: 100%;
|
|
263
|
+
object-fit: contain;
|
|
264
|
+
align-self: center;
|
|
265
|
+
"
|
|
266
|
+
/>`;
|
|
267
|
+
}
|
|
268
|
+
html += `</div>`;
|
|
269
|
+
}
|
|
270
|
+
if (element.controlType === "line") {
|
|
271
|
+
html += `<div style="${commonStyles}">`;
|
|
272
|
+
html += `<div style="
|
|
273
|
+
background-color: ${element.color || "black"};
|
|
274
|
+
transform: ${element.isVertical ? "none" : "rotate(0deg)"};
|
|
275
|
+
width: ${element.isVertical ? `${element.lineWidth || 1}px` : "100%"};
|
|
276
|
+
height: ${element.isVertical ? "100%" : `${element.lineWidth || 1}px`};
|
|
277
|
+
"></div>
|
|
278
|
+
</div>`;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
html += `
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
</body>
|
|
285
|
+
</html>
|
|
286
|
+
`;
|
|
287
|
+
return html;
|
|
288
|
+
});
|
|
289
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getBindingValue: (type: string, bindingKey: string, data: any) => any;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBindingValue = void 0;
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
// 데이터 타입별 헬퍼 함수
|
|
7
|
+
const getAchievementValue = (bindingKey, achievementInfo) => {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!achievementInfo)
|
|
10
|
+
return null;
|
|
11
|
+
const { tags } = achievementInfo.achievementForm || {};
|
|
12
|
+
switch (bindingKey) {
|
|
13
|
+
case "period":
|
|
14
|
+
return achievementInfo.course_begin_at && achievementInfo.course_end_at
|
|
15
|
+
? `${(0, date_fns_1.format)(new Date(achievementInfo.course_begin_at), "yyyy.MM.dd")} ~ ${(0, date_fns_1.format)(new Date(achievementInfo.course_end_at), "yyyy.MM.dd")}`
|
|
16
|
+
: "-";
|
|
17
|
+
case "created_at":
|
|
18
|
+
return (0, date_fns_1.format)(new Date(achievementInfo.created_at), "yyyy.MM.dd");
|
|
19
|
+
case "certificate_number":
|
|
20
|
+
return achievementInfo.certificate_number || "";
|
|
21
|
+
case "tags":
|
|
22
|
+
return (tags === null || tags === void 0 ? void 0 : tags.length) ? tags.map((tag) => `#${tag}`).join(" ") : null;
|
|
23
|
+
case "qr_code":
|
|
24
|
+
return `https://kolleges.net/ko/${`test`}/achievement/${achievementInfo.id}`;
|
|
25
|
+
case "badge":
|
|
26
|
+
return achievementInfo;
|
|
27
|
+
case "expiration_date":
|
|
28
|
+
return achievementInfo.expiration_date || "";
|
|
29
|
+
default:
|
|
30
|
+
return ((_a = achievementInfo.achievementForm) === null || _a === void 0 ? void 0 : _a[bindingKey]) || null;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const getUserValue = (bindingKey, user) => {
|
|
34
|
+
return bindingKey === "name"
|
|
35
|
+
? (user === null || user === void 0 ? void 0 : user.name) || "홍길동"
|
|
36
|
+
: (user === null || user === void 0 ? void 0 : user[bindingKey]) || null;
|
|
37
|
+
};
|
|
38
|
+
const getClubValue = (bindingKey, kollegeInfo, achievementInfo) => {
|
|
39
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
40
|
+
if (!kollegeInfo)
|
|
41
|
+
return null;
|
|
42
|
+
let achievementForm;
|
|
43
|
+
if (achievementInfo.achievementForm) {
|
|
44
|
+
achievementForm = achievementInfo.achievementForm;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
achievementForm = achievementInfo;
|
|
48
|
+
}
|
|
49
|
+
if (bindingKey.startsWith("name_")) {
|
|
50
|
+
const index = Number(bindingKey.split("_")[1]) - 1;
|
|
51
|
+
return (((_b = (_a = achievementForm === null || achievementForm === void 0 ? void 0 : achievementForm.clubInstitutions) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.name) || "");
|
|
52
|
+
}
|
|
53
|
+
if (["sign_image_1", "sign_image_2", "club_symbol_1", "club_symbol_2"].includes(bindingKey)) {
|
|
54
|
+
const index = bindingKey.endsWith("1") ? 0 : 1;
|
|
55
|
+
const imageKey = bindingKey.includes("sign_image")
|
|
56
|
+
? "sign_image"
|
|
57
|
+
: "club_symbol";
|
|
58
|
+
return ((_d = (_c = achievementForm.clubInstitutions) === null || _c === void 0 ? void 0 : _c[index]) === null || _d === void 0 ? void 0 : _d.images)
|
|
59
|
+
? (_f = (_e = (0, util_1.groupByType)(achievementForm.clubInstitutions[index].images)[imageKey]) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.path
|
|
60
|
+
: null;
|
|
61
|
+
}
|
|
62
|
+
if (["club_logo", "sign_image", "club_symbol"].includes(bindingKey)) {
|
|
63
|
+
if (achievementForm.representativeInstitution) {
|
|
64
|
+
const groupByTypeImages = (0, util_1.groupByType)(achievementForm.representativeInstitution.images);
|
|
65
|
+
return (((_h = (_g = groupByTypeImages[bindingKey]) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.path) || null);
|
|
66
|
+
}
|
|
67
|
+
const groupByTypeImages = (0, util_1.groupByType)(kollegeInfo.images);
|
|
68
|
+
return (((_k = (_j = groupByTypeImages[bindingKey]) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.path) || null);
|
|
69
|
+
}
|
|
70
|
+
if (bindingKey === "name" &&
|
|
71
|
+
achievementForm.representativeInstitution) {
|
|
72
|
+
return (_l = achievementForm.representativeInstitution) === null || _l === void 0 ? void 0 : _l.name;
|
|
73
|
+
}
|
|
74
|
+
return (kollegeInfo === null || kollegeInfo === void 0 ? void 0 : kollegeInfo[bindingKey]) || null;
|
|
75
|
+
};
|
|
76
|
+
const getCustomValue = (bindingKey, achievementInfo) => {
|
|
77
|
+
var _a;
|
|
78
|
+
if (!(achievementInfo === null || achievementInfo === void 0 ? void 0 : achievementInfo.customAttributes))
|
|
79
|
+
return null;
|
|
80
|
+
return (((_a = achievementInfo.customAttributes.find((attr) => [`custom_${attr.attribute_tag}`, `custom-${attr.attribute_tag}`].includes(bindingKey))) === null || _a === void 0 ? void 0 : _a.attribute_value) || null);
|
|
81
|
+
};
|
|
82
|
+
// 🔥 메인 함수: 데이터 타입별로 자동 호출하도록 변경!
|
|
83
|
+
const getBindingValue = (type, bindingKey, data) => {
|
|
84
|
+
const { achievementInfo, user, kollegeInfo } = data;
|
|
85
|
+
switch (type) {
|
|
86
|
+
case "achievement":
|
|
87
|
+
return getAchievementValue(bindingKey, achievementInfo);
|
|
88
|
+
case "user":
|
|
89
|
+
return getUserValue(bindingKey, user);
|
|
90
|
+
case "club":
|
|
91
|
+
return getClubValue(bindingKey, kollegeInfo, achievementInfo);
|
|
92
|
+
case "custom":
|
|
93
|
+
return getCustomValue(bindingKey, achievementInfo);
|
|
94
|
+
default:
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.getBindingValue = getBindingValue;
|
package/package.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@blockspoon/cert-badge-renderer",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Render certificate and badge designs from Kolleges achievement data into HTML, PNG, or Base64.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"test": "node test/test.js"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [],
|
|
12
|
+
"author": "Blockspoon <support@kolleges.net>",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@sparticuz/chromium": "^133.0.0",
|
|
16
|
+
"date-fns": "^4.1.0",
|
|
17
|
+
"puppeteer": "^24.4.0",
|
|
18
|
+
"qrcode": "^1.5.4"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"typescript": "^5.0.0"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// 세로
|
|
2
|
+
export const portraitComponents = [
|
|
3
|
+
"NewCertificateType5",
|
|
4
|
+
"NewCertificateType6",
|
|
5
|
+
"NewCertificateType6Single",
|
|
6
|
+
"NewCertificateType9",
|
|
7
|
+
"NewCertificateType15",
|
|
8
|
+
"NewEmptyPortraitCertificate",
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
// 가로
|
|
12
|
+
export const landscapeComponents = [
|
|
13
|
+
"NewCertificateType1",
|
|
14
|
+
"NewCertificateType2",
|
|
15
|
+
"NewCertificateType3",
|
|
16
|
+
"NewCertificateType4",
|
|
17
|
+
"NewCertificateType7",
|
|
18
|
+
"NewCertificateType7Single",
|
|
19
|
+
"NewCertificateType8",
|
|
20
|
+
"NewCertificateType10",
|
|
21
|
+
"NewCertificateType11",
|
|
22
|
+
"NewCertificateType12",
|
|
23
|
+
"NewCertificateType13",
|
|
24
|
+
"NewCertificateType14",
|
|
25
|
+
"NewCertificateType16",
|
|
26
|
+
"NewCertificateType17",
|
|
27
|
+
"NewCertificateType18",
|
|
28
|
+
"NewCertificateType19",
|
|
29
|
+
"NewCertificateType20",
|
|
30
|
+
"NewCertificateType21",
|
|
31
|
+
"NewCertificateType22",
|
|
32
|
+
"NewCertificateType23",
|
|
33
|
+
"NewCertificateType24",
|
|
34
|
+
"NewCertificateType25",
|
|
35
|
+
"NewCertificateType26",
|
|
36
|
+
"NewCertificateType27",
|
|
37
|
+
"NewCertificateType29",
|
|
38
|
+
"NewCertificateType30",
|
|
39
|
+
"NewCertificateType31",
|
|
40
|
+
"NewCertificateType32",
|
|
41
|
+
"NewCertificateType33",
|
|
42
|
+
"NewCertificateType34",
|
|
43
|
+
"NewEmptyLandscapeCertificate",
|
|
44
|
+
];
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { generateAchievementFile } from './utils/generateAchievementFile';
|
|
2
|
+
export { generateAchievementHTML } from './utils/generateAchievementHTML';
|
|
3
|
+
export type { CertificateData, CertificateOptions } from './interface';
|
|
4
|
+
// export { getBindingValue } from "./utils/getBindingValue";
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export interface IKollegeItem {
|
|
2
|
+
name?: string;
|
|
3
|
+
images?: any;
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface IUserItem {
|
|
8
|
+
name: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface IAchievementFormItem {
|
|
13
|
+
achievementCertificateDesign?: IAchievementDesignItem;
|
|
14
|
+
achievementBadgeDesign?: IAchievementDesignItem;
|
|
15
|
+
clubInstitutions?: IOrganizationItem[];
|
|
16
|
+
course_begin_at?: string;
|
|
17
|
+
course_end_at?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
id?: number;
|
|
20
|
+
name?: string;
|
|
21
|
+
tags?: string[];
|
|
22
|
+
representativeInstitution?: any;
|
|
23
|
+
representativeInstitutionId?: number;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
export interface IAchievementItem {
|
|
27
|
+
achievementForm: IAchievementFormItem;
|
|
28
|
+
achievementFormId?: number;
|
|
29
|
+
admin_comment?: string;
|
|
30
|
+
certificate_number?: string;
|
|
31
|
+
course_begin_at?: string;
|
|
32
|
+
course_end_at?: string;
|
|
33
|
+
created_at?: string;
|
|
34
|
+
expiration_date?: string;
|
|
35
|
+
id?: number;
|
|
36
|
+
level?: number;
|
|
37
|
+
user: IUserItem;
|
|
38
|
+
customAttributes?: {
|
|
39
|
+
attribute_tag: string;
|
|
40
|
+
attribute_value: string;
|
|
41
|
+
}[];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface IOrganizationItem {
|
|
45
|
+
name?: string;
|
|
46
|
+
id?: number;
|
|
47
|
+
images?: any;
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export enum ACHIEVEMENT_IMAGES {
|
|
52
|
+
ACHIEVEMENT_FORM = "achievement_form",
|
|
53
|
+
BADGE_IMAGE = "badge_image",
|
|
54
|
+
// AVATAR_IMAGE = "avatar_image",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// 증명서 디자인
|
|
58
|
+
export enum CERTIFICATE_DESIGN_TYPE {
|
|
59
|
+
TEMPLATE = "template",
|
|
60
|
+
BACKGROUND = "background",
|
|
61
|
+
ICON = "icon",
|
|
62
|
+
TEXT = "text",
|
|
63
|
+
IMAGE = "image",
|
|
64
|
+
PROPS = "props",
|
|
65
|
+
RIBBON = "ribbon",
|
|
66
|
+
BADGE = "badge",
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface ElementStyle {
|
|
70
|
+
id: string;
|
|
71
|
+
controlType: "text" | "image" | "svg" | "line";
|
|
72
|
+
designType: CERTIFICATE_DESIGN_TYPE;
|
|
73
|
+
order?: number; // 추가
|
|
74
|
+
text?: string;
|
|
75
|
+
src?: string;
|
|
76
|
+
type?: string;
|
|
77
|
+
bindingKey?: string;
|
|
78
|
+
fontSize?: number;
|
|
79
|
+
fontWeight?: string;
|
|
80
|
+
textAlign?: "left" | "center" | "right";
|
|
81
|
+
verticalAlign?: "top" | "middle" | "bottom"; // 추가
|
|
82
|
+
fontFamily?: string;
|
|
83
|
+
fontStyle?: string;
|
|
84
|
+
textDecoration?: string;
|
|
85
|
+
background?: string;
|
|
86
|
+
color?: string;
|
|
87
|
+
width: number;
|
|
88
|
+
height: number;
|
|
89
|
+
x: number;
|
|
90
|
+
y: number;
|
|
91
|
+
//svg
|
|
92
|
+
componentName?: string;
|
|
93
|
+
mainColor?: string;
|
|
94
|
+
subColor?: string;
|
|
95
|
+
extraColor1?: string;
|
|
96
|
+
extraColor2?: string;
|
|
97
|
+
isVertical?: boolean;
|
|
98
|
+
lineWidth?: number;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface IAchievementDesignItem {
|
|
102
|
+
id: number;
|
|
103
|
+
name: string;
|
|
104
|
+
main_color: string;
|
|
105
|
+
sub_color: string;
|
|
106
|
+
layout_json: ElementStyle[];
|
|
107
|
+
template_type: string;
|
|
108
|
+
image: any;
|
|
109
|
+
extra_color_1: string;
|
|
110
|
+
extra_color_2: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface ISvgProps {
|
|
114
|
+
mainColor?: string;
|
|
115
|
+
subColor?: string;
|
|
116
|
+
extraColor1?: string;
|
|
117
|
+
extraColor2?: string;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// export interface CertificateData {
|
|
121
|
+
// user: IUserItem;
|
|
122
|
+
// kollegeInfo: IKollegeItem;
|
|
123
|
+
// achievementInfo: IAchievementItem;
|
|
124
|
+
// }
|
|
125
|
+
export interface CertificateData {
|
|
126
|
+
user: any;
|
|
127
|
+
kollegeInfo: any;
|
|
128
|
+
achievementInfo: any;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface CertificateOptions {
|
|
132
|
+
type?: string; //"badge" | "certificate";
|
|
133
|
+
size?: number;
|
|
134
|
+
returnType?: string; //"file" | "base64";
|
|
135
|
+
noSpace?: boolean;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface DesignOptions {
|
|
139
|
+
size?: number;
|
|
140
|
+
returnType?: string; //"file" | "base64";
|
|
141
|
+
noSpace?: boolean;
|
|
142
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ISvgProps } from "../../interface";
|
|
2
|
+
|
|
3
|
+
export function createBadgeType1({
|
|
4
|
+
mainColor = "#96A6B4",
|
|
5
|
+
subColor = "#96A6B4",
|
|
6
|
+
}: ISvgProps): string {
|
|
7
|
+
const paintId0 = `paint0_linear_${Math.random().toString(36).substr(2, 9)}`;
|
|
8
|
+
|
|
9
|
+
return `
|
|
10
|
+
<svg
|
|
11
|
+
width="100%"
|
|
12
|
+
height="100%"
|
|
13
|
+
viewBox="0 0 496 496"
|
|
14
|
+
fill="none"
|
|
15
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
+
preserveAspectRatio="xMidYMid meet"
|
|
17
|
+
style={{
|
|
18
|
+
width: "100%",
|
|
19
|
+
height: "100%",
|
|
20
|
+
objectFit: "contain",
|
|
21
|
+
position: "absolute",
|
|
22
|
+
left: "50%",
|
|
23
|
+
top: "50%",
|
|
24
|
+
transform: "translate(-50%, -50%)",
|
|
25
|
+
maxWidth: "100%",
|
|
26
|
+
maxHeight: "100%",
|
|
27
|
+
zIndex: 1,
|
|
28
|
+
mixBlendMode: "normal",
|
|
29
|
+
pointerEvents: "none",
|
|
30
|
+
display: "block",
|
|
31
|
+
}}
|
|
32
|
+
>
|
|
33
|
+
<path
|
|
34
|
+
d="M260.835 12.7755L291.197 2.18051C306.272 -3.09063 323.087 1.38984 333.524 13.5135L354.503 37.8661C360.249 44.5605 368.103 49.0936 376.748 50.7277L408.322 56.6841C424.03 59.6359 436.311 71.9704 439.316 87.6784L445.272 119.252C446.906 127.897 451.44 135.751 458.134 141.497L482.487 162.476C494.61 172.913 499.091 189.728 493.819 204.803L483.224 235.165C480.325 243.493 480.325 252.56 483.224 260.835L493.819 291.197C499.091 306.272 494.61 323.087 482.487 333.524L458.134 354.503C451.44 360.249 446.906 368.103 445.272 376.748L439.316 408.322C436.364 424.03 424.03 436.311 408.322 439.316L376.748 445.272C368.103 446.906 360.249 451.44 354.503 458.134L333.524 482.487C323.087 494.61 306.272 499.091 291.197 493.819L260.835 483.224C252.507 480.325 243.44 480.325 235.165 483.224L204.803 493.819C189.728 499.091 172.913 494.61 162.476 482.487L141.497 458.134C135.751 451.44 127.897 446.906 119.252 445.272L87.6784 439.316C71.9704 436.364 59.6886 424.03 56.6841 408.322L50.7277 376.748C49.0936 368.103 44.5605 360.249 37.8661 354.503L13.5135 333.524C1.38984 323.087 -3.09063 306.272 2.18051 291.197L12.7755 260.835C15.6746 252.507 15.6746 243.44 12.7755 235.165L2.18051 204.803C-3.09063 189.728 1.38984 172.913 13.5135 162.476L37.8661 141.497C44.5605 135.751 49.0936 127.897 50.7277 119.252L56.6841 87.6784C59.6359 71.9704 71.9704 59.6886 87.6784 56.6841L119.252 50.7277C127.897 49.0936 135.751 44.5605 141.497 37.8661L162.476 13.5135C172.913 1.38984 189.728 -3.09063 204.803 2.18051L235.165 12.7755C243.493 15.6746 252.56 15.6746 260.835 12.7755Z"
|
|
35
|
+
fill="${mainColor}"
|
|
36
|
+
/>
|
|
37
|
+
<path
|
|
38
|
+
d="M260.266 23.2088L289.281 13.0838C303.688 8.04646 319.757 12.3282 329.731 23.9141L349.779 47.1866C355.27 53.584 362.776 57.9161 371.037 59.4777L401.211 65.1699C416.222 67.9908 427.959 79.7781 430.83 94.7894L436.522 124.963C438.084 133.224 442.416 140.73 448.813 146.221L472.086 166.269C483.672 176.243 487.954 192.312 482.916 206.719L472.791 235.734C470.021 243.693 470.021 252.357 472.791 260.266L482.916 289.281C487.954 303.688 483.672 319.757 472.086 329.731L448.813 349.779C442.416 355.27 438.084 362.776 436.522 371.037L430.83 401.211C428.009 416.222 416.222 427.959 401.211 430.83L371.037 436.522C362.776 438.084 355.27 442.416 349.779 448.813L329.731 472.086C319.757 483.672 303.688 487.954 289.281 482.916L260.266 472.791C252.307 470.021 243.643 470.021 235.734 472.791L206.719 482.916C192.312 487.954 176.243 483.672 166.269 472.086L146.221 448.813C140.73 442.416 133.224 438.084 124.963 436.522L94.7894 430.83C79.7781 428.009 68.0411 416.222 65.1699 401.211L59.4777 371.037C57.9161 362.776 53.584 355.27 47.1866 349.779L23.9141 329.731C12.3282 319.757 8.04646 303.688 13.0838 289.281L23.2088 260.266C25.9794 252.307 25.9794 243.643 23.2088 235.734L13.0838 206.719C8.04646 192.312 12.3282 176.243 23.9141 166.269L47.1866 146.221C53.584 140.73 57.9161 133.224 59.4777 124.963L65.1699 94.7894C67.9908 79.7781 79.7781 68.0411 94.7894 65.1699L124.963 59.4777C133.224 57.9161 140.73 53.584 146.221 47.1866L166.269 23.9141C176.243 12.3282 192.312 8.04646 206.719 13.0838L235.734 23.2088C243.693 25.9794 252.357 25.9794 260.266 23.2088Z"
|
|
39
|
+
fill="${subColor}"
|
|
40
|
+
/>
|
|
41
|
+
<path
|
|
42
|
+
d="M287.695 24.931L287.694 24.9312L260.027 34.586C252.271 37.3031 243.776 37.3024 235.975 34.5866L235.974 34.5864L208.306 24.9312L208.305 24.931C194.954 20.2629 180.063 24.2312 170.82 34.9671L170.82 34.9674L151.703 57.1583C146.32 63.4312 138.96 67.679 130.859 69.2103L130.859 69.2103L102.088 74.6378C102.088 74.6379 102.087 74.638 102.087 74.6381C88.1732 77.3001 77.2518 88.1785 74.6384 102.085L74.6383 102.086L69.2103 130.859L69.2103 130.859C67.679 138.96 63.4312 146.32 57.1583 151.703L34.9674 170.82L34.9671 170.82C24.2312 180.063 20.2629 194.954 24.931 208.305L24.9312 208.306L34.586 235.973C37.3031 243.729 37.3024 252.224 34.5866 260.025L34.5864 260.026L24.9312 287.694L24.931 287.695C20.2629 301.046 24.2312 315.937 34.9671 325.18L34.9674 325.18L57.1583 344.297L287.695 24.931ZM287.695 24.931C301.046 20.2629 315.937 24.2312 325.18 34.9671L325.18 34.9674M287.695 24.931L325.18 34.9674M325.18 34.9674L344.297 57.1583L325.18 34.9674ZM365.141 69.2103L365.141 69.2103C357.041 67.6791 349.682 63.4319 344.298 57.1597L365.141 69.2103ZM365.141 69.2103L393.914 74.6383L393.915 74.6384M365.141 69.2103L393.915 74.6384M393.915 74.6384C407.822 77.2519 418.701 88.1739 421.362 102.088L426.79 130.859L426.79 130.859L393.915 74.6384ZM461.033 170.82L461.033 170.82L438.842 151.703C438.841 151.703 438.841 151.703 438.84 151.702L438.84 151.702L439.493 150.945L461.033 170.82ZM461.033 170.82C471.769 180.063 475.737 194.954 471.069 208.305L471.069 208.306M461.033 170.82L471.069 208.306M471.069 208.306L461.414 235.974L461.413 235.975M471.069 208.306L461.413 235.975M461.413 235.975C458.698 243.776 458.697 252.271 461.414 260.027L471.069 287.694L471.069 287.695M461.413 235.975L471.069 287.695M471.069 287.695C475.737 301.046 471.769 315.937 461.033 325.18L461.033 325.18M471.069 287.695L461.033 325.18M461.033 325.18L438.842 344.297L461.033 325.18ZM426.79 365.141L426.79 365.141C428.321 357.041 432.568 349.682 438.84 344.298L426.79 365.141ZM426.79 365.141L421.362 393.914L421.362 393.915M426.79 365.141L421.362 393.915M421.362 393.915C418.748 407.822 407.826 418.701 393.912 421.362L365.141 426.79L365.141 426.79M421.362 393.915L365.141 426.79M365.141 426.79C357.041 428.321 349.682 432.568 344.298 438.84L365.141 426.79ZM325.18 461.033L325.18 461.033L344.297 438.842L325.18 461.033ZM325.18 461.033C315.937 471.769 301.046 475.737 287.695 471.069L287.694 471.069M325.18 461.033L287.694 471.069M287.694 471.069L260.026 461.414L260.025 461.413M287.694 471.069L260.025 461.413M260.025 461.413C252.224 458.698 243.729 458.697 235.973 461.414L208.306 471.069L208.305 471.069M260.025 461.413L208.305 471.069M208.305 471.069C194.954 475.737 180.063 471.769 170.82 461.033L170.82 461.033M208.305 471.069L170.82 461.033M170.82 461.033L151.703 438.842L170.82 461.033ZM130.859 426.79L130.859 426.79C138.96 428.321 146.319 432.568 151.702 438.84L151.702 438.84L130.859 426.79ZM130.859 426.79L102.086 421.362L102.085 421.362M130.859 426.79L102.085 421.362M102.085 421.362C88.178 418.748 77.2993 407.826 74.6378 393.912L69.2103 365.141L69.2103 365.141M102.085 421.362L69.2103 365.141M69.2103 365.141C67.6791 357.041 63.4319 349.682 57.1597 344.298L69.2103 365.141Z"
|
|
43
|
+
stroke="${mainColor}"
|
|
44
|
+
stroke-width="2"
|
|
45
|
+
/>
|
|
46
|
+
</svg>
|
|
47
|
+
`;
|
|
48
|
+
}
|