@peculiar/certificates-viewer 4.3.1 → 4.4.0
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/components/actions.js +1 -0
- package/components/actions.js.map +1 -1
- package/components/arrow_top.js +1 -0
- package/components/arrow_top.js.map +1 -1
- package/components/attribute-certificate-viewer.js +23 -22
- package/components/attribute-certificate-viewer.js.map +1 -1
- package/components/attribute.js +4 -3
- package/components/attribute.js.map +1 -1
- package/components/button-menu.js +4 -4
- package/components/button-menu.js.map +1 -1
- package/components/button.js +1 -0
- package/components/button.js.map +1 -1
- package/components/certificate-chain-viewer.js +64 -0
- package/components/certificate-chain-viewer.js.map +1 -0
- package/components/certificate-viewer.js +21 -21
- package/components/certificate-viewer.js.map +1 -1
- package/components/circular-progress.js +12 -6
- package/components/circular-progress.js.map +1 -1
- package/components/crl-viewer.js +22 -20
- package/components/crl-viewer.js.map +1 -1
- package/components/cross.js +1 -0
- package/components/cross.js.map +1 -1
- package/components/csr-viewer.js +13 -10
- package/components/csr-viewer.js.map +1 -1
- package/components/download.js +1096 -1598
- package/components/download.js.map +1 -1
- package/components/highlight-words.js +3 -4
- package/components/highlight-words.js.map +1 -1
- package/components/index.js +1 -0
- package/components/index2.js +4 -3
- package/components/index2.js.map +1 -1
- package/components/issuer_name.js +2 -1
- package/components/issuer_name.js.map +1 -1
- package/components/miscellaneous.js +21 -20
- package/components/miscellaneous.js.map +1 -1
- package/components/peculiar-attribute-certificate-viewer.js +1 -0
- package/components/peculiar-button-menu.js +1 -0
- package/components/peculiar-certificate-chain-viewer.d.ts +11 -0
- package/components/peculiar-certificate-chain-viewer.js +12 -0
- package/components/peculiar-certificate-chain-viewer.js.map +1 -0
- package/components/peculiar-certificate-decoder.js +106 -23
- package/components/peculiar-certificate-decoder.js.map +1 -1
- package/components/peculiar-certificate-viewer.js +1 -0
- package/components/peculiar-certificates-viewer.js +35 -14
- package/components/peculiar-certificates-viewer.js.map +1 -1
- package/components/peculiar-circular-progress.js +1 -0
- package/components/peculiar-crl-viewer.js +1 -0
- package/components/peculiar-csr-viewer.js +1 -0
- package/components/peculiar-highlight-words.js +1 -0
- package/components/peculiar-text-hider.js +3 -3
- package/components/peculiar-text-hider.js.map +1 -1
- package/components/pkcs10_certificate_request.js +8 -7
- package/components/pkcs10_certificate_request.js.map +1 -1
- package/components/read_file.js +1 -0
- package/components/read_file.js.map +1 -1
- package/components/subject_name.js +4 -3
- package/components/subject_name.js.map +1 -1
- package/dist/cjs/{actions-789906f5.js → actions-Dl4HXXlI.js} +3 -2
- package/dist/cjs/actions-Dl4HXXlI.js.map +1 -0
- package/dist/cjs/{app-globals-c20ffa41.js → app-globals-BOZYdIuK.js} +2 -1
- package/dist/cjs/app-globals-BOZYdIuK.js.map +1 -0
- package/dist/cjs/{arrow_top-76e4261e.js → arrow_top-DBMPHVlB.js} +3 -2
- package/dist/cjs/arrow_top-DBMPHVlB.js.map +1 -0
- package/dist/cjs/{button-87086210.js → button-C5jDF-CZ.js} +3 -2
- package/dist/cjs/button-C5jDF-CZ.js.map +1 -0
- package/dist/cjs/{certification_request-ad267278.js → certification_request-Bipg1Az7.js} +1119 -1620
- package/dist/cjs/certification_request-Bipg1Az7.js.map +1 -0
- package/dist/cjs/{cross-bd099933.js → cross-pi7K0cHC.js} +3 -2
- package/dist/cjs/cross-pi7K0cHC.js.map +1 -0
- package/dist/cjs/{download-820d66ba.js → download-D9skkVoT.js} +3 -2
- package/dist/cjs/download-D9skkVoT.js.map +1 -0
- package/dist/cjs/index-BO3rFndV.js +2301 -0
- package/dist/cjs/index-BO3rFndV.js.map +1 -0
- package/dist/cjs/index.cjs.js +11 -12
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{link-a3d3799d.js → link-CwLq-Nge.js} +4 -3
- package/dist/cjs/link-CwLq-Nge.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{miscellaneous-67439e59.js → miscellaneous-C0sOAo-1.js} +25 -24
- package/dist/cjs/miscellaneous-C0sOAo-1.js.map +1 -0
- package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -0
- package/dist/cjs/{peculiar-attribute-certificate-viewer_3.cjs.entry.js → peculiar-attribute-certificate-viewer_4.cjs.entry.js} +75 -45
- package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -0
- package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -0
- package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +20 -19
- package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +104 -29
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -0
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +19 -21
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -0
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +43 -24
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -0
- package/dist/cjs/peculiar-text-hider.cjs.entry.js +6 -8
- package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -0
- package/dist/cjs/peculiar.cjs.js +14 -13
- package/dist/cjs/peculiar.cjs.js.map +1 -1
- package/dist/cjs/{pkcs10_certificate_request-64898c88.js → pkcs10_certificate_request-BDz0P_px.js} +11 -10
- package/dist/cjs/pkcs10_certificate_request-BDz0P_px.js.map +1 -0
- package/dist/cjs/{read_file-2e22a97e.js → read_file-DWtcn3zU.js} +2 -1
- package/dist/cjs/read_file-DWtcn3zU.js.map +1 -0
- package/dist/cjs/{x509_certificate-4b0894c2.js → x509_certificate-DRvXOszL.js} +10 -9
- package/dist/cjs/x509_certificate-DRvXOszL.js.map +1 -0
- package/dist/cjs/{x509_crl-fc8d41a1.js → x509_crl-DVGVym_S.js} +17 -16
- package/dist/cjs/x509_crl-DVGVym_S.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +24 -9
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
- package/dist/collection/components/button-menu/button-menu.js +4 -2
- package/dist/collection/components/button-menu/button-menu.js.map +1 -1
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +1019 -0
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +99 -0
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -0
- package/dist/collection/components/certificate-decoder/certificate-decoder.css +1 -4
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +39 -20
- package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
- package/dist/collection/components/certificate-viewer/certificate-viewer.js +26 -10
- package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
- package/dist/collection/components/certificates-viewer/certificates-viewer.js +40 -11
- package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
- package/dist/collection/components/circular-progress/circular-progress.js +14 -4
- package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
- package/dist/collection/components/crl-viewer/crl-viewer.js +22 -8
- package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
- package/dist/collection/components/csr-viewer/csr-viewer.js +20 -7
- package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
- package/dist/collection/components/highlight-words/highlight-words.js +3 -2
- package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
- package/dist/collection/components/text-hider/text-hider.js +1 -1
- package/dist/collection/components/text-hider/text-hider.js.map +1 -1
- package/dist/collection/constants/oids.js +3 -0
- package/dist/collection/constants/oids.js.map +1 -1
- package/dist/collection/crypto/index.js +1 -0
- package/dist/collection/crypto/index.js.map +1 -1
- package/dist/collection/crypto/pem_converter.js +169 -0
- package/dist/collection/crypto/pem_converter.js.map +1 -0
- package/dist/collection/crypto/pkcs10_certificate_request.js +6 -5
- package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
- package/dist/collection/crypto/utils.js +18 -21
- package/dist/collection/crypto/utils.js.map +1 -1
- package/dist/collection/crypto/x509_attribute_certificate.js +6 -5
- package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificate.js +6 -5
- package/dist/collection/crypto/x509_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificates.js +69 -0
- package/dist/collection/crypto/x509_certificates.js.map +1 -0
- package/dist/collection/crypto/x509_crl.js +6 -5
- package/dist/collection/crypto/x509_crl.js.map +1 -1
- package/dist/collection/utils/index.js +0 -2
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/www-copy/index.js +123 -121
- package/dist/esm/{actions-aebcbc9d.js → actions-DzoPRObK.js} +3 -2
- package/dist/esm/actions-DzoPRObK.js.map +1 -0
- package/dist/esm/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +2 -1
- package/dist/esm/app-globals-zVR349KA.js.map +1 -0
- package/dist/esm/{arrow_top-aee1ee02.js → arrow_top-CF9pv-tQ.js} +3 -2
- package/dist/esm/arrow_top-CF9pv-tQ.js.map +1 -0
- package/dist/esm/{button-a2fabf9a.js → button-Djn8UI82.js} +3 -2
- package/dist/esm/button-Djn8UI82.js.map +1 -0
- package/dist/esm/{certification_request-a4699dcf.js → certification_request-BTbyumBe.js} +1097 -1599
- package/dist/esm/certification_request-BTbyumBe.js.map +1 -0
- package/dist/esm/{cross-1377606f.js → cross-DdCuR1F2.js} +3 -2
- package/dist/esm/cross-DdCuR1F2.js.map +1 -0
- package/dist/esm/{download-14dc1047.js → download-Cqfc-Sxf.js} +3 -2
- package/dist/esm/download-Cqfc-Sxf.js.map +1 -0
- package/dist/esm/index-DDDrq3In.js +2292 -0
- package/dist/esm/index-DDDrq3In.js.map +1 -0
- package/dist/esm/index.js +11 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{link-7e4e9060.js → link-BfDk078v.js} +4 -3
- package/dist/esm/link-BfDk078v.js.map +1 -0
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{miscellaneous-ba1fd2bd.js → miscellaneous-CGtCg3Q9.js} +27 -26
- package/dist/esm/miscellaneous-CGtCg3Q9.js.map +1 -0
- package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
- package/dist/esm/{peculiar-attribute-certificate-viewer_3.entry.js → peculiar-attribute-certificate-viewer_4.entry.js} +76 -45
- package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
- package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
- package/dist/esm/peculiar-button-menu_3.entry.js +20 -17
- package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-decoder.entry.js +105 -28
- package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-viewer.entry.js +19 -19
- package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-certificates-viewer.entry.js +43 -22
- package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-text-hider.entry.js +6 -6
- package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
- package/dist/esm/peculiar.js +14 -12
- package/dist/esm/peculiar.js.map +1 -1
- package/dist/esm/{pkcs10_certificate_request-785a4794.js → pkcs10_certificate_request-CrA_WcgY.js} +11 -10
- package/dist/esm/pkcs10_certificate_request-CrA_WcgY.js.map +1 -0
- package/dist/esm/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +2 -1
- package/dist/esm/read_file-F2F0McJX.js.map +1 -0
- package/dist/esm/{x509_certificate-05a23c0e.js → x509_certificate-DX7sKoAD.js} +10 -9
- package/dist/esm/x509_certificate-DX7sKoAD.js.map +1 -0
- package/dist/esm/{x509_crl-26081461.js → x509_crl-DRjoh8Yp.js} +17 -16
- package/dist/esm/x509_crl-DRjoh8Yp.js.map +1 -0
- package/dist/esm-es5/{actions-aebcbc9d.js → actions-DzoPRObK.js} +2 -2
- package/dist/esm-es5/actions-DzoPRObK.js.map +1 -0
- package/dist/esm-es5/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +1 -1
- package/dist/esm-es5/app-globals-zVR349KA.js.map +1 -0
- package/dist/esm-es5/{arrow_top-aee1ee02.js → arrow_top-CF9pv-tQ.js} +2 -2
- package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +1 -0
- package/dist/esm-es5/{button-a2fabf9a.js → button-Djn8UI82.js} +2 -2
- package/dist/esm-es5/button-Djn8UI82.js.map +1 -0
- package/dist/esm-es5/certification_request-BTbyumBe.js +142 -0
- package/dist/esm-es5/certification_request-BTbyumBe.js.map +1 -0
- package/dist/esm-es5/{cross-1377606f.js → cross-DdCuR1F2.js} +2 -2
- package/dist/esm-es5/cross-DdCuR1F2.js.map +1 -0
- package/dist/esm-es5/{download-14dc1047.js → download-Cqfc-Sxf.js} +2 -2
- package/dist/esm-es5/download-Cqfc-Sxf.js.map +1 -0
- package/dist/esm-es5/index-DDDrq3In.js +6 -0
- package/dist/esm-es5/index-DDDrq3In.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/link-BfDk078v.js +12 -0
- package/dist/esm-es5/link-BfDk078v.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -2
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/{miscellaneous-ba1fd2bd.js → miscellaneous-CGtCg3Q9.js} +15 -15
- package/dist/esm-es5/miscellaneous-CGtCg3Q9.js.map +1 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +110 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
- package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
- package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
- package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
- package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
- package/dist/esm-es5/peculiar.js +1 -1
- package/dist/esm-es5/peculiar.js.map +1 -1
- package/dist/esm-es5/pkcs10_certificate_request-CrA_WcgY.js +19 -0
- package/dist/esm-es5/pkcs10_certificate_request-CrA_WcgY.js.map +1 -0
- package/dist/esm-es5/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +1 -1
- package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -0
- package/dist/esm-es5/x509_certificate-DX7sKoAD.js +12 -0
- package/dist/esm-es5/x509_certificate-DX7sKoAD.js.map +1 -0
- package/dist/esm-es5/x509_crl-DRjoh8Yp.js +19 -0
- package/dist/esm-es5/x509_crl-DRjoh8Yp.js.map +1 -0
- package/dist/peculiar/index.esm.js +1 -1
- package/dist/peculiar/index.esm.js.map +1 -1
- package/dist/peculiar/loader.esm.js.map +1 -0
- package/dist/peculiar/p-092074e8.system.entry.js +5 -0
- package/dist/peculiar/p-092074e8.system.entry.js.map +1 -0
- package/dist/peculiar/p-12d2e080.entry.js +5 -0
- package/dist/peculiar/p-12d2e080.entry.js.map +1 -0
- package/dist/peculiar/p-1af57833.system.entry.js +5 -0
- package/dist/peculiar/p-1af57833.system.entry.js.map +1 -0
- package/dist/peculiar/p-1b3855ec.system.entry.js +111 -0
- package/dist/peculiar/p-1b3855ec.system.entry.js.map +1 -0
- package/dist/peculiar/p-4IvcYmU7.js +19 -0
- package/dist/peculiar/p-4IvcYmU7.js.map +1 -0
- package/dist/peculiar/{p-9263e7ee.system.entry.js → p-73a75d1e.system.entry.js} +3 -3
- package/dist/peculiar/p-73a75d1e.system.entry.js.map +1 -0
- package/dist/peculiar/p-7Nmqck4T.system.js.map +1 -0
- package/dist/peculiar/p-80fc5538.entry.js +5 -0
- package/dist/peculiar/p-80fc5538.entry.js.map +1 -0
- package/dist/peculiar/{p-bafd67f3.entry.js → p-85667993.entry.js} +2 -2
- package/dist/peculiar/p-85667993.entry.js.map +1 -0
- package/dist/peculiar/p-B0CjUC4o.system.js +142 -0
- package/dist/peculiar/p-B0CjUC4o.system.js.map +1 -0
- package/dist/peculiar/{p-c241e4ba.system.js → p-B2YrZuK2.system.js} +2 -2
- package/dist/peculiar/p-B2YrZuK2.system.js.map +1 -0
- package/dist/peculiar/p-B7TxZGea.system.js +19 -0
- package/dist/peculiar/p-B7TxZGea.system.js.map +1 -0
- package/dist/peculiar/{p-243244af.system.js → p-B859JpGw.system.js} +3 -3
- package/dist/peculiar/p-B859JpGw.system.js.map +1 -0
- package/dist/peculiar/{p-eea904d7.system.js → p-BBgwMHRZ.system.js} +3 -3
- package/dist/peculiar/p-BBgwMHRZ.system.js.map +1 -0
- package/dist/peculiar/p-BCATfe_H.js +19 -0
- package/dist/peculiar/p-BCATfe_H.js.map +1 -0
- package/dist/peculiar/p-BFenL1ap.system.js +6 -0
- package/dist/peculiar/p-BFenL1ap.system.js.map +1 -0
- package/dist/peculiar/{p-ae91d778.js → p-BHBizfwo.js} +3 -3
- package/dist/peculiar/p-BHBizfwo.js.map +1 -0
- package/dist/peculiar/{p-5a662d6f.system.js → p-BOSH9vjy.system.js} +3 -3
- package/dist/{esm-es5/actions-aebcbc9d.js.map → peculiar/p-BOSH9vjy.system.js.map} +1 -1
- package/dist/peculiar/{p-8bbee8f4.system.js → p-BP2bmYR2.system.js} +3 -3
- package/dist/peculiar/p-BP2bmYR2.system.js.map +1 -0
- package/dist/peculiar/{p-9712b827.system.js → p-BRhx1gbw.system.js} +4 -4
- package/dist/peculiar/p-BRhx1gbw.system.js.map +1 -0
- package/dist/peculiar/p-BTbyumBe.js +142 -0
- package/dist/peculiar/p-BTbyumBe.js.map +1 -0
- package/dist/peculiar/p-BX9qW3ww.system.js.map +1 -0
- package/dist/peculiar/p-BbPo3hge.system.js.map +1 -0
- package/dist/peculiar/{p-e6a6e602.js → p-BisXzAqN.js} +2 -2
- package/dist/peculiar/p-BisXzAqN.js.map +1 -0
- package/dist/peculiar/p-Bw_icgVx.js +19 -0
- package/dist/peculiar/p-Bw_icgVx.js.map +1 -0
- package/dist/peculiar/p-C_7Koml8.system.js.map +1 -0
- package/dist/peculiar/{p-27ca6743.js → p-CeKqQ13Z.js} +4 -4
- package/dist/peculiar/p-CeKqQ13Z.js.map +1 -0
- package/dist/peculiar/p-CpTwQbPC.js +12 -0
- package/dist/peculiar/p-CpTwQbPC.js.map +1 -0
- package/dist/peculiar/p-Ct0zEUB_.js +369 -0
- package/dist/peculiar/p-Ct0zEUB_.js.map +1 -0
- package/dist/peculiar/{p-c2995a63.system.js → p-CwlxH4oM.system.js} +1 -1
- package/dist/peculiar/p-CwlxH4oM.system.js.map +1 -0
- package/dist/peculiar/p-D13P_msn.system.js.map +1 -0
- package/dist/peculiar/{p-55303453.system.js → p-D2QB-8Q6.system.js} +1 -1
- package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -0
- package/dist/peculiar/p-D5BWI7FK.system.js +5 -0
- package/dist/peculiar/p-D5BWI7FK.system.js.map +1 -0
- package/dist/peculiar/p-DDDrq3In.js +6 -0
- package/dist/peculiar/p-DDDrq3In.js.map +1 -0
- package/dist/peculiar/{p-a9487007.js → p-DhdG07f8.js} +2 -2
- package/dist/peculiar/p-DhdG07f8.js.map +1 -0
- package/dist/peculiar/{p-99efefea.js → p-DkAhB3Vy.js} +2 -2
- package/dist/peculiar/p-DkAhB3Vy.js.map +1 -0
- package/dist/peculiar/p-DxdVL_Kj.system.js +13 -0
- package/dist/peculiar/p-DxdVL_Kj.system.js.map +1 -0
- package/dist/peculiar/{p-25a532a3.js → p-F2F0McJX.js} +1 -1
- package/dist/peculiar/p-F2F0McJX.js.map +1 -0
- package/dist/peculiar/p-FVz6FuoZ.system.js.map +1 -0
- package/dist/peculiar/p-RW7UbzcZ.system.js.map +1 -0
- package/dist/peculiar/p-ab220e36.system.entry.js +5 -0
- package/dist/peculiar/p-ab220e36.system.entry.js.map +1 -0
- package/dist/peculiar/{p-67e82386.entry.js → p-c2a805b3.entry.js} +3 -3
- package/dist/peculiar/p-c2a805b3.entry.js.map +1 -0
- package/dist/peculiar/p-cae95996.system.entry.js +5 -0
- package/dist/peculiar/p-cae95996.system.entry.js.map +1 -0
- package/dist/peculiar/p-e7266b0a.entry.js +110 -0
- package/dist/peculiar/p-e7266b0a.entry.js.map +1 -0
- package/dist/peculiar/p-f4490197.entry.js +5 -0
- package/dist/peculiar/p-f4490197.entry.js.map +1 -0
- package/dist/peculiar/p-lnQq6VON.system.js +20 -0
- package/dist/peculiar/p-lnQq6VON.system.js.map +1 -0
- package/dist/peculiar/{p-2bc2abea.system.js → p-vMACJe_C.system.js} +54 -54
- package/dist/peculiar/{p-6e2ad7eb.js.map → p-vMACJe_C.system.js.map} +1 -1
- package/dist/peculiar/p-wgYkE8CV.system.js +5 -0
- package/dist/peculiar/p-wgYkE8CV.system.js.map +1 -0
- package/dist/peculiar/{p-dac867e8.js → p-zVR349KA.js} +1 -1
- package/dist/peculiar/p-zVR349KA.js.map +1 -0
- package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -0
- package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -0
- package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -0
- package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -0
- package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -0
- package/dist/peculiar/{p-b5389885.system.entry.js.map → peculiar-text-hider.entry.esm.js.map} +1 -1
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/peculiar/peculiar.esm.js.map +1 -1
- package/dist/peculiar/peculiar.js +1 -1
- package/dist/types/components/certificate-chain-viewer/certificate-chain-viewer.d.ts +21 -0
- package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +5 -4
- package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
- package/dist/types/components/typography/typography.d.ts +0 -1
- package/dist/types/components.d.ts +33 -4
- package/dist/types/constants/oids.d.ts +3 -0
- package/dist/types/crypto/index.d.ts +1 -0
- package/dist/types/crypto/pem_converter.d.ts +71 -0
- package/dist/types/crypto/pkcs10_certificate_request.d.ts +2 -2
- package/dist/types/crypto/utils.d.ts +7 -3
- package/dist/types/crypto/x509_attribute_certificate.d.ts +2 -2
- package/dist/types/crypto/x509_certificate.d.ts +2 -2
- package/dist/types/crypto/x509_certificates.d.ts +9 -0
- package/dist/types/crypto/x509_crl.d.ts +2 -2
- package/dist/types/stencil-public-runtime.d.ts +10 -10
- package/dist/types/utils/index.d.ts +0 -2
- package/hydrate/index.d.ts +53 -12
- package/hydrate/index.js +28615 -18748
- package/hydrate/index.mjs +34759 -0
- package/hydrate/package.json +7 -1
- package/loader/cdn.js +1 -1
- package/loader/index.cjs.js +1 -1
- package/loader/index.d.ts +3 -0
- package/loader/index.es2017.js +1 -1
- package/loader/index.js +1 -1
- package/package.json +32 -29
- package/dist/cjs/actions-789906f5.js.map +0 -1
- package/dist/cjs/app-globals-c20ffa41.js.map +0 -1
- package/dist/cjs/arrow_top-76e4261e.js.map +0 -1
- package/dist/cjs/button-87086210.js.map +0 -1
- package/dist/cjs/certification_request-ad267278.js.map +0 -1
- package/dist/cjs/cross-bd099933.js.map +0 -1
- package/dist/cjs/download-820d66ba.js.map +0 -1
- package/dist/cjs/index-e2ae280a.js +0 -2730
- package/dist/cjs/index-e2ae280a.js.map +0 -1
- package/dist/cjs/link-a3d3799d.js.map +0 -1
- package/dist/cjs/miscellaneous-67439e59.js.map +0 -1
- package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +0 -1
- package/dist/cjs/pkcs10_certificate_request-64898c88.js.map +0 -1
- package/dist/cjs/read_file-2e22a97e.js.map +0 -1
- package/dist/cjs/x509_certificate-4b0894c2.js.map +0 -1
- package/dist/cjs/x509_crl-fc8d41a1.js.map +0 -1
- package/dist/collection/utils/validator.js +0 -25
- package/dist/collection/utils/validator.js.map +0 -1
- package/dist/esm/actions-aebcbc9d.js.map +0 -1
- package/dist/esm/app-globals-5e9b67e0.js.map +0 -1
- package/dist/esm/arrow_top-aee1ee02.js.map +0 -1
- package/dist/esm/button-a2fabf9a.js.map +0 -1
- package/dist/esm/certification_request-a4699dcf.js.map +0 -1
- package/dist/esm/cross-1377606f.js.map +0 -1
- package/dist/esm/download-14dc1047.js.map +0 -1
- package/dist/esm/index-ae188432.js +0 -2701
- package/dist/esm/index-ae188432.js.map +0 -1
- package/dist/esm/link-7e4e9060.js.map +0 -1
- package/dist/esm/miscellaneous-ba1fd2bd.js.map +0 -1
- package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
- package/dist/esm/pkcs10_certificate_request-785a4794.js.map +0 -1
- package/dist/esm/read_file-bb0b1450.js.map +0 -1
- package/dist/esm/x509_certificate-05a23c0e.js.map +0 -1
- package/dist/esm/x509_crl-26081461.js.map +0 -1
- package/dist/esm-es5/app-globals-5e9b67e0.js.map +0 -1
- package/dist/esm-es5/arrow_top-aee1ee02.js.map +0 -1
- package/dist/esm-es5/button-a2fabf9a.js.map +0 -1
- package/dist/esm-es5/certification_request-a4699dcf.js +0 -135
- package/dist/esm-es5/certification_request-a4699dcf.js.map +0 -1
- package/dist/esm-es5/cross-1377606f.js.map +0 -1
- package/dist/esm-es5/download-14dc1047.js.map +0 -1
- package/dist/esm-es5/index-ae188432.js +0 -6
- package/dist/esm-es5/index-ae188432.js.map +0 -1
- package/dist/esm-es5/link-7e4e9060.js +0 -12
- package/dist/esm-es5/link-7e4e9060.js.map +0 -1
- package/dist/esm-es5/miscellaneous-ba1fd2bd.js.map +0 -1
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +0 -110
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
- package/dist/esm-es5/pkcs10_certificate_request-785a4794.js +0 -19
- package/dist/esm-es5/pkcs10_certificate_request-785a4794.js.map +0 -1
- package/dist/esm-es5/read_file-bb0b1450.js.map +0 -1
- package/dist/esm-es5/x509_certificate-05a23c0e.js +0 -12
- package/dist/esm-es5/x509_certificate-05a23c0e.js.map +0 -1
- package/dist/esm-es5/x509_crl-26081461.js +0 -19
- package/dist/esm-es5/x509_crl-26081461.js.map +0 -1
- package/dist/peculiar/p-1566ad92.system.entry.js +0 -5
- package/dist/peculiar/p-1566ad92.system.entry.js.map +0 -1
- package/dist/peculiar/p-243244af.system.js.map +0 -1
- package/dist/peculiar/p-25a532a3.js.map +0 -1
- package/dist/peculiar/p-27ca6743.js.map +0 -1
- package/dist/peculiar/p-2bc2abea.system.js.map +0 -1
- package/dist/peculiar/p-32807e5e.js +0 -135
- package/dist/peculiar/p-32807e5e.js.map +0 -1
- package/dist/peculiar/p-3cb79cd9.js +0 -6
- package/dist/peculiar/p-3cb79cd9.js.map +0 -1
- package/dist/peculiar/p-4bc5ddbe.js +0 -19
- package/dist/peculiar/p-4bc5ddbe.js.map +0 -1
- package/dist/peculiar/p-55303453.system.js.map +0 -1
- package/dist/peculiar/p-5a662d6f.system.js.map +0 -1
- package/dist/peculiar/p-5d1d4a96.entry.js +0 -110
- package/dist/peculiar/p-5d1d4a96.entry.js.map +0 -1
- package/dist/peculiar/p-67e82386.entry.js.map +0 -1
- package/dist/peculiar/p-6e2ad7eb.js +0 -369
- package/dist/peculiar/p-713563fb.entry.js +0 -5
- package/dist/peculiar/p-713563fb.entry.js.map +0 -1
- package/dist/peculiar/p-7ddd9a82.system.js +0 -19
- package/dist/peculiar/p-7ddd9a82.system.js.map +0 -1
- package/dist/peculiar/p-821bdcdc.system.js +0 -6
- package/dist/peculiar/p-821bdcdc.system.js.map +0 -1
- package/dist/peculiar/p-8393399a.system.js +0 -5
- package/dist/peculiar/p-8393399a.system.js.map +0 -1
- package/dist/peculiar/p-8bbee8f4.system.js.map +0 -1
- package/dist/peculiar/p-9263e7ee.system.entry.js.map +0 -1
- package/dist/peculiar/p-9712b827.system.js.map +0 -1
- package/dist/peculiar/p-98e3a016.system.js +0 -13
- package/dist/peculiar/p-98e3a016.system.js.map +0 -1
- package/dist/peculiar/p-99efefea.js.map +0 -1
- package/dist/peculiar/p-9ad547d2.system.entry.js +0 -5
- package/dist/peculiar/p-9ad547d2.system.entry.js.map +0 -1
- package/dist/peculiar/p-a1a48332.system.js +0 -5
- package/dist/peculiar/p-a1a48332.system.js.map +0 -1
- package/dist/peculiar/p-a9487007.js.map +0 -1
- package/dist/peculiar/p-ab5a4988.js +0 -12
- package/dist/peculiar/p-ab5a4988.js.map +0 -1
- package/dist/peculiar/p-ae44c2b0.system.js +0 -20
- package/dist/peculiar/p-ae44c2b0.system.js.map +0 -1
- package/dist/peculiar/p-ae91d778.js.map +0 -1
- package/dist/peculiar/p-afbd1c8e.entry.js +0 -5
- package/dist/peculiar/p-afbd1c8e.entry.js.map +0 -1
- package/dist/peculiar/p-b5389885.system.entry.js +0 -5
- package/dist/peculiar/p-bafd67f3.entry.js.map +0 -1
- package/dist/peculiar/p-c241e4ba.system.js.map +0 -1
- package/dist/peculiar/p-c2995a63.system.js.map +0 -1
- package/dist/peculiar/p-cd1b1876.entry.js +0 -5
- package/dist/peculiar/p-cd1b1876.entry.js.map +0 -1
- package/dist/peculiar/p-d5ba4fc2.js +0 -19
- package/dist/peculiar/p-d5ba4fc2.js.map +0 -1
- package/dist/peculiar/p-dac867e8.js.map +0 -1
- package/dist/peculiar/p-e37e4df2.system.js +0 -135
- package/dist/peculiar/p-e37e4df2.system.js.map +0 -1
- package/dist/peculiar/p-e4ad4f13.system.entry.js +0 -5
- package/dist/peculiar/p-e4ad4f13.system.entry.js.map +0 -1
- package/dist/peculiar/p-e6a6e602.js.map +0 -1
- package/dist/peculiar/p-eea904d7.system.js.map +0 -1
- package/dist/peculiar/p-f8c91ee4.js +0 -19
- package/dist/peculiar/p-f8c91ee4.js.map +0 -1
- package/dist/peculiar/p-f9c07207.system.entry.js +0 -111
- package/dist/peculiar/p-f9c07207.system.entry.js.map +0 -1
- package/dist/types/utils/validator.d.ts +0 -10
- package/loader/package.json +0 -11
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, g as getElement } from './index-
|
|
5
|
-
import { T as Typography, B as Button } from './button-
|
|
6
|
-
import { A as ActionsIcon } from './actions-
|
|
4
|
+
import { r as registerInstance, h, H as Host, g as getElement } from './index-DDDrq3In.js';
|
|
5
|
+
import { T as Typography, B as Button } from './button-Djn8UI82.js';
|
|
6
|
+
import { A as ActionsIcon } from './actions-DzoPRObK.js';
|
|
7
7
|
|
|
8
8
|
const buttonMenuCss = ".sc-peculiar-button-menu-h{display:-ms-inline-flexbox;display:inline-flex;position:relative}.is_shown.sc-peculiar-button-menu-h .button_popover.sc-peculiar-button-menu:before{position:fixed;width:100%;height:100%;top:0;left:0;content:\"\"}.is_shown.sc-peculiar-button-menu-h .popover.sc-peculiar-button-menu{display:block}.popover.sc-peculiar-button-menu{min-width:200px;position:absolute;top:100%;right:0;border-radius:4px;z-index:1;-webkit-box-shadow:var(--pv-shadow-light-medium);box-shadow:var(--pv-shadow-light-medium);background:var(--pv-color-white);padding:var(--pv-size-base-2) 0;margin:var(--pv-size-base) 0;display:none}.button_option.sc-peculiar-button-menu{width:100%;-ms-flex-pack:start;justify-content:flex-start;border-radius:0}.group.sc-peculiar-button-menu:not(:last-child){border-bottom:1px solid var(--pv-color-gray-5);padding-bottom:var(--pv-size-base-2);margin-bottom:var(--pv-size-base)}.group_title.sc-peculiar-button-menu{line-height:var(--pv-size-base-6);padding:0 var(--pv-size-base-2)}";
|
|
9
|
-
const PeculiarButtonMenuStyle0 = buttonMenuCss;
|
|
10
9
|
|
|
11
10
|
const ButtonMenu = class {
|
|
12
11
|
constructor(hostRef) {
|
|
13
12
|
registerInstance(this, hostRef);
|
|
13
|
+
this.groups = [];
|
|
14
|
+
this.open = false;
|
|
14
15
|
this.handleClick = () => {
|
|
15
16
|
this.open = !this.open;
|
|
16
17
|
};
|
|
17
|
-
this.groups = [];
|
|
18
|
-
this.open = false;
|
|
19
18
|
}
|
|
20
19
|
render() {
|
|
21
20
|
return (h(Host, { key: '484c56eb147ee97b4be9d9c0c324a6192be5d1b4', class: {
|
|
@@ -29,39 +28,42 @@ const ButtonMenu = class {
|
|
|
29
28
|
} }, option.text)))))))));
|
|
30
29
|
}
|
|
31
30
|
};
|
|
32
|
-
ButtonMenu.style =
|
|
31
|
+
ButtonMenu.style = buttonMenuCss;
|
|
33
32
|
|
|
34
33
|
const circularProgressCss = ":host{display:block;width:100%}@-webkit-keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}@keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}.circle_progress{margin:0 auto}.circle_progress_svg{-webkit-animation:circular-rotate 1.4s linear infinite;animation:circular-rotate 1.4s linear infinite}.circle_progress_circle{stroke-linecap:round;-webkit-animation:circular-dash 1.4s ease-in-out infinite;animation:circular-dash 1.4s ease-in-out infinite;stroke-dasharray:80, 200;stroke-dashoffset:0;stroke:var(--pv-color-secondary)}.circle_progress_backdrop{stroke:var(--pv-color-gray-3)}";
|
|
35
|
-
const PeculiarCircularProgressStyle0 = circularProgressCss;
|
|
36
34
|
|
|
37
35
|
const CircularProgress = class {
|
|
38
36
|
constructor(hostRef) {
|
|
39
37
|
registerInstance(this, hostRef);
|
|
40
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Width/height of progress circle.
|
|
40
|
+
*/
|
|
41
41
|
this.size = 24;
|
|
42
|
+
/**
|
|
43
|
+
* Stroke width of progress bar circle.
|
|
44
|
+
*/
|
|
42
45
|
this.width = 4;
|
|
46
|
+
this.box = 50;
|
|
43
47
|
}
|
|
44
48
|
render() {
|
|
45
|
-
return (h(Host, { key: '
|
|
49
|
+
return (h(Host, { key: 'c71275c96a3abcd67c09448bbcd2bcc541500805' }, h("div", { key: 'f2deb4e8dc2878d0975ca9a7da9c5481e7ed01a7', class: "circle_progress", style: {
|
|
46
50
|
width: `${this.size}px`,
|
|
47
51
|
height: `${this.size}px`,
|
|
48
|
-
} }, h("svg", { key: '
|
|
52
|
+
} }, h("svg", { key: '3968a506d8e670a5199497ee42ae3ec99fb65de7', class: "circle_progress_svg", viewBox: `0 0 ${this.box} ${this.box}` }, h("circle", { key: '55d8b2592fb6614c38841706bd7e55ec3912b88c', class: "circle_progress_backdrop", cx: this.box / 2, cy: this.box / 2, r: (this.box / 2) - 5, fill: "none", style: {
|
|
49
53
|
strokeWidth: `${this.width}px`,
|
|
50
|
-
} }), h("circle", { key: '
|
|
54
|
+
} }), h("circle", { key: 'f61b2daa3fad404e325b787d3be59c8d7f04c118', class: "circle_progress_circle", cx: this.box / 2, cy: this.box / 2, r: (this.box / 2) - 5, fill: "none", style: {
|
|
51
55
|
strokeWidth: `${this.width}px`,
|
|
52
56
|
} })))));
|
|
53
57
|
}
|
|
54
58
|
};
|
|
55
|
-
CircularProgress.style =
|
|
59
|
+
CircularProgress.style = circularProgressCss;
|
|
56
60
|
|
|
57
61
|
const highlightWordsCss = ":host{display:inline}::slotted(mark){background-color:var(--pv-color-attention-tint-4)}";
|
|
58
|
-
const PeculiarHighlightWordsStyle0 = highlightWordsCss;
|
|
59
62
|
|
|
60
63
|
const HighlightWords = class {
|
|
61
64
|
constructor(hostRef) {
|
|
62
65
|
registerInstance(this, hostRef);
|
|
63
66
|
this.tag = 'mark';
|
|
64
|
-
this.search = undefined;
|
|
65
67
|
}
|
|
66
68
|
componentDidLoad() {
|
|
67
69
|
this.handleHighlightSearch();
|
|
@@ -84,12 +86,13 @@ const HighlightWords = class {
|
|
|
84
86
|
return source.replace(substring, '');
|
|
85
87
|
}
|
|
86
88
|
render() {
|
|
87
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: '353abad7e2fc43ea4af75ec025e08d2ff3159ee6' }, h("slot", { key: '9ac44c0a2b95ea7a778e2d6a2909c797f8c17b6d' })));
|
|
88
90
|
}
|
|
89
91
|
get host() { return getElement(this); }
|
|
90
92
|
};
|
|
91
|
-
HighlightWords.style =
|
|
93
|
+
HighlightWords.style = highlightWordsCss;
|
|
92
94
|
|
|
93
95
|
export { ButtonMenu as peculiar_button_menu, CircularProgress as peculiar_circular_progress, HighlightWords as peculiar_highlight_words };
|
|
96
|
+
//# sourceMappingURL=peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map
|
|
94
97
|
|
|
95
98
|
//# sourceMappingURL=peculiar-button-menu_3.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js","mappings":"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","names":[],"sources":["src/components/button-menu/button-menu.scss?tag=peculiar-button-menu&encapsulation=scoped","src/components/button-menu/button-menu.tsx","src/components/circular-progress/circular-progress.scss?tag=peculiar-circular-progress&encapsulation=shadow","src/components/circular-progress/circular-progress.tsx","src/components/highlight-words/highlight-words.scss?tag=peculiar-highlight-words&encapsulation=shadow","src/components/highlight-words/highlight-words.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n position: relative;\n\n &.is_shown {\n .button_popover {\n &:before {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n content: '';\n }\n }\n\n .popover {\n display: block;\n }\n }\n}\n\n.popover {\n min-width: 200px;\n position: absolute;\n top: 100%;\n right: 0;\n border-radius: 4px;\n z-index: 1;\n box-shadow: var(--pv-shadow-light-medium);\n background: var(--pv-color-white);\n padding: var(--pv-size-base-2) 0;\n margin: var(--pv-size-base) 0;\n display: none;\n}\n\n.button_option {\n width: 100%;\n justify-content: flex-start;\n border-radius: 0;\n}\n\n.group {\n &:not(:last-child) {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding-bottom: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base);\n }\n}\n\n.group_title {\n line-height: var(--pv-size-base-6);\n padding: 0 var(--pv-size-base-2);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n State,\n Prop,\n Host,\n} from '@stencil/core';\nimport { Button, ButtonProps } from '../button';\nimport { Typography } from '../typography';\nimport { ActionsIcon } from '../icons';\n\nexport interface ButtonMenuGroupOptions extends ButtonProps {\n text: string | string[];\n}\n\nexport interface ButtonMenuGroup {\n title: string | string[];\n options: ButtonMenuGroupOptions[];\n}\n\n@Component({\n tag: 'peculiar-button-menu',\n styleUrl: 'button-menu.scss',\n scoped: true,\n})\nexport class ButtonMenu {\n @Prop() groups: ButtonMenuGroup[] = [];\n\n @State() open: boolean = false;\n\n handleClick = () => {\n this.open = !this.open;\n };\n\n render() {\n return (\n <Host\n class={{\n is_shown: this.open,\n }}\n >\n <Button\n class=\"button_popover\"\n onClick={this.handleClick}\n startIcon={<ActionsIcon />}\n />\n <div\n role=\"dialog\"\n tabIndex={-1}\n class=\"popover\"\n aria-hidden={String(this.open)}\n >\n {this.groups.map((group) => (\n <div class=\"group\">\n <Typography\n variant=\"c2\"\n color=\"gray-9\"\n class=\"group_title\"\n >\n {group.title}\n </Typography>\n {group.options.map((option) => (\n <Button\n class=\"button_option\"\n startIcon={option.startIcon}\n href={option.href}\n onClick={(event) => {\n event.stopPropagation();\n\n this.handleClick();\n\n if (option.onClick) {\n option.onClick(event);\n }\n }}\n >\n {option.text}\n </Button>\n ))}\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n@keyframes circular-rotate {\n to {\n transform: rotate(1turn);\n }\n}\n\n@keyframes circular-dash {\n 0% {\n stroke-dasharray: 1,200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -15;\n }\n\n to {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -120;\n }\n}\n\n.circle_progress {\n margin: 0 auto;\n}\n\n.circle_progress_svg {\n animation: circular-rotate 1.4s linear infinite;\n}\n\n.circle_progress_circle {\n stroke-linecap: round;\n animation: circular-dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80,200;\n stroke-dashoffset: 0;\n stroke: var(--pv-color-secondary);\n}\n\n.circle_progress_backdrop {\n stroke: var(--pv-color-gray-3);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-circular-progress',\n styleUrl: 'circular-progress.scss',\n shadow: true,\n})\nexport class CircularProgress {\n /**\n * Width/height of progress circle.\n */\n @Prop() size: number = 24;\n\n /**\n * Stroke width of progress bar circle.\n */\n @Prop() width: number = 4;\n\n private box: number = 50;\n\n render() {\n return (\n <Host>\n <div\n class=\"circle_progress\"\n style={{\n width: `${this.size}px`,\n height: `${this.size}px`,\n }}\n >\n <svg\n class=\"circle_progress_svg\"\n viewBox={`0 0 ${this.box} ${this.box}`}\n >\n <circle\n class=\"circle_progress_backdrop\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n <circle\n class=\"circle_progress_circle\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n </svg>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline;\n}\n\n::slotted(mark) {\n background-color: var(--pv-color-attention-tint-4);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component, Host, h, Element, Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-highlight-words',\n styleUrl: 'highlight-words.scss',\n shadow: true,\n})\nexport class HighlightWords {\n @Element() host: HTMLElement;\n\n @Prop() search: string;\n\n private tag: string = 'mark';\n\n componentDidLoad() {\n this.handleHighlightSearch();\n }\n\n componentDidUpdate() {\n this.handleHighlightSearch();\n }\n\n handleHighlightSearch() {\n const basicString = this.resetHighlightSearch(this.host.innerHTML);\n let result = basicString;\n\n if (this.search) {\n const substring = new RegExp(`(${this.search})`, 'gi');\n\n result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`);\n }\n\n this.host.innerHTML = result;\n }\n\n resetHighlightSearch(source: string) {\n // eslint-disable-next-line no-useless-escape\n const substring = new RegExp(`<\\/?${this.tag}>`, 'g');\n\n return source.replace(substring, '');\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js","mappings":"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","names":[],"sources":["src/components/button-menu/button-menu.scss?tag=peculiar-button-menu&encapsulation=scoped","src/components/button-menu/button-menu.tsx","src/components/circular-progress/circular-progress.scss?tag=peculiar-circular-progress&encapsulation=shadow","src/components/circular-progress/circular-progress.tsx","src/components/highlight-words/highlight-words.scss?tag=peculiar-highlight-words&encapsulation=shadow","src/components/highlight-words/highlight-words.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n position: relative;\n\n &.is_shown {\n .button_popover {\n &:before {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n content: '';\n }\n }\n\n .popover {\n display: block;\n }\n }\n}\n\n.popover {\n min-width: 200px;\n position: absolute;\n top: 100%;\n right: 0;\n border-radius: 4px;\n z-index: 1;\n box-shadow: var(--pv-shadow-light-medium);\n background: var(--pv-color-white);\n padding: var(--pv-size-base-2) 0;\n margin: var(--pv-size-base) 0;\n display: none;\n}\n\n.button_option {\n width: 100%;\n justify-content: flex-start;\n border-radius: 0;\n}\n\n.group {\n &:not(:last-child) {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding-bottom: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base);\n }\n}\n\n.group_title {\n line-height: var(--pv-size-base-6);\n padding: 0 var(--pv-size-base-2);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n State,\n Prop,\n Host,\n} from '@stencil/core';\nimport { Button, ButtonProps } from '../button';\nimport { Typography } from '../typography';\nimport { ActionsIcon } from '../icons';\n\nexport interface ButtonMenuGroupOptions extends ButtonProps {\n text: string | string[];\n}\n\nexport interface ButtonMenuGroup {\n title: string | string[];\n options: ButtonMenuGroupOptions[];\n}\n\n@Component({\n tag: 'peculiar-button-menu',\n styleUrl: 'button-menu.scss',\n scoped: true,\n})\nexport class ButtonMenu {\n @Prop() groups: ButtonMenuGroup[] = [];\n\n @State() open: boolean = false;\n\n handleClick = () => {\n this.open = !this.open;\n };\n\n render() {\n return (\n <Host\n class={{\n is_shown: this.open,\n }}\n >\n <Button\n class=\"button_popover\"\n onClick={this.handleClick}\n startIcon={<ActionsIcon />}\n />\n <div\n role=\"dialog\"\n tabIndex={-1}\n class=\"popover\"\n aria-hidden={String(this.open)}\n >\n {this.groups.map((group) => (\n <div class=\"group\">\n <Typography\n variant=\"c2\"\n color=\"gray-9\"\n class=\"group_title\"\n >\n {group.title}\n </Typography>\n {group.options.map((option) => (\n <Button\n class=\"button_option\"\n startIcon={option.startIcon}\n href={option.href}\n onClick={(event) => {\n event.stopPropagation();\n\n this.handleClick();\n\n if (option.onClick) {\n option.onClick(event);\n }\n }}\n >\n {option.text}\n </Button>\n ))}\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n@keyframes circular-rotate {\n to {\n transform: rotate(1turn);\n }\n}\n\n@keyframes circular-dash {\n 0% {\n stroke-dasharray: 1,200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -15;\n }\n\n to {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -120;\n }\n}\n\n.circle_progress {\n margin: 0 auto;\n}\n\n.circle_progress_svg {\n animation: circular-rotate 1.4s linear infinite;\n}\n\n.circle_progress_circle {\n stroke-linecap: round;\n animation: circular-dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80,200;\n stroke-dashoffset: 0;\n stroke: var(--pv-color-secondary);\n}\n\n.circle_progress_backdrop {\n stroke: var(--pv-color-gray-3);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-circular-progress',\n styleUrl: 'circular-progress.scss',\n shadow: true,\n})\nexport class CircularProgress {\n /**\n * Width/height of progress circle.\n */\n @Prop() size: number = 24;\n\n /**\n * Stroke width of progress bar circle.\n */\n @Prop() width: number = 4;\n\n private box: number = 50;\n\n render() {\n return (\n <Host>\n <div\n class=\"circle_progress\"\n style={{\n width: `${this.size}px`,\n height: `${this.size}px`,\n }}\n >\n <svg\n class=\"circle_progress_svg\"\n viewBox={`0 0 ${this.box} ${this.box}`}\n >\n <circle\n class=\"circle_progress_backdrop\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n <circle\n class=\"circle_progress_circle\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n </svg>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline;\n}\n\n::slotted(mark) {\n background-color: var(--pv-color-attention-tint-4);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component, Host, h, Element, Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-highlight-words',\n styleUrl: 'highlight-words.scss',\n shadow: true,\n})\nexport class HighlightWords {\n @Element() host: HTMLElement;\n\n @Prop() search: string;\n\n private tag: string = 'mark';\n\n componentDidLoad() {\n this.handleHighlightSearch();\n }\n\n componentDidUpdate() {\n this.handleHighlightSearch();\n }\n\n handleHighlightSearch() {\n const basicString = this.resetHighlightSearch(this.host.innerHTML);\n let result = basicString;\n\n if (this.search) {\n const substring = new RegExp(`(${this.search})`, 'gi');\n\n result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`);\n }\n\n this.host.innerHTML = result;\n }\n\n resetHighlightSearch(source: string) {\n // eslint-disable-next-line no-useless-escape\n const substring = new RegExp(`<\\/?${this.tag}>`, 'g');\n\n return source.replace(substring, '');\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,22 +1,83 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, H as Host } from './index-
|
|
5
|
-
import { a as readAsBinaryString } from './read_file-
|
|
6
|
-
import './certification_request-
|
|
7
|
-
import { X as X509Certificate } from './x509_certificate-
|
|
8
|
-
import { X as X509AttributeCertificate, a as X509Crl } from './x509_crl-
|
|
9
|
-
import { P as Pkcs10CertificateRequest } from './pkcs10_certificate_request-
|
|
10
|
-
import { T as Typography, B as Button } from './button-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-DDDrq3In.js';
|
|
5
|
+
import { a as readAsBinaryString } from './read_file-F2F0McJX.js';
|
|
6
|
+
import { P as PemConverter, b as buildExports, $ as SignedData, a0 as EncapsulatedContent, a1 as OctetString, a2 as CertificateSet, a3 as CertificateChoices, e as AsnConvert, C as Certificate, a4 as ContentInfo, D as Download } from './certification_request-BTbyumBe.js';
|
|
7
|
+
import { X as X509Certificate } from './x509_certificate-DX7sKoAD.js';
|
|
8
|
+
import { X as X509AttributeCertificate, a as X509Crl } from './x509_crl-DRjoh8Yp.js';
|
|
9
|
+
import { P as Pkcs10CertificateRequest } from './pkcs10_certificate_request-CrA_WcgY.js';
|
|
10
|
+
import { T as Typography, B as Button } from './button-Djn8UI82.js';
|
|
11
11
|
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const id_data = "1.2.840.113549.1.7.1";
|
|
13
|
+
const id_signedData = "1.2.840.113549.1.7.2";
|
|
14
|
+
|
|
15
|
+
class X509Certificates extends Array {
|
|
16
|
+
constructor(raw) {
|
|
17
|
+
super();
|
|
18
|
+
const rawItems = PemConverter.isPem(raw)
|
|
19
|
+
? PemConverter.decode(raw).map((value) => buildExports.Convert.ToBase64Url(value))
|
|
20
|
+
: raw.split(',');
|
|
21
|
+
if (rawItems.length < 2) {
|
|
22
|
+
throw new Error('Unable to parse string. The array of elements is less than 2');
|
|
23
|
+
}
|
|
24
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
25
|
+
for (const item of rawItems) {
|
|
26
|
+
this.push(new X509Certificate(item));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get commonName() {
|
|
30
|
+
return Array.from(this)
|
|
31
|
+
.map((o) => o.commonName)
|
|
32
|
+
.join('_');
|
|
33
|
+
}
|
|
34
|
+
get raw() {
|
|
35
|
+
const signedData = new SignedData();
|
|
36
|
+
signedData.version = 1;
|
|
37
|
+
signedData.encapContentInfo.eContentType = id_data;
|
|
38
|
+
signedData.encapContentInfo.eContent = new EncapsulatedContent({
|
|
39
|
+
single: new OctetString(),
|
|
40
|
+
});
|
|
41
|
+
signedData.certificates = new CertificateSet(Array.from(this).map((o) => new CertificateChoices({
|
|
42
|
+
certificate: AsnConvert.parse(o.raw, Certificate),
|
|
43
|
+
})));
|
|
44
|
+
const cms = new ContentInfo({
|
|
45
|
+
contentType: id_signedData,
|
|
46
|
+
content: AsnConvert.serialize(signedData),
|
|
47
|
+
});
|
|
48
|
+
return AsnConvert.serialize(cms);
|
|
49
|
+
}
|
|
50
|
+
toString(format = 'pem') {
|
|
51
|
+
switch (format) {
|
|
52
|
+
case 'pem':
|
|
53
|
+
return Array.from(this)
|
|
54
|
+
.map((o) => o.toString('pem'))
|
|
55
|
+
.join('\n');
|
|
56
|
+
case 'base64url':
|
|
57
|
+
return Array.from(this)
|
|
58
|
+
.map((o) => o.toString('base64url'))
|
|
59
|
+
.join(',');
|
|
60
|
+
default:
|
|
61
|
+
return Array.from(this)
|
|
62
|
+
.map((o) => o.toString('base64'))
|
|
63
|
+
.join(',');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
downloadAsPEM(name) {
|
|
67
|
+
Download.cert.asPEM(this.toString('pem'), name || this.commonName);
|
|
68
|
+
}
|
|
69
|
+
downloadAsDER(name) {
|
|
70
|
+
Download.cert.asDER(this.raw, name || this.commonName);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const certificateDecoderCss = "*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%}.textarea{min-height:300px;width:100%;border-radius:4px;border:1px solid var(--pv-color-gray-5);padding:14px;font-family:monospace;resize:vertical}.controls{margin-top:var(--pv-size-base-2);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pv-size-base-2);margin-bottom:var(--pv-size-base-12)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";
|
|
14
75
|
|
|
15
76
|
const CertificateDecoder = class {
|
|
16
77
|
constructor(hostRef) {
|
|
17
78
|
registerInstance(this, hostRef);
|
|
18
|
-
this.successParse = createEvent(this, "successParse"
|
|
19
|
-
this.clearCertificate = createEvent(this, "clearCertificate"
|
|
79
|
+
this.successParse = createEvent(this, "successParse");
|
|
80
|
+
this.clearCertificate = createEvent(this, "clearCertificate");
|
|
20
81
|
this.handleClickDecode = () => {
|
|
21
82
|
const { value } = this.inputPaste;
|
|
22
83
|
if (value) {
|
|
@@ -55,16 +116,13 @@ const CertificateDecoder = class {
|
|
|
55
116
|
}
|
|
56
117
|
}
|
|
57
118
|
};
|
|
58
|
-
this.certificateExamples = undefined;
|
|
59
|
-
this.defaultCertificate = undefined;
|
|
60
|
-
this.certificateDecoded = undefined;
|
|
61
119
|
}
|
|
62
120
|
componentDidLoad() {
|
|
63
|
-
if (this.
|
|
121
|
+
if (this.certificateToDecode) {
|
|
64
122
|
/**
|
|
65
123
|
* Prevent Stencil warning about re-render
|
|
66
124
|
*/
|
|
67
|
-
setTimeout(() => this.decode(this.
|
|
125
|
+
setTimeout(() => this.decode(this.certificateToDecode), 100);
|
|
68
126
|
}
|
|
69
127
|
}
|
|
70
128
|
clearValue() {
|
|
@@ -75,29 +133,48 @@ const CertificateDecoder = class {
|
|
|
75
133
|
setValue(value) {
|
|
76
134
|
this.certificateDecoded = value;
|
|
77
135
|
this.inputPaste.value = value.toString('pem');
|
|
78
|
-
this.successParse.emit(value.toString('
|
|
136
|
+
this.successParse.emit(value.toString('base64url'));
|
|
79
137
|
}
|
|
80
|
-
decode(
|
|
138
|
+
decode(value) {
|
|
81
139
|
new Promise((resolve) => {
|
|
82
|
-
resolve(new
|
|
140
|
+
resolve(new X509Certificates(value));
|
|
83
141
|
})
|
|
84
|
-
.catch(() => new
|
|
85
|
-
.catch(() => new
|
|
86
|
-
.catch(() => new
|
|
142
|
+
.catch(() => new X509Certificate(value))
|
|
143
|
+
.catch(() => new X509AttributeCertificate(value))
|
|
144
|
+
.catch(() => new Pkcs10CertificateRequest(value))
|
|
145
|
+
.catch(() => new X509Crl(value))
|
|
87
146
|
.then((res) => this.setValue(res))
|
|
88
|
-
.catch((
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');
|
|
147
|
+
.catch((error) => {
|
|
148
|
+
console.log(error);
|
|
149
|
+
alert(`Error decoding certificate:\n"${value}"\n\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);
|
|
92
150
|
});
|
|
93
151
|
}
|
|
152
|
+
renderCertificate() {
|
|
153
|
+
if (this.certificateDecoded instanceof X509Certificates) {
|
|
154
|
+
return (h("peculiar-certificate-chain-viewer", { certificates: this.certificateDecoded, download: true }));
|
|
155
|
+
}
|
|
156
|
+
if (this.certificateDecoded instanceof X509Certificate) {
|
|
157
|
+
return (h("peculiar-certificate-viewer", { certificate: this.certificateDecoded, download: true }));
|
|
158
|
+
}
|
|
159
|
+
if (this.certificateDecoded instanceof X509AttributeCertificate) {
|
|
160
|
+
return (h("peculiar-attribute-certificate-viewer", { certificate: this.certificateDecoded, download: true }));
|
|
161
|
+
}
|
|
162
|
+
if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {
|
|
163
|
+
return (h("peculiar-csr-viewer", { certificate: this.certificateDecoded, download: true }));
|
|
164
|
+
}
|
|
165
|
+
if (this.certificateDecoded instanceof X509Crl) {
|
|
166
|
+
return (h("peculiar-crl-viewer", { certificate: this.certificateDecoded, download: true }));
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
94
170
|
render() {
|
|
95
171
|
var _a;
|
|
96
|
-
return (h(Host, { key: '
|
|
172
|
+
return (h(Host, { key: '466ae73c347d305938c8b5f7a9ca0fcc8ec000eb' }, h("textarea", { key: '00d3552d847823c1e4e10162c5ac22de48062c47', placeholder: "Certificate DER or PEM", class: "textarea t-b2 c-black", ref: (el) => { this.inputPaste = el; }, onDrop: this.handleDropFile }), h("div", { key: '2b45a534e3db2d4c879efcc849f439d494ad5adc', class: "controls" }, h("div", { key: 'c78db2ec219c7417c10c8aa4b99e72e1fc16499d', class: "control_row" }, h(Typography, { key: '9e72c34b567870083b68fdaf082aae28f8899b24', variant: "b3", color: "secondary-tint-2" }, "Drag or load file:"), h("input", { key: '7069e5db2f0de85126b4fdcace19e181ab407a16', type: "file", accept: "application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl", onChange: this.handleChangeInputFile, value: "" })), ((_a = this.certificateExamples) === null || _a === void 0 ? void 0 : _a.length) && (h("div", { key: 'e184a0864d8432e1f0aa26788e58f3c336abc598', class: "control_row" }, h(Typography, { key: '19e3213a14ef0b24bb110df7a4e943bf1f2a8ebf', variant: "b3", color: "secondary-tint-2" }, "Load examples:"), h("select", { key: '79082619d5d4bc82cf90afddf58ec58a5ae232b7', onChange: this.handleChangeExample }, h("option", { key: 'add23975d376914239389b621bd956bcd4fb52eb', value: "" }, "None"), this.certificateExamples.map((example) => (h("option", { value: example.value }, example.title)))))), h("div", { key: '876ccefd3125618d5c1e7c83e277349fa78da802', class: "control_row" }, h(Button, { key: 'bb890810c0895ba3fdcc22695e72cd8c2cf9645d', onClick: this.handleClickDecode }, "Decode"), h(Button, { key: 'dadc94b3e9e2e7211d993d99c127abfc8e593545', onClick: this.handleClickClear }, "Clear"))), this.renderCertificate()));
|
|
97
173
|
}
|
|
98
174
|
};
|
|
99
|
-
CertificateDecoder.style =
|
|
175
|
+
CertificateDecoder.style = certificateDecoderCss;
|
|
100
176
|
|
|
101
177
|
export { CertificateDecoder as peculiar_certificate_decoder };
|
|
178
|
+
//# sourceMappingURL=peculiar-certificate-decoder.entry.js.map
|
|
102
179
|
|
|
103
180
|
//# sourceMappingURL=peculiar-certificate-decoder.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"peculiar-certificate-decoder.entry.js","mappings":"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","names":[],"sources":["src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.viewer {\n margin-top: var(--pv-size-base-12);\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() defaultCertificate?: string;\n\n @State() certificateDecoded: X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.defaultCertificate) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.defaultCertificate), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64'));\n }\n\n decode(certificate: string) {\n new Promise((resolve) => {\n resolve(new X509Certificate(certificate));\n })\n .catch(() => new X509AttributeCertificate(certificate))\n .catch(() => new Pkcs10CertificateRequest(certificate))\n .catch(() => new X509Crl(certificate))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((err) => {\n this.clearValue();\n\n console.log(err);\n alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n });\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.certificateDecoded instanceof X509Certificate && (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509AttributeCertificate && (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof Pkcs10CertificateRequest && (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509Crl && (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"version":3,"file":"peculiar-certificate-decoder.entry.js","sources":["../../node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\n\nimport { Download } from '../utils';\n\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({\n single: new OctetString(),\n });\n signedData.certificates = new CertificateSet(\n Array.from(this).map((o) => new CertificateChoices({\n certificate: AsnConvert.parse(o.raw, Certificate),\n })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64url'));\n }\n\n decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"names":["Convert"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
5
|
-
import { X as X509Certificate } from './x509_certificate-
|
|
6
|
-
import './certification_request-
|
|
7
|
-
import { B as BasicInformation,
|
|
8
|
-
import { T as Typography } from './button-
|
|
9
|
-
import './link-
|
|
10
|
-
import './download-
|
|
4
|
+
import { r as registerInstance, h, H as Host } from './index-DDDrq3In.js';
|
|
5
|
+
import { X as X509Certificate } from './x509_certificate-DX7sKoAD.js';
|
|
6
|
+
import './certification_request-BTbyumBe.js';
|
|
7
|
+
import { B as BasicInformation, S as SubjectName, I as IssuerName, P as PublicKey, a as Signature, T as Thumbprints, E as Extensions, g as getIPAddressLink, b as getDNSNameLink, c as getLEILink, M as Miscellaneous } from './miscellaneous-CGtCg3Q9.js';
|
|
8
|
+
import { T as Typography } from './button-Djn8UI82.js';
|
|
9
|
+
import './link-BfDk078v.js';
|
|
10
|
+
import './download-Cqfc-Sxf.js';
|
|
11
11
|
|
|
12
12
|
const certificateViewerCss = "*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";
|
|
13
|
-
const PeculiarCertificateViewerStyle0 = certificateViewerCss;
|
|
14
13
|
|
|
15
14
|
const CertificateViewer = class {
|
|
16
15
|
constructor(hostRef) {
|
|
17
16
|
registerInstance(this, hostRef);
|
|
17
|
+
/**
|
|
18
|
+
* Mobile media query string to control screen view change.
|
|
19
|
+
* <br />
|
|
20
|
+
* **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.
|
|
21
|
+
* @example
|
|
22
|
+
* (max-width: 900px)
|
|
23
|
+
*/
|
|
24
|
+
this.mobileMediaQueryString = '(max-width: 900px)';
|
|
25
|
+
this.mobileScreenView = false;
|
|
26
|
+
this.isDecodeInProcess = true;
|
|
18
27
|
this.getAuthKeyIdParentLink = (value) => {
|
|
19
28
|
var _a;
|
|
20
29
|
return (_a = this.authKeyIdParentLink) === null || _a === void 0 ? void 0 : _a.replace('{{authKeyId}}', value);
|
|
@@ -31,16 +40,6 @@ const CertificateViewer = class {
|
|
|
31
40
|
var _a;
|
|
32
41
|
return (_a = this.subjectKeyIdSiblingsLink) === null || _a === void 0 ? void 0 : _a.replace('{{subjectKeyId}}', value);
|
|
33
42
|
};
|
|
34
|
-
this.certificate = undefined;
|
|
35
|
-
this.download = undefined;
|
|
36
|
-
this.authKeyIdParentLink = undefined;
|
|
37
|
-
this.authKeyIdSiblingsLink = undefined;
|
|
38
|
-
this.subjectKeyIdChildrenLink = undefined;
|
|
39
|
-
this.subjectKeyIdSiblingsLink = undefined;
|
|
40
|
-
this.issuerDnLink = undefined;
|
|
41
|
-
this.mobileMediaQueryString = '(max-width: 900px)';
|
|
42
|
-
this.mobileScreenView = false;
|
|
43
|
-
this.isDecodeInProcess = true;
|
|
44
43
|
}
|
|
45
44
|
handleMediaQueryChange(event) {
|
|
46
45
|
this.mobileScreenView = event.matches;
|
|
@@ -118,8 +117,9 @@ const CertificateViewer = class {
|
|
|
118
117
|
"certificate": ["watchCertificateAndDecode"]
|
|
119
118
|
}; }
|
|
120
119
|
};
|
|
121
|
-
CertificateViewer.style =
|
|
120
|
+
CertificateViewer.style = certificateViewerCss;
|
|
122
121
|
|
|
123
122
|
export { CertificateViewer as peculiar_certificate_viewer };
|
|
123
|
+
//# sourceMappingURL=peculiar-certificate-viewer.entry.js.map
|
|
124
124
|
|
|
125
125
|
//# sourceMappingURL=peculiar-certificate-viewer.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"peculiar-certificate-viewer.entry.js","mappings":"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","names":[],"sources":["src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-certificate-viewer&encapsulation=shadow","src/components/certificate-viewer/certificate-viewer.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"version":3,"file":"peculiar-certificate-viewer.entry.js","sources":["src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-certificate-viewer&encapsulation=shadow","src/components/certificate-viewer/certificate-viewer.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|