@peculiar/certificates-viewer 4.3.1 → 4.3.2

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 (362) hide show
  1. package/components/attribute-certificate-viewer.js +5 -5
  2. package/components/attribute-certificate-viewer.js.map +1 -1
  3. package/components/attribute.js +1 -1
  4. package/components/certificate-chain-viewer.js +66 -0
  5. package/components/certificate-chain-viewer.js.map +1 -0
  6. package/components/certificate-viewer.js +5 -5
  7. package/components/certificate-viewer.js.map +1 -1
  8. package/components/circular-progress.js +3 -3
  9. package/components/crl-viewer.js +5 -5
  10. package/components/crl-viewer.js.map +1 -1
  11. package/components/download.js +185 -45
  12. package/components/download.js.map +1 -1
  13. package/components/highlight-words.js +1 -1
  14. package/components/index2.js +1 -1
  15. package/components/issuer_name.js +1 -1
  16. package/components/miscellaneous.js +1 -1
  17. package/components/miscellaneous.js.map +1 -1
  18. package/components/peculiar-certificate-chain-viewer.d.ts +11 -0
  19. package/components/peculiar-certificate-chain-viewer.js +11 -0
  20. package/components/peculiar-certificate-chain-viewer.js.map +1 -0
  21. package/components/peculiar-certificate-decoder.js +105 -19
  22. package/components/peculiar-certificate-decoder.js.map +1 -1
  23. package/components/peculiar-certificates-viewer.js +2 -2
  24. package/components/peculiar-certificates-viewer.js.map +1 -1
  25. package/components/peculiar-text-hider.js +1 -1
  26. package/components/pkcs10_certificate_request.js +5 -5
  27. package/components/pkcs10_certificate_request.js.map +1 -1
  28. package/components/subject_name.js +1 -1
  29. package/dist/cjs/{actions-789906f5.js → actions-64ce3326.js} +2 -2
  30. package/dist/cjs/{actions-789906f5.js.map → actions-64ce3326.js.map} +1 -1
  31. package/dist/cjs/{arrow_top-76e4261e.js → arrow_top-b9b9f280.js} +2 -2
  32. package/dist/cjs/{arrow_top-76e4261e.js.map → arrow_top-b9b9f280.js.map} +1 -1
  33. package/dist/cjs/{button-87086210.js → button-61bb8305.js} +2 -2
  34. package/dist/cjs/{button-87086210.js.map → button-61bb8305.js.map} +1 -1
  35. package/dist/cjs/{certification_request-ad267278.js → certification_request-393a843d.js} +207 -65
  36. package/dist/cjs/certification_request-393a843d.js.map +1 -0
  37. package/dist/cjs/{cross-bd099933.js → cross-3aeffd04.js} +2 -2
  38. package/dist/cjs/{cross-bd099933.js.map → cross-3aeffd04.js.map} +1 -1
  39. package/dist/cjs/{download-820d66ba.js → download-c2836546.js} +2 -2
  40. package/dist/cjs/{download-820d66ba.js.map → download-c2836546.js.map} +1 -1
  41. package/dist/cjs/index-484a84a0.js +2113 -0
  42. package/dist/cjs/index-484a84a0.js.map +1 -0
  43. package/dist/cjs/index.cjs.js +9 -9
  44. package/dist/cjs/{link-a3d3799d.js → link-dad7195a.js} +3 -3
  45. package/dist/cjs/{link-a3d3799d.js.map → link-dad7195a.js.map} +1 -1
  46. package/dist/cjs/loader.cjs.js +2 -2
  47. package/dist/cjs/{miscellaneous-67439e59.js → miscellaneous-ca06fb81.js} +6 -6
  48. package/dist/cjs/{miscellaneous-67439e59.js.map → miscellaneous-ca06fb81.js.map} +1 -1
  49. package/dist/cjs/{peculiar-attribute-certificate-viewer_3.cjs.entry.js → peculiar-attribute-certificate-viewer_4.cjs.entry.js} +40 -9
  50. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -0
  51. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +7 -7
  52. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +101 -21
  53. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  54. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +7 -7
  55. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +8 -8
  56. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  57. package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -4
  58. package/dist/cjs/peculiar.cjs.js +10 -10
  59. package/dist/cjs/peculiar.cjs.js.map +1 -1
  60. package/dist/cjs/{pkcs10_certificate_request-64898c88.js → pkcs10_certificate_request-56990e4f.js} +6 -6
  61. package/dist/cjs/pkcs10_certificate_request-56990e4f.js.map +1 -0
  62. package/dist/cjs/{x509_certificate-4b0894c2.js → x509_certificate-d162984c.js} +6 -6
  63. package/dist/cjs/x509_certificate-d162984c.js.map +1 -0
  64. package/dist/cjs/{x509_crl-fc8d41a1.js → x509_crl-13322e13.js} +11 -11
  65. package/dist/cjs/x509_crl-13322e13.js.map +1 -0
  66. package/dist/collection/collection-manifest.json +3 -2
  67. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +14 -0
  68. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  69. package/dist/collection/components/button-menu/button-menu.js +2 -0
  70. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  71. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +1019 -0
  72. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +101 -0
  73. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -0
  74. package/dist/collection/components/certificate-decoder/certificate-decoder.css +1 -4
  75. package/dist/collection/components/certificate-decoder/certificate-decoder.js +40 -18
  76. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  77. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  78. package/dist/collection/components/certificate-viewer/certificate-viewer.js +16 -0
  79. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  80. package/dist/collection/components/certificates-viewer/certificates-viewer.js +9 -1
  81. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  82. package/dist/collection/components/circular-progress/circular-progress.js +7 -3
  83. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  84. package/dist/collection/components/crl-viewer/crl-viewer.js +12 -0
  85. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  86. package/dist/collection/components/csr-viewer/csr-viewer.js +10 -0
  87. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  88. package/dist/collection/components/highlight-words/highlight-words.js +3 -1
  89. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  90. package/dist/collection/components/text-hider/text-hider.js +1 -1
  91. package/dist/collection/crypto/index.js +1 -0
  92. package/dist/collection/crypto/index.js.map +1 -1
  93. package/dist/collection/crypto/pem_converter.js +169 -0
  94. package/dist/collection/crypto/pem_converter.js.map +1 -0
  95. package/dist/collection/crypto/pkcs10_certificate_request.js +6 -5
  96. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
  97. package/dist/collection/crypto/utils.js +18 -21
  98. package/dist/collection/crypto/utils.js.map +1 -1
  99. package/dist/collection/crypto/x509_attribute_certificate.js +6 -5
  100. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  101. package/dist/collection/crypto/x509_certificate.js +6 -5
  102. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  103. package/dist/collection/crypto/x509_certificates.js +69 -0
  104. package/dist/collection/crypto/x509_certificates.js.map +1 -0
  105. package/dist/collection/crypto/x509_crl.js +6 -5
  106. package/dist/collection/crypto/x509_crl.js.map +1 -1
  107. package/dist/collection/utils/index.js +0 -2
  108. package/dist/collection/utils/index.js.map +1 -1
  109. package/dist/collection/www-copy/index.js +123 -121
  110. package/dist/esm/{actions-aebcbc9d.js → actions-2e39a3b9.js} +2 -2
  111. package/dist/esm/{actions-aebcbc9d.js.map → actions-2e39a3b9.js.map} +1 -1
  112. package/dist/esm/{arrow_top-aee1ee02.js → arrow_top-72c7543a.js} +2 -2
  113. package/dist/esm/{arrow_top-aee1ee02.js.map → arrow_top-72c7543a.js.map} +1 -1
  114. package/dist/esm/{button-a2fabf9a.js → button-e0909687.js} +2 -2
  115. package/dist/esm/{button-a2fabf9a.js.map → button-e0909687.js.map} +1 -1
  116. package/dist/esm/{certification_request-a4699dcf.js → certification_request-714bd438.js} +186 -46
  117. package/dist/esm/certification_request-714bd438.js.map +1 -0
  118. package/dist/esm/{cross-1377606f.js → cross-0c62835f.js} +2 -2
  119. package/dist/esm/{cross-1377606f.js.map → cross-0c62835f.js.map} +1 -1
  120. package/dist/esm/{download-14dc1047.js → download-5686d86f.js} +2 -2
  121. package/dist/esm/{download-14dc1047.js.map → download-5686d86f.js.map} +1 -1
  122. package/dist/esm/index-38365508.js +2084 -0
  123. package/dist/esm/index-38365508.js.map +1 -0
  124. package/dist/esm/index.js +9 -9
  125. package/dist/esm/{link-7e4e9060.js → link-09718951.js} +3 -3
  126. package/dist/esm/{link-7e4e9060.js.map → link-09718951.js.map} +1 -1
  127. package/dist/esm/loader.js +3 -3
  128. package/dist/esm/{miscellaneous-ba1fd2bd.js → miscellaneous-0657d00e.js} +6 -6
  129. package/dist/esm/{miscellaneous-ba1fd2bd.js.map → miscellaneous-0657d00e.js.map} +1 -1
  130. package/dist/esm/{peculiar-attribute-certificate-viewer_3.entry.js → peculiar-attribute-certificate-viewer_4.entry.js} +40 -10
  131. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
  132. package/dist/esm/peculiar-button-menu_3.entry.js +7 -7
  133. package/dist/esm/peculiar-certificate-decoder.entry.js +101 -21
  134. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  135. package/dist/esm/peculiar-certificate-viewer.entry.js +7 -7
  136. package/dist/esm/peculiar-certificates-viewer.entry.js +8 -8
  137. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  138. package/dist/esm/peculiar-text-hider.entry.js +4 -4
  139. package/dist/esm/peculiar.js +11 -11
  140. package/dist/esm/peculiar.js.map +1 -1
  141. package/dist/esm/{pkcs10_certificate_request-785a4794.js → pkcs10_certificate_request-d3871050.js} +6 -6
  142. package/dist/esm/pkcs10_certificate_request-d3871050.js.map +1 -0
  143. package/dist/esm/{x509_certificate-05a23c0e.js → x509_certificate-d0d0c5c1.js} +6 -6
  144. package/dist/esm/x509_certificate-d0d0c5c1.js.map +1 -0
  145. package/dist/esm/{x509_crl-26081461.js → x509_crl-e837f4c3.js} +11 -11
  146. package/dist/esm/x509_crl-e837f4c3.js.map +1 -0
  147. package/dist/esm-es5/{actions-aebcbc9d.js → actions-2e39a3b9.js} +2 -2
  148. package/dist/esm-es5/{actions-aebcbc9d.js.map → actions-2e39a3b9.js.map} +1 -1
  149. package/dist/esm-es5/app-globals-5e9b67e0.js.map +1 -1
  150. package/dist/esm-es5/{arrow_top-aee1ee02.js → arrow_top-72c7543a.js} +2 -2
  151. package/dist/esm-es5/{arrow_top-aee1ee02.js.map → arrow_top-72c7543a.js.map} +1 -1
  152. package/dist/esm-es5/{button-a2fabf9a.js → button-e0909687.js} +2 -2
  153. package/dist/esm-es5/{button-a2fabf9a.js.map → button-e0909687.js.map} +1 -1
  154. package/dist/esm-es5/{certification_request-a4699dcf.js → certification_request-714bd438.js} +19 -12
  155. package/dist/esm-es5/certification_request-714bd438.js.map +1 -0
  156. package/dist/esm-es5/{cross-1377606f.js → cross-0c62835f.js} +2 -2
  157. package/dist/esm-es5/{cross-1377606f.js.map → cross-0c62835f.js.map} +1 -1
  158. package/dist/esm-es5/{download-14dc1047.js → download-5686d86f.js} +2 -2
  159. package/dist/esm-es5/{download-14dc1047.js.map → download-5686d86f.js.map} +1 -1
  160. package/dist/esm-es5/index-38365508.js +6 -0
  161. package/dist/esm-es5/index-38365508.js.map +1 -0
  162. package/dist/esm-es5/index.js +1 -1
  163. package/dist/esm-es5/index.js.map +1 -1
  164. package/dist/esm-es5/{link-7e4e9060.js → link-09718951.js} +3 -3
  165. package/dist/esm-es5/{link-7e4e9060.js.map → link-09718951.js.map} +1 -1
  166. package/dist/esm-es5/loader.js +2 -2
  167. package/dist/esm-es5/loader.js.map +1 -1
  168. package/dist/esm-es5/{miscellaneous-ba1fd2bd.js → miscellaneous-0657d00e.js} +2 -2
  169. package/dist/esm-es5/{miscellaneous-ba1fd2bd.js.map → miscellaneous-0657d00e.js.map} +1 -1
  170. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +110 -0
  171. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
  172. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  173. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  174. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  175. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  176. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
  177. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  178. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  179. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  180. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  181. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  182. package/dist/esm-es5/peculiar.js +2 -2
  183. package/dist/esm-es5/peculiar.js.map +1 -1
  184. package/dist/esm-es5/{pkcs10_certificate_request-785a4794.js → pkcs10_certificate_request-d3871050.js} +3 -3
  185. package/dist/esm-es5/pkcs10_certificate_request-d3871050.js.map +1 -0
  186. package/dist/esm-es5/read_file-bb0b1450.js.map +1 -1
  187. package/dist/esm-es5/x509_certificate-d0d0c5c1.js +12 -0
  188. package/dist/esm-es5/x509_certificate-d0d0c5c1.js.map +1 -0
  189. package/dist/esm-es5/x509_crl-e837f4c3.js +19 -0
  190. package/dist/esm-es5/x509_crl-e837f4c3.js.map +1 -0
  191. package/dist/peculiar/index.esm.js +1 -1
  192. package/dist/peculiar/index.esm.js.map +1 -1
  193. package/dist/peculiar/{p-5a662d6f.system.js → p-02529999.system.js} +2 -2
  194. package/dist/peculiar/{p-5a662d6f.system.js.map → p-02529999.system.js.map} +1 -1
  195. package/dist/peculiar/{p-9263e7ee.system.entry.js → p-04228f9c.system.entry.js} +3 -3
  196. package/dist/peculiar/{p-9263e7ee.system.entry.js.map → p-04228f9c.system.entry.js.map} +1 -1
  197. package/dist/peculiar/{p-1566ad92.system.entry.js → p-12bc3ebc.system.entry.js} +2 -2
  198. package/dist/peculiar/{p-1566ad92.system.entry.js.map → p-12bc3ebc.system.entry.js.map} +1 -1
  199. package/dist/peculiar/{p-afbd1c8e.entry.js → p-161f7f97.entry.js} +2 -2
  200. package/dist/peculiar/{p-afbd1c8e.entry.js.map → p-161f7f97.entry.js.map} +1 -1
  201. package/dist/peculiar/p-25a532a3.js.map +1 -1
  202. package/dist/peculiar/p-32cf293c.system.js +5 -0
  203. package/dist/peculiar/p-32cf293c.system.js.map +1 -0
  204. package/dist/peculiar/{p-2bc2abea.system.js → p-35cd359e.system.js} +2 -2
  205. package/dist/peculiar/{p-2bc2abea.system.js.map → p-35cd359e.system.js.map} +1 -1
  206. package/dist/peculiar/p-39bbe0b9.system.entry.js +5 -0
  207. package/dist/peculiar/{p-b5389885.system.entry.js.map → p-39bbe0b9.system.entry.js.map} +1 -1
  208. package/dist/peculiar/p-41eacbcd.system.entry.js +111 -0
  209. package/dist/peculiar/p-41eacbcd.system.entry.js.map +1 -0
  210. package/dist/peculiar/p-47b7dd9e.entry.js +110 -0
  211. package/dist/peculiar/p-47b7dd9e.entry.js.map +1 -0
  212. package/dist/peculiar/{p-8bbee8f4.system.js → p-4ee5beee.system.js} +2 -2
  213. package/dist/peculiar/{p-8bbee8f4.system.js.map → p-4ee5beee.system.js.map} +1 -1
  214. package/dist/peculiar/p-55303453.system.js.map +1 -1
  215. package/dist/peculiar/{p-ae91d778.js → p-562652dd.js} +2 -2
  216. package/dist/peculiar/{p-ae91d778.js.map → p-562652dd.js.map} +1 -1
  217. package/dist/peculiar/p-5b4db88b.system.js +5 -0
  218. package/dist/peculiar/p-5b4db88b.system.js.map +1 -0
  219. package/dist/peculiar/{p-e4ad4f13.system.entry.js → p-67452b74.system.entry.js} +2 -2
  220. package/dist/peculiar/{p-e4ad4f13.system.entry.js.map → p-67452b74.system.entry.js.map} +1 -1
  221. package/dist/peculiar/p-684b7f0f.system.js +142 -0
  222. package/dist/peculiar/p-684b7f0f.system.js.map +1 -0
  223. package/dist/peculiar/{p-bafd67f3.entry.js → p-6eb92f5a.entry.js} +2 -2
  224. package/dist/peculiar/{p-bafd67f3.entry.js.map → p-6eb92f5a.entry.js.map} +1 -1
  225. package/dist/peculiar/p-8dd6d1ee.entry.js +5 -0
  226. package/dist/peculiar/p-8dd6d1ee.entry.js.map +1 -0
  227. package/dist/peculiar/{p-a9487007.js → p-90c3a063.js} +2 -2
  228. package/dist/peculiar/{p-a9487007.js.map → p-90c3a063.js.map} +1 -1
  229. package/dist/peculiar/{p-6e2ad7eb.js → p-90f461c0.js} +13 -13
  230. package/dist/peculiar/{p-6e2ad7eb.js.map → p-90f461c0.js.map} +1 -1
  231. package/dist/peculiar/{p-99efefea.js → p-92f9641a.js} +2 -2
  232. package/dist/peculiar/{p-99efefea.js.map → p-92f9641a.js.map} +1 -1
  233. package/dist/peculiar/p-93e299aa.system.entry.js +5 -0
  234. package/dist/peculiar/p-93e299aa.system.entry.js.map +1 -0
  235. package/dist/peculiar/p-9987b899.js +19 -0
  236. package/dist/peculiar/{p-4bc5ddbe.js.map → p-9987b899.js.map} +1 -1
  237. package/dist/peculiar/p-9b64adaa.system.js +13 -0
  238. package/dist/peculiar/p-9b64adaa.system.js.map +1 -0
  239. package/dist/peculiar/{p-243244af.system.js → p-9ca02302.system.js} +2 -2
  240. package/dist/peculiar/{p-243244af.system.js.map → p-9ca02302.system.js.map} +1 -1
  241. package/dist/peculiar/p-a1adb881.js +6 -0
  242. package/dist/peculiar/p-a1adb881.js.map +1 -0
  243. package/dist/peculiar/{p-eea904d7.system.js → p-a3054d6e.system.js} +2 -2
  244. package/dist/peculiar/{p-eea904d7.system.js.map → p-a3054d6e.system.js.map} +1 -1
  245. package/dist/peculiar/{p-32807e5e.js → p-a55fd6f1.js} +19 -12
  246. package/dist/peculiar/p-a55fd6f1.js.map +1 -0
  247. package/dist/peculiar/p-a87e1a0e.js +12 -0
  248. package/dist/peculiar/{p-e6a6e602.js.map → p-a87e1a0e.js.map} +1 -1
  249. package/dist/peculiar/p-a9ea6c79.system.js +20 -0
  250. package/dist/peculiar/p-a9ea6c79.system.js.map +1 -0
  251. package/dist/peculiar/{p-67e82386.entry.js → p-b01c70cf.entry.js} +3 -3
  252. package/dist/peculiar/{p-67e82386.entry.js.map → p-b01c70cf.entry.js.map} +1 -1
  253. package/dist/peculiar/p-b5674f82.js +19 -0
  254. package/dist/peculiar/p-b5674f82.js.map +1 -0
  255. package/dist/peculiar/{p-27ca6743.js → p-ba3dfc03.js} +2 -2
  256. package/dist/peculiar/{p-27ca6743.js.map → p-ba3dfc03.js.map} +1 -1
  257. package/dist/peculiar/p-bc91996c.system.js +6 -0
  258. package/dist/peculiar/p-bc91996c.system.js.map +1 -0
  259. package/dist/peculiar/p-c2995a63.system.js.map +1 -1
  260. package/dist/peculiar/p-c5d3333c.system.js +19 -0
  261. package/dist/peculiar/p-c5d3333c.system.js.map +1 -0
  262. package/dist/peculiar/p-cb8a0b79.js +19 -0
  263. package/dist/peculiar/p-cb8a0b79.js.map +1 -0
  264. package/dist/peculiar/{p-c241e4ba.system.js → p-d46670fa.system.js} +2 -2
  265. package/dist/peculiar/{p-c241e4ba.system.js.map → p-d46670fa.system.js.map} +1 -1
  266. package/dist/peculiar/{p-9712b827.system.js → p-d9145ee8.system.js} +2 -2
  267. package/dist/peculiar/{p-9712b827.system.js.map → p-d9145ee8.system.js.map} +1 -1
  268. package/dist/peculiar/p-dac867e8.js.map +1 -1
  269. package/dist/peculiar/p-f456fe47.js +12 -0
  270. package/dist/peculiar/p-f456fe47.js.map +1 -0
  271. package/dist/peculiar/p-f6ec61db.entry.js +5 -0
  272. package/dist/peculiar/{p-713563fb.entry.js.map → p-f6ec61db.entry.js.map} +1 -1
  273. package/dist/peculiar/peculiar.esm.js +1 -1
  274. package/dist/peculiar/peculiar.esm.js.map +1 -1
  275. package/dist/peculiar/peculiar.js +1 -1
  276. package/dist/types/components/certificate-chain-viewer/certificate-chain-viewer.d.ts +21 -0
  277. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +5 -4
  278. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  279. package/dist/types/components/typography/typography.d.ts +0 -1
  280. package/dist/types/components.d.ts +33 -4
  281. package/dist/types/crypto/index.d.ts +1 -0
  282. package/dist/types/crypto/pem_converter.d.ts +71 -0
  283. package/dist/types/crypto/pkcs10_certificate_request.d.ts +2 -2
  284. package/dist/types/crypto/utils.d.ts +7 -3
  285. package/dist/types/crypto/x509_attribute_certificate.d.ts +2 -2
  286. package/dist/types/crypto/x509_certificate.d.ts +2 -2
  287. package/dist/types/crypto/x509_certificates.d.ts +9 -0
  288. package/dist/types/crypto/x509_crl.d.ts +2 -2
  289. package/dist/types/stencil-public-runtime.d.ts +9 -10
  290. package/dist/types/utils/index.d.ts +0 -2
  291. package/hydrate/index.d.ts +36 -12
  292. package/hydrate/index.js +25131 -15090
  293. package/hydrate/index.mjs +34931 -0
  294. package/hydrate/package.json +7 -1
  295. package/loader/cdn.js +1 -1
  296. package/loader/index.cjs.js +1 -1
  297. package/loader/index.d.ts +3 -0
  298. package/loader/index.es2017.js +1 -1
  299. package/loader/index.js +1 -1
  300. package/package.json +13 -10
  301. package/dist/cjs/certification_request-ad267278.js.map +0 -1
  302. package/dist/cjs/index-e2ae280a.js +0 -2730
  303. package/dist/cjs/index-e2ae280a.js.map +0 -1
  304. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +0 -1
  305. package/dist/cjs/pkcs10_certificate_request-64898c88.js.map +0 -1
  306. package/dist/cjs/x509_certificate-4b0894c2.js.map +0 -1
  307. package/dist/cjs/x509_crl-fc8d41a1.js.map +0 -1
  308. package/dist/collection/utils/validator.js +0 -25
  309. package/dist/collection/utils/validator.js.map +0 -1
  310. package/dist/esm/certification_request-a4699dcf.js.map +0 -1
  311. package/dist/esm/index-ae188432.js +0 -2701
  312. package/dist/esm/index-ae188432.js.map +0 -1
  313. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
  314. package/dist/esm/pkcs10_certificate_request-785a4794.js.map +0 -1
  315. package/dist/esm/x509_certificate-05a23c0e.js.map +0 -1
  316. package/dist/esm/x509_crl-26081461.js.map +0 -1
  317. package/dist/esm-es5/certification_request-a4699dcf.js.map +0 -1
  318. package/dist/esm-es5/index-ae188432.js +0 -6
  319. package/dist/esm-es5/index-ae188432.js.map +0 -1
  320. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +0 -110
  321. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
  322. package/dist/esm-es5/pkcs10_certificate_request-785a4794.js.map +0 -1
  323. package/dist/esm-es5/x509_certificate-05a23c0e.js +0 -12
  324. package/dist/esm-es5/x509_certificate-05a23c0e.js.map +0 -1
  325. package/dist/esm-es5/x509_crl-26081461.js +0 -19
  326. package/dist/esm-es5/x509_crl-26081461.js.map +0 -1
  327. package/dist/peculiar/p-32807e5e.js.map +0 -1
  328. package/dist/peculiar/p-3cb79cd9.js +0 -6
  329. package/dist/peculiar/p-3cb79cd9.js.map +0 -1
  330. package/dist/peculiar/p-4bc5ddbe.js +0 -19
  331. package/dist/peculiar/p-5d1d4a96.entry.js +0 -110
  332. package/dist/peculiar/p-5d1d4a96.entry.js.map +0 -1
  333. package/dist/peculiar/p-713563fb.entry.js +0 -5
  334. package/dist/peculiar/p-7ddd9a82.system.js +0 -19
  335. package/dist/peculiar/p-7ddd9a82.system.js.map +0 -1
  336. package/dist/peculiar/p-821bdcdc.system.js +0 -6
  337. package/dist/peculiar/p-821bdcdc.system.js.map +0 -1
  338. package/dist/peculiar/p-8393399a.system.js +0 -5
  339. package/dist/peculiar/p-8393399a.system.js.map +0 -1
  340. package/dist/peculiar/p-98e3a016.system.js +0 -13
  341. package/dist/peculiar/p-98e3a016.system.js.map +0 -1
  342. package/dist/peculiar/p-9ad547d2.system.entry.js +0 -5
  343. package/dist/peculiar/p-9ad547d2.system.entry.js.map +0 -1
  344. package/dist/peculiar/p-a1a48332.system.js +0 -5
  345. package/dist/peculiar/p-a1a48332.system.js.map +0 -1
  346. package/dist/peculiar/p-ab5a4988.js +0 -12
  347. package/dist/peculiar/p-ab5a4988.js.map +0 -1
  348. package/dist/peculiar/p-ae44c2b0.system.js +0 -20
  349. package/dist/peculiar/p-ae44c2b0.system.js.map +0 -1
  350. package/dist/peculiar/p-b5389885.system.entry.js +0 -5
  351. package/dist/peculiar/p-cd1b1876.entry.js +0 -5
  352. package/dist/peculiar/p-cd1b1876.entry.js.map +0 -1
  353. package/dist/peculiar/p-d5ba4fc2.js +0 -19
  354. package/dist/peculiar/p-d5ba4fc2.js.map +0 -1
  355. package/dist/peculiar/p-e37e4df2.system.js +0 -135
  356. package/dist/peculiar/p-e37e4df2.system.js.map +0 -1
  357. package/dist/peculiar/p-e6a6e602.js +0 -12
  358. package/dist/peculiar/p-f8c91ee4.js +0 -19
  359. package/dist/peculiar/p-f8c91ee4.js.map +0 -1
  360. package/dist/peculiar/p-f9c07207.system.entry.js +0 -111
  361. package/dist/peculiar/p-f9c07207.system.entry.js.map +0 -1
  362. package/dist/types/utils/validator.d.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"names":["X509AttributeCertificate","AsnData","constructor","raw","super","certificateRawToBuffer","AttributeCertificate","this","thumbprints","type","tag","PemConverter","AttributeCertificateTag","acinfo","asn","serialNumber","Convert","ToHex","version","notBefore","attrCertValidityPeriod","notBeforeTime","Error","notAfter","notAfterTime","validity","dateDiff","issuer","v1Form","_a","v2Form","issuerName","holder","signature","signatureValue","signatureAlgorithm","value","algorithm","parseExtensions","extensions","map","e","Extension","AsnConvert","serialize","parseAttributes","attributes","Attribute","getThumbprint","thumbprint","getCertificateThumbprint","error","console","commonName","toString","format","encode","ToBase64Url","ToBase64","downloadAsPEM","name","Download","attrCert","asPEM","downloadAsDER","asDER","X509Crl","CertificateList","CrlTag","tbsCertList","Name","toJSON","lastUpdate","thisUpdate","getTime","nextUpdate","revokedCertificates","revokedCertificate","revocationDate","userCertificate","crlEntryExtensions","i","length","shortName","crlExtensions","crl"],"sources":["src/crypto/x509_attribute_certificate.ts","src/crypto/x509_crl.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 type { GeneralName } from '@peculiar/asn1-x509';\nimport { AttributeCertificate, Holder } from '@peculiar/asn1-x509-attr';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Extension, TExtensionValue } from './extension';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport class X509AttributeCertificate extends AsnData<AttributeCertificate> {\n public readonly serialNumber: string;\n\n public readonly version: number;\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 attributes: Attribute<TAttributeValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly issuer: GeneralName[];\n\n public holder: Holder;\n\n public readonly type = 'X.509 Attribute Certificate';\n\n public readonly tag = PemConverter.AttributeCertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), AttributeCertificate);\n\n const { acinfo } = this.asn;\n\n this.serialNumber = Convert.ToHex(acinfo.serialNumber);\n this.version = acinfo.version;\n\n const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;\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 this.issuer = acinfo.issuer.v1Form || acinfo.issuer.v2Form?.issuerName;\n this.holder = acinfo.holder;\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n\n return {\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public parseExtensions() {\n const { acinfo } = this.asn;\n\n if (acinfo.extensions) {\n this.extensions = acinfo.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n public parseAttributes() {\n const { acinfo } = this.asn;\n\n if (acinfo.attributes) {\n this.attributes = acinfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n }\n }\n\n public async getThumbprint(\n algorithm: string = '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 return `attribute-certificate-${this.thumbprints['SHA-1']}`;\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.attrCert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.attrCert.asDER(\n this.raw,\n name || this.commonName,\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 */\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { CertificateList, Time } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport interface IRevokedCertificate {\n userCertificate: ArrayBuffer;\n revocationDate: Time;\n crlEntryExtensions?: Extension<TExtensionValue>[];\n}\n\nexport class X509Crl extends AsnData<CertificateList> {\n public readonly issuer: INameJSON[];\n\n public readonly version: number;\n\n public readonly lastUpdate: Date;\n\n public readonly nextUpdate: Date;\n\n public extensions: Extension<TExtensionValue>[];\n\n public revokedCertificates: IRevokedCertificate[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate Revocation List';\n\n public readonly tag = PemConverter.CrlTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificateList);\n\n const { tbsCertList } = this.asn;\n\n this.issuer = new Name(tbsCertList.issuer).toJSON();\n this.version = tbsCertList.version + 1;\n this.lastUpdate = tbsCertList.thisUpdate.getTime();\n this.nextUpdate = tbsCertList.nextUpdate.getTime();\n\n this.revokedCertificates = (tbsCertList.revokedCertificates || [])\n .map((revokedCertificate) => ({\n revocationDate: revokedCertificate.revocationDate,\n userCertificate: revokedCertificate.userCertificate,\n crlEntryExtensions: revokedCertificate.crlEntryExtensions\n ?.map((e) => new Extension(AsnConvert.serialize(e))),\n }));\n }\n\n public async getThumbprint(\n algorithm: string = '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 signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): 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 parseExtensions() {\n const { tbsCertList } = this.asn;\n\n if (tbsCertList.crlExtensions) {\n this.extensions = tbsCertList.crlExtensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\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.crl.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.crl.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- System.register(["./p-821bdcdc.system.js"],(function(t){"use strict";var r;return{setters:[function(t){r=t.h}],execute:function(){
4
+ System.register(["./p-bc91996c.system.js"],(function(t){"use strict";var r;return{setters:[function(t){r=t.h}],execute:function(){
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -17,4 +17,4 @@ var e=t("A",(function(t){var e=t.color,n=e===void 0?"gray-10":e;return r("svg",{
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
19
  */var n=t("a",(function(t){var e=t.color,n=e===void 0?"gray-10":e;return r("svg",{xmlns:"http://www.w3.org/2000/svg",width:"30",height:"30",fill:"none"},r("path",{stroke:"var(--pv-color-".concat(n,")"),"stroke-linecap":"round","stroke-width":"1.5",d:"m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28"}))}))}}}));
20
- //# sourceMappingURL=p-c241e4ba.system.js.map
20
+ //# sourceMappingURL=p-d46670fa.system.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ArrowBottomIcon","exports","props","_a","color","h","xmlns","width","height","fill","stroke","concat","d","ArrowTopIcon"],"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"],"mappings":";;;;;;;;;;;IAWaA,EAAeC,EAAA,KAA+C,SAACC,GAClE,IAAAC,EAAsBD,EAAKE,MAA3BA,EAAKD,SAAA,EAAG,UAASA,EAEzB,OACEE,EAAA,OACEC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,KAAK,QAELJ,EAAA,QACEK,OAAQ,kBAAAC,OAAkBP,EAAK,KAAG,iBAEnB,QAAO,eACT,MACbQ,EAAE,6DAIV;;;;;;;mBCnBaC,EAAYZ,EAAA,KAA+C,SAACC,GAC/D,IAAAC,EAAsBD,EAAKE,MAA3BA,EAAKD,SAAA,EAAG,UAASA,EAEzB,OACEE,EAAA,OACEC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,KAAK,QAELJ,EAAA,QACEK,OAAQ,kBAAAC,OAAkBP,EAAK,KAAG,iBAEnB,QAAO,eACT,MACbQ,EAAE,2DAIV,G"}
1
+ {"version":3,"names":["ArrowBottomIcon","exports","props","_a","color","h","xmlns","width","height","fill","stroke","concat","d","ArrowTopIcon"],"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"],"mappings":";;;;;;;;;;;IAWaA,EAAeC,EAAA,KAA+C,SAACC,GAClE,IAAAC,EAAsBD,EAAKE,MAA3BA,EAAKD,SAAA,EAAG,UAASA,EAEzB,OACEE,EAAA,OACEC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,KAAK,QAELJ,EAAA,QACEK,OAAQ,kBAAAC,OAAkBP,EAAK,KAAG,iBAEnB,QAAO,eACT,MACbQ,EAAE,6DAIV;;;;;;;mBCnBaC,EAAYZ,EAAA,KAA+C,SAACC,GAC/D,IAAAC,EAAsBD,EAAKE,MAA3BA,EAAKD,SAAA,EAAG,UAASA,EAEzB,OACEE,EAAA,OACEC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,KAAK,QAELJ,EAAA,QACEK,OAAQ,kBAAAC,OAAkBP,EAAK,KAAG,iBAEnB,QAAO,eACT,MACbQ,EAAE,2DAIV,G","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- System.register(["./p-821bdcdc.system.js"],(function(n){"use strict";var t;return{setters:[function(n){t=n.h}],execute:function(){
4
+ System.register(["./p-bc91996c.system.js"],(function(n){"use strict";var t;return{setters:[function(n){t=n.h}],execute:function(){
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -17,4 +17,4 @@ var r=undefined&&undefined.__rest||function(n,t){var r={};for(var e in n)if(Obje
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
19
  */var o=n("B",(function(n,r){var e;var o=n.href,c=n.class,u=n.startIcon,i=n.onClick;var b=!!o;var s=b?"a":"button";return t(s,{type:!b&&"button",href:b&&o,target:b&&"_blank",rel:b&&"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-9712b827.system.js.map
20
+ //# sourceMappingURL=p-d9145ee8.system.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["variantMapping","h1","h2","h3","h4","h5","s1","s2","b1","b2","b3","btn1","btn2","c1","c2","Typography","exports","props","children","componentProp","component","_b","variant","_c","color","classProp","class","other","__rest","Component","h","Object","assign","_a","typography","concat","Boolean","Button","href","startIcon","onClick","isLink","TagType","type","target","rel","button","m_no_padding","length"],"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 { TypographyType, ColorType } from '../../interface';\n\ninterface TypographyProps {\n component?: keyof JSX.IntrinsicElements;\n variant?: TypographyType;\n color?: ColorType;\n class?: string;\n}\n\nconst variantMapping: Record<TypographyType, '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<TypographyProps> = (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 { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { Typography } from '../typography';\n\nexport interface ButtonProps {\n href?: string;\n class?: string;\n startIcon?: VNode;\n onClick?: (event: MouseEvent) => void;\n}\n\nexport const Button: FunctionalComponent<ButtonProps> = (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 onClick={onClick}\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 >\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"],"mappings":";;;;;;;;;;;8WAkBA,IAAMA,EAAiG,CACrGC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,KAAM,OACNC,KAAM,OACNC,GAAI,IACJC,GAAI,K,IAGOC,EAAUC,EAAA,KAAyC,SAACC,EAAOC,G,MAEpE,IAAWC,EAKTF,EAAKG,UAJPC,EAIEJ,EAAKK,QAJPA,EAAOD,SAAA,EAAG,KAAIA,EACdE,EAGEN,EAAKO,MAHPA,EAAKD,SAAA,EAAG,QAAOA,EACRE,EAELR,EAAKS,MADJC,EAAKC,EACNX,EANE,yCAQN,IAAMY,EAAYV,GAAiBnB,EAAesB,IAAY,IAE9D,OACEQ,EAACD,EAASE,OAAAC,OAAA,GACJL,EAAK,CACTD,OAAKO,EAAA,CACHC,WAAY,MACZD,EAAC,KAAAE,OAAKb,IAAY,KAClBW,EAAC,KAAAE,OAAKX,IAAU,KAChBS,EAACR,GAAYW,QAAQX,G,KAGtBP,EAGP;;;;;;;mBCzCamB,EAAMrB,EAAA,KAAqC,SAACC,EAAOC,G,MAE5D,IAAAoB,EAIErB,EAAKqB,KAHAb,EAGLR,EAAKS,MAFPa,EAEEtB,EAAKsB,UADPC,EACEvB,EAAKuB,QAET,IAAMC,IAAWH,EACjB,IAAMI,EAAUD,EAAS,IAAM,SAE/B,OACEX,EAACY,EAAO,CACNC,MAAOF,GAAU,SACjBH,KAAMG,GAAUH,EAChBM,OAAQH,GAAU,SAClBI,IAAKJ,GAAU,sBACfD,QAASA,EACTd,OAAKO,EAAA,CACHa,OAAQ,KAERC,aAAc7B,EAAS8B,SAAW,GAClCf,EAACR,GAAYW,QAAQX,G,IAGtBc,EAEArB,EAAS8B,OAAS,GACjBlB,EAACf,EAAU,CACTO,QAAQ,KACRE,MAAM,QACNJ,UAAU,QAETF,GAKX,G"}
1
+ {"version":3,"names":["variantMapping","h1","h2","h3","h4","h5","s1","s2","b1","b2","b3","btn1","btn2","c1","c2","Typography","exports","props","children","componentProp","component","_b","variant","_c","color","classProp","class","other","__rest","Component","h","Object","assign","_a","typography","concat","Boolean","Button","href","startIcon","onClick","isLink","TagType","type","target","rel","button","m_no_padding","length"],"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 { TypographyType, ColorType } from '../../interface';\n\ninterface TypographyProps {\n component?: keyof JSX.IntrinsicElements;\n variant?: TypographyType;\n color?: ColorType;\n class?: string;\n}\n\nconst variantMapping: Record<TypographyType, '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<TypographyProps> = (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 { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { Typography } from '../typography';\n\nexport interface ButtonProps {\n href?: string;\n class?: string;\n startIcon?: VNode;\n onClick?: (event: MouseEvent) => void;\n}\n\nexport const Button: FunctionalComponent<ButtonProps> = (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 onClick={onClick}\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 >\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"],"mappings":";;;;;;;;;;;8WAkBA,IAAMA,EAAiG,CACrGC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,KAAM,OACNC,KAAM,OACNC,GAAI,IACJC,GAAI,K,IAGOC,EAAUC,EAAA,KAAyC,SAACC,EAAOC,G,MAEpE,IAAWC,EAKTF,EAAKG,UAJPC,EAIEJ,EAAKK,QAJPA,EAAOD,SAAA,EAAG,KAAIA,EACdE,EAGEN,EAAKO,MAHPA,EAAKD,SAAA,EAAG,QAAOA,EACRE,EAELR,EAAKS,MADJC,EAAKC,EACNX,EANE,yCAQN,IAAMY,EAAYV,GAAiBnB,EAAesB,IAAY,IAE9D,OACEQ,EAACD,EAASE,OAAAC,OAAA,GACJL,EAAK,CACTD,OAAKO,EAAA,CACHC,WAAY,MACZD,EAAC,KAAAE,OAAKb,IAAY,KAClBW,EAAC,KAAAE,OAAKX,IAAU,KAChBS,EAACR,GAAYW,QAAQX,G,KAGtBP,EAGP;;;;;;;mBCzCamB,EAAMrB,EAAA,KAAqC,SAACC,EAAOC,G,MAE5D,IAAAoB,EAIErB,EAAKqB,KAHAb,EAGLR,EAAKS,MAFPa,EAEEtB,EAAKsB,UADPC,EACEvB,EAAKuB,QAET,IAAMC,IAAWH,EACjB,IAAMI,EAAUD,EAAS,IAAM,SAE/B,OACEX,EAACY,EAAO,CACNC,MAAOF,GAAU,SACjBH,KAAMG,GAAUH,EAChBM,OAAQH,GAAU,SAClBI,IAAKJ,GAAU,sBACfD,QAASA,EACTd,OAAKO,EAAA,CACHa,OAAQ,KAERC,aAAc7B,EAAS8B,SAAW,GAClCf,EAACR,GAAYW,QAAQX,G,IAGtBc,EAEArB,EAAS8B,OAAS,GACjBlB,EAACf,EAAU,CACTO,QAAQ,KACRE,MAAM,QACNJ,UAAU,QAETF,GAKX,G","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["globalScripts"],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"mappings":";;;AAAY,MAACA,EAAgB,c"}
1
+ {"version":3,"names":["globalScripts"],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"mappings":";;;AAAY,MAACA,EAAgB,c","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ import{A as t,v as s,L as i,P as e,C as r,N as n,Q as a,G as h,y as o,x as u,z as c,B as f,R as l,X as g,Y as m,Z as p,_ as b,$ as w,F as C,D as E}from"./p-a55fd6f1.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) Peculiar Ventures, LLC.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */class d extends t{constructor(t){super(s(t),i);this.thumbprints={};this.type="X.509 Certificate";this.tag=e.CertificateTag;const{tbsCertificate:h}=this.asn;this.serialNumber=r.ToHex(h.serialNumber);this.subject=new n(h.subject).toJSON();this.issuer=new n(h.issuer).toJSON();this.version=h.version+1;const o=h.validity.notBefore.utcTime||h.validity.notBefore.generalTime;if(!o){throw new Error("Cannot get 'notBefore' value")}this.notBefore=o;const u=h.validity.notAfter.utcTime||h.validity.notAfter.generalTime;if(!u){throw new Error("Cannot get 'notAfter' value")}this.notAfter=u;this.validity=a(this.notBefore,this.notAfter)}parseExtensions(){const{tbsCertificate:t}=this.asn;if(t.extensions){this.extensions=t.extensions.map((t=>new h(o.serialize(t))))}}getPublicKeyInfo(t){const{subjectPublicKey:s,algorithm:i}=t;let e;if(i.algorithm===u&&i.parameters){e=o.parse(i.parameters,c)}if(i.algorithm===f){e=o.parse(s,l)}if(i.algorithm===g){e=o.parse(s,m);e=e.map((t=>this.getPublicKeyInfo(t)))}const r=o.serialize(t);return{params:e,value:r,algorithm:i.algorithm}}get publicKey(){return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo)}get signature(){const{signatureValue:t,signatureAlgorithm:s}=this.asn;let i;if(s.algorithm===p){const e=o.parse(t,b);const r=o.parse(s.parameters,w);i=r.map(((t,s)=>Object.assign(Object.assign({},t),{value:e[s]})))}return{params:i,value:t,algorithm:s.algorithm}}async getThumbprint(t="SHA-1"){try{const s=await C(t,this.raw);if(s){this.thumbprints[t]=r.ToHex(s)}}catch(t){console.error("Error thumbprint get:",t)}}get commonName(){if(!this.subject){return""}for(let t=0;t<this.subject.length;t+=1){const s=this.subject[t];if(s.shortName==="CN"||s.shortName==="E"||s.shortName==="O"){return s.value}}return""}get issuerCommonName(){if(!this.issuer){return""}for(let t=0;t<this.issuer.length;t+=1){const s=this.issuer[t];if(s.shortName==="CN"){return s.value}if(s.shortName==="E"){return s.value}}return""}get isRoot(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)}subjectToString(){if(!this.subject){return""}return this.subject.map((t=>`${t.shortName}=${t.value}`)).join(", ")}issuerToString(){if(!this.issuer){return""}return this.issuer.map((t=>`${t.shortName}=${t.value}`)).join(", ")}toString(t="pem"){switch(t){case"pem":return e.encode(this.raw,this.tag);case"base64url":return r.ToBase64Url(this.raw);default:return r.ToBase64(this.raw)}}downloadAsPEM(t){E.cert.asPEM(this.toString("pem"),t||this.commonName)}downloadAsDER(t){E.cert.asDER(this.raw,t||this.commonName)}}export{d as X};
12
+ //# sourceMappingURL=p-f456fe47.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["X509Certificate","AsnData","constructor","raw","super","certificateRawToBuffer","Certificate","this","thumbprints","type","tag","PemConverter","CertificateTag","tbsCertificate","asn","serialNumber","Convert","ToHex","subject","Name","toJSON","issuer","version","notBefore","validity","utcTime","generalTime","Error","notAfter","dateDiff","parseExtensions","extensions","map","e","Extension","AsnConvert","serialize","getPublicKeyInfo","publicKeyInfo","subjectPublicKey","algorithm","params","id_ecPublicKey","parameters","parse","ECParameters","id_rsaEncryption","RSAPublicKey","id_composite_key","CompositePublicKey","param","spki","value","publicKey","subjectPublicKeyInfo","signature","signatureValue","signatureAlgorithm","id_alg_composite","compositeSignatureValues","CompositeSignatureValue","compositeParams","CompositeParams","index","Object","assign","getThumbprint","thumbprint","getCertificateThumbprint","error","console","commonName","i","length","name","shortName","issuerCommonName","isRoot","JSON","stringify","subjectToString","join","issuerToString","toString","format","encode","ToBase64Url","ToBase64","downloadAsPEM","Download","cert","asPEM","downloadAsDER","asDER"],"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';\n\nimport { dateDiff, Download } from '../utils';\n\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: string = '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') {\n return name.value;\n }\n\n if (name.shortName === 'E') {\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"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ import{r as e,h as a,H as t}from"./p-a1adb881.js";import{B as s}from"./p-9987b899.js";import{a as c,A as i}from"./p-ba3dfc03.js";const r=".sc-peculiar-text-hider-h{display:-ms-flexbox;display:flex;width:100%;gap:var(--pv-size-base-4)}[aria-expanded=true].sc-peculiar-text-hider-h .content.sc-peculiar-text-hider{white-space:initial}.content.sc-peculiar-text-hider{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.action.sc-peculiar-text-hider{-ms-flex-negative:0;flex-shrink:0;margin-top:calc(var(--pv-size-base) * -1)}";const o=r;const d=class{constructor(a){e(this,a);this.opened=false}render(){return a(t,{key:"8e4789c87df5e4b37a5fdce7b9489e1f26d52fd9","aria-expanded":String(this.opened)},a("div",{key:"d98c5a205b320e9590953cf1e66ef7087413c24c",class:"content"},a("slot",{key:"c20480b3144c9b05a719d3bd33a9569a937f176d"})),a(s,{key:"a1913fb7cb9a79437e3c84553d38a7245824211a",class:"action",onClick:()=>{this.opened=!this.opened},startIcon:this.opened?a(c,{color:"secondary"}):a(i,{color:"secondary"})}))}};d.style=o;export{d as peculiar_text_hider};
5
+ //# sourceMappingURL=p-f6ec61db.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["textHiderCss","PeculiarTextHiderStyle0","TextHider","render","h","Host","key","String","this","opened","class","Button","onClick","startIcon","ArrowTopIcon","color","ArrowBottomIcon"],"sources":["src/components/text-hider/text-hider.scss?tag=peculiar-text-hider&encapsulation=scoped","src/components/text-hider/text-hider.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n gap: var(--pv-size-base-4);\n\n &[aria-expanded=\"true\"] {\n .content {\n white-space: initial;\n }\n }\n}\n\n.content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.action {\n flex-shrink: 0;\n margin-top: calc(var(--pv-size-base) * -1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n} from '@stencil/core';\nimport { Button } from '../button';\nimport { ArrowBottomIcon, ArrowTopIcon } from '../icons';\n\n@Component({\n tag: 'peculiar-text-hider',\n styleUrl: 'text-hider.scss',\n scoped: true,\n})\nexport class TextHider {\n @State() opened: boolean = false;\n\n render() {\n return (\n <Host\n aria-expanded={String(this.opened)}\n >\n <div class=\"content\">\n <slot />\n </div>\n <Button\n class=\"action\"\n onClick={() => { this.opened = !this.opened; }}\n startIcon={this.opened ? <ArrowTopIcon color=\"secondary\" /> : <ArrowBottomIcon color=\"secondary\" />}\n />\n </Host>\n );\n }\n}\n"],"mappings":";;;iIAAA,MAAMA,EAAe,qZACrB,MAAAC,EAAeD,E,MCqBFE,EAAS,M,qCACO,K,CAE3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DACYC,OAAOC,KAAKC,SAE3BL,EAAA,OAAAE,IAAA,2CAAKI,MAAM,WACTN,EAAA,QAAAE,IAAA,8CAEFF,EAACO,EAAM,CAAAL,IAAA,2CACLI,MAAM,SACNE,QAAS,KAAQJ,KAAKC,QAAUD,KAAKC,MAAM,EAC3CI,UAAWL,KAAKC,OAASL,EAACU,EAAY,CAACC,MAAM,cAAiBX,EAACY,EAAe,CAACD,MAAM,gB"}
1
+ {"version":3,"names":["textHiderCss","PeculiarTextHiderStyle0","TextHider","render","h","Host","key","String","this","opened","class","Button","onClick","startIcon","ArrowTopIcon","color","ArrowBottomIcon"],"sources":["src/components/text-hider/text-hider.scss?tag=peculiar-text-hider&encapsulation=scoped","src/components/text-hider/text-hider.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n gap: var(--pv-size-base-4);\n\n &[aria-expanded=\"true\"] {\n .content {\n white-space: initial;\n }\n }\n}\n\n.content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.action {\n flex-shrink: 0;\n margin-top: calc(var(--pv-size-base) * -1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n} from '@stencil/core';\nimport { Button } from '../button';\nimport { ArrowBottomIcon, ArrowTopIcon } from '../icons';\n\n@Component({\n tag: 'peculiar-text-hider',\n styleUrl: 'text-hider.scss',\n scoped: true,\n})\nexport class TextHider {\n @State() opened: boolean = false;\n\n render() {\n return (\n <Host\n aria-expanded={String(this.opened)}\n >\n <div class=\"content\">\n <slot />\n </div>\n <Button\n class=\"action\"\n onClick={() => { this.opened = !this.opened; }}\n startIcon={this.opened ? <ArrowTopIcon color=\"secondary\" /> : <ArrowBottomIcon color=\"secondary\" />}\n />\n </Host>\n );\n }\n}\n"],"mappings":";;;iIAAA,MAAMA,EAAe,qZACrB,MAAAC,EAAeD,E,MCqBFE,EAAS,M,qCACO,K,CAE3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DACYC,OAAOC,KAAKC,SAE3BL,EAAA,OAAAE,IAAA,2CAAKI,MAAM,WACTN,EAAA,QAAAE,IAAA,8CAEFF,EAACO,EAAM,CAAAL,IAAA,2CACLI,MAAM,SACNE,QAAS,KAAQJ,KAAKC,QAAUD,KAAKC,MAAM,EAC3CI,UAAWL,KAAKC,OAASL,EAACU,EAAY,CAACC,MAAM,cAAiBX,EAACY,EAAe,CAACD,MAAM,gB","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import{p as e,b as i}from"./p-3cb79cd9.js";export{s as setNonce}from"./p-3cb79cd9.js";import{g as t}from"./p-dac867e8.js";const c=()=>{const i=import.meta.url;const t={};if(i!==""){t.resourcesUrl=new URL(".",i).href}return e(t)};c().then((async e=>{await t();return i([["p-cd1b1876",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],defaultCertificate:[1,"default-certificate"],certificateDecoded:[32]}]]],["p-67e82386",[[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"]}]]],["p-713563fb",[[6,"peculiar-text-hider",{opened:[32]}]]],["p-bafd67f3",[[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-5d1d4a96",[[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-afbd1c8e",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]]],e)}));
4
+ import{p as e,b as i}from"./p-a1adb881.js";export{s as setNonce}from"./p-a1adb881.js";import{g as t}from"./p-dac867e8.js";var c=()=>{const i=import.meta.url;const t={};if(i!==""){t.resourcesUrl=new URL(".",i).href}return e(t)};c().then((async e=>{await t();return i([["p-8dd6d1ee",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],certificateToDecode:[1,"certificate-to-decode"],certificateDecoded:[32]}]]],["p-b01c70cf",[[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"]}]]],["p-f6ec61db",[[6,"peculiar-text-hider",{opened:[32]}]]],["p-161f7f97",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]],["p-6eb92f5a",[[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-47b7dd9e",[[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"]}]]]],e)}));
5
5
  //# sourceMappingURL=peculiar.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","certificateExamples","defaultCertificate","certificateDecoded","certificates","filterWithSearch","highlightWithSearch","mobileMediaQueryString","mobileScreenView","search","certificatesDecoded","expandedRow","certificateSelectedForDetails","isDecodeInProcess","opened","certificate","download","authKeyIdParentLink","authKeyIdSiblingsLink","subjectKeyIdChildrenLink","subjectKeyIdSiblingsLink","issuerDnLink","groups","open","size","width"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.13.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, doc, promiseResolve, H } from '@stencil/core';\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n if (importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n return promiseResolve(opts);\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":";;;0HAKA,MAAMA,EAAe,KAajB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACnBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACrD,CACI,OAAOC,EAAeJ,EAAK,ECnB/BH,IAAeQ,MAAKC,MAAOC,UACnBC,IACN,OAAOC,EAAc,kDAAuC,CAAAC,oBAAA,KAAAC,mBAAA,0BAAAC,mBAAA,2DAAAC,aAAA,KAAAC,iBAAA,yBAAAC,oBAAA,4BAAAC,uBAAA,gCAAAC,iBAAA,KAAAC,OAAA,KAAAC,oBAAA,KAAAC,YAAA,KAAAC,8BAAA,KAAAC,kBAAA,YAAAT,aAAA,mEAAAU,OAAA,0DAAAC,YAAA,MAAAC,SAAA,MAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAC,aAAA,uBAAAd,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,6FAAAA,YAAA,IAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAb,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAG,aAAA,uBAAAd,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAG,yBAAA,qCAAAC,yBAAA,qCAAAb,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,4EAAAO,OAAA,KAAAC,KAAA,wCAAAC,KAAA,IAAAC,MAAA,qCAAAhB,OAAA,SAAAX,EAAA"}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","certificateExamples","certificateToDecode","certificateDecoded","certificates","filterWithSearch","highlightWithSearch","mobileMediaQueryString","mobileScreenView","search","certificatesDecoded","expandedRow","certificateSelectedForDetails","isDecodeInProcess","opened","groups","open","size","width","certificate","download","authKeyIdParentLink","authKeyIdSiblingsLink","subjectKeyIdChildrenLink","subjectKeyIdSiblingsLink","issuerDnLink","selectedCertificateIndex"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.23.0 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":";;;0HAOA,IAAIA,EAAe,KAUjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACrBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACjD,CACE,OAAOC,EAAeJ,EAAK,EClB7BH,IAAeQ,MAAKC,MAAOC,UACnBC,IACN,OAAOC,EAAc,kDAAuC,CAAAC,oBAAA,KAAAC,oBAAA,4BAAAC,mBAAA,2DAAAC,aAAA,KAAAC,iBAAA,yBAAAC,oBAAA,4BAAAC,uBAAA,gCAAAC,iBAAA,KAAAC,OAAA,KAAAC,oBAAA,KAAAC,YAAA,KAAAC,8BAAA,KAAAC,kBAAA,YAAAT,aAAA,mEAAAU,OAAA,mDAAAC,OAAA,KAAAC,KAAA,wCAAAC,KAAA,IAAAC,MAAA,qCAAAT,OAAA,yDAAAU,YAAA,MAAAC,SAAA,MAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAC,aAAA,uBAAAlB,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAM,YAAA,yFAAAf,aAAA,KAAAgB,SAAA,MAAAM,yBAAA,mDAAAP,YAAA,IAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAjB,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAM,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAG,aAAA,uBAAAlB,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAM,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAG,yBAAA,qCAAAC,yBAAA,qCAAAjB,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAM,YAAA,mCAAArB,EAAA","ignoreList":[]}
@@ -115,7 +115,7 @@ DOMTokenList
115
115
  var resourcesUrl = scriptElm ? scriptElm.getAttribute('data-resources-url') || scriptElm.src : '';
116
116
  var start = function() {
117
117
  // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
118
- var url = new URL('./p-8393399a.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
118
+ var url = new URL('./p-32cf293c.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
119
119
  System.import(url.href);
120
120
  };
121
121
 
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) Peculiar Ventures, LLC.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { X509Certificates } from '../../crypto';
9
+ export declare class CertificateChainViewer {
10
+ /**
11
+ * The certificate value for decode and show details. Use PEM or DER.
12
+ */
13
+ certificates: X509Certificates;
14
+ /**
15
+ * If `true` - component will show split-button to download certificate as PEM or DER.
16
+ */
17
+ download?: boolean;
18
+ selectedCertificateIndex: number;
19
+ private renderEmptyState;
20
+ render(): any;
21
+ }
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { EventEmitter } from '../../stencil-public-runtime';
9
- import { X509Certificate, X509AttributeCertificate, Pkcs10CertificateRequest, X509Crl } from '../../crypto';
9
+ import { X509Certificate, X509AttributeCertificate, Pkcs10CertificateRequest, X509Crl, X509Certificates } from '../../crypto';
10
10
  export declare class CertificateDecoder {
11
11
  private inputPaste?;
12
12
  /**
@@ -19,8 +19,8 @@ export declare class CertificateDecoder {
19
19
  /**
20
20
  * The default certificate value for decode and show details. Use PEM or DER.
21
21
  */
22
- defaultCertificate?: string;
23
- certificateDecoded: X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl;
22
+ certificateToDecode?: string;
23
+ certificateDecoded: X509Certificates | X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl;
24
24
  /**
25
25
  * Emitted when the certificate has been successfully parsed.
26
26
  */
@@ -37,6 +37,7 @@ export declare class CertificateDecoder {
37
37
  private handleDropFile;
38
38
  clearValue(): void;
39
39
  setValue(value: typeof this.certificateDecoded): void;
40
- decode(certificate: string): void;
40
+ decode(value: string): void;
41
+ renderCertificate(): any;
41
42
  render(): any;
42
43
  }
@@ -6,8 +6,8 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { FunctionalComponent } from '../../stencil-public-runtime';
9
- import { X509Certificate, X509AttributeCertificate, Pkcs10CertificateRequest, X509Crl } from '../../crypto';
10
- type CertificateType = X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl;
9
+ import { X509Certificates, X509Certificate, X509AttributeCertificate, Pkcs10CertificateRequest, X509Crl } from '../../crypto';
10
+ type CertificateType = X509Certificates | X509Certificate | X509AttributeCertificate | Pkcs10CertificateRequest | X509Crl;
11
11
  interface IMiscellaneousProps {
12
12
  certificate: CertificateType;
13
13
  }
@@ -5,7 +5,6 @@
5
5
  * This source code is licensed under the MIT license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- /// <reference types="react" />
9
8
  import { FunctionalComponent } from '../../stencil-public-runtime';
10
9
  import type { TypographyType, ColorType } from '../../interface';
11
10
  interface TypographyProps {
@@ -7,16 +7,16 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { AttributeCertificateProp } from "./components/attribute-certificate-viewer/attribute-certificate-viewer";
9
9
  import { ButtonMenuGroup } from "./components/button-menu/button-menu";
10
+ import { X509Certificate, X509Certificates } from "./crypto";
10
11
  import { CertificateProp } from "./components/certificate-viewer/certificate-viewer";
11
12
  import { ICertificate } from "./components/certificates-viewer/certificates-viewer";
12
- import { X509Certificate } from "./crypto";
13
13
  import { CrlProp } from "./components/crl-viewer/crl-viewer";
14
14
  import { CsrProp } from "./components/csr-viewer/csr-viewer";
15
15
  export { AttributeCertificateProp } from "./components/attribute-certificate-viewer/attribute-certificate-viewer";
16
16
  export { ButtonMenuGroup } from "./components/button-menu/button-menu";
17
+ export { X509Certificate, X509Certificates } from "./crypto";
17
18
  export { CertificateProp } from "./components/certificate-viewer/certificate-viewer";
18
19
  export { ICertificate } from "./components/certificates-viewer/certificates-viewer";
19
- export { X509Certificate } from "./crypto";
20
20
  export { CrlProp } from "./components/crl-viewer/crl-viewer";
21
21
  export { CsrProp } from "./components/csr-viewer/csr-viewer";
22
22
  export namespace Components {
@@ -58,6 +58,16 @@ export namespace Components {
58
58
  interface PeculiarButtonMenu {
59
59
  "groups": ButtonMenuGroup[];
60
60
  }
61
+ interface PeculiarCertificateChainViewer {
62
+ /**
63
+ * The certificate value for decode and show details. Use PEM or DER.
64
+ */
65
+ "certificates": X509Certificates;
66
+ /**
67
+ * If `true` - component will show split-button to download certificate as PEM or DER.
68
+ */
69
+ "download"?: boolean;
70
+ }
61
71
  interface PeculiarCertificateDecoder {
62
72
  /**
63
73
  * The example certificate value for decode and show details. Use PEM or DER.
@@ -69,7 +79,7 @@ export namespace Components {
69
79
  /**
70
80
  * The default certificate value for decode and show details. Use PEM or DER.
71
81
  */
72
- "defaultCertificate"?: string;
82
+ "certificateToDecode"?: string;
73
83
  }
74
84
  interface PeculiarCertificateViewer {
75
85
  /**
@@ -220,6 +230,12 @@ declare global {
220
230
  prototype: HTMLPeculiarButtonMenuElement;
221
231
  new (): HTMLPeculiarButtonMenuElement;
222
232
  };
233
+ interface HTMLPeculiarCertificateChainViewerElement extends Components.PeculiarCertificateChainViewer, HTMLStencilElement {
234
+ }
235
+ var HTMLPeculiarCertificateChainViewerElement: {
236
+ prototype: HTMLPeculiarCertificateChainViewerElement;
237
+ new (): HTMLPeculiarCertificateChainViewerElement;
238
+ };
223
239
  interface HTMLPeculiarCertificateDecoderElementEventMap {
224
240
  "successParse": string;
225
241
  "clearCertificate": void;
@@ -295,6 +311,7 @@ declare global {
295
311
  interface HTMLElementTagNameMap {
296
312
  "peculiar-attribute-certificate-viewer": HTMLPeculiarAttributeCertificateViewerElement;
297
313
  "peculiar-button-menu": HTMLPeculiarButtonMenuElement;
314
+ "peculiar-certificate-chain-viewer": HTMLPeculiarCertificateChainViewerElement;
298
315
  "peculiar-certificate-decoder": HTMLPeculiarCertificateDecoderElement;
299
316
  "peculiar-certificate-viewer": HTMLPeculiarCertificateViewerElement;
300
317
  "peculiar-certificates-viewer": HTMLPeculiarCertificatesViewerElement;
@@ -344,6 +361,16 @@ declare namespace LocalJSX {
344
361
  interface PeculiarButtonMenu {
345
362
  "groups"?: ButtonMenuGroup[];
346
363
  }
364
+ interface PeculiarCertificateChainViewer {
365
+ /**
366
+ * The certificate value for decode and show details. Use PEM or DER.
367
+ */
368
+ "certificates"?: X509Certificates;
369
+ /**
370
+ * If `true` - component will show split-button to download certificate as PEM or DER.
371
+ */
372
+ "download"?: boolean;
373
+ }
347
374
  interface PeculiarCertificateDecoder {
348
375
  /**
349
376
  * The example certificate value for decode and show details. Use PEM or DER.
@@ -355,7 +382,7 @@ declare namespace LocalJSX {
355
382
  /**
356
383
  * The default certificate value for decode and show details. Use PEM or DER.
357
384
  */
358
- "defaultCertificate"?: string;
385
+ "certificateToDecode"?: string;
359
386
  /**
360
387
  * Emitted when the certificate has been removed.
361
388
  */
@@ -503,6 +530,7 @@ declare namespace LocalJSX {
503
530
  interface IntrinsicElements {
504
531
  "peculiar-attribute-certificate-viewer": PeculiarAttributeCertificateViewer;
505
532
  "peculiar-button-menu": PeculiarButtonMenu;
533
+ "peculiar-certificate-chain-viewer": PeculiarCertificateChainViewer;
506
534
  "peculiar-certificate-decoder": PeculiarCertificateDecoder;
507
535
  "peculiar-certificate-viewer": PeculiarCertificateViewer;
508
536
  "peculiar-certificates-viewer": PeculiarCertificatesViewer;
@@ -519,6 +547,7 @@ declare module "@stencil/core" {
519
547
  interface IntrinsicElements {
520
548
  "peculiar-attribute-certificate-viewer": LocalJSX.PeculiarAttributeCertificateViewer & JSXBase.HTMLAttributes<HTMLPeculiarAttributeCertificateViewerElement>;
521
549
  "peculiar-button-menu": LocalJSX.PeculiarButtonMenu & JSXBase.HTMLAttributes<HTMLPeculiarButtonMenuElement>;
550
+ "peculiar-certificate-chain-viewer": LocalJSX.PeculiarCertificateChainViewer & JSXBase.HTMLAttributes<HTMLPeculiarCertificateChainViewerElement>;
522
551
  "peculiar-certificate-decoder": LocalJSX.PeculiarCertificateDecoder & JSXBase.HTMLAttributes<HTMLPeculiarCertificateDecoderElement>;
523
552
  "peculiar-certificate-viewer": LocalJSX.PeculiarCertificateViewer & JSXBase.HTMLAttributes<HTMLPeculiarCertificateViewerElement>;
524
553
  "peculiar-certificates-viewer": LocalJSX.PeculiarCertificatesViewer & JSXBase.HTMLAttributes<HTMLPeculiarCertificatesViewerElement>;
@@ -2,3 +2,4 @@ export * from './x509_certificate';
2
2
  export * from './x509_attribute_certificate';
3
3
  export * from './pkcs10_certificate_request';
4
4
  export * from './x509_crl';
5
+ export * from './x509_certificates';
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) Peculiar Ventures, LLC.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ export interface PemHeader {
9
+ key: string;
10
+ value: string;
11
+ }
12
+ /**
13
+ * Represents PEM structure
14
+ */
15
+ export interface PemStruct {
16
+ /**
17
+ * Type
18
+ */
19
+ type: string;
20
+ /**
21
+ * Headers
22
+ */
23
+ headers: PemHeader[];
24
+ /**
25
+ * Decoded message data
26
+ */
27
+ rawData: ArrayBuffer;
28
+ }
29
+ type AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;
30
+ export type PemStructEncodeParams = AtLeast<PemStruct, 'type' | 'rawData'>;
31
+ /**
32
+ * Represents PEM Converter.
33
+ */
34
+ export declare class PemConverter {
35
+ static CertificateTag: string;
36
+ static CrlTag: string;
37
+ static CertificateRequestTag: string;
38
+ static AttributeCertificateTag: string;
39
+ static isPem(data: string): boolean;
40
+ static decodeWithHeaders(pem: string): PemStruct[];
41
+ /**
42
+ * Decodes PEM to a list of raws
43
+ * @param pem message in PEM format
44
+ */
45
+ static decode(pem: string): ArrayBuffer[];
46
+ /**
47
+ * Encodes a list of PemStruct in PEM format
48
+ * @param structs A list of PemStruct
49
+ * @param tag PEM tag
50
+ */
51
+ static encode(structs: PemStructEncodeParams[]): string;
52
+ /**
53
+ * Encodes a raw data in PEM format
54
+ * @param rawData Raw data
55
+ * @param tag PEM tag
56
+ */
57
+ static encode(rawData: BufferSource, tag: string): string;
58
+ /**
59
+ * Encodes a list of raws in PEM format
60
+ * @param raws A list of raws
61
+ * @param tag PEM tag
62
+ */
63
+ static encode(rawData: BufferSource[], tag: string): string;
64
+ /**
65
+ * Encodes PEMStruct in PEM block
66
+ * @param pem PEM structure for encoding
67
+ * @returns Returns PEM encoded block
68
+ */
69
+ private static encodeStruct;
70
+ }
71
+ export {};
@@ -28,14 +28,14 @@ export declare class Pkcs10CertificateRequest extends AsnData<CertificationReque
28
28
  extensions: Extension<TExtensionValue>[];
29
29
  thumbprints: Record<string, string>;
30
30
  readonly type = "PKCS#10 Certificate Request";
31
- readonly tag = "CERTIFICATE REQUEST";
31
+ readonly tag: string;
32
32
  constructor(raw: string);
33
33
  get publicKey(): IPublicKey;
34
34
  get signature(): ISignature;
35
35
  get commonName(): string;
36
36
  getThumbprint(algorithm?: string): Promise<void>;
37
37
  parseAttributes(): void;
38
- toString(format?: 'hex' | 'pem' | 'base64'): string;
38
+ toString(format?: 'pem' | 'base64' | 'base64url'): string;
39
39
  downloadAsPEM(name?: string): void;
40
40
  downloadAsDER(name?: string): void;
41
41
  }
@@ -1,5 +1,9 @@
1
- export declare const base64Clarify: (base64: string) => string;
2
- export declare const hexFormat: (hex: string) => string;
3
- export declare const base64Format: (base64: string) => string;
1
+ /**
2
+ * @license
3
+ * Copyright (c) Peculiar Ventures, LLC.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
4
8
  export declare const certificateRawToBuffer: (raw: string) => ArrayBuffer;
5
9
  export declare const getCertificateThumbprint: (algorithm: globalThis.AlgorithmIdentifier, data: ArrayBuffer) => Promise<ArrayBuffer | undefined>;
@@ -26,14 +26,14 @@ export declare class X509AttributeCertificate extends AsnData<AttributeCertifica
26
26
  readonly issuer: GeneralName[];
27
27
  holder: Holder;
28
28
  readonly type = "X.509 Attribute Certificate";
29
- readonly tag = "ATTRIBUTE CERTIFICATE";
29
+ readonly tag: string;
30
30
  constructor(raw: string);
31
31
  get signature(): ISignature;
32
32
  parseExtensions(): void;
33
33
  parseAttributes(): void;
34
34
  getThumbprint(algorithm?: string): Promise<void>;
35
35
  get commonName(): string;
36
- toString(format?: 'hex' | 'pem' | 'base64'): string;
36
+ toString(format?: 'pem' | 'base64' | 'base64url'): string;
37
37
  downloadAsPEM(name?: string): void;
38
38
  downloadAsDER(name?: string): void;
39
39
  }
@@ -35,7 +35,7 @@ export declare class X509Certificate extends AsnData<Certificate> {
35
35
  readonly version: number;
36
36
  thumbprints: Record<string, string>;
37
37
  readonly type = "X.509 Certificate";
38
- readonly tag = "CERTIFICATE";
38
+ readonly tag: string;
39
39
  constructor(raw: string);
40
40
  parseExtensions(): void;
41
41
  private getPublicKeyInfo;
@@ -47,7 +47,7 @@ export declare class X509Certificate extends AsnData<Certificate> {
47
47
  get isRoot(): boolean;
48
48
  subjectToString(): string;
49
49
  issuerToString(): string;
50
- toString(format?: 'hex' | 'pem' | 'base64'): string;
50
+ toString(format?: 'pem' | 'base64' | 'base64url'): string;
51
51
  downloadAsPEM(name?: string): void;
52
52
  downloadAsDER(name?: string): void;
53
53
  }
@@ -0,0 +1,9 @@
1
+ import { X509Certificate } from './x509_certificate';
2
+ export declare class X509Certificates extends Array<X509Certificate> {
3
+ constructor(raw: string);
4
+ get commonName(): string;
5
+ get raw(): ArrayBuffer;
6
+ toString(format?: 'pem' | 'base64' | 'base64url'): string;
7
+ downloadAsPEM(name?: string): void;
8
+ downloadAsDER(name?: string): void;
9
+ }
@@ -20,13 +20,13 @@ export declare class X509Crl extends AsnData<CertificateList> {
20
20
  revokedCertificates: IRevokedCertificate[];
21
21
  thumbprints: Record<string, string>;
22
22
  readonly type = "X.509 Certificate Revocation List";
23
- readonly tag = "X509 CRL";
23
+ readonly tag: string;
24
24
  constructor(raw: string);
25
25
  getThumbprint(algorithm?: string): Promise<void>;
26
26
  get signature(): ISignature;
27
27
  get commonName(): string;
28
28
  parseExtensions(): void;
29
- toString(format?: 'hex' | 'pem' | 'base64'): string;
29
+ toString(format?: 'pem' | 'base64' | 'base64url'): string;
30
30
  downloadAsPEM(name?: string): void;
31
31
  downloadAsDER(name?: string): void;
32
32
  }