@peculiar/certificates-viewer 4.5.0 → 4.6.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.
Files changed (449) hide show
  1. package/components/actions.js.map +1 -1
  2. package/components/arrow_top.js.map +1 -1
  3. package/components/attribute-certificate-viewer.js +2 -4
  4. package/components/attribute-certificate-viewer.js.map +1 -1
  5. package/components/attribute.js.map +1 -1
  6. package/components/button-menu.js +1 -3
  7. package/components/button-menu.js.map +1 -1
  8. package/components/button.js +2 -2
  9. package/components/button.js.map +1 -1
  10. package/components/certificate-chain-viewer.js +0 -1
  11. package/components/certificate-chain-viewer.js.map +1 -1
  12. package/components/certificate-viewer.js +3 -8
  13. package/components/certificate-viewer.js.map +1 -1
  14. package/components/circular-progress.js +2 -6
  15. package/components/circular-progress.js.map +1 -1
  16. package/components/crl-viewer.js +0 -2
  17. package/components/crl-viewer.js.map +1 -1
  18. package/components/cross.js.map +1 -1
  19. package/components/csr-viewer.js +0 -4
  20. package/components/csr-viewer.js.map +1 -1
  21. package/components/download.js +32 -19
  22. package/components/download.js.map +1 -1
  23. package/components/highlight-words.js +1 -1
  24. package/components/highlight-words.js.map +1 -1
  25. package/components/index2.js +2 -1
  26. package/components/index2.js.map +1 -1
  27. package/components/issuer_name.js +3 -1
  28. package/components/issuer_name.js.map +1 -1
  29. package/components/miscellaneous.js +15 -16
  30. package/components/miscellaneous.js.map +1 -1
  31. package/components/peculiar-certificate-decoder.js +7 -8
  32. package/components/peculiar-certificate-decoder.js.map +1 -1
  33. package/components/peculiar-certificates-viewer.js +44 -43
  34. package/components/peculiar-certificates-viewer.js.map +1 -1
  35. package/components/peculiar-text-hider.js +1 -1
  36. package/components/peculiar-text-hider.js.map +1 -1
  37. package/components/pkcs10_certificate_request.js.map +1 -1
  38. package/components/read_file.js.map +1 -1
  39. package/components/subject_name.js.map +1 -1
  40. package/dist/cjs/actions-Dl4HXXlI.js.map +1 -1
  41. package/dist/cjs/arrow_top-DBMPHVlB.js.map +1 -1
  42. package/dist/cjs/{button-C5jDF-CZ.js → button-B0CduHSE.js} +4 -4
  43. package/dist/cjs/button-B0CduHSE.js.map +1 -0
  44. package/dist/cjs/{certification_request-DS5FED4F.js → certification_request-DaJSDP3R.js} +33 -20
  45. package/dist/cjs/certification_request-DaJSDP3R.js.map +1 -0
  46. package/dist/cjs/cross-pi7K0cHC.js.map +1 -1
  47. package/dist/cjs/download-D9skkVoT.js.map +1 -1
  48. package/dist/cjs/index.cjs.js +4 -4
  49. package/dist/cjs/{link-CwLq-Nge.js → link-kgbgxxVh.js} +4 -4
  50. package/dist/cjs/link-kgbgxxVh.js.map +1 -0
  51. package/dist/cjs/{miscellaneous-UxtK1SWb.js → miscellaneous-Ce9aGjKB.js} +23 -22
  52. package/dist/cjs/miscellaneous-Ce9aGjKB.js.map +1 -0
  53. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -1
  54. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js +8 -16
  55. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -1
  56. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -1
  57. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +5 -11
  58. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
  59. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +12 -13
  60. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  61. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
  62. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +5 -7
  63. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  64. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
  65. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +47 -46
  66. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  67. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
  68. package/dist/cjs/peculiar-text-hider.cjs.entry.js +2 -2
  69. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
  70. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -1
  71. package/dist/cjs/{pkcs10_certificate_request-DaWYvR0i.js → pkcs10_certificate_request-D13Ssi7Z.js} +3 -3
  72. package/dist/cjs/pkcs10_certificate_request-D13Ssi7Z.js.map +1 -0
  73. package/dist/cjs/read_file-DWtcn3zU.js.map +1 -1
  74. package/dist/cjs/{x509_certificate-DBpSGIUT.js → x509_certificate-h5GZArG6.js} +6 -9
  75. package/dist/cjs/x509_certificate-h5GZArG6.js.map +1 -0
  76. package/dist/cjs/{x509_crl-BBnJqOIF.js → x509_crl-CDPt6P1z.js} +6 -6
  77. package/dist/cjs/x509_crl-CDPt6P1z.js.map +1 -0
  78. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +4 -6
  79. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  80. package/dist/collection/components/button/button.js +3 -3
  81. package/dist/collection/components/button/button.js.map +1 -1
  82. package/dist/collection/components/button/index.js.map +1 -1
  83. package/dist/collection/components/button-menu/button-menu.js +5 -7
  84. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  85. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +1 -2
  86. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  87. package/dist/collection/components/certificate-decoder/certificate-decoder.js +4 -1
  88. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  89. package/dist/collection/components/certificate-details-parts/attributes/activity_description_attribute.js.map +1 -1
  90. package/dist/collection/components/certificate-details-parts/attributes/as_string_attribute.js.map +1 -1
  91. package/dist/collection/components/certificate-details-parts/attributes/basic_attribute.js.map +1 -1
  92. package/dist/collection/components/certificate-details-parts/attributes/challenge_password_attribute.js.map +1 -1
  93. package/dist/collection/components/certificate-details-parts/attributes/index.js +1 -1
  94. package/dist/collection/components/certificate-details-parts/attributes/index.js.map +1 -1
  95. package/dist/collection/components/certificate-details-parts/attributes/insurance_value_attribute.js.map +1 -1
  96. package/dist/collection/components/certificate-details-parts/attributes/name_attribute.js.map +1 -1
  97. package/dist/collection/components/certificate-details-parts/attributes/name_part.js +1 -0
  98. package/dist/collection/components/certificate-details-parts/attributes/name_part.js.map +1 -1
  99. package/dist/collection/components/certificate-details-parts/attributes/type_relationship_attribute.js.map +1 -1
  100. package/dist/collection/components/certificate-details-parts/attributes/unstructured_name_attribute.js.map +1 -1
  101. package/dist/collection/components/certificate-details-parts/attributes/valuation_ranking_attribute.js.map +1 -1
  102. package/dist/collection/components/certificate-details-parts/attributes/web_gdpr_attribute.js.map +1 -1
  103. package/dist/collection/components/certificate-details-parts/basic_information.js.map +1 -1
  104. package/dist/collection/components/certificate-details-parts/extensions/archive_rev_info_extension.js.map +1 -1
  105. package/dist/collection/components/certificate-details-parts/extensions/as_string_extension.js.map +1 -1
  106. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js +1 -1
  107. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js.map +1 -1
  108. package/dist/collection/components/certificate-details-parts/extensions/basic_constraints_extension.js.map +1 -1
  109. package/dist/collection/components/certificate-details-parts/extensions/basic_extension.js.map +1 -1
  110. package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js.map +1 -1
  111. package/dist/collection/components/certificate-details-parts/extensions/ca_version_extension.js.map +1 -1
  112. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js +1 -1
  113. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js.map +1 -1
  114. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js +1 -1
  115. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js.map +1 -1
  116. package/dist/collection/components/certificate-details-parts/extensions/certificate_template_extension.js.map +1 -1
  117. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  118. package/dist/collection/components/certificate-details-parts/extensions/crl_distribution_points_extension.js.map +1 -1
  119. package/dist/collection/components/certificate-details-parts/extensions/crl_number_extension.js.map +1 -1
  120. package/dist/collection/components/certificate-details-parts/extensions/crl_reason_extension.js.map +1 -1
  121. package/dist/collection/components/certificate-details-parts/extensions/enroll_cert_type_extension.js.map +1 -1
  122. package/dist/collection/components/certificate-details-parts/extensions/entrust_version_info_extension.js.map +1 -1
  123. package/dist/collection/components/certificate-details-parts/extensions/extended_key_usage_extension.js.map +1 -1
  124. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js +3 -3
  125. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js.map +1 -1
  126. package/dist/collection/components/certificate-details-parts/extensions/index.js +2 -2
  127. package/dist/collection/components/certificate-details-parts/extensions/index.js.map +1 -1
  128. package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js.map +1 -1
  129. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js +0 -1
  130. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js.map +1 -1
  131. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js +2 -2
  132. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js.map +1 -1
  133. package/dist/collection/components/certificate-details-parts/extensions/key_usage_extension.js.map +1 -1
  134. package/dist/collection/components/certificate-details-parts/extensions/lei_extension.js.map +1 -1
  135. package/dist/collection/components/certificate-details-parts/extensions/lei_role_extennsion.js.map +1 -1
  136. package/dist/collection/components/certificate-details-parts/extensions/logotype_extension.js.map +1 -1
  137. package/dist/collection/components/certificate-details-parts/extensions/name_constraints_extension.js.map +1 -1
  138. package/dist/collection/components/certificate-details-parts/extensions/netscape_cert_type_extension.js.map +1 -1
  139. package/dist/collection/components/certificate-details-parts/extensions/netscape_comment_extension.js.map +1 -1
  140. package/dist/collection/components/certificate-details-parts/extensions/policy_constraints_extension.js.map +1 -1
  141. package/dist/collection/components/certificate-details-parts/extensions/policy_mappings_extension.js.map +1 -1
  142. package/dist/collection/components/certificate-details-parts/extensions/private_key_usage_period_extension.js.map +1 -1
  143. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  144. package/dist/collection/components/certificate-details-parts/extensions/subject_alternative_name_extension.js.map +1 -1
  145. package/dist/collection/components/certificate-details-parts/extensions/subject_directory_attributes_extension.js.map +1 -1
  146. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js +1 -1
  147. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js.map +1 -1
  148. package/dist/collection/components/certificate-details-parts/extensions/timestamp_extension.js.map +1 -1
  149. package/dist/collection/components/certificate-details-parts/extensions/tn_auth_list_extension.js.map +1 -1
  150. package/dist/collection/components/certificate-details-parts/holder.js +1 -1
  151. package/dist/collection/components/certificate-details-parts/holder.js.map +1 -1
  152. package/dist/collection/components/certificate-details-parts/issuer.js.map +1 -1
  153. package/dist/collection/components/certificate-details-parts/issuer_name.js +3 -1
  154. package/dist/collection/components/certificate-details-parts/issuer_name.js.map +1 -1
  155. package/dist/collection/components/certificate-details-parts/miscellaneous.js +2 -2
  156. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  157. package/dist/collection/components/certificate-details-parts/public_key.js +1 -1
  158. package/dist/collection/components/certificate-details-parts/public_key.js.map +1 -1
  159. package/dist/collection/components/certificate-details-parts/revoked_certificates.js +3 -3
  160. package/dist/collection/components/certificate-details-parts/revoked_certificates.js.map +1 -1
  161. package/dist/collection/components/certificate-details-parts/row.js +3 -3
  162. package/dist/collection/components/certificate-details-parts/row.js.map +1 -1
  163. package/dist/collection/components/certificate-details-parts/signature.js +1 -1
  164. package/dist/collection/components/certificate-details-parts/signature.js.map +1 -1
  165. package/dist/collection/components/certificate-details-parts/subject_name.js.map +1 -1
  166. package/dist/collection/components/certificate-details-parts/thumbprints.js.map +1 -1
  167. package/dist/collection/components/certificate-summary/certificate-summary.js.map +1 -1
  168. package/dist/collection/components/certificate-viewer/certificate-viewer.js +5 -7
  169. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  170. package/dist/collection/components/certificates-viewer/certificates-viewer.js +44 -43
  171. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  172. package/dist/collection/components/circular-progress/circular-progress.js +2 -6
  173. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  174. package/dist/collection/components/crl-viewer/crl-viewer.js +4 -6
  175. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  176. package/dist/collection/components/csr-viewer/csr-viewer.js +4 -8
  177. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  178. package/dist/collection/components/highlight-words/highlight-words.js +1 -1
  179. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  180. package/dist/collection/components/icons/actions.js.map +1 -1
  181. package/dist/collection/components/icons/arrow_bottom.js.map +1 -1
  182. package/dist/collection/components/icons/arrow_top.js.map +1 -1
  183. package/dist/collection/components/icons/cross.js.map +1 -1
  184. package/dist/collection/components/icons/details.js.map +1 -1
  185. package/dist/collection/components/icons/download.js.map +1 -1
  186. package/dist/collection/components/icons/link.js.map +1 -1
  187. package/dist/collection/components/link/link.js +1 -1
  188. package/dist/collection/components/link/link.js.map +1 -1
  189. package/dist/collection/components/text-hider/text-hider.js +1 -1
  190. package/dist/collection/components/text-hider/text-hider.js.map +1 -1
  191. package/dist/collection/components/typography/typography.js.map +1 -1
  192. package/dist/collection/constants/oids.js +5 -0
  193. package/dist/collection/constants/oids.js.map +1 -1
  194. package/dist/collection/crypto/asn_data.js +1 -1
  195. package/dist/collection/crypto/asn_data.js.map +1 -1
  196. package/dist/collection/crypto/attribute.js.map +1 -1
  197. package/dist/collection/crypto/extension.js.map +1 -1
  198. package/dist/collection/crypto/name.js.map +1 -1
  199. package/dist/collection/crypto/pem_converter.js +13 -8
  200. package/dist/collection/crypto/pem_converter.js.map +1 -1
  201. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
  202. package/dist/collection/crypto/provider.js +7 -3
  203. package/dist/collection/crypto/provider.js.map +1 -1
  204. package/dist/collection/crypto/utils.js.map +1 -1
  205. package/dist/collection/crypto/x509_attribute_certificate.js +2 -2
  206. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  207. package/dist/collection/crypto/x509_certificate.js +3 -6
  208. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  209. package/dist/collection/crypto/x509_certificates.js +3 -7
  210. package/dist/collection/crypto/x509_certificates.js.map +1 -1
  211. package/dist/collection/crypto/x509_crl.js.map +1 -1
  212. package/dist/collection/utils/download.js +1 -0
  213. package/dist/collection/utils/download.js.map +1 -1
  214. package/dist/collection/utils/download_from_buffer.js +3 -3
  215. package/dist/collection/utils/download_from_buffer.js.map +1 -1
  216. package/dist/collection/utils/l10n.js +1 -3
  217. package/dist/collection/utils/l10n.js.map +1 -1
  218. package/dist/collection/utils/read_file.js.map +1 -1
  219. package/dist/esm/actions-DzoPRObK.js.map +1 -1
  220. package/dist/esm/arrow_top-CF9pv-tQ.js.map +1 -1
  221. package/dist/esm/{button-Djn8UI82.js → button-Do0R_8PZ.js} +4 -4
  222. package/dist/esm/button-Do0R_8PZ.js.map +1 -0
  223. package/dist/esm/{certification_request-Wtz6WM17.js → certification_request-DazysL_f.js} +33 -20
  224. package/dist/esm/certification_request-DazysL_f.js.map +1 -0
  225. package/dist/esm/cross-DdCuR1F2.js.map +1 -1
  226. package/dist/esm/download-Cqfc-Sxf.js.map +1 -1
  227. package/dist/esm/index.js +4 -4
  228. package/dist/esm/{link-BfDk078v.js → link-qg3yKAoS.js} +4 -4
  229. package/dist/esm/link-qg3yKAoS.js.map +1 -0
  230. package/dist/esm/{miscellaneous-CsGuJ6zr.js → miscellaneous-BJPX0Hs_.js} +23 -22
  231. package/dist/esm/miscellaneous-BJPX0Hs_.js.map +1 -0
  232. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
  233. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js +8 -16
  234. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  235. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  236. package/dist/esm/peculiar-button-menu_3.entry.js +5 -11
  237. package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
  238. package/dist/esm/peculiar-certificate-decoder.entry.js +12 -13
  239. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  240. package/dist/esm/peculiar-certificate-viewer.entry.js +5 -7
  241. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  242. package/dist/esm/peculiar-certificates-viewer.entry.js +47 -46
  243. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  244. package/dist/esm/peculiar-text-hider.entry.js +2 -2
  245. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  246. package/dist/esm/{pkcs10_certificate_request-Cn7_Z7a1.js → pkcs10_certificate_request-SQcYKma2.js} +3 -3
  247. package/dist/esm/pkcs10_certificate_request-SQcYKma2.js.map +1 -0
  248. package/dist/esm/read_file-F2F0McJX.js.map +1 -1
  249. package/dist/esm/{x509_certificate-ObET7_Te.js → x509_certificate-Dmgw53TR.js} +6 -9
  250. package/dist/esm/x509_certificate-Dmgw53TR.js.map +1 -0
  251. package/dist/esm/{x509_crl-CeW7yzP9.js → x509_crl-B5TRu79b.js} +6 -6
  252. package/dist/esm/x509_crl-B5TRu79b.js.map +1 -0
  253. package/dist/esm-es5/actions-DzoPRObK.js.map +1 -1
  254. package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +1 -1
  255. package/dist/esm-es5/{button-Djn8UI82.js → button-Do0R_8PZ.js} +2 -2
  256. package/dist/esm-es5/button-Do0R_8PZ.js.map +1 -0
  257. package/dist/esm-es5/{certification_request-Wtz6WM17.js → certification_request-DazysL_f.js} +15 -15
  258. package/dist/esm-es5/certification_request-DazysL_f.js.map +1 -0
  259. package/dist/esm-es5/cross-DdCuR1F2.js.map +1 -1
  260. package/dist/esm-es5/download-Cqfc-Sxf.js.map +1 -1
  261. package/dist/esm-es5/index.js +1 -1
  262. package/dist/esm-es5/{link-BfDk078v.js → link-qg3yKAoS.js} +3 -3
  263. package/dist/esm-es5/link-qg3yKAoS.js.map +1 -0
  264. package/dist/esm-es5/{miscellaneous-CsGuJ6zr.js → miscellaneous-BJPX0Hs_.js} +3 -3
  265. package/dist/esm-es5/miscellaneous-BJPX0Hs_.js.map +1 -0
  266. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
  267. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +1 -1
  268. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  269. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  270. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  271. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  272. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +1 -1
  273. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  274. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
  275. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  276. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  277. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  278. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  279. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  280. package/dist/esm-es5/{pkcs10_certificate_request-Cn7_Z7a1.js → pkcs10_certificate_request-SQcYKma2.js} +2 -2
  281. package/dist/esm-es5/pkcs10_certificate_request-SQcYKma2.js.map +1 -0
  282. package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -1
  283. package/dist/esm-es5/{x509_certificate-ObET7_Te.js → x509_certificate-Dmgw53TR.js} +3 -3
  284. package/dist/esm-es5/x509_certificate-Dmgw53TR.js.map +1 -0
  285. package/dist/esm-es5/{x509_crl-CeW7yzP9.js → x509_crl-B5TRu79b.js} +4 -4
  286. package/dist/esm-es5/x509_crl-B5TRu79b.js.map +1 -0
  287. package/dist/peculiar/index.esm.js +1 -1
  288. package/dist/peculiar/p--Pej0I-A.system.js.map +1 -0
  289. package/dist/peculiar/{p-t-yLLnfF.js → p-0HZUc9Ix.js} +3 -3
  290. package/dist/peculiar/p-0HZUc9Ix.js.map +1 -0
  291. package/dist/peculiar/p-15c2b820.entry.js +5 -0
  292. package/dist/peculiar/{p-f4490197.entry.js.map → p-15c2b820.entry.js.map} +1 -1
  293. package/dist/peculiar/{p-5b829829.system.entry.js → p-16aa5600.system.entry.js} +2 -2
  294. package/dist/peculiar/p-16aa5600.system.entry.js.map +1 -0
  295. package/dist/peculiar/{p-3e4062f6.entry.js → p-1cbb0d6b.entry.js} +16 -16
  296. package/dist/peculiar/p-1cbb0d6b.entry.js.map +1 -0
  297. package/dist/peculiar/{p-7a3bf94e.entry.js → p-218364f2.entry.js} +2 -2
  298. package/dist/peculiar/p-218364f2.entry.js.map +1 -0
  299. package/dist/peculiar/{p-B3myni_G.js → p-3zhoLQno.js} +4 -4
  300. package/dist/peculiar/p-3zhoLQno.js.map +1 -0
  301. package/dist/peculiar/{p-63aa01ad.system.entry.js → p-44648a8e.system.entry.js} +3 -3
  302. package/dist/peculiar/p-44648a8e.system.entry.js.map +1 -0
  303. package/dist/peculiar/{p-5608ba3e.system.entry.js → p-52444a44.system.entry.js} +2 -2
  304. package/dist/peculiar/p-52444a44.system.entry.js.map +1 -0
  305. package/dist/peculiar/{p-69b461b4.entry.js → p-5b843427.entry.js} +3 -3
  306. package/dist/peculiar/p-5b843427.entry.js.map +1 -0
  307. package/dist/peculiar/{p-12d2e080.entry.js → p-7b0e7f43.entry.js} +2 -2
  308. package/dist/peculiar/p-7b0e7f43.entry.js.map +1 -0
  309. package/dist/peculiar/p-B2YrZuK2.system.js.map +1 -1
  310. package/dist/peculiar/p-BA8os2l6.system.js.map +1 -0
  311. package/dist/peculiar/p-BAB4EyrL.system.js.map +1 -0
  312. package/dist/peculiar/{p-DPre0WhP.system.js → p-BBZwtkNN.system.js} +4 -4
  313. package/dist/peculiar/p-BBZwtkNN.system.js.map +1 -0
  314. package/dist/peculiar/p-BBgwMHRZ.system.js.map +1 -1
  315. package/dist/peculiar/p-BHBizfwo.js.map +1 -1
  316. package/dist/peculiar/{p-CKoxwzVA.system.js → p-BKKflyKt.system.js} +5 -5
  317. package/dist/peculiar/p-BKKflyKt.system.js.map +1 -0
  318. package/dist/peculiar/p-BOSH9vjy.system.js.map +1 -1
  319. package/dist/peculiar/p-BP2bmYR2.system.js.map +1 -1
  320. package/dist/peculiar/p-BcFnjn1R.system.js.map +1 -0
  321. package/dist/peculiar/{p-uFLk5hDd.system.js → p-BmIps4bV.system.js} +18 -18
  322. package/dist/peculiar/p-BmIps4bV.system.js.map +1 -0
  323. package/dist/peculiar/{p-DgcB4Nqx.system.js → p-CDh6shXP.system.js} +9 -9
  324. package/dist/peculiar/p-CDh6shXP.system.js.map +1 -0
  325. package/dist/peculiar/{p-BisXzAqN.js → p-CEHpBNWe.js} +3 -3
  326. package/dist/peculiar/p-CEHpBNWe.js.map +1 -0
  327. package/dist/peculiar/{p-CttQwkXH.js → p-CJro0Exb.js} +10 -10
  328. package/dist/peculiar/p-CJro0Exb.js.map +1 -0
  329. package/dist/peculiar/p-CWs-Ocvt.system.js.map +1 -0
  330. package/dist/peculiar/p-CeKqQ13Z.js.map +1 -1
  331. package/dist/peculiar/{p-BCATfe_H.js → p-CkwiD_ia.js} +2 -2
  332. package/dist/peculiar/p-CkwiD_ia.js.map +1 -0
  333. package/dist/peculiar/{p-BRhx1gbw.system.js → p-Cm-ylIxb.system.js} +2 -2
  334. package/dist/peculiar/p-Cm-ylIxb.system.js.map +1 -0
  335. package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -1
  336. package/dist/peculiar/p-D5BWI7FK.system.js +1 -1
  337. package/dist/peculiar/p-DJRm54BZ.system.js.map +1 -0
  338. package/dist/peculiar/{p-L1KL0R34.system.js → p-DRoyzOgk.system.js} +3 -3
  339. package/dist/peculiar/p-DRoyzOgk.system.js.map +1 -0
  340. package/dist/peculiar/{p-Wtz6WM17.js → p-DazysL_f.js} +4 -4
  341. package/dist/peculiar/p-DazysL_f.js.map +1 -0
  342. package/dist/peculiar/p-DhdG07f8.js.map +1 -1
  343. package/dist/peculiar/p-DkAhB3Vy.js.map +1 -1
  344. package/dist/peculiar/{p-lNFxlG5A.js → p-DzItK48Y.js} +4 -4
  345. package/dist/peculiar/p-DzItK48Y.js.map +1 -0
  346. package/dist/peculiar/p-F2F0McJX.js.map +1 -1
  347. package/dist/peculiar/{p-CcANm2qm.system.js → p-YHrZ3f_s.system.js} +2 -2
  348. package/dist/peculiar/p-YHrZ3f_s.system.js.map +1 -0
  349. package/dist/peculiar/p-a3c0f753.system.entry.js +5 -0
  350. package/dist/peculiar/{p-cae95996.system.entry.js.map → p-a3c0f753.system.entry.js.map} +1 -1
  351. package/dist/peculiar/{p-0e8ab957.entry.js → p-ab6a8a44.entry.js} +2 -2
  352. package/dist/peculiar/p-ab6a8a44.entry.js.map +1 -0
  353. package/dist/peculiar/{p-1af57833.system.entry.js → p-d16ddef8.system.entry.js} +2 -2
  354. package/dist/peculiar/p-d16ddef8.system.entry.js.map +1 -0
  355. package/dist/peculiar/{p-bafc3336.system.entry.js → p-d9013293.system.entry.js} +16 -16
  356. package/dist/peculiar/p-d9013293.system.entry.js.map +1 -0
  357. package/dist/peculiar/{p-B859JpGw.system.js → p-wYK0iVYg.system.js} +2 -2
  358. package/dist/peculiar/p-wYK0iVYg.system.js.map +1 -0
  359. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -1
  360. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -1
  361. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  362. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  363. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  364. package/dist/peculiar/peculiar-text-hider.entry.esm.js.map +1 -1
  365. package/dist/peculiar/peculiar.esm.js +1 -1
  366. package/dist/types/components/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +3 -3
  367. package/dist/types/components/button/button.d.ts +2 -2
  368. package/dist/types/components/button/index.d.ts +1 -1
  369. package/dist/types/components/button-menu/button-menu.d.ts +5 -5
  370. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  371. package/dist/types/components/certificate-summary/certificate-summary.d.ts +2 -2
  372. package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +3 -3
  373. package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +3 -2
  374. package/dist/types/components/crl-viewer/crl-viewer.d.ts +3 -3
  375. package/dist/types/components/csr-viewer/csr-viewer.d.ts +3 -3
  376. package/dist/types/components/icons/actions.d.ts +2 -2
  377. package/dist/types/components/icons/arrow_bottom.d.ts +2 -2
  378. package/dist/types/components/icons/arrow_top.d.ts +2 -2
  379. package/dist/types/components/icons/cross.d.ts +2 -2
  380. package/dist/types/components/icons/details.d.ts +2 -2
  381. package/dist/types/components/icons/download.d.ts +2 -2
  382. package/dist/types/components/icons/link.d.ts +2 -2
  383. package/dist/types/components/link/link.d.ts +4 -4
  384. package/dist/types/components/typography/typography.d.ts +5 -5
  385. package/dist/types/components.d.ts +20 -20
  386. package/dist/types/constants/oids.d.ts +5 -0
  387. package/dist/types/crypto/asn_data.d.ts +1 -3
  388. package/dist/types/crypto/pem_converter.d.ts +7 -19
  389. package/dist/types/crypto/provider.d.ts +1 -6
  390. package/dist/types/interface.d.ts +3 -3
  391. package/dist/types/utils/l10n.d.ts +6 -6
  392. package/dist/types/utils/read_file.d.ts +7 -7
  393. package/hydrate/index.js +115 -120
  394. package/hydrate/index.mjs +115 -120
  395. package/package.json +2 -2
  396. package/dist/cjs/button-C5jDF-CZ.js.map +0 -1
  397. package/dist/cjs/certification_request-DS5FED4F.js.map +0 -1
  398. package/dist/cjs/link-CwLq-Nge.js.map +0 -1
  399. package/dist/cjs/miscellaneous-UxtK1SWb.js.map +0 -1
  400. package/dist/cjs/pkcs10_certificate_request-DaWYvR0i.js.map +0 -1
  401. package/dist/cjs/x509_certificate-DBpSGIUT.js.map +0 -1
  402. package/dist/cjs/x509_crl-BBnJqOIF.js.map +0 -1
  403. package/dist/esm/button-Djn8UI82.js.map +0 -1
  404. package/dist/esm/certification_request-Wtz6WM17.js.map +0 -1
  405. package/dist/esm/link-BfDk078v.js.map +0 -1
  406. package/dist/esm/miscellaneous-CsGuJ6zr.js.map +0 -1
  407. package/dist/esm/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
  408. package/dist/esm/x509_certificate-ObET7_Te.js.map +0 -1
  409. package/dist/esm/x509_crl-CeW7yzP9.js.map +0 -1
  410. package/dist/esm-es5/button-Djn8UI82.js.map +0 -1
  411. package/dist/esm-es5/certification_request-Wtz6WM17.js.map +0 -1
  412. package/dist/esm-es5/link-BfDk078v.js.map +0 -1
  413. package/dist/esm-es5/miscellaneous-CsGuJ6zr.js.map +0 -1
  414. package/dist/esm-es5/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
  415. package/dist/esm-es5/x509_certificate-ObET7_Te.js.map +0 -1
  416. package/dist/esm-es5/x509_crl-CeW7yzP9.js.map +0 -1
  417. package/dist/peculiar/p-0e8ab957.entry.js.map +0 -1
  418. package/dist/peculiar/p-12d2e080.entry.js.map +0 -1
  419. package/dist/peculiar/p-1af57833.system.entry.js.map +0 -1
  420. package/dist/peculiar/p-3e4062f6.entry.js.map +0 -1
  421. package/dist/peculiar/p-5608ba3e.system.entry.js.map +0 -1
  422. package/dist/peculiar/p-5b829829.system.entry.js.map +0 -1
  423. package/dist/peculiar/p-63aa01ad.system.entry.js.map +0 -1
  424. package/dist/peculiar/p-69b461b4.entry.js.map +0 -1
  425. package/dist/peculiar/p-7Nmqck4T.system.js.map +0 -1
  426. package/dist/peculiar/p-7a3bf94e.entry.js.map +0 -1
  427. package/dist/peculiar/p-B3myni_G.js.map +0 -1
  428. package/dist/peculiar/p-B859JpGw.system.js.map +0 -1
  429. package/dist/peculiar/p-BCATfe_H.js.map +0 -1
  430. package/dist/peculiar/p-BRhx1gbw.system.js.map +0 -1
  431. package/dist/peculiar/p-BX9qW3ww.system.js.map +0 -1
  432. package/dist/peculiar/p-BisXzAqN.js.map +0 -1
  433. package/dist/peculiar/p-CFhlbr47.system.js.map +0 -1
  434. package/dist/peculiar/p-CKoxwzVA.system.js.map +0 -1
  435. package/dist/peculiar/p-C_vT-OYk.system.js.map +0 -1
  436. package/dist/peculiar/p-CcANm2qm.system.js.map +0 -1
  437. package/dist/peculiar/p-CttQwkXH.js.map +0 -1
  438. package/dist/peculiar/p-DPre0WhP.system.js.map +0 -1
  439. package/dist/peculiar/p-DX5B2Msh.system.js.map +0 -1
  440. package/dist/peculiar/p-DgcB4Nqx.system.js.map +0 -1
  441. package/dist/peculiar/p-Dk86_qlM.system.js.map +0 -1
  442. package/dist/peculiar/p-L1KL0R34.system.js.map +0 -1
  443. package/dist/peculiar/p-Wtz6WM17.js.map +0 -1
  444. package/dist/peculiar/p-bafc3336.system.entry.js.map +0 -1
  445. package/dist/peculiar/p-cae95996.system.entry.js +0 -5
  446. package/dist/peculiar/p-f4490197.entry.js +0 -5
  447. package/dist/peculiar/p-lNFxlG5A.js.map +0 -1
  448. package/dist/peculiar/p-t-yLLnfF.js.map +0 -1
  449. package/dist/peculiar/p-uFLk5hDd.system.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CWs-Ocvt.system.js","sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-chain-viewer/certificate-chain-viewer.scss?tag=peculiar-certificate-chain-viewer&encapsulation=shadow","src/components/certificate-chain-viewer/certificate-chain-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx"],"sourcesContent":["/**\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { ActivityDescription } from '@peculiar/asn1-ntqwac';\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { WebGDPR } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { InsuranceValue } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { TypeRelationship } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { ValuationRanking } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as unknown as string[]}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { UnstructuredName } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { ChallengePassword } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n} from '@peculiar/asn1-pkcs9';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as unknown as Attribute<Name>}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as unknown as Attribute<ActivityDescription>}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as unknown as Attribute<WebGDPR>}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as unknown as Attribute<InsuranceValue>}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as unknown as Attribute<TypeRelationship>}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as unknown as Attribute<ValuationRanking>}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as unknown as Attribute<UnstructuredName>}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as unknown as Attribute<ChallengePassword>}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as unknown as Attribute<string>}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch {\n console.error('Error render attribute:', attribute.asn.type);\n\n return null;\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n CRLReason, InvalidityDate, CertificateIssuer,\n} from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport {\n dateShort, l10n, getStringByOID,\n} from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\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 { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\n </TableRowTable>,\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 { h, FunctionalComponent } from '@stencil/core';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509AttributeCertificate } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TAttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\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() certificate: TAttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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 = false;\n\n @State() isDecodeInProcess = 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: TAttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\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(\n newValue: TAttributeCertificateProp,\n oldValue: TAttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\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 renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this attribute certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no attribute 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 <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\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 <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","@import '../../css/base.scss';\n@import '../certificate-viewer/certificate-viewer.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.tabs {\n white-space: nowrap;\n overflow-x: auto;\n border-bottom: 1px solid var(--pv-color-gray-4);\n padding: 0 var(--pv-size-base-4);\n margin-bottom: var(--pv-size-base-6);\n}\n\n.tab {\n font-family: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border: none;\n border-bottom: 3px solid transparent;\n min-height: var(--pv-size-base-12);\n height: 100%;\n padding: 0 var(--pv-size-base-3);\n background-color: transparent;\n transition: background-color 200ms, color 200ms, border-color 200ms;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n font-weight: var(--pv-text-s2-weight);\n font-size: var(--pv-text-s2-size);\n line-height: var(--pv-text-s2-height);\n letter-spacing: var(--pv-text-s2-spacing);\n color: var(--pv-color-gray-10);\n\n &:hover {\n background-color: var(--pv-color-secondary-tint-5);\n }\n\n &[aria-selected=\"true\"] {\n color: var(--pv-color-black);\n border-color: var(--pv-color-secondary);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\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 Host,\n} from '@stencil/core';\nimport { X509Certificates } from '../../crypto';\nimport { Typography } from '../typography';\nimport { Miscellaneous } from '../certificate-details-parts';\n\n@Component({\n tag: 'peculiar-certificate-chain-viewer',\n styleUrl: 'certificate-chain-viewer.scss',\n shadow: true,\n})\nexport class CertificateChainViewer {\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificates: X509Certificates;\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 @State() selectedCertificateIndex = 0;\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificates available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (!this.certificates) {\n return this.renderEmptyState();\n }\n\n return (\n <Host>\n <div\n role=\"tablist\"\n class=\"tabs\"\n >\n {Array.from(this.certificates).map((certificate, index) => (\n <button\n type=\"button\"\n role=\"tab\"\n class=\"tab\"\n aria-selected={index === this.selectedCertificateIndex ? 'true' : 'false'}\n onClick={() => {\n this.selectedCertificateIndex = index;\n }}\n >\n {certificate.commonName}\n </button>\n ))}\n </div>\n {Array.from(this.certificates).map((certificate, index) => {\n if (index === this.selectedCertificateIndex) {\n return (\n <peculiar-certificate-viewer\n certificate={certificate}\n download={false}\n />\n );\n }\n\n return null;\n })}\n\n <table>\n {this.download && (\n <Miscellaneous\n certificate={this.certificates}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509Crl } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\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: TCrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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 = false;\n\n @State() isDecodeInProcess = 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: TCrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(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 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 getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TCrlProp,\n oldValue: TCrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list 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 <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\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 />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { Pkcs10CertificateRequest } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCsrProp = string | Pkcs10CertificateRequest;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: Pkcs10CertificateRequest;\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: TCsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\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 * 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 = false;\n\n @State() isDecodeInProcess = 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: TCsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof Pkcs10CertificateRequest) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new Pkcs10CertificateRequest(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\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(\n newValue: TCsrProp,\n oldValue: TCsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof Pkcs10CertificateRequest\n && oldValue instanceof Pkcs10CertificateRequest\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => value;\n\n private getAuthKeyIdSiblingsLink = (value: string) => 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 renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate request.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate request 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 <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 <Attributes\n attributes={this.certificateDecoded.attributes}\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 <Extensions\n extensions={this.certificateDecoded.extensions}\n title=\"Extension Request\"\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":["Name","Convert","certificateViewerCss"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-CeKqQ13Z.js","sources":["src/components/icons/arrow_bottom.tsx","src/components/icons/arrow_top.tsx"],"sourcesContent":["/**\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { ColorType } from '../../interface';\n\nexport const ArrowBottomIcon: FunctionalComponent<{ color?: ColorType }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28\"\n />\n </svg>\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { ColorType } from '../../interface';\n\nexport const ArrowTopIcon: FunctionalComponent<{ color?: ColorType }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,eAAe,GAA+C,CAAC,KAAK,KAAI;AACnF,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,0DAA0D,EAC5D,CAAA,CACE;AAEV;;AC9BA;;;;;;AAMG;AAKU,MAAA,YAAY,GAA+C,CAAC,KAAK,KAAI;AAChF,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,wDAAwD,EAC1D,CAAA,CACE;AAEV;;;;"}
1
+ {"version":3,"file":"p-CeKqQ13Z.js","sources":["src/components/icons/arrow_bottom.tsx","src/components/icons/arrow_top.tsx"],"sourcesContent":["/**\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowBottomIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28\"\n />\n </svg>\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowTopIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,eAAe,GAA4C,CAAC,KAAK,KAAI;AAChF,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,0DAA0D,EAC5D,CAAA,CACE;AAEV;;AC9BA;;;;;;AAMG;AAKU,MAAA,YAAY,GAA4C,CAAC,KAAK,KAAI;AAC7E,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,wDAAwD,EAC1D,CAAA,CACE;AAEV;;;;"}
@@ -15,5 +15,5 @@ import{h as n}from"./p-DDDrq3In.js";
15
15
  *
16
16
  * This source code is licensed under the MIT license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
- */const c=(t,o)=>{const{href:c,class:e,startIcon:a,onClick:s}=t;const p=!!c;const b=p?"a":"button";return n(b,{type:!p&&"button",href:p&&c,target:p&&"_blank",rel:p&&"noreferrer noopener",onClick:s,class:{button:true,m_no_padding:o.length===0,[e]:Boolean(e)}},a,o.length>0&&n(r,{variant:"b3",color:"black",component:"span"},o))};export{c as B,r as T};
19
- //# sourceMappingURL=p-BCATfe_H.js.map
18
+ */const c=(t,o)=>{const{href:c,class:e,startIcon:a,onClick:s}=t;const p=!!c;const b=p?"a":"button";return n(b,{type:!p&&"button",href:p&&c,target:p&&"_blank",rel:p&&"noreferrer noopener",class:{button:true,m_no_padding:o.length===0,[e]:Boolean(e)},onClick:s},a,o.length>0&&n(r,{variant:"b3",color:"black",component:"span"},o))};export{c as B,r as T};
19
+ //# sourceMappingURL=p-CkwiD_ia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CkwiD_ia.js","sources":["src/components/typography/typography.tsx","src/components/button/button.tsx"],"sourcesContent":["/**\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { TTypography, TColor } from '../../interface';\n\ninterface ITypographyProps {\n component?: keyof JSX.IntrinsicElements;\n variant?: TTypography;\n color?: TColor;\n class?: string;\n}\n\nconst variantMapping: Record<TTypography, 'p' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n s1: 'h6',\n s2: 'h6',\n b1: 'p',\n b2: 'p',\n b3: 'p',\n btn1: 'span',\n btn2: 'span',\n c1: 'p',\n c2: 'p',\n};\n\nexport const Typography: FunctionalComponent<ITypographyProps> = (props, children) => {\n const {\n component: componentProp,\n variant = 'b2',\n color = 'black',\n class: classProp,\n ...other\n } = props;\n\n const Component = componentProp || variantMapping[variant] || 'p';\n\n return (\n <Component\n {...other}\n class={{\n typography: true,\n [`t-${variant}`]: true,\n [`c-${color}`]: true,\n [classProp]: Boolean(classProp),\n }}\n >\n {children}\n </Component>\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 FunctionalComponent, h, VNode,\n} from '@stencil/core';\nimport { Typography } from '../typography';\n\nexport interface IButtonProps {\n href?: string;\n class?: string;\n startIcon?: VNode;\n onClick?: (event: MouseEvent) => void;\n}\n\nexport const Button: FunctionalComponent<IButtonProps> = (props, children) => {\n const {\n href,\n class: classProp,\n startIcon,\n onClick,\n } = props;\n\n const isLink = !!href;\n const TagType = isLink ? 'a' : 'button';\n\n return (\n <TagType\n type={!isLink && 'button'}\n href={isLink && href}\n target={isLink && '_blank'}\n rel={isLink && 'noreferrer noopener'}\n class={{\n button: true,\n // eslint-disable-next-line react/destructuring-assignment\n m_no_padding: children.length === 0,\n [classProp]: Boolean(classProp),\n }}\n onClick={onClick}\n >\n {startIcon}\n {/* eslint-disable-next-line react/destructuring-assignment */}\n {children.length > 0 && (\n <Typography\n variant=\"b3\"\n color=\"black\"\n component=\"span\"\n >\n {children}\n </Typography>\n )}\n </TagType>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;;;;;;;;;;;;AAYH,MAAM,cAAc,GAAgF;AAClG,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;CACR;MAEY,UAAU,GAA0C,CAAC,KAAK,EAAE,QAAQ,KAAI;IACnF,MAAM,EACJ,SAAS,EAAE,aAAa,EACxB,OAAO,GAAG,IAAI,EACd,KAAK,GAAG,OAAO,EACf,KAAK,EAAE,SAAS,EAAA,GAEd,KAAK,EADJ,KAAK,GAAA,MAAA,CACN,KAAK,EANH,CAML,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAQ;IAET,MAAM,SAAS,GAAG,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG;AAEjE,IAAA,QACE,CAAC,CAAA,SAAS,oBACJ,KAAK,EAAA,EACT,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,CAAK,EAAA,EAAA,OAAO,CAAE,CAAA,GAAG,IAAI;AACtB,YAAA,CAAC,CAAK,EAAA,EAAA,KAAK,CAAE,CAAA,GAAG,IAAI;AACpB,YAAA,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SAChC,EAEA,CAAA,EAAA,QAAQ,CACC;AAEhB;;AC3DA;;;;;;AAMG;MAcU,MAAM,GAAsC,CAAC,KAAK,EAAE,QAAQ,KAAI;AAC3E,IAAA,MAAM,EACJ,IAAI,EACJ,KAAK,EAAE,SAAS,EAChB,SAAS,EACT,OAAO,GACR,GAAG,KAAK;AAET,IAAA,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IACrB,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ;AAEvC,IAAA,QACE,CAAA,CAAC,OAAO,EAAA,EACN,IAAI,EAAE,CAAC,MAAM,IAAI,QAAQ,EACzB,IAAI,EAAE,MAAM,IAAI,IAAI,EACpB,MAAM,EAAE,MAAM,IAAI,QAAQ,EAC1B,GAAG,EAAE,MAAM,IAAI,qBAAqB,EACpC,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,IAAI;;AAEZ,YAAA,YAAY,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;AACnC,YAAA,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SAChC,EACD,OAAO,EAAE,OAAO,EAAA;QAEf,SAAS;QAET,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClB,CAAA,CAAC,UAAU,EAAA,EACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,MAAM,EAEf,EAAA,QAAQ,CACE,CACd,CACO;AAEd;;;;"}
@@ -16,5 +16,5 @@ var r=undefined&&undefined.__rest||function(n,t){var r={};for(var e in n)if(Obje
16
16
  *
17
17
  * This source code is licensed under the MIT license found in the
18
18
  * LICENSE file in the root directory of this source tree.
19
- */var o=n("B",(function(n,r){var e;var o=n.href,c=n.class,u=n.startIcon,i=n.onClick;var p=!!o;var s=p?"a":"button";return t(s,{type:!p&&"button",href:p&&o,target:p&&"_blank",rel:p&&"noreferrer noopener",onClick:i,class:(e={button:true,m_no_padding:r.length===0},e[c]=Boolean(c),e)},u,r.length>0&&t(a,{variant:"b3",color:"black",component:"span"},r))}))}}}));
20
- //# sourceMappingURL=p-BRhx1gbw.system.js.map
19
+ */var o=n("B",(function(n,r){var e;var o=n.href,c=n.class,u=n.startIcon,i=n.onClick;var p=!!o;var s=p?"a":"button";return t(s,{type:!p&&"button",href:p&&o,target:p&&"_blank",rel:p&&"noreferrer noopener",class:(e={button:true,m_no_padding:r.length===0},e[c]=Boolean(c),e),onClick:i},u,r.length>0&&t(a,{variant:"b3",color:"black",component:"span"},r))}))}}}));
20
+ //# sourceMappingURL=p-Cm-ylIxb.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-Cm-ylIxb.system.js","sources":["src/components/typography/typography.tsx","src/components/button/button.tsx"],"sourcesContent":["/**\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 { FunctionalComponent, h } from '@stencil/core';\nimport type { TTypography, TColor } from '../../interface';\n\ninterface ITypographyProps {\n component?: keyof JSX.IntrinsicElements;\n variant?: TTypography;\n color?: TColor;\n class?: string;\n}\n\nconst variantMapping: Record<TTypography, 'p' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n s1: 'h6',\n s2: 'h6',\n b1: 'p',\n b2: 'p',\n b3: 'p',\n btn1: 'span',\n btn2: 'span',\n c1: 'p',\n c2: 'p',\n};\n\nexport const Typography: FunctionalComponent<ITypographyProps> = (props, children) => {\n const {\n component: componentProp,\n variant = 'b2',\n color = 'black',\n class: classProp,\n ...other\n } = props;\n\n const Component = componentProp || variantMapping[variant] || 'p';\n\n return (\n <Component\n {...other}\n class={{\n typography: true,\n [`t-${variant}`]: true,\n [`c-${color}`]: true,\n [classProp]: Boolean(classProp),\n }}\n >\n {children}\n </Component>\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 FunctionalComponent, h, VNode,\n} from '@stencil/core';\nimport { Typography } from '../typography';\n\nexport interface IButtonProps {\n href?: string;\n class?: string;\n startIcon?: VNode;\n onClick?: (event: MouseEvent) => void;\n}\n\nexport const Button: FunctionalComponent<IButtonProps> = (props, children) => {\n const {\n href,\n class: classProp,\n startIcon,\n onClick,\n } = props;\n\n const isLink = !!href;\n const TagType = isLink ? 'a' : 'button';\n\n return (\n <TagType\n type={!isLink && 'button'}\n href={isLink && href}\n target={isLink && '_blank'}\n rel={isLink && 'noreferrer noopener'}\n class={{\n button: true,\n // eslint-disable-next-line react/destructuring-assignment\n m_no_padding: children.length === 0,\n [classProp]: Boolean(classProp),\n }}\n onClick={onClick}\n >\n {startIcon}\n {/* eslint-disable-next-line react/destructuring-assignment */}\n {children.length > 0 && (\n <Typography\n variant=\"b3\"\n color=\"black\"\n component=\"span\"\n >\n {children}\n </Typography>\n )}\n </TagType>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;YAAA;;;;;;YAMG;;;;;;;;;;;;YAYH,MAAM,cAAc,GAAgF;YAClG,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,IAAI;YACR,IAAA,EAAE,EAAE,GAAG;YACP,IAAA,EAAE,EAAE,GAAG;YACP,IAAA,EAAE,EAAE,GAAG;YACP,IAAA,IAAI,EAAE,MAAM;YACZ,IAAA,IAAI,EAAE,MAAM;YACZ,IAAA,EAAE,EAAE,GAAG;YACP,IAAA,EAAE,EAAE,GAAG;aACR;kBAEY,UAAU,gBAA0C,CAAC,KAAK,EAAE,QAAQ,KAAI;gBACnF,MAAM,EACJ,SAAS,EAAE,aAAa,EACxB,OAAO,GAAG,IAAI,EACd,KAAK,GAAG,OAAO,EACf,KAAK,EAAE,SAAS,EAAA,GAEd,KAAK,EADJ,KAAK,GAAA,MAAA,CACN,KAAK,EANH,CAML,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAQ;gBAET,MAAM,SAAS,GAAG,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG;YAEjE,IAAA,QACE,CAAC,CAAA,SAAS,oBACJ,KAAK,EAAA,EACT,KAAK,EAAE;YACL,YAAA,UAAU,EAAE,IAAI;YAChB,YAAA,CAAC,CAAK,EAAA,EAAA,OAAO,CAAE,CAAA,GAAG,IAAI;YACtB,YAAA,CAAC,CAAK,EAAA,EAAA,KAAK,CAAE,CAAA,GAAG,IAAI;YACpB,YAAA,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;qBAChC,EAEA,CAAA,EAAA,QAAQ,CACC;YAEhB;;YC3DA;;;;;;YAMG;kBAcU,MAAM,gBAAsC,CAAC,KAAK,EAAE,QAAQ,KAAI;YAC3E,IAAA,MAAM,EACJ,IAAI,EACJ,KAAK,EAAE,SAAS,EAChB,SAAS,EACT,OAAO,GACR,GAAG,KAAK;YAET,IAAA,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;gBACrB,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ;YAEvC,IAAA,QACE,CAAA,CAAC,OAAO,EAAA,EACN,IAAI,EAAE,CAAC,MAAM,IAAI,QAAQ,EACzB,IAAI,EAAE,MAAM,IAAI,IAAI,EACpB,MAAM,EAAE,MAAM,IAAI,QAAQ,EAC1B,GAAG,EAAE,MAAM,IAAI,qBAAqB,EACpC,KAAK,EAAE;YACL,YAAA,MAAM,EAAE,IAAI;;YAEZ,YAAA,YAAY,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;YACnC,YAAA,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;qBAChC,EACD,OAAO,EAAE,OAAO,EAAA;oBAEf,SAAS;oBAET,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClB,CAAA,CAAC,UAAU,EAAA,EACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,MAAM,EAEf,EAAA,QAAQ,CACE,CACd,CACO;YAEd;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-D2QB-8Q6.system.js","sources":["src/utils/read_file.ts"],"sourcesContent":["/**\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\nexport type FileValue = string | ArrayBuffer | null;\nexport interface IFileDataType extends Blob {\n name?: string;\n mimeType?: string;\n lastModified?: number;\n}\nexport interface IReadFileResult {\n value: FileValue;\n fileName: string | undefined;\n fileSize: number | undefined;\n sourceMime: string | undefined;\n}\n\n/**\n * Read file as Binary string\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsBinaryString(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsBinaryString(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsBinaryString(file);\n });\n}\n\n/**\n * Read file as ArrayBuffer\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsArrayBuffer(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsArrayBuffer(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsArrayBuffer(file);\n });\n}\n\n/**\n * Read file as Data URL\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsDataUrl(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsDataUrl(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * Read file as Text\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsText(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsText(file: IFileDataType, options?: string): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsText(file, options);\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;YAAA;;;;;;YAMG;YAeH;;;;;;;;;;YAUG;YAEG,SAAU,kBAAkB,CAAC,IAAmB,EAAA;gBACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACjC,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEG,SAAU,iBAAiB,CAAC,IAAmB,EAAA;gBACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAChC,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEG,SAAU,aAAa,CAAC,IAAmB,EAAA;gBAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;YAC5B,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEa,SAAA,UAAU,CAAC,IAAmB,EAAE,OAAgB,EAAA;gBAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;YAClC,KAAC,CAAC;YACJ;;;;;;;;"}
1
+ {"version":3,"file":"p-D2QB-8Q6.system.js","sources":["src/utils/read_file.ts"],"sourcesContent":["/**\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\nexport type TFileValue = string | ArrayBuffer | null;\nexport interface IFileData extends Blob {\n name?: string;\n mimeType?: string;\n lastModified?: number;\n}\nexport interface IReadFileResult {\n value: TFileValue;\n fileName: string | undefined;\n fileSize: number | undefined;\n sourceMime: string | undefined;\n}\n\n/**\n * Read file as Binary string\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsBinaryString(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsBinaryString(file: IFileData): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsBinaryString(file);\n });\n}\n\n/**\n * Read file as ArrayBuffer\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsArrayBuffer(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsArrayBuffer(file: IFileData): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsArrayBuffer(file);\n });\n}\n\n/**\n * Read file as Data URL\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsDataUrl(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsDataUrl(file: IFileData): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * Read file as Text\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsText(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsText(file: IFileData, options?: string): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsText(file, options);\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;YAAA;;;;;;YAMG;YAeH;;;;;;;;;;YAUG;YAEG,SAAU,kBAAkB,CAAC,IAAe,EAAA;gBAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACjC,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEG,SAAU,iBAAiB,CAAC,IAAe,EAAA;gBAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAChC,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEG,SAAU,aAAa,CAAC,IAAe,EAAA;gBAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;YAC5B,KAAC,CAAC;YACJ;YAEA;;;;;;;;;;YAUG;YAEa,SAAA,UAAU,CAAC,IAAe,EAAE,OAAgB,EAAA;gBAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;YAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACtB,SAAA,CAAC;YAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAE3C,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;YAClC,KAAC,CAAC;YACJ;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,i,t,n){function r(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,c){function a(e){try{u(n.next(e))}catch(e){c(e)}}function s(e){try{u(n["throw"](e))}catch(e){c(e)}}function u(e){e.done?t(e.value):r(e.value).then(a,s)}u((n=n.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},n,r,c,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(i){return u([e,i])}}function u(s){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(t=0)),t)try{if(n=1,r&&(c=s[0]&2?r["return"]:s[0]?r["throw"]||((c=r["return"])&&c.call(r),0):r.next)&&!(c=c.call(r,s[1])).done)return c;if(r=0,c)s=[s[0]&2,c.value];switch(s[0]){case 0:case 1:c=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;r=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(c=t.trys,c=c.length>0&&c[c.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!c||s[1]>c[0]&&s[1]<c[3])){t.label=s[1];break}if(s[0]===6&&t.label<c[1]){t.label=c[1];c=s;break}if(c&&t.label<c[2]){t.label=c[2];t.ops.push(s);break}if(c[2])t.ops.pop();t.trys.pop();continue}s=i.call(e,t)}catch(e){s=[6,e];r=0}finally{n=c=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */System.register(["./p-BFenL1ap.system.js","./p-CwlxH4oM.system.js"],(function(e,i){"use strict";var t,n,r;return{setters:[function(i){t=i.p;n=i.b;e("setNonce",i.s)},function(e){r=e.g}],execute:function(){var e=this;var c=function(){var e=i.meta.url;var n={};if(e!==""){n.resourcesUrl=new URL(".",e).href}return t(n)};c().then((function(i){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:e.sent();return[2,n([["p-cae95996.system",[[6,"peculiar-text-hider",{opened:[32]}]]],["p-5b829829.system",[[1,"peculiar-certificate-viewer",{certificate:[513],download:[516],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["p-bafc3336.system",[[1,"peculiar-certificate-chain-viewer",{certificates:[16],download:[516],selectedCertificateIndex:[32]}],[1,"peculiar-attribute-certificate-viewer",{certificate:[1],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-crl-viewer",{certificate:[513],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-csr-viewer",{certificate:[513],download:[4],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["p-5608ba3e.system",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],certificateToDecode:[1,"certificate-to-decode"],certificateDecoded:[32]}]]],["p-1af57833.system",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]],["p-63aa01ad.system",[[1,"peculiar-certificates-viewer",{certificates:[16],filterWithSearch:[4,"filter-with-search"],highlightWithSearch:[4,"highlight-with-search"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],search:[32],certificatesDecoded:[32],expandedRow:[32],certificateSelectedForDetails:[32],isDecodeInProcess:[32]},null,{certificates:["watchCertificates"]}]]]],i)]}}))}))}))}}}));
4
+ */System.register(["./p-BFenL1ap.system.js","./p-CwlxH4oM.system.js"],(function(e,i){"use strict";var t,n,r;return{setters:[function(i){t=i.p;n=i.b;e("setNonce",i.s)},function(e){r=e.g}],execute:function(){var e=this;var c=function(){var e=i.meta.url;var n={};if(e!==""){n.resourcesUrl=new URL(".",e).href}return t(n)};c().then((function(i){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:e.sent();return[2,n([["p-a3c0f753.system",[[6,"peculiar-text-hider",{opened:[32]}]]],["p-16aa5600.system",[[1,"peculiar-certificate-viewer",{certificate:[513],download:[516],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["p-d9013293.system",[[1,"peculiar-certificate-chain-viewer",{certificates:[16],download:[516],selectedCertificateIndex:[32]}],[1,"peculiar-attribute-certificate-viewer",{certificate:[1],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-crl-viewer",{certificate:[513],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-csr-viewer",{certificate:[513],download:[4],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["p-52444a44.system",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],certificateToDecode:[1,"certificate-to-decode"],certificateDecoded:[32]}]]],["p-d16ddef8.system",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]],["p-44648a8e.system",[[1,"peculiar-certificates-viewer",{certificates:[16],filterWithSearch:[4,"filter-with-search"],highlightWithSearch:[4,"highlight-with-search"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],search:[32],certificatesDecoded:[32],expandedRow:[32],certificateSelectedForDetails:[32],isDecodeInProcess:[32]},null,{certificates:["watchCertificates"]}]]]],i)]}}))}))}))}}}));
5
5
  //# sourceMappingURL=p-D5BWI7FK.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DJRm54BZ.system.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';\nimport { X509Certificate } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} 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 TCertificateProp = 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: TCertificateProp;\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 = false;\n\n @State() isDecodeInProcess = 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: TCertificateProp) {\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: TCertificateProp, oldValue: TCertificateProp) {\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 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 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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"}
@@ -1,7 +1,7 @@
1
1
  var __extends=this&&this.__extends||function(){var t=function(n,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r))t[r]=n[r]};return t(n,r)};return function(n,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(n,r);function e(){this.constructor=n}n.prototype=r===null?Object.create(r):(e.prototype=r.prototype,new e)}}();var __awaiter=this&&this.__awaiter||function(t,n,r,e){function i(t){return t instanceof r?t:new r((function(n){n(t)}))}return new(r||(r=Promise))((function(r,u){function o(t){try{f(e.next(t))}catch(t){u(t)}}function a(t){try{f(e["throw"](t))}catch(t){u(t)}}function f(t){t.done?r(t.value):i(t.value).then(o,a)}f((e=e.apply(t,n||[])).next())}))};var __generator=this&&this.__generator||function(t,n){var r={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},e,i,u,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(t){return function(n){return f([t,n])}}function f(a){if(e)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(r=0)),r)try{if(e=1,i&&(u=a[0]&2?i["return"]:a[0]?i["throw"]||((u=i["return"])&&u.call(i),0):i.next)&&!(u=u.call(i,a[1])).done)return u;if(i=0,u)a=[a[0]&2,u.value];switch(a[0]){case 0:case 1:u=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;i=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(u=r.trys,u=u.length>0&&u[u.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!u||a[1]>u[0]&&a[1]<u[3])){r.label=a[1];break}if(a[0]===6&&r.label<u[1]){r.label=u[1];u=a;break}if(u&&r.label<u[2]){r.label=u[2];r.ops.push(a);break}if(u[2])r.ops.pop();r.trys.pop();continue}a=n.call(t,r)}catch(t){a=[6,t];i=0}finally{e=u=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */System.register(["./p-DgcB4Nqx.system.js"],(function(t){"use strict";var n,r,e,i,u,o,a,f,c,s,h,l,v,b,m,w,g,y,_,p;return{setters:[function(t){n=t.A;r=t.c;e=t.C;i=t.P;u=t.b;o=t.N;a=t.a;f=t.E;c=t.e;s=t.i;h=t.f;l=t.g;v=t.R;b=t.h;m=t.j;w=t.k;g=t.l;y=t.m;_=t.n;p=t.D}],execute:function(){
4
+ */System.register(["./p-CDh6shXP.system.js"],(function(t){"use strict";var n,r,e,i,u,o,a,f,c,s,h,l,v,b,m,w,g,y,_,p;return{setters:[function(t){n=t.A;r=t.c;e=t.C;i=t.P;u=t.b;o=t.N;a=t.a;f=t.E;c=t.e;s=t.i;h=t.f;l=t.g;v=t.R;b=t.h;m=t.j;w=t.k;g=t.l;y=t.m;_=t.n;p=t.D}],execute:function(){
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -9,5 +9,5 @@ var __extends=this&&this.__extends||function(){var t=function(n,r){t=Object.setP
9
9
  * This source code is licensed under the MIT license found in the
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
- var O=function(t){__extends(n,t);function n(n){var f=t.call(this,r(n),e)||this;f.thumbprints={};f.type="X.509 Certificate";f.tag=i.CertificateTag;var c=f.asn.tbsCertificate;f.serialNumber=u.Convert.ToHex(c.serialNumber);f.subject=new o(c.subject).toJSON();f.issuer=new o(c.issuer).toJSON();f.version=c.version+1;var s=c.validity.notBefore.utcTime||c.validity.notBefore.generalTime;if(!s){throw new Error("Cannot get 'notBefore' value")}f.notBefore=s;var h=c.validity.notAfter.utcTime||c.validity.notAfter.generalTime;if(!h){throw new Error("Cannot get 'notAfter' value")}f.notAfter=h;f.validity=a(f.notBefore,f.notAfter);return f}n.prototype.parseExtensions=function(){var t=this.asn.tbsCertificate;if(t.extensions){this.extensions=t.extensions.map((function(t){return new f(c.serialize(t))}))}};n.prototype.getPublicKeyInfo=function(t){var n=this;var r=t.subjectPublicKey,e=t.algorithm;var i;if(e.algorithm===s&&e.parameters){i=c.parse(e.parameters,h)}if(e.algorithm===l){i=c.parse(r,v)}if(e.algorithm===b){i=c.parse(r,m);i=i.map((function(t){return n.getPublicKeyInfo(t)}))}var u=c.serialize(t);return{params:i,value:u,algorithm:e.algorithm}};Object.defineProperty(n.prototype,"publicKey",{get:function(){return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo)},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"signature",{get:function(){var t=this.asn,n=t.signatureValue,r=t.signatureAlgorithm;var e;if(r.algorithm===w){var i=c.parse(n,g);var u=c.parse(r.parameters,y);e=u.map((function(t,n){return Object.assign(Object.assign({},t),{value:i[n]})}))}return{params:e,value:n,algorithm:r.algorithm}},enumerable:false,configurable:true});n.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var n,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(e){switch(e.label){case 0:e.trys.push([0,2,,3]);return[4,_(t,this.raw)];case 1:n=e.sent();if(n){this.thumbprints[t]=u.Convert.ToHex(n)}return[3,3];case 2:r=e.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(n.prototype,"commonName",{get:function(){if(!this.subject){return""}for(var t=0;t<this.subject.length;t+=1){var n=this.subject[t];if(n.shortName==="CN"||n.shortName==="E"||n.shortName==="O"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"issuerCommonName",{get:function(){if(!this.issuer){return""}for(var t=0;t<this.issuer.length;t+=1){var n=this.issuer[t];if(n.shortName==="CN"){return n.value}if(n.shortName==="E"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"isRoot",{get:function(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)},enumerable:false,configurable:true});n.prototype.subjectToString=function(){if(!this.subject){return""}return this.subject.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.issuerToString=function(){if(!this.issuer){return""}return this.issuer.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return i.encode(this.raw,this.tag);case"base64url":return u.Convert.ToBase64Url(this.raw);default:return u.Convert.ToBase64(this.raw)}};n.prototype.downloadAsPEM=function(t){p.cert.asPEM(this.toString("pem"),t||this.commonName)};n.prototype.downloadAsDER=function(t){p.cert.asDER(this.raw,t||this.commonName)};return n}(n);t("X",O)}}}));
13
- //# sourceMappingURL=p-L1KL0R34.system.js.map
12
+ var O=function(t){__extends(n,t);function n(n){var f=t.call(this,r(n),e)||this;f.thumbprints={};f.type="X.509 Certificate";f.tag=i.CertificateTag;var c=f.asn.tbsCertificate;f.serialNumber=u.Convert.ToHex(c.serialNumber);f.subject=new o(c.subject).toJSON();f.issuer=new o(c.issuer).toJSON();f.version=c.version+1;var s=c.validity.notBefore.utcTime||c.validity.notBefore.generalTime;if(!s){throw new Error("Cannot get 'notBefore' value")}f.notBefore=s;var h=c.validity.notAfter.utcTime||c.validity.notAfter.generalTime;if(!h){throw new Error("Cannot get 'notAfter' value")}f.notAfter=h;f.validity=a(f.notBefore,f.notAfter);return f}n.prototype.parseExtensions=function(){var t=this.asn.tbsCertificate;if(t.extensions){this.extensions=t.extensions.map((function(t){return new f(c.serialize(t))}))}};n.prototype.getPublicKeyInfo=function(t){var n=this;var r=t.subjectPublicKey,e=t.algorithm;var i;if(e.algorithm===s&&e.parameters){i=c.parse(e.parameters,h)}if(e.algorithm===l){i=c.parse(r,v)}if(e.algorithm===b){i=c.parse(r,m);i=i.map((function(t){return n.getPublicKeyInfo(t)}))}var u=c.serialize(t);return{params:i,value:u,algorithm:e.algorithm}};Object.defineProperty(n.prototype,"publicKey",{get:function(){return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo)},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"signature",{get:function(){var t=this.asn,n=t.signatureValue,r=t.signatureAlgorithm;var e;if(r.algorithm===w){var i=c.parse(n,g);var u=c.parse(r.parameters,y);e=u.map((function(t,n){return Object.assign(Object.assign({},t),{value:i[n]})}))}return{params:e,value:n,algorithm:r.algorithm}},enumerable:false,configurable:true});n.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var n,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(e){switch(e.label){case 0:e.trys.push([0,2,,3]);return[4,_(t,this.raw)];case 1:n=e.sent();if(n){this.thumbprints[t]=u.Convert.ToHex(n)}return[3,3];case 2:r=e.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(n.prototype,"commonName",{get:function(){if(!this.subject){return""}for(var t=0;t<this.subject.length;t+=1){var n=this.subject[t];if(n.shortName==="CN"||n.shortName==="E"||n.shortName==="O"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"issuerCommonName",{get:function(){if(!this.issuer){return""}for(var t=0;t<this.issuer.length;t+=1){var n=this.issuer[t];if(n.shortName==="CN"||n.shortName==="E"||n.shortName==="O"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"isRoot",{get:function(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)},enumerable:false,configurable:true});n.prototype.subjectToString=function(){if(!this.subject){return""}return this.subject.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.issuerToString=function(){if(!this.issuer){return""}return this.issuer.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return i.encode(this.raw,this.tag);case"base64url":return u.Convert.ToBase64Url(this.raw);default:return u.Convert.ToBase64(this.raw)}};n.prototype.downloadAsPEM=function(t){p.cert.asPEM(this.toString("pem"),t||this.commonName)};n.prototype.downloadAsDER=function(t){p.cert.asDER(this.raw,t||this.commonName)};return n}(n);t("X",O)}}}));
13
+ //# sourceMappingURL=p-DRoyzOgk.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DRoyzOgk.system.js","sources":["src/crypto/x509_certificate.ts"],"sourcesContent":["/**\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 { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport {\n id_composite_key,\n id_alg_composite,\n CompositePublicKey,\n CompositeSignatureValue,\n CompositeParams,\n} from '@peculiar/asn1-x509-post-quantum';\nimport { Certificate, SubjectPublicKeyInfo } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { dateDiff, Download } from '../utils';\nimport { Name, INameJSON } from './name';\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\nexport interface ISignature {\n algorithm: string;\n value: BufferSource;\n params?: {\n algorithm: string;\n value: BufferSource;\n }[];\n}\n\nexport interface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey | IPublicKey[];\n}\n\nexport class X509Certificate extends AsnData<Certificate> {\n public readonly serialNumber: string;\n\n public readonly subject: INameJSON[];\n\n public readonly issuer: INameJSON[];\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public extensions: Extension<TExtensionValue>[];\n\n public readonly version: number;\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate';\n\n public readonly tag = PemConverter.CertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), Certificate);\n\n const { tbsCertificate } = this.asn;\n\n this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);\n this.subject = new Name(tbsCertificate.subject).toJSON();\n this.issuer = new Name(tbsCertificate.issuer).toJSON();\n this.version = tbsCertificate.version + 1;\n\n const notBefore = tbsCertificate.validity.notBefore.utcTime\n || tbsCertificate.validity.notBefore.generalTime;\n\n if (!notBefore) {\n throw new Error('Cannot get \\'notBefore\\' value');\n }\n\n this.notBefore = notBefore;\n\n const notAfter = tbsCertificate.validity.notAfter.utcTime\n || tbsCertificate.validity.notAfter.generalTime;\n\n if (!notAfter) {\n throw new Error('Cannot get \\'notAfter\\' value');\n }\n\n this.notAfter = notAfter;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n }\n\n public parseExtensions() {\n const { tbsCertificate } = this.asn;\n\n if (tbsCertificate.extensions) {\n this.extensions = tbsCertificate.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n private getPublicKeyInfo(publicKeyInfo: SubjectPublicKeyInfo) {\n const { subjectPublicKey, algorithm } = publicKeyInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n if (algorithm.algorithm === id_composite_key) {\n params = AsnConvert.parse(subjectPublicKey, CompositePublicKey);\n\n params = params.map((param) => this.getPublicKeyInfo(param));\n }\n\n const spki = AsnConvert.serialize(publicKeyInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get publicKey(): IPublicKey {\n return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo);\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n let params;\n\n if (signatureAlgorithm.algorithm === id_alg_composite) {\n const compositeSignatureValues = AsnConvert.parse(signatureValue, CompositeSignatureValue);\n const compositeParams = AsnConvert.parse(signatureAlgorithm.parameters, CompositeParams);\n\n params = compositeParams.map((param, index) => ({\n ...param,\n value: compositeSignatureValues[index],\n }));\n }\n\n return {\n params,\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public async getThumbprint(\n algorithm = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get issuerCommonName(): string {\n if (!this.issuer) {\n return '';\n }\n\n for (let i = 0; i < this.issuer.length; i += 1) {\n const name = this.issuer[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get isRoot(): boolean {\n return JSON.stringify(this.issuer) === JSON.stringify(this.subject);\n }\n\n public subjectToString() {\n if (!this.subject) {\n return '';\n }\n\n return this.subject\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public issuerToString() {\n if (!this.issuer) {\n return '';\n }\n\n return this.issuer\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\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"],"names":["Convert"],"mappings":"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"}