@peculiar/certificates-viewer 4.7.1-alpha.4 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/components/actions.js +1 -2
  2. package/components/actions.js.map +1 -1
  3. package/components/arrow_top.js +2 -4
  4. package/components/arrow_top.js.map +1 -1
  5. package/components/attribute-certificate-viewer.js +7 -12
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/button-menu.js +4 -2
  8. package/components/button-menu.js.map +1 -1
  9. package/components/button.js +5 -8
  10. package/components/button.js.map +1 -1
  11. package/components/certificate-chain-viewer.js +5 -3
  12. package/components/certificate-chain-viewer.js.map +1 -1
  13. package/components/certificate-viewer.js +4 -2
  14. package/components/certificate-viewer.js.map +1 -1
  15. package/components/circular-progress.js +4 -2
  16. package/components/circular-progress.js.map +1 -1
  17. package/components/crl-viewer.js +6 -7
  18. package/components/crl-viewer.js.map +1 -1
  19. package/components/cross.js +3 -6
  20. package/components/cross.js.map +1 -1
  21. package/components/csr-viewer.js +4 -2
  22. package/components/csr-viewer.js.map +1 -1
  23. package/components/download.js +93 -94
  24. package/components/download.js.map +1 -1
  25. package/components/highlight-words.js +4 -2
  26. package/components/highlight-words.js.map +1 -1
  27. package/components/index2.js +14 -49
  28. package/components/index2.js.map +1 -1
  29. package/components/issuer_name.js.map +1 -1
  30. package/components/miscellaneous.js +61 -153
  31. package/components/miscellaneous.js.map +1 -1
  32. package/components/peculiar-certificate-decoder.js +6 -4
  33. package/components/peculiar-certificate-decoder.js.map +1 -1
  34. package/components/peculiar-certificates-viewer.js +6 -16
  35. package/components/peculiar-certificates-viewer.js.map +1 -1
  36. package/components/pkcs10_certificate_request.js.map +1 -1
  37. package/components/row.js +6 -17
  38. package/components/row.js.map +1 -1
  39. package/components/ssh-certificate-viewer.js +5 -5
  40. package/components/ssh-certificate-viewer.js.map +1 -1
  41. package/components/subject_name.js.map +1 -1
  42. package/components/text-hider.js +4 -2
  43. package/components/text-hider.js.map +1 -1
  44. package/dist/cjs/{actions-ByC9jQU-.js → actions-mGiqn4uZ.js} +4 -5
  45. package/dist/cjs/{actions-ByC9jQU-.js.map → actions-mGiqn4uZ.js.map} +1 -1
  46. package/dist/cjs/{arrow_top-Cw9KN115.js → arrow_top-opfTrg-m.js} +5 -7
  47. package/dist/cjs/{arrow_top-Cw9KN115.js.map → arrow_top-opfTrg-m.js.map} +1 -1
  48. package/dist/cjs/{button-C8EWG_-r.js → button-B215SxsO.js} +8 -11
  49. package/dist/{esm-es5/button-Bbh7MwG6.js.map → cjs/button-B215SxsO.js.map} +1 -1
  50. package/dist/cjs/cross-DV79hJ_S.js +49 -0
  51. package/dist/cjs/{cross-3DqhA0G_.js.map → cross-DV79hJ_S.js.map} +1 -1
  52. package/dist/cjs/download-DAw3krU6.js +23 -0
  53. package/dist/cjs/{download-DQP0KR4o.js.map → download-DAw3krU6.js.map} +1 -1
  54. package/dist/cjs/{extension-DTtJlxk8.js → extension-BDpdRJkE.js} +3 -3
  55. package/dist/cjs/extension-BDpdRJkE.js.map +1 -0
  56. package/dist/cjs/{index-uHmGhObe.js → index-BDWR3dnW.js} +88 -47
  57. package/dist/cjs/index-BDWR3dnW.js.map +1 -0
  58. package/dist/cjs/index.cjs.js +9 -11
  59. package/dist/cjs/{link-Cgh8wnbs.js → link-BScgjwVZ.js} +5 -5
  60. package/dist/cjs/{link-Cgh8wnbs.js.map → link-BScgjwVZ.js.map} +1 -1
  61. package/dist/cjs/loader.cjs.js +2 -4
  62. package/dist/cjs/{miscellaneous-DCeacaAw.js → miscellaneous-Bomq8zQH.js} +75 -178
  63. package/dist/cjs/miscellaneous-Bomq8zQH.js.map +1 -0
  64. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.cjs.js.map +1 -1
  65. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js +30 -79
  66. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +3 -5
  67. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +8 -10
  68. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
  69. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +8 -10
  70. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
  71. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +10 -24
  72. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
  73. package/dist/cjs/peculiar-text-hider.cjs.entry.js +3 -5
  74. package/dist/cjs/peculiar.cjs.js +3 -5
  75. package/dist/cjs/peculiar.cjs.js.map +1 -1
  76. package/dist/cjs/{pkcs10_certificate_request-DE-0eDXE.js → pkcs10_certificate_request-DZLiHGCV.js} +3 -3
  77. package/dist/cjs/{pkcs10_certificate_request-DE-0eDXE.js.map → pkcs10_certificate_request-DZLiHGCV.js.map} +1 -1
  78. package/dist/cjs/{ssh_certificate-D2q_p49O.js → ssh_certificate-Bh14rhzR.js} +93 -93
  79. package/dist/cjs/ssh_certificate-Bh14rhzR.js.map +1 -0
  80. package/dist/cjs/{x509_certificate-Cto1q-eu.js → x509_certificate-p8RMn7Hw.js} +4 -4
  81. package/dist/cjs/{x509_certificate-Cto1q-eu.js.map → x509_certificate-p8RMn7Hw.js.map} +1 -1
  82. package/dist/cjs/{x509_crl-CgixMZrh.js → x509_crl-tjmX6l3R.js} +5 -5
  83. package/dist/cjs/{x509_crl-CgixMZrh.js.map → x509_crl-tjmX6l3R.js.map} +1 -1
  84. package/dist/collection/collection-manifest.json +2 -2
  85. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +14 -14
  86. package/dist/collection/components/button-menu/button-menu.js +1 -2
  87. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  88. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +0 -447
  89. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +2 -3
  90. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  91. package/dist/collection/components/certificate-decoder/certificate-decoder.js +3 -4
  92. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  93. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js +1 -1
  94. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  95. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js +1 -1
  96. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  97. package/dist/collection/components/certificate-viewer/certificate-viewer.js +16 -16
  98. package/dist/collection/components/certificates-viewer/certificates-viewer.js +4 -5
  99. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  100. package/dist/collection/components/circular-progress/circular-progress.js +2 -2
  101. package/dist/collection/components/crl-viewer/crl-viewer.js +12 -12
  102. package/dist/collection/components/csr-viewer/csr-viewer.js +10 -10
  103. package/dist/collection/components/highlight-words/highlight-words.js +2 -2
  104. package/dist/collection/components/ssh-certificate-viewer/-components/miscellaneous.js +1 -1
  105. package/dist/collection/components/ssh-certificate-viewer/-components/miscellaneous.js.map +1 -1
  106. package/dist/collection/components/ssh-certificate-viewer/ssh-certificate-viewer.js +6 -6
  107. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -1
  108. package/dist/collection/crypto/ssh_certificate.js +10 -5
  109. package/dist/collection/crypto/ssh_certificate.js.map +1 -1
  110. package/dist/collection/locales/en.json +0 -1
  111. package/dist/collection/utils/download.js +2 -2
  112. package/dist/collection/utils/download.js.map +1 -1
  113. package/dist/esm/{actions-BOY2Tl0T.js → actions-CabuIstu.js} +4 -5
  114. package/dist/esm/{actions-BOY2Tl0T.js.map → actions-CabuIstu.js.map} +1 -1
  115. package/dist/esm/{arrow_top-DL0RWe4n.js → arrow_top-CWdnzNJA.js} +5 -7
  116. package/dist/{esm-es5/arrow_top-DL0RWe4n.js.map → esm/arrow_top-CWdnzNJA.js.map} +1 -1
  117. package/dist/esm/{button-Bbh7MwG6.js → button-DoyFdU2L.js} +8 -11
  118. package/dist/esm/{button-Bbh7MwG6.js.map → button-DoyFdU2L.js.map} +1 -1
  119. package/dist/esm/cross-B4NPVkar.js +45 -0
  120. package/dist/{esm-es5/cross-G84H_-QL.js.map → esm/cross-B4NPVkar.js.map} +1 -1
  121. package/dist/esm/download-C7Viw-3R.js +21 -0
  122. package/dist/esm/{download-ykcxSgxU.js.map → download-C7Viw-3R.js.map} +1 -1
  123. package/dist/esm/{extension-DmlhftES.js → extension-xW03sQxn.js} +3 -3
  124. package/dist/esm/extension-xW03sQxn.js.map +1 -0
  125. package/dist/esm/{index-CwgZaF40.js → index-B0tLzdJT.js} +88 -47
  126. package/dist/esm/index-B0tLzdJT.js.map +1 -0
  127. package/dist/esm/index.js +9 -11
  128. package/dist/esm/{link-CGURvKy1.js → link-BDCg-T_l.js} +5 -5
  129. package/dist/esm/{link-CGURvKy1.js.map → link-BDCg-T_l.js.map} +1 -1
  130. package/dist/esm/loader.js +3 -5
  131. package/dist/esm/{miscellaneous-BTlqwN5_.js → miscellaneous-DxE6a1mr.js} +75 -178
  132. package/dist/esm/miscellaneous-DxE6a1mr.js.map +1 -0
  133. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.js.map +1 -1
  134. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js +30 -79
  135. package/dist/esm/peculiar-button-menu_3.entry.js +3 -5
  136. package/dist/esm/peculiar-certificate-decoder.entry.js +8 -10
  137. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  138. package/dist/esm/peculiar-certificate-viewer.entry.js +8 -10
  139. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  140. package/dist/esm/peculiar-certificates-viewer.entry.js +10 -24
  141. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  142. package/dist/esm/peculiar-text-hider.entry.js +3 -5
  143. package/dist/esm/peculiar.js +4 -6
  144. package/dist/esm/peculiar.js.map +1 -1
  145. package/dist/esm/{pkcs10_certificate_request-B5C1NYFc.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  146. package/dist/{esm-es5/pkcs10_certificate_request-B5C1NYFc.js.map → esm/pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  147. package/dist/esm/{ssh_certificate-PCn0WXhQ.js → ssh_certificate-CmOVFH_Z.js} +93 -93
  148. package/dist/esm/ssh_certificate-CmOVFH_Z.js.map +1 -0
  149. package/dist/esm/{x509_certificate-BiAmXJ4S.js → x509_certificate-C2EVTspY.js} +4 -4
  150. package/dist/{esm-es5/x509_certificate-BiAmXJ4S.js.map → esm/x509_certificate-C2EVTspY.js.map} +1 -1
  151. package/dist/esm/{x509_crl-CCeoLLUZ.js → x509_crl-Bdnys_YT.js} +5 -5
  152. package/dist/{esm-es5/x509_crl-CCeoLLUZ.js.map → esm/x509_crl-Bdnys_YT.js.map} +1 -1
  153. package/dist/esm-es5/{actions-BOY2Tl0T.js → actions-CabuIstu.js} +3 -3
  154. package/dist/esm-es5/{actions-BOY2Tl0T.js.map → actions-CabuIstu.js.map} +1 -1
  155. package/dist/esm-es5/{arrow_top-DL0RWe4n.js → arrow_top-CWdnzNJA.js} +2 -2
  156. package/dist/{esm/arrow_top-DL0RWe4n.js.map → esm-es5/arrow_top-CWdnzNJA.js.map} +1 -1
  157. package/dist/esm-es5/{button-Bbh7MwG6.js → button-DoyFdU2L.js} +2 -2
  158. package/dist/{cjs/button-C8EWG_-r.js.map → esm-es5/button-DoyFdU2L.js.map} +1 -1
  159. package/dist/esm-es5/{cross-G84H_-QL.js → cross-B4NPVkar.js} +2 -2
  160. package/dist/{esm/cross-G84H_-QL.js.map → esm-es5/cross-B4NPVkar.js.map} +1 -1
  161. package/dist/esm-es5/{download-ykcxSgxU.js → download-C7Viw-3R.js} +2 -2
  162. package/dist/esm-es5/{download-ykcxSgxU.js.map → download-C7Viw-3R.js.map} +1 -1
  163. package/dist/esm-es5/{extension-DmlhftES.js → extension-xW03sQxn.js} +2 -2
  164. package/dist/esm-es5/extension-xW03sQxn.js.map +1 -0
  165. package/dist/esm-es5/index-B0tLzdJT.js +6 -0
  166. package/dist/esm-es5/index-B0tLzdJT.js.map +1 -0
  167. package/dist/esm-es5/index.js +1 -1
  168. package/dist/esm-es5/{link-CGURvKy1.js → link-BDCg-T_l.js} +3 -3
  169. package/dist/esm-es5/{link-CGURvKy1.js.map → link-BDCg-T_l.js.map} +1 -1
  170. package/dist/esm-es5/loader.js +2 -2
  171. package/dist/esm-es5/{miscellaneous-BTlqwN5_.js → miscellaneous-DxE6a1mr.js} +4 -4
  172. package/dist/esm-es5/miscellaneous-DxE6a1mr.js.map +1 -0
  173. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.js.map +1 -1
  174. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js +4 -4
  175. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js.map +1 -1
  176. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  177. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  178. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  179. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  180. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  181. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  182. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  183. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  184. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  185. package/dist/esm-es5/peculiar.js +2 -2
  186. package/dist/esm-es5/peculiar.js.map +1 -1
  187. package/dist/esm-es5/{pkcs10_certificate_request-B5C1NYFc.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  188. package/dist/{esm/pkcs10_certificate_request-B5C1NYFc.js.map → esm-es5/pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  189. package/dist/esm-es5/{ssh_certificate-PCn0WXhQ.js → ssh_certificate-CmOVFH_Z.js} +7 -7
  190. package/dist/esm-es5/ssh_certificate-CmOVFH_Z.js.map +1 -0
  191. package/dist/esm-es5/{x509_certificate-BiAmXJ4S.js → x509_certificate-C2EVTspY.js} +4 -4
  192. package/dist/{esm/x509_certificate-BiAmXJ4S.js.map → esm-es5/x509_certificate-C2EVTspY.js.map} +1 -1
  193. package/dist/esm-es5/{x509_crl-CCeoLLUZ.js → x509_crl-Bdnys_YT.js} +4 -4
  194. package/dist/{esm/x509_crl-CCeoLLUZ.js.map → esm-es5/x509_crl-Bdnys_YT.js.map} +1 -1
  195. package/dist/peculiar/index.esm.js +1 -1
  196. package/dist/peculiar/locales/en.json +0 -1
  197. package/dist/peculiar/p--UIbyTPo.system.js.map +1 -0
  198. package/dist/peculiar/p-16bd5fac.system.entry.js +153 -0
  199. package/dist/peculiar/p-16bd5fac.system.entry.js.map +1 -0
  200. package/dist/peculiar/{p-71eab586.entry.js → p-26e1e392.entry.js} +3 -3
  201. package/dist/peculiar/p-26e1e392.entry.js.map +1 -0
  202. package/dist/peculiar/{p-7273601a.entry.js → p-2c5ec624.entry.js} +2 -2
  203. package/dist/peculiar/p-2c5ec624.entry.js.map +1 -0
  204. package/dist/peculiar/{p-27ae6a3a.entry.js → p-4111bd62.entry.js} +2 -2
  205. package/dist/peculiar/p-4111bd62.entry.js.map +1 -0
  206. package/dist/peculiar/{p-46c17c8d.system.entry.js → p-4b510453.system.entry.js} +3 -3
  207. package/dist/peculiar/p-4b510453.system.entry.js.map +1 -0
  208. package/dist/peculiar/{p-83bfd8e5.system.entry.js → p-4fc81fd0.system.entry.js} +3 -3
  209. package/dist/peculiar/p-4fc81fd0.system.entry.js.map +1 -0
  210. package/dist/peculiar/p-51832de2.entry.js +152 -0
  211. package/dist/peculiar/p-51832de2.entry.js.map +1 -0
  212. package/dist/peculiar/{p-B4PdAFCr.system.js → p-AHlPpL1z.system.js} +2 -2
  213. package/dist/peculiar/{p-B4PdAFCr.system.js.map → p-AHlPpL1z.system.js.map} +1 -1
  214. package/dist/peculiar/p-B0tLzdJT.js +6 -0
  215. package/dist/peculiar/p-B0tLzdJT.js.map +1 -0
  216. package/dist/peculiar/{p-h7XP7otl.js → p-B4vvBwd6.js} +2 -2
  217. package/dist/peculiar/{p-h7XP7otl.js.map → p-B4vvBwd6.js.map} +1 -1
  218. package/dist/peculiar/{p-Db41gPxb.js → p-B7cL9SBA.js} +4 -4
  219. package/dist/peculiar/{p-Db41gPxb.js.map → p-B7cL9SBA.js.map} +1 -1
  220. package/dist/peculiar/{p-DanjeXNk.js → p-BAAnYCav.js} +3 -3
  221. package/dist/peculiar/{p-DanjeXNk.js.map → p-BAAnYCav.js.map} +1 -1
  222. package/dist/peculiar/{p-CHnDlTqM.js → p-BLjDwIXV.js} +3 -3
  223. package/dist/peculiar/{p-CHnDlTqM.js.map → p-BLjDwIXV.js.map} +1 -1
  224. package/dist/peculiar/{p-CutTi-2B.js → p-BNRN5kAu.js} +2 -2
  225. package/dist/peculiar/{p-CutTi-2B.js.map → p-BNRN5kAu.js.map} +1 -1
  226. package/dist/peculiar/{p-Bi5mjeeg.system.js → p-BX5m4Pk2.system.js} +2 -2
  227. package/dist/peculiar/{p-Bi5mjeeg.system.js.map → p-BX5m4Pk2.system.js.map} +1 -1
  228. package/dist/peculiar/{p-N3w4Sc5c.system.js.map → p-BdGJr6Nw.system.js.map} +1 -1
  229. package/dist/peculiar/{p-DPbpwYQ8.system.js → p-Bfl7RVFY.system.js} +4 -4
  230. package/dist/peculiar/{p-DPbpwYQ8.system.js.map → p-Bfl7RVFY.system.js.map} +1 -1
  231. package/dist/peculiar/{p-DnOLjFJP.js → p-BjREwt05.js} +43 -43
  232. package/dist/peculiar/p-BjREwt05.js.map +1 -0
  233. package/dist/peculiar/{p-BGASC3UX.system.js → p-BjfN0sUP.system.js} +3 -3
  234. package/dist/peculiar/p-BjfN0sUP.system.js.map +1 -0
  235. package/dist/peculiar/{p-DMZr5ztF.js → p-BrjKJZAs.js} +2 -2
  236. package/dist/peculiar/{p-DMZr5ztF.js.map → p-BrjKJZAs.js.map} +1 -1
  237. package/dist/peculiar/{p-CstRxc9v.js → p-BxiR02Uf.js} +4 -4
  238. package/dist/peculiar/{p-CstRxc9v.js.map → p-BxiR02Uf.js.map} +1 -1
  239. package/dist/peculiar/{p-ZT6tVIen.js → p-C-zA8CWJ.js} +2 -2
  240. package/dist/peculiar/{p-ZT6tVIen.js.map → p-C-zA8CWJ.js.map} +1 -1
  241. package/dist/peculiar/{p-Bknpl7EO.system.js → p-C9U3cZjb.system.js} +3 -3
  242. package/dist/peculiar/{p-Bknpl7EO.system.js.map → p-C9U3cZjb.system.js.map} +1 -1
  243. package/dist/peculiar/{p-B5GO6_Ut.system.js → p-CCPSoWEH.system.js} +43 -43
  244. package/dist/peculiar/p-CCPSoWEH.system.js.map +1 -0
  245. package/dist/peculiar/{p-B2FH4Pv2.system.js → p-CGipIfjs.system.js} +4 -4
  246. package/dist/peculiar/{p-B2FH4Pv2.system.js.map → p-CGipIfjs.system.js.map} +1 -1
  247. package/dist/peculiar/{p-DMDALRLP.system.js → p-CLcRtCZ9.system.js} +7 -7
  248. package/dist/peculiar/p-CLcRtCZ9.system.js.map +1 -0
  249. package/dist/peculiar/{p-CdS84qJs.system.js → p-CNRpL2vk.system.js} +2 -2
  250. package/dist/peculiar/{p-CdS84qJs.system.js.map → p-CNRpL2vk.system.js.map} +1 -1
  251. package/dist/peculiar/{p-JyD6URnB.js → p-CVqAvraM.js} +2 -2
  252. package/dist/peculiar/{p-JyD6URnB.js.map → p-CVqAvraM.js.map} +1 -1
  253. package/dist/peculiar/{p-D8xU284r.system.js → p-CWwlqwKM.system.js} +2 -2
  254. package/dist/peculiar/{p-D8xU284r.system.js.map → p-CWwlqwKM.system.js.map} +1 -1
  255. package/dist/peculiar/p-CbJUBy06.system.js +5 -0
  256. package/dist/peculiar/p-CbJUBy06.system.js.map +1 -0
  257. package/dist/peculiar/p-CfHXB_pJ.system.js.map +1 -0
  258. package/dist/peculiar/p-Ckf8xErP.system.js +12 -0
  259. package/dist/peculiar/p-Ckf8xErP.system.js.map +1 -0
  260. package/dist/peculiar/{p-PCn0WXhQ.js → p-CmOVFH_Z.js} +6 -6
  261. package/dist/peculiar/p-CmOVFH_Z.js.map +1 -0
  262. package/dist/peculiar/{p-CbJQZ9Hh.system.js.map → p-Cp79UjaU.system.js.map} +1 -1
  263. package/dist/peculiar/p-D4MqnJ9p.system.js.map +1 -0
  264. package/dist/peculiar/p-D5BlV4_w.system.js +6 -0
  265. package/dist/peculiar/p-D5BlV4_w.system.js.map +1 -0
  266. package/dist/peculiar/{p-eziSY5IJ.system.js.map → p-DOSHmuRc.system.js.map} +1 -1
  267. package/dist/peculiar/p-DXA1451q.js +12 -0
  268. package/dist/peculiar/p-DXA1451q.js.map +1 -0
  269. package/dist/peculiar/{p-SjVQtfgD.system.js → p-DberG072.system.js} +5 -5
  270. package/dist/peculiar/{p-SjVQtfgD.system.js.map → p-DberG072.system.js.map} +1 -1
  271. package/dist/peculiar/{p-de857304.system.entry.js → p-ae88bf01.system.entry.js} +2 -2
  272. package/dist/peculiar/p-ae88bf01.system.entry.js.map +1 -0
  273. package/dist/peculiar/{p-24861cf6.system.entry.js → p-c4bbd44c.system.entry.js} +3 -3
  274. package/dist/peculiar/p-c4bbd44c.system.entry.js.map +1 -0
  275. package/dist/peculiar/{p-9d9f24bd.entry.js → p-d212830c.entry.js} +2 -2
  276. package/dist/peculiar/p-d212830c.entry.js.map +1 -0
  277. package/dist/peculiar/{p-98219569.entry.js → p-e40e47be.entry.js} +2 -2
  278. package/dist/peculiar/p-e40e47be.entry.js.map +1 -0
  279. package/dist/peculiar/{p-607d08e8.system.entry.js → p-ef52478f.system.entry.js} +2 -2
  280. package/dist/peculiar/p-ef52478f.system.entry.js.map +1 -0
  281. package/dist/peculiar/p-qOxEa6Ap.system.js.map +1 -0
  282. package/dist/peculiar/{p-NnCM1ETy.system.js → p-vusQjz44.system.js} +2 -2
  283. package/dist/peculiar/{p-NnCM1ETy.system.js.map → p-vusQjz44.system.js.map} +1 -1
  284. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.peculiar-ssh-certificate-viewer.entry.esm.js.map +1 -1
  285. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  286. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  287. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  288. package/dist/peculiar/peculiar.esm.js +1 -1
  289. package/dist/peculiar/peculiar.esm.js.map +1 -1
  290. package/dist/peculiar/peculiar.js +1 -1
  291. package/dist/types/crypto/ssh_certificate.d.ts +2 -2
  292. package/dist/types/interface.d.ts +86 -86
  293. package/dist/types/stencil-public-runtime.d.ts +49 -2
  294. package/dist/types/utils/download.d.ts +1 -1
  295. package/dist/types/utils/l10n.d.ts +0 -1
  296. package/hydrate/index.d.ts +2 -0
  297. package/hydrate/index.js +373 -502
  298. package/hydrate/index.mjs +373 -502
  299. package/package.json +4 -4
  300. package/dist/cjs/cross-3DqhA0G_.js +0 -52
  301. package/dist/cjs/download-DQP0KR4o.js +0 -24
  302. package/dist/cjs/extension-DTtJlxk8.js.map +0 -1
  303. package/dist/cjs/index-uHmGhObe.js.map +0 -1
  304. package/dist/cjs/miscellaneous-DCeacaAw.js.map +0 -1
  305. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js.map +0 -1
  306. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +0 -1
  307. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +0 -1
  308. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +0 -1
  309. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +0 -1
  310. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +0 -1
  311. package/dist/cjs/ssh_certificate-D2q_p49O.js.map +0 -1
  312. package/dist/esm/cross-G84H_-QL.js +0 -48
  313. package/dist/esm/download-ykcxSgxU.js +0 -22
  314. package/dist/esm/extension-DmlhftES.js.map +0 -1
  315. package/dist/esm/index-CwgZaF40.js.map +0 -1
  316. package/dist/esm/miscellaneous-BTlqwN5_.js.map +0 -1
  317. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js.map +0 -1
  318. package/dist/esm/peculiar-button-menu_3.entry.js.map +0 -1
  319. package/dist/esm/ssh_certificate-PCn0WXhQ.js.map +0 -1
  320. package/dist/esm-es5/extension-DmlhftES.js.map +0 -1
  321. package/dist/esm-es5/index-CwgZaF40.js +0 -6
  322. package/dist/esm-es5/index-CwgZaF40.js.map +0 -1
  323. package/dist/esm-es5/miscellaneous-BTlqwN5_.js.map +0 -1
  324. package/dist/esm-es5/ssh_certificate-PCn0WXhQ.js.map +0 -1
  325. package/dist/peculiar/p-24861cf6.system.entry.js.map +0 -1
  326. package/dist/peculiar/p-27ae6a3a.entry.js.map +0 -1
  327. package/dist/peculiar/p-46c17c8d.system.entry.js.map +0 -1
  328. package/dist/peculiar/p-607d08e8.system.entry.js.map +0 -1
  329. package/dist/peculiar/p-71cb31c6.entry.js +0 -152
  330. package/dist/peculiar/p-71cb31c6.entry.js.map +0 -1
  331. package/dist/peculiar/p-71eab586.entry.js.map +0 -1
  332. package/dist/peculiar/p-7273601a.entry.js.map +0 -1
  333. package/dist/peculiar/p-83bfd8e5.system.entry.js.map +0 -1
  334. package/dist/peculiar/p-98219569.entry.js.map +0 -1
  335. package/dist/peculiar/p-9MJeDspO.system.js.map +0 -1
  336. package/dist/peculiar/p-9d9f24bd.entry.js.map +0 -1
  337. package/dist/peculiar/p-AjXipXSl.system.js +0 -12
  338. package/dist/peculiar/p-AjXipXSl.system.js.map +0 -1
  339. package/dist/peculiar/p-B5GO6_Ut.system.js.map +0 -1
  340. package/dist/peculiar/p-B82-c-xr.system.js.map +0 -1
  341. package/dist/peculiar/p-BGASC3UX.system.js.map +0 -1
  342. package/dist/peculiar/p-BHpSDBz_.system.js.map +0 -1
  343. package/dist/peculiar/p-BwlcJAh0.js +0 -12
  344. package/dist/peculiar/p-BwlcJAh0.js.map +0 -1
  345. package/dist/peculiar/p-CSz5liuX.system.js.map +0 -1
  346. package/dist/peculiar/p-CwgZaF40.js +0 -6
  347. package/dist/peculiar/p-CwgZaF40.js.map +0 -1
  348. package/dist/peculiar/p-DKl0YViA.system.js +0 -6
  349. package/dist/peculiar/p-DKl0YViA.system.js.map +0 -1
  350. package/dist/peculiar/p-DMDALRLP.system.js.map +0 -1
  351. package/dist/peculiar/p-DnOLjFJP.js.map +0 -1
  352. package/dist/peculiar/p-PCn0WXhQ.js.map +0 -1
  353. package/dist/peculiar/p-cc01a2da.system.entry.js +0 -153
  354. package/dist/peculiar/p-cc01a2da.system.entry.js.map +0 -1
  355. package/dist/peculiar/p-dOkqMp-O.system.js +0 -5
  356. package/dist/peculiar/p-dOkqMp-O.system.js.map +0 -1
  357. package/dist/peculiar/p-de857304.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BasicAttribute","props","children","attribute","h","RowValue","name","value","getStringByOID","asn","type","colSpan","class","NamePart","map","relativeDistinguishedName","attributeTypeAndValue","OIDs","toString","NameAttribute","ActivityDescriptionAttribute","camelCaseToWords","TableRowTable","GeneralNamePart","generalName","codeAuthority","getDNSNameLink","getIPAddressLink","codeId","shortName","shortDescription","WebGdprAttribute","assessmentAuthority","assessmentLocation","assessmentRef","dataStorageTerritory","description","InsuranceValueAttribute","concat","base","degree","location","TypeRelationshipAttribute","Object","keys","keyName","toNumber","l10n","getString","getValueRank","ratio","ValuationRankingAttribute","values","AsStringAttribute","monospace","UnstructuredNameAttribute","utf8String","ChallengePasswordAttribute","ExtensionRequestAttribute","extensions","e","Extension","AsnConvert","serialize","Extensions","getLEILink","PrivateKeyPossessionStatementAttribute","certificateRaw","cert","Convert","ToHex","signer","serialNumber","issuer","certificate","ToBase64","Attributes","attributes","length","RowTitle","Name","ExtensionRequest","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","PrivateKeyPossessionStatement","_a","console","error","RevokedCertificates","revokedCertificates","userCertificate","dateShort","revocationDate","getTime","crlEntryExtensions","extension","CRLReason","extnID","toJSON","reason","InvalidityDate","CertificateIssuer","gn","extnValue","Holder","holder","baseCertificateID","objectDigestInfo","item","serial","digestAlgorithm","algorithm","objectDigest","digestedObjectType","Issuer","certificateViewerCss","AttributeCertificateViewer","class_1","hostRef","_this","this","mobileMediaQueryString","mobileScreenView","isDecodeInProcess","getAuthKeyIdParentLink","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","prototype","handleMediaQueryChange","event","matches","componentWillLoad","decodeCertificate","mobileMediaQuery","window","matchMedia","addEventListener","bind","disconnectedCallback","removeEventListener","X509AttributeCertificate","certificateDecoded","parseExtensions","parseAttributes","getThumbprint","_b","sent","certificateDecodeError","error_1","watchCertificateAndDecode","newValue","oldValue","renderErrorState","Typography","renderEmptyState","render","Host","String","BasicInformation","assign","Signature","signature","Thumbprints","thumbprints","download","Miscellaneous","certificateChainViewerCss","CertificateChainViewer","selectedCertificateIndex","certificates","role","Array","from","index","onClick","commonName","CrlViewer","class_2","X509Crl","error_2","getIssuerDnLink","issuerDnLink","IssuerName","CsrViewer","class_3","Pkcs10CertificateRequest","error_3","SubjectName","subject","PublicKey","publicKey","SshBasicInformation","validity","notBefore","notAfter","keyId","principals","criticalOptions","undefined","join","SshPublicKey","key","thumbprint","collapse","SshSignatureKey","SshMiscellaneous","Button","startIcon","DownloadIcon","downloadAsSSH","SshCertificateViewer","class_4","SshCertificate","parsePublicKey","parseSignatureKey","error_4","signatureKey"],"sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/extension_request_attribute.tsx","src/components/certificate-details-parts/attributes/private_key_possession_statement_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-chain-viewer/certificate-chain-viewer.scss?tag=peculiar-certificate-chain-viewer&encapsulation=shadow","src/components/certificate-chain-viewer/certificate-chain-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx","src/components/ssh-certificate-viewer/-components/basic_information.tsx","src/components/ssh-certificate-viewer/-components/public_key.tsx","src/components/ssh-certificate-viewer/-components/signature_key.tsx","src/components/ssh-certificate-viewer/-components/miscellaneous.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-ssh-certificate-viewer&encapsulation=shadow","src/components/ssh-certificate-viewer/ssh-certificate-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ));\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ActivityDescription } from '@peculiar/asn1-ntqwac';\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { WebGDPR } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { InsuranceValue } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { TypeRelationship } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ValuationRanking } from '@peculiar/asn1-ntqwac';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as unknown as string[]}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { UnstructuredName } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ChallengePassword } from '@peculiar/asn1-pkcs9';\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ExtensionRequest } from '@peculiar/asn1-pkcs9';\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport { Attribute } from '../../../crypto/attribute';\nimport { Extensions } from '../../certificate-details-parts';\nimport { TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IExtensionRequestAttributeProps {\n attribute: Attribute<ExtensionRequest>;\n}\n\nexport const ExtensionRequestAttribute:\nFunctionalComponent<IExtensionRequestAttributeProps> = (props) => {\n const { attribute } = props;\n let extensions: Extension<TExtensionValue>[];\n\n if (attribute.value) {\n extensions = attribute.value.map((e) => new Extension(AsnConvert.serialize(e)));\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <TableRowTable>\n <Extensions\n extensions={extensions}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n getLEILink={() => ''}\n />\n </TableRowTable>\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PrivateKeyPossessionStatement } from '@peculiar/asn1-private-key-stmt';\nimport { Convert } from 'pvtsutils';\nimport { Attribute } from '../../../crypto/attribute';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface IPrivateKeyPossessionStatementAttributeProps {\n attribute: Attribute<PrivateKeyPossessionStatement>;\n}\n\nexport const PrivateKeyPossessionStatementAttribute:\nFunctionalComponent<IPrivateKeyPossessionStatementAttributeProps> = (props) => {\n const { attribute } = props;\n const certificateRaw = attribute.value.cert\n ? AsnConvert.serialize(attribute.value.cert)\n : null;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Serial Number\"\n value={Convert.ToHex(attribute.value.signer.serialNumber)}\n monospace\n />\n <RowValue\n name=\"Issuer\"\n value=\"\"\n />\n <TableRowTable>\n <NamePart\n name={attribute.value.signer.issuer}\n />\n </TableRowTable>\n {certificateRaw && [\n <RowValue\n name=\"Certificate\"\n value=\"\"\n />,\n <TableRowTable>\n <peculiar-certificate-viewer\n certificate={Convert.ToBase64(certificateRaw)}\n />\n </TableRowTable>,\n ]}\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { PrivateKeyPossessionStatement } from '@peculiar/asn1-private-key-stmt';\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\nimport { ExtensionRequestAttribute } from './extension_request_attribute';\nimport { PrivateKeyPossessionStatementAttribute } from './private_key_possession_statement_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as unknown as Attribute<Name>}\n />\n );\n }\n\n if (attribute.value instanceof ExtensionRequest) {\n return (\n <ExtensionRequestAttribute\n attribute={attribute as unknown as Attribute<ExtensionRequest>}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as unknown as Attribute<ActivityDescription>}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as unknown as Attribute<WebGDPR>}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as unknown as Attribute<InsuranceValue>}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as unknown as Attribute<TypeRelationship>}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as unknown as Attribute<ValuationRanking>}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as unknown as Attribute<UnstructuredName>}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as unknown as Attribute<ChallengePassword>}\n />\n );\n }\n\n if (attribute.value instanceof PrivateKeyPossessionStatement) {\n return (\n <PrivateKeyPossessionStatementAttribute\n attribute={attribute as unknown as Attribute<PrivateKeyPossessionStatement>}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as unknown as Attribute<string>}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch {\n console.error('Error render attribute:', attribute.asn.type);\n\n return null;\n }\n }),\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n CRLReason, InvalidityDate, CertificateIssuer,\n} from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport {\n dateShort, l10n, getStringByOID,\n} from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ])),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\n </TableRowTable>,\n ]),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509AttributeCertificate } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TAttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificate: TAttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TAttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TAttributeCertificateProp,\n oldValue: TAttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this attribute certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no attribute certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n@import '../certificate-viewer/certificate-viewer.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.tabs {\n white-space: nowrap;\n overflow-x: auto;\n border-bottom: 1px solid var(--pv-color-gray-4);\n padding: 0 var(--pv-size-base-4);\n margin-bottom: var(--pv-size-base-6);\n}\n\n.tab {\n font-family: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border: none;\n border-bottom: 3px solid transparent;\n min-height: var(--pv-size-base-12);\n height: 100%;\n padding: 0 var(--pv-size-base-3);\n background-color: transparent;\n transition: background-color 200ms, color 200ms, border-color 200ms;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n font-weight: var(--pv-text-s2-weight);\n font-size: var(--pv-text-s2-size);\n line-height: var(--pv-text-s2-height);\n letter-spacing: var(--pv-text-s2-spacing);\n color: var(--pv-color-gray-10);\n\n &:hover {\n background-color: var(--pv-color-secondary-tint-5);\n }\n\n &[aria-selected=\"true\"] {\n color: var(--pv-color-black);\n border-color: var(--pv-color-secondary);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Host,\n} from '@stencil/core';\nimport { X509Certificates } from '../../crypto';\nimport { Typography } from '../typography';\nimport { Miscellaneous } from '../certificate-details-parts';\n\n@Component({\n tag: 'peculiar-certificate-chain-viewer',\n styleUrl: 'certificate-chain-viewer.scss',\n shadow: true,\n})\nexport class CertificateChainViewer {\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificates: X509Certificates;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n @State() selectedCertificateIndex = 0;\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificates available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (!this.certificates) {\n return this.renderEmptyState();\n }\n\n return (\n <Host>\n <div\n role=\"tablist\"\n class=\"tabs\"\n >\n {Array.from(this.certificates).map((certificate, index) => (\n <button\n type=\"button\"\n role=\"tab\"\n class=\"tab\"\n aria-selected={index === this.selectedCertificateIndex ? 'true' : 'false'}\n onClick={() => {\n this.selectedCertificateIndex = index;\n }}\n >\n {certificate.commonName}\n </button>\n ))}\n </div>\n {Array.from(this.certificates).map((certificate, index) => {\n if (index === this.selectedCertificateIndex) {\n return (\n <peculiar-certificate-viewer\n certificate={certificate}\n download={false}\n />\n );\n }\n\n return null;\n })}\n\n <table>\n {this.download && (\n <Miscellaneous\n certificate={this.certificates}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { X509Crl } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TCrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TCrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TCrlProp,\n oldValue: TCrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\nimport { Pkcs10CertificateRequest } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCsrProp = string | Pkcs10CertificateRequest;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: Pkcs10CertificateRequest;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TCsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TCsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof Pkcs10CertificateRequest) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new Pkcs10CertificateRequest(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: TCsrProp,\n oldValue: TCsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof Pkcs10CertificateRequest\n && oldValue instanceof Pkcs10CertificateRequest\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => value;\n\n private getAuthKeyIdSiblingsLink = (value: string) => value;\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate request.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate request available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { RowTitle, RowValue } from '../../certificate-details-parts/row';\nimport { dateShort, l10n } from '../../../utils';\n\ninterface ISshBasicInformationProps {\n serialNumber: string;\n validity: string;\n notBefore: Date;\n notAfter: Date;\n type: string;\n keyId: string;\n principals: string[];\n extensions: Record<string, string>;\n criticalOptions: Record<string, string>;\n}\n\nexport const SshBasicInformation: FunctionalComponent<ISshBasicInformationProps> = (props) => {\n const {\n serialNumber,\n validity,\n notBefore,\n notAfter,\n type,\n keyId,\n principals,\n extensions,\n criticalOptions,\n } = props;\n\n return [\n <RowTitle\n value={l10n.getString('basicInformation')}\n />,\n <RowValue\n name={l10n.getString('type')}\n value={type}\n />,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={serialNumber}\n monospace\n />,\n <RowValue\n name={l10n.getString('validity')}\n value={validity}\n />,\n <RowValue\n name={l10n.getString('issued')}\n value={notBefore ? dateShort(notBefore) : undefined}\n />,\n <RowValue\n name={l10n.getString('expired')}\n value={notAfter ? dateShort(notAfter) : undefined}\n />,\n <RowValue\n name={l10n.getString('keyId')}\n value={keyId}\n />,\n <RowValue\n name={l10n.getString('principals')}\n value={principals.join(', ') || '(none)'}\n />,\n <RowValue\n name={l10n.getString('criticalOptions')}\n value={Object.keys(criticalOptions).join(', ') || '(none)'}\n />,\n <RowValue\n name={l10n.getString('extensions')}\n value={Object.keys(extensions).join(', ') || '(none)'}\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n, getStringByOID } from '../../../utils';\nimport {\n RowTitle,\n RowValue,\n} from '../../certificate-details-parts/row';\n\ninterface ISshPublicKeyProps {\n key: SshCertificate['publicKey'];\n}\n\nexport const SshPublicKey: FunctionalComponent<ISshPublicKeyProps> = (props) => {\n const { key } = props;\n\n if (!key) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name=\"Thumbprint (SHA-256)\"\n value={key.thumbprint}\n monospace\n />,\n <RowValue\n name={l10n.getString('value')}\n value={key.value}\n monospace\n collapse\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n, getStringByOID } from '../../../utils';\nimport {\n RowTitle,\n RowValue,\n} from '../../certificate-details-parts/row';\n\ninterface ISshSignatureKeyProps {\n key: SshCertificate['signatureKey'];\n}\n\nexport const SshSignatureKey: FunctionalComponent<ISshSignatureKeyProps> = (props) => {\n const { key } = props;\n\n if (!key) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('signingCA')}\n />,\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name=\"Thumbprint (SHA-256)\"\n value={key.thumbprint}\n monospace\n />,\n <RowValue\n name={l10n.getString('value')}\n value={key.value}\n monospace\n collapse\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SshCertificate } from '../../../crypto';\nimport { l10n } from '../../../utils';\nimport { Button } from '../../button';\nimport { DownloadIcon } from '../../icons';\nimport { RowTitle } from '../../certificate-details-parts/row';\n\ninterface ISshMiscellaneousProps {\n certificate: SshCertificate;\n}\n\nexport const SshMiscellaneous: FunctionalComponent<ISshMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n startIcon={<DownloadIcon />}\n onClick={() => certificate.downloadAsSSH()}\n >\n {l10n.getString('download.ssh')}\n </Button>\n </td>\n </tr>,\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n tr:last-child {\n .divider {\n display: none;\n }\n }\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\nimport { SshCertificate } from '../../crypto';\nimport { Typography } from '../typography';\nimport { SshBasicInformation } from './-components/basic_information';\nimport { SshPublicKey } from './-components/public_key';\nimport { SshSignatureKey } from './-components/signature_key';\nimport { SshMiscellaneous } from './-components/miscellaneous';\n\nexport type TSshCertificateProp = string | SshCertificate;\n\n@Component({\n tag: 'peculiar-ssh-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class SshCertificateViewer {\n private certificateDecoded: SshCertificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: TSshCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView = false;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: TSshCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof SshCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new SshCertificate(certificate);\n } else {\n return;\n }\n\n // this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.parsePublicKey();\n await this.certificateDecoded.parseSignatureKey();\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: TSshCertificateProp, oldValue: TSshCertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof SshCertificate && oldValue instanceof SshCertificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <SshBasicInformation\n {...this.certificateDecoded}\n />\n\n <SshPublicKey\n key={this.certificateDecoded.publicKey}\n />\n\n <SshSignatureKey\n key={this.certificateDecoded.signatureKey}\n />\n\n {this.download && (\n <SshMiscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["h","registerInstance","Host","OIDs","l10n","AsnConvert","buildExports","Name$1","ExtensionRequest","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","PrivateKeyPossessionStatement","dateShort","CRLReason","InvalidityDate","CertificateIssuer","SshCertificate","X509AttributeCertificate","X509Crl","getStringByOID","RowValue","camelCaseToWords","TableRowTable","GeneralNamePart","Extensions","RowTitle","BasicInformation","Signature","Thumbprints","getIPAddressLink","getDNSNameLink","getLEILink","Miscellaneous","IssuerName","SubjectName","PublicKey","Typography","Button","Extension","Pkcs10CertificateRequest","DownloadIcon","BasicAttribute","props","children","attribute","name","value","asn","type","colSpan","class","NamePart","map","relativeDistinguishedName","attributeTypeAndValue","toString","NameAttribute","ActivityDescriptionAttribute","generalName","codeAuthority","codeId","shortName","shortDescription","WebGdprAttribute","assessmentAuthority","assessmentLocation","assessmentRef","dataStorageTerritory","description","InsuranceValueAttribute","concat","base","degree","location","TypeRelationshipAttribute","Object","keys","keyName","toNumber","getString","getValueRank","ratio","ValuationRankingAttribute","values","AsStringAttribute","monospace","UnstructuredNameAttribute","utf8String","ChallengePasswordAttribute","ExtensionRequestAttribute","extensions","e","serialize","PrivateKeyPossessionStatementAttribute","certificateRaw","cert","Convert","ToHex","signer","serialNumber","issuer","certificate","ToBase64","Attributes","attributes","length","_a","console","error","RevokedCertificates","revokedCertificates","userCertificate","revocationDate","getTime","crlEntryExtensions","extension","extnID","toJSON","reason","gn","extnValue","Holder","holder","baseCertificateID","objectDigestInfo","item","serial","digestAlgorithm","algorithm","objectDigest","digestedObjectType","Issuer","certificateViewerCss$3","AttributeCertificateViewer","class_1","hostRef","_this","this","mobileMediaQueryString","mobileScreenView","isDecodeInProcess","getAuthKeyIdParentLink","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","prototype","handleMediaQueryChange","event","matches","componentWillLoad","decodeCertificate","mobileMediaQuery","window","matchMedia","addEventListener","bind","disconnectedCallback","removeEventListener","certificateDecoded","parseExtensions","parseAttributes","getThumbprint","_b","sent","certificateDecodeError","error_1","watchCertificateAndDecode","newValue","oldValue","renderErrorState","renderEmptyState","render","String","assign","signature","thumbprints","download","defineProperty","style","certificateChainViewerCss","CertificateChainViewer","selectedCertificateIndex","certificates","role","Array","from","index","onClick","commonName","certificateViewerCss$2","CrlViewer","class_2","error_2","getIssuerDnLink","issuerDnLink","certificateViewerCss$1","CsrViewer","class_3","error_3","subject","publicKey","SshBasicInformation","validity","notBefore","notAfter","keyId","principals","criticalOptions","undefined","join","SshPublicKey","key","thumbprint","collapse","SshSignatureKey","SshMiscellaneous","startIcon","downloadAsPub","certificateViewerCss","SshCertificateViewer","class_4","parsePublicKey","parseSignatureKey","error_4","signatureKey"],"sources":["module.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import{r as registerInstance,h,H as Host,a as getElement}from"./index-CwgZaF40.js";import{T as Typography,B as Button}from"./button-Bbh7MwG6.js";import{A as ActionsIcon}from"./actions-BOY2Tl0T.js";var buttonMenuCss='.sc-peculiar-button-menu-h{display:-ms-inline-flexbox;display:inline-flex;position:relative}.is_shown.sc-peculiar-button-menu-h .button_popover.sc-peculiar-button-menu:before{position:fixed;width:100%;height:100%;top:0;left:0;content:""}.is_shown.sc-peculiar-button-menu-h .popover.sc-peculiar-button-menu{display:block}.popover.sc-peculiar-button-menu{min-width:200px;position:absolute;top:100%;right:0;border-radius:4px;z-index:1;-webkit-box-shadow:var(--pv-shadow-light-medium);box-shadow:var(--pv-shadow-light-medium);background:var(--pv-color-white);padding:var(--pv-size-base-2) 0;margin:var(--pv-size-base) 0;display:none}.button_option.sc-peculiar-button-menu{width:100%;-ms-flex-pack:start;justify-content:flex-start;border-radius:0}.group.sc-peculiar-button-menu:not(:last-child){border-bottom:1px solid var(--pv-color-gray-5);padding-bottom:var(--pv-size-base-2);margin-bottom:var(--pv-size-base)}.group_title.sc-peculiar-button-menu{line-height:var(--pv-size-base-6);padding:0 var(--pv-size-base-2)}';var ButtonMenu=function(){function t(t){var r=this;registerInstance(this,t);this.groups=[];this.open=false;this.handleClick=function(){r.open=!r.open}}t.prototype.render=function(){var t=this;return h(Host,{key:"66dd03eaa8d6e1f6dee3d9782390e094c5804b4a",class:{is_shown:this.open}},h(Button,{key:"ba4e5601321b4e778937f6386a8a5220e28f5809",class:"button_popover",startIcon:h(ActionsIcon,null),onClick:this.handleClick}),h("div",{key:"ed4d374f4a4982a24665e1cb60eaa57428ba0e4e",role:"dialog",tabIndex:-1,class:"popover","aria-hidden":String(this.open)},this.groups.map((function(r){return h("div",{class:"group"},h(Typography,{variant:"c2",color:"gray-9",class:"group_title"},r.title),r.options.map((function(r){return h(Button,{class:"button_option",startIcon:r.startIcon,href:r.href,onClick:function(e){e.stopPropagation();t.handleClick();if(r.onClick){r.onClick(e)}}},r.text)})))}))))};return t}();ButtonMenu.style=buttonMenuCss;var circularProgressCss=":host{display:block;width:100%}@-webkit-keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}@keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}.circle_progress{margin:0 auto}.circle_progress_svg{-webkit-animation:circular-rotate 1.4s linear infinite;animation:circular-rotate 1.4s linear infinite}.circle_progress_circle{stroke-linecap:round;-webkit-animation:circular-dash 1.4s ease-in-out infinite;animation:circular-dash 1.4s ease-in-out infinite;stroke-dasharray:80, 200;stroke-dashoffset:0;stroke:var(--pv-color-secondary)}.circle_progress_backdrop{stroke:var(--pv-color-gray-3)}";var CircularProgress=function(){function t(t){registerInstance(this,t);this.size=24;this.width=4;this.box=50}t.prototype.render=function(){return h(Host,{key:"0a7d6a83e20839fb324b3f24c7e8b1074775c6a3"},h("div",{key:"88111c52129ca2806ab67f7862ccdbec0e55e68f",class:"circle_progress",style:{width:"".concat(this.size,"px"),height:"".concat(this.size,"px")}},h("svg",{key:"73b6d9ef7d0b5d09049f8b0c3477e633fa6ee8a3",class:"circle_progress_svg",viewBox:"0 0 ".concat(this.box," ").concat(this.box)},h("circle",{key:"764d4d27927cd961c84631ac2d9bf2d0ca3e542f",class:"circle_progress_backdrop",cx:this.box/2,cy:this.box/2,r:this.box/2-5,fill:"none",style:{strokeWidth:"".concat(this.width,"px")}}),h("circle",{key:"b24985974a66d754514f5a82b06fa6e7cae77133",class:"circle_progress_circle",cx:this.box/2,cy:this.box/2,r:this.box/2-5,fill:"none",style:{strokeWidth:"".concat(this.width,"px")}}))))};return t}();CircularProgress.style=circularProgressCss;var highlightWordsCss=":host{display:inline}::slotted(mark){background-color:var(--pv-color-attention-tint-4)}";var HighlightWords=function(){function t(t){registerInstance(this,t);this.tag="mark"}t.prototype.componentDidLoad=function(){this.handleHighlightSearch()};t.prototype.componentDidUpdate=function(){this.handleHighlightSearch()};t.prototype.handleHighlightSearch=function(){var t=this.resetHighlightSearch(this.host.innerHTML);var r=t;if(this.search){var e=new RegExp("(".concat(this.search,")"),"gi");r=t.replace(e,"<".concat(this.tag,">$1</").concat(this.tag,">"))}this.host.innerHTML=r};t.prototype.resetHighlightSearch=function(t){var r=new RegExp("</?".concat(this.tag,">"),"g");return t.replace(r,"")};t.prototype.render=function(){return h(Host,{key:"95b1cef18522eabfb495710d6756d8eee86dfa73"},h("slot",{key:"360e1c4d7121833dbfccdd6e1021d2030017373b"}))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();HighlightWords.style=highlightWordsCss;export{ButtonMenu as peculiar_button_menu,CircularProgress as peculiar_circular_progress,HighlightWords as peculiar_highlight_words};
4
+ import{r as registerInstance,h,H as Host,a as getElement}from"./index-B0tLzdJT.js";import{T as Typography,B as Button}from"./button-DoyFdU2L.js";import{A as ActionsIcon}from"./actions-CabuIstu.js";var buttonMenuCss='.sc-peculiar-button-menu-h{display:-ms-inline-flexbox;display:inline-flex;position:relative}.is_shown.sc-peculiar-button-menu-h .button_popover.sc-peculiar-button-menu:before{position:fixed;width:100%;height:100%;top:0;left:0;content:""}.is_shown.sc-peculiar-button-menu-h .popover.sc-peculiar-button-menu{display:block}.popover.sc-peculiar-button-menu{min-width:200px;position:absolute;top:100%;right:0;border-radius:4px;z-index:1;-webkit-box-shadow:var(--pv-shadow-light-medium);box-shadow:var(--pv-shadow-light-medium);background:var(--pv-color-white);padding:var(--pv-size-base-2) 0;margin:var(--pv-size-base) 0;display:none}.button_option.sc-peculiar-button-menu{width:100%;-ms-flex-pack:start;justify-content:flex-start;border-radius:0}.group.sc-peculiar-button-menu:not(:last-child){border-bottom:1px solid var(--pv-color-gray-5);padding-bottom:var(--pv-size-base-2);margin-bottom:var(--pv-size-base)}.group_title.sc-peculiar-button-menu{line-height:var(--pv-size-base-6);padding:0 var(--pv-size-base-2)}';var ButtonMenu=function(){function t(t){var r=this;registerInstance(this,t);this.groups=[];this.open=false;this.handleClick=function(){r.open=!r.open}}t.prototype.render=function(){var t=this;return h(Host,{key:"66dd03eaa8d6e1f6dee3d9782390e094c5804b4a",class:{is_shown:this.open}},h(Button,{key:"ba4e5601321b4e778937f6386a8a5220e28f5809",class:"button_popover",startIcon:h(ActionsIcon,null),onClick:this.handleClick}),h("div",{key:"ed4d374f4a4982a24665e1cb60eaa57428ba0e4e",role:"dialog",tabIndex:-1,class:"popover","aria-hidden":String(this.open)},this.groups.map((function(r){return h("div",{class:"group"},h(Typography,{variant:"c2",color:"gray-9",class:"group_title"},r.title),r.options.map((function(r){return h(Button,{class:"button_option",startIcon:r.startIcon,href:r.href,onClick:function(e){e.stopPropagation();t.handleClick();if(r.onClick){r.onClick(e)}}},r.text)})))}))))};return t}();ButtonMenu.style=buttonMenuCss;var circularProgressCss=":host{display:block;width:100%}@-webkit-keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}@keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}.circle_progress{margin:0 auto}.circle_progress_svg{-webkit-animation:circular-rotate 1.4s linear infinite;animation:circular-rotate 1.4s linear infinite}.circle_progress_circle{stroke-linecap:round;-webkit-animation:circular-dash 1.4s ease-in-out infinite;animation:circular-dash 1.4s ease-in-out infinite;stroke-dasharray:80, 200;stroke-dashoffset:0;stroke:var(--pv-color-secondary)}.circle_progress_backdrop{stroke:var(--pv-color-gray-3)}";var CircularProgress=function(){function t(t){registerInstance(this,t);this.size=24;this.width=4;this.box=50}t.prototype.render=function(){return h(Host,{key:"0a7d6a83e20839fb324b3f24c7e8b1074775c6a3"},h("div",{key:"88111c52129ca2806ab67f7862ccdbec0e55e68f",class:"circle_progress",style:{width:"".concat(this.size,"px"),height:"".concat(this.size,"px")}},h("svg",{key:"73b6d9ef7d0b5d09049f8b0c3477e633fa6ee8a3",class:"circle_progress_svg",viewBox:"0 0 ".concat(this.box," ").concat(this.box)},h("circle",{key:"764d4d27927cd961c84631ac2d9bf2d0ca3e542f",class:"circle_progress_backdrop",cx:this.box/2,cy:this.box/2,r:this.box/2-5,fill:"none",style:{strokeWidth:"".concat(this.width,"px")}}),h("circle",{key:"b24985974a66d754514f5a82b06fa6e7cae77133",class:"circle_progress_circle",cx:this.box/2,cy:this.box/2,r:this.box/2-5,fill:"none",style:{strokeWidth:"".concat(this.width,"px")}}))))};return t}();CircularProgress.style=circularProgressCss;var highlightWordsCss=":host{display:inline}::slotted(mark){background-color:var(--pv-color-attention-tint-4)}";var HighlightWords=function(){function t(t){registerInstance(this,t);this.tag="mark"}t.prototype.componentDidLoad=function(){this.handleHighlightSearch()};t.prototype.componentDidUpdate=function(){this.handleHighlightSearch()};t.prototype.handleHighlightSearch=function(){var t=this.resetHighlightSearch(this.host.innerHTML);var r=t;if(this.search){var e=new RegExp("(".concat(this.search,")"),"gi");r=t.replace(e,"<".concat(this.tag,">$1</").concat(this.tag,">"))}this.host.innerHTML=r};t.prototype.resetHighlightSearch=function(t){var r=new RegExp("</?".concat(this.tag,">"),"g");return t.replace(r,"")};t.prototype.render=function(){return h(Host,{key:"95b1cef18522eabfb495710d6756d8eee86dfa73"},h("slot",{key:"360e1c4d7121833dbfccdd6e1021d2030017373b"}))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();HighlightWords.style=highlightWordsCss;export{ButtonMenu as peculiar_button_menu,CircularProgress as peculiar_circular_progress,HighlightWords as peculiar_highlight_words};
5
5
  //# sourceMappingURL=peculiar-button-menu_3.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["buttonMenuCss","ButtonMenu","hostRef","_this","this","groups","open","handleClick","prototype","render","h","Host","key","class","is_shown","Button","startIcon","ActionsIcon","onClick","role","tabIndex","String","map","group","Typography","variant","color","title","options","option","href","event","stopPropagation","text","circularProgressCss","CircularProgress","size","width","box","style","concat","height","viewBox","cx","cy","r","fill","strokeWidth","highlightWordsCss","HighlightWords","tag","componentDidLoad","handleHighlightSearch","componentDidUpdate","basicString","resetHighlightSearch","host","innerHTML","result","search","substring","RegExp","replace","source"],"sources":["src/components/button-menu/button-menu.scss?tag=peculiar-button-menu&encapsulation=scoped","src/components/button-menu/button-menu.tsx","src/components/circular-progress/circular-progress.scss?tag=peculiar-circular-progress&encapsulation=shadow","src/components/circular-progress/circular-progress.tsx","src/components/highlight-words/highlight-words.scss?tag=peculiar-highlight-words&encapsulation=shadow","src/components/highlight-words/highlight-words.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n position: relative;\n\n &.is_shown {\n .button_popover {\n &:before {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n content: '';\n }\n }\n\n .popover {\n display: block;\n }\n }\n}\n\n.popover {\n min-width: 200px;\n position: absolute;\n top: 100%;\n right: 0;\n border-radius: 4px;\n z-index: 1;\n box-shadow: var(--pv-shadow-light-medium);\n background: var(--pv-color-white);\n padding: var(--pv-size-base-2) 0;\n margin: var(--pv-size-base) 0;\n display: none;\n}\n\n.button_option {\n width: 100%;\n justify-content: flex-start;\n border-radius: 0;\n}\n\n.group {\n &:not(:last-child) {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding-bottom: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base);\n }\n}\n\n.group_title {\n line-height: var(--pv-size-base-6);\n padding: 0 var(--pv-size-base-2);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n State,\n Prop,\n Host,\n} from '@stencil/core';\nimport { Button, IButtonProps } from '../button';\nimport { Typography } from '../typography';\nimport { ActionsIcon } from '../icons';\n\nexport interface IButtonMenuGroupOptions extends IButtonProps {\n text: string | string[];\n}\n\nexport interface IButtonMenuGroup {\n title: string | string[];\n options: IButtonMenuGroupOptions[];\n}\n\n@Component({\n tag: 'peculiar-button-menu',\n styleUrl: 'button-menu.scss',\n scoped: true,\n})\nexport class ButtonMenu {\n @Prop() groups: IButtonMenuGroup[] = [];\n\n @State() open = false;\n\n handleClick = () => {\n this.open = !this.open;\n };\n\n render() {\n return (\n <Host\n class={{ is_shown: this.open }}\n >\n <Button\n class=\"button_popover\"\n startIcon={<ActionsIcon />}\n onClick={this.handleClick}\n />\n <div\n role=\"dialog\"\n tabIndex={-1}\n class=\"popover\"\n aria-hidden={String(this.open)}\n >\n {this.groups.map((group) => (\n <div class=\"group\">\n <Typography\n variant=\"c2\"\n color=\"gray-9\"\n class=\"group_title\"\n >\n {group.title}\n </Typography>\n {group.options.map((option) => (\n <Button\n class=\"button_option\"\n startIcon={option.startIcon}\n href={option.href}\n onClick={(event) => {\n event.stopPropagation();\n\n this.handleClick();\n\n if (option.onClick) {\n option.onClick(event);\n }\n }}\n >\n {option.text}\n </Button>\n ))}\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n@keyframes circular-rotate {\n to {\n transform: rotate(1turn);\n }\n}\n\n@keyframes circular-dash {\n 0% {\n stroke-dasharray: 1,200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -15;\n }\n\n to {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -120;\n }\n}\n\n.circle_progress {\n margin: 0 auto;\n}\n\n.circle_progress_svg {\n animation: circular-rotate 1.4s linear infinite;\n}\n\n.circle_progress_circle {\n stroke-linecap: round;\n animation: circular-dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80,200;\n stroke-dashoffset: 0;\n stroke: var(--pv-color-secondary);\n}\n\n.circle_progress_backdrop {\n stroke: var(--pv-color-gray-3);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-circular-progress',\n styleUrl: 'circular-progress.scss',\n shadow: true,\n})\nexport class CircularProgress {\n /**\n * Width/height of progress circle.\n */\n @Prop() size = 24;\n\n /**\n * Stroke width of progress bar circle.\n */\n @Prop() width = 4;\n\n private box = 50;\n\n render() {\n return (\n <Host>\n <div\n class=\"circle_progress\"\n style={{\n width: `${this.size}px`,\n height: `${this.size}px`,\n }}\n >\n <svg\n class=\"circle_progress_svg\"\n viewBox={`0 0 ${this.box} ${this.box}`}\n >\n <circle\n class=\"circle_progress_backdrop\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{ strokeWidth: `${this.width}px` }}\n />\n <circle\n class=\"circle_progress_circle\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{ strokeWidth: `${this.width}px` }}\n />\n </svg>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline;\n}\n\n::slotted(mark) {\n background-color: var(--pv-color-attention-tint-4);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component, Host, h, Element, Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-highlight-words',\n styleUrl: 'highlight-words.scss',\n shadow: true,\n})\nexport class HighlightWords {\n @Element() host: HTMLElement;\n\n @Prop() search: string;\n\n private tag = 'mark';\n\n componentDidLoad() {\n this.handleHighlightSearch();\n }\n\n componentDidUpdate() {\n this.handleHighlightSearch();\n }\n\n handleHighlightSearch() {\n const basicString = this.resetHighlightSearch(this.host.innerHTML);\n let result = basicString;\n\n if (this.search) {\n const substring = new RegExp(`(${this.search})`, 'gi');\n\n result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`);\n }\n\n this.host.innerHTML = result;\n }\n\n resetHighlightSearch(source: string) {\n // eslint-disable-next-line no-useless-escape\n const substring = new RegExp(`<\\/?${this.tag}>`, 'g');\n\n return source.replace(substring, '');\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","Host","getElement","Typography","Button","ActionsIcon","buttonMenuCss","ButtonMenu","hostRef","_this","this","groups","open","handleClick","prototype","render","key","class","is_shown","startIcon","onClick","role","tabIndex","String","map","group","variant","color","title","options","option","href","event","stopPropagation","text","style","circularProgressCss","CircularProgress","size","width","box","concat","height","viewBox","cx","cy","r","fill","strokeWidth","highlightWordsCss","HighlightWords","tag","componentDidLoad","handleHighlightSearch","componentDidUpdate","basicString","resetHighlightSearch","host","innerHTML","result","search","substring","RegExp","replace","source","Object","defineProperty"],"sources":["module.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- var __extends=this&&this.__extends||function(){var t=function(e,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]};return t(e,r)};return function(e,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function a(){this.constructor=e}e.prototype=r===null?Object.create(r):(a.prototype=r.prototype,new a)}}();var __awaiter=this&&this.__awaiter||function(t,e,r,a){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function n(t){try{s(a.next(t))}catch(t){i(t)}}function c(t){try{s(a["throw"](t))}catch(t){i(t)}}function s(t){t.done?r(t.value):o(t.value).then(n,c)}s((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,n;return n={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(n[Symbol.iterator]=function(){return this}),n;function c(t){return function(e){return s([t,e])}}function s(c){if(a)throw new TypeError("Generator is already executing.");while(n&&(n=0,c[0]&&(r=0)),r)try{if(a=1,o&&(i=c[0]&2?o["return"]:c[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,c[1])).done)return i;if(o=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:r.label++;return{value:c[1],done:false};case 5:r.label++;o=c[1];c=[0];continue;case 7:c=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1];i=c;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(c);break}if(i[2])r.ops.pop();r.trys.pop();continue}c=e.call(t,r)}catch(t){c=[6,t];o=0}finally{a=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};
1
+ var __extends=this&&this.__extends||function(){var t=function(e,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]};return t(e,r)};return function(e,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function a(){this.constructor=e}e.prototype=r===null?Object.create(r):(a.prototype=r.prototype,new a)}}();var __awaiter=this&&this.__awaiter||function(t,e,r,a){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function n(t){try{s(a.next(t))}catch(t){i(t)}}function c(t){try{s(a["throw"](t))}catch(t){i(t)}}function s(t){t.done?r(t.value):o(t.value).then(n,c)}s((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,n=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return n.next=c(0),n["throw"]=c(1),n["return"]=c(2),typeof Symbol==="function"&&(n[Symbol.iterator]=function(){return this}),n;function c(t){return function(e){return s([t,e])}}function s(c){if(a)throw new TypeError("Generator is already executing.");while(n&&(n=0,c[0]&&(r=0)),r)try{if(a=1,o&&(i=c[0]&2?o["return"]:c[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,c[1])).done)return i;if(o=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:r.label++;return{value:c[1],done:false};case 5:r.label++;o=c[1];c=[0];continue;case 7:c=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1];i=c;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(c);break}if(i[2])r.ops.pop();r.trys.pop();continue}c=e.call(t,r)}catch(t){c=[6,t];o=0}finally{a=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */import{r as registerInstance,c as createEvent,h,H as Host}from"./index-CwgZaF40.js";import{a as readAsBinaryString}from"./read_file-F2F0McJX.js";import{P as PemConverter,b as buildExports,bh as SignedData,bi as EncapsulatedContent,a0 as OctetString,bj as CertificateSet,bk as CertificateChoices,e as AsnConvert,C as Certificate,bl as ContentInfo,D as Download,bm as SshCertificate}from"./ssh_certificate-PCn0WXhQ.js";import{X as X509Certificate}from"./x509_certificate-BiAmXJ4S.js";import{X as X509AttributeCertificate,a as X509Crl}from"./x509_crl-CCeoLLUZ.js";import{P as Pkcs10CertificateRequest}from"./pkcs10_certificate_request-B5C1NYFc.js";import{T as Typography,B as Button}from"./button-Bbh7MwG6.js";import"./extension-DmlhftES.js";var id_data="1.2.840.113549.1.7.1";var id_signedData="1.2.840.113549.1.7.2";var X509Certificates=function(t){__extends(e,t);function e(e){var r=t.call(this)||this;var a=PemConverter.isPem(e)?PemConverter.decode(e).map((function(t){return buildExports.Convert.ToBase64Url(t)})):e.split(",");if(a.length<2){throw new Error("Unable to parse string. The array of elements is less than 2")}for(var o=0,i=a;o<i.length;o++){var n=i[o];r.push(new X509Certificate(n))}return r}Object.defineProperty(e.prototype,"commonName",{get:function(){return Array.from(this).map((function(t){return t.commonName})).join("_")},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"raw",{get:function(){var t=new SignedData;t.version=1;t.encapContentInfo.eContentType=id_data;t.encapContentInfo.eContent=new EncapsulatedContent({single:new OctetString});t.certificates=new CertificateSet(Array.from(this).map((function(t){return new CertificateChoices({certificate:AsnConvert.parse(t.raw,Certificate)})})));var e=new ContentInfo({contentType:id_signedData,content:AsnConvert.serialize(t)});return AsnConvert.serialize(e)},enumerable:false,configurable:true});e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return Array.from(this).map((function(t){return t.toString("pem")})).join("\n");case"base64url":return Array.from(this).map((function(t){return t.toString("base64url")})).join(",");default:return Array.from(this).map((function(t){return t.toString("base64")})).join(",")}};e.prototype.downloadAsPEM=function(t){Download.cert.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){Download.cert.asDER(this.raw,t||this.commonName)};return e}(Array);var certificateDecoderCss="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%}.textarea{min-height:300px;width:100%;border-radius:4px;border:1px solid var(--pv-color-gray-5);padding:14px;font-family:monospace;resize:vertical}.controls{margin-top:var(--pv-size-base-2);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pv-size-base-2);margin-bottom:var(--pv-size-base-12)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";var CertificateDecoder=function(){function t(t){var e=this;registerInstance(this,t);this.successParse=createEvent(this,"successParse");this.clearCertificate=createEvent(this,"clearCertificate");this.handleClickDecode=function(){var t=e.inputPaste.value;if(t){e.decode(t)}};this.handleClickClear=function(){e.clearValue()};this.handleChangeInputFile=function(t){return __awaiter(e,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:e=t.target;if(!e.files)return[3,2];return[4,readAsBinaryString(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}e.value="";a.label=2;case 2:return[2]}}))}))};this.handleChangeExample=function(t){if(t.target.value){e.decode(t.target.value)}else{e.clearValue()}};this.handleDropFile=function(t){return __awaiter(e,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:t.stopPropagation();t.preventDefault();e=t.dataTransfer;if(!e.files)return[3,2];return[4,readAsBinaryString(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}a.label=2;case 2:return[2]}}))}))}}t.prototype.componentDidLoad=function(){var t=this;if(this.certificateToDecode){setTimeout((function(){return t.decode(t.certificateToDecode)}),100)}};t.prototype.clearValue=function(){this.inputPaste.value="";this.certificateDecoded=null;this.clearCertificate.emit()};t.prototype.setValue=function(t){return __awaiter(this,void 0,void 0,(function(){var e,r,a;return __generator(this,(function(o){switch(o.label){case 0:this.certificateDecoded=t;e=this.inputPaste;return[4,t.toString("pem")];case 1:e.value=o.sent();a=(r=this.successParse).emit;return[4,t.toString("base64url")];case 2:a.apply(r,[o.sent()]);return[2]}}))}))};t.prototype.decode=function(t){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(r){new Promise((function(e){e(new X509Certificates(t))})).catch((function(){return new X509Certificate(t)})).catch((function(){return new X509AttributeCertificate(t)})).catch((function(){return new Pkcs10CertificateRequest(t)})).catch((function(){return new X509Crl(t)})).catch((function(){return new SshCertificate(t)})).then((function(t){return e.setValue(t)})).catch((function(e){console.log(e);alert('Error decoding certificate:\n"'.concat(t,'"\n\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.'))}));return[2]}))}))};t.prototype.renderCertificate=function(){if(this.certificateDecoded instanceof X509Certificates){return h("peculiar-certificate-chain-viewer",{certificates:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509Certificate){return h("peculiar-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509AttributeCertificate){return h("peculiar-attribute-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof Pkcs10CertificateRequest){return h("peculiar-csr-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509Crl){return h("peculiar-crl-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof SshCertificate){return h("peculiar-ssh-certificate-viewer",{certificate:this.certificateDecoded,download:true})}return null};t.prototype.render=function(){var t=this;var e;return h(Host,{key:"9067f2d7f33a40b3ad0ba03c7338a6f800100dab"},h("textarea",{key:"9e8962631c259fd5e144a1397d8591dde46d032f",placeholder:"Certificate DER or PEM",class:"textarea t-b2 c-black",ref:function(e){t.inputPaste=e},onDrop:this.handleDropFile}),h("div",{key:"9be2b1e6c9b3de94c9d5e1e6cf31d9fb487960d8",class:"controls"},h("div",{key:"3959b89ab5c5654a3c10a1166743c056c0340e2e",class:"control_row"},h(Typography,{key:"3c03f42d14ff5a485264523bab40765bb4f89a8f",variant:"b3",color:"secondary-tint-2"},"Drag or load file:"),h("input",{key:"3c8682f5de0b0e2f84e37a8a05882ebcf331daef",type:"file",accept:"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl,.cert",value:"",onChange:this.handleChangeInputFile})),((e=this.certificateExamples)===null||e===void 0?void 0:e.length)&&h("div",{key:"7c38788ccf4b038126ddf6909ec1d3de76325660",class:"control_row"},h(Typography,{key:"c1c13aaad3d1df51465c6c51ee24f45313de8f1c",variant:"b3",color:"secondary-tint-2"},"Load examples:"),h("select",{key:"811c4440269bb0a0a55f488e10dfa12093b18d7b",onChange:this.handleChangeExample},h("option",{key:"d2e30396fe3a59d5c46c83c6cd1e5b5a58f15f73",value:""},"None"),this.certificateExamples.map((function(t){return h("option",{value:t.value},t.title)})))),h("div",{key:"58daae2b9d8e2dd4c698ec9ad6e7f0d8b2500883",class:"control_row"},h(Button,{key:"d7f813370ace60deaad975622cc26b9a497ce9d2",onClick:this.handleClickDecode},"Decode"),h(Button,{key:"ec2fbeb6283ffd17c7328ee78c9464926b0bbb6b",onClick:this.handleClickClear},"Clear"))),this.renderCertificate())};return t}();CertificateDecoder.style=certificateDecoderCss;export{CertificateDecoder as peculiar_certificate_decoder};
4
+ */import{r as registerInstance,c as createEvent,h,H as Host}from"./index-B0tLzdJT.js";import{a as readAsBinaryString}from"./read_file-F2F0McJX.js";import{P as PemConverter,b as buildExports,bh as SignedData,bi as EncapsulatedContent,a0 as OctetString,bj as CertificateSet,bk as CertificateChoices,e as AsnConvert,C as Certificate,bl as ContentInfo,D as Download,bm as SshCertificate}from"./ssh_certificate-CmOVFH_Z.js";import{X as X509Certificate}from"./x509_certificate-C2EVTspY.js";import{X as X509AttributeCertificate,a as X509Crl}from"./x509_crl-Bdnys_YT.js";import{P as Pkcs10CertificateRequest}from"./pkcs10_certificate_request-Crr9FABo.js";import{T as Typography,B as Button}from"./button-DoyFdU2L.js";import"./extension-xW03sQxn.js";var id_data="1.2.840.113549.1.7.1";var id_signedData="1.2.840.113549.1.7.2";var X509Certificates=function(t){__extends(e,t);function e(e){var r=t.call(this)||this;var a=PemConverter.isPem(e)?PemConverter.decode(e).map((function(t){return buildExports.Convert.ToBase64Url(t)})):e.split(",");if(a.length<2){throw new Error("Unable to parse string. The array of elements is less than 2")}for(var o=0,i=a;o<i.length;o++){var n=i[o];r.push(new X509Certificate(n))}return r}Object.defineProperty(e.prototype,"commonName",{get:function(){return Array.from(this).map((function(t){return t.commonName})).join("_")},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"raw",{get:function(){var t=new SignedData;t.version=1;t.encapContentInfo.eContentType=id_data;t.encapContentInfo.eContent=new EncapsulatedContent({single:new OctetString});t.certificates=new CertificateSet(Array.from(this).map((function(t){return new CertificateChoices({certificate:AsnConvert.parse(t.raw,Certificate)})})));var e=new ContentInfo({contentType:id_signedData,content:AsnConvert.serialize(t)});return AsnConvert.serialize(e)},enumerable:false,configurable:true});e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return Array.from(this).map((function(t){return t.toString("pem")})).join("\n");case"base64url":return Array.from(this).map((function(t){return t.toString("base64url")})).join(",");default:return Array.from(this).map((function(t){return t.toString("base64")})).join(",")}};e.prototype.downloadAsPEM=function(t){Download.cert.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){Download.cert.asDER(this.raw,t||this.commonName)};return e}(Array);var certificateDecoderCss="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%}.textarea{min-height:300px;width:100%;border-radius:4px;border:1px solid var(--pv-color-gray-5);padding:14px;font-family:monospace;resize:vertical}.controls{margin-top:var(--pv-size-base-2);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pv-size-base-2);margin-bottom:var(--pv-size-base-12)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";var CertificateDecoder=function(){function t(t){var e=this;registerInstance(this,t);this.successParse=createEvent(this,"successParse");this.clearCertificate=createEvent(this,"clearCertificate");this.handleClickDecode=function(){var t=e.inputPaste.value;if(t){e.decode(t)}};this.handleClickClear=function(){e.clearValue()};this.handleChangeInputFile=function(t){return __awaiter(e,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:e=t.target;if(!e.files)return[3,2];return[4,readAsBinaryString(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}e.value="";a.label=2;case 2:return[2]}}))}))};this.handleChangeExample=function(t){if(t.target.value){e.decode(t.target.value)}else{e.clearValue()}};this.handleDropFile=function(t){return __awaiter(e,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:t.stopPropagation();t.preventDefault();e=t.dataTransfer;if(!e.files)return[3,2];return[4,readAsBinaryString(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}a.label=2;case 2:return[2]}}))}))}}t.prototype.componentDidLoad=function(){var t=this;if(this.certificateToDecode){setTimeout((function(){return t.decode(t.certificateToDecode)}),100)}};t.prototype.clearValue=function(){this.inputPaste.value="";this.certificateDecoded=null;this.clearCertificate.emit()};t.prototype.setValue=function(t){return __awaiter(this,void 0,void 0,(function(){var e,r,a;return __generator(this,(function(o){switch(o.label){case 0:this.certificateDecoded=t;e=this.inputPaste;return[4,t.toString("pem")];case 1:e.value=o.sent();a=(r=this.successParse).emit;return[4,t.toString("base64url")];case 2:a.apply(r,[o.sent()]);return[2]}}))}))};t.prototype.decode=function(t){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(r){new Promise((function(e){e(new X509Certificates(t))})).catch((function(){return new X509Certificate(t)})).catch((function(){return new X509AttributeCertificate(t)})).catch((function(){return new Pkcs10CertificateRequest(t)})).catch((function(){return new X509Crl(t)})).catch((function(){return new SshCertificate(t)})).then((function(t){return e.setValue(t)})).catch((function(e){console.log(e);alert('Error decoding certificate:\n"'.concat(t,'"\n\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.'))}));return[2]}))}))};t.prototype.renderCertificate=function(){if(this.certificateDecoded instanceof X509Certificates){return h("peculiar-certificate-chain-viewer",{certificates:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509Certificate){return h("peculiar-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509AttributeCertificate){return h("peculiar-attribute-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof Pkcs10CertificateRequest){return h("peculiar-csr-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof X509Crl){return h("peculiar-crl-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof SshCertificate){return h("peculiar-ssh-certificate-viewer",{certificate:this.certificateDecoded,download:true})}return null};t.prototype.render=function(){var t=this;var e;return h(Host,{key:"9067f2d7f33a40b3ad0ba03c7338a6f800100dab"},h("textarea",{key:"9e8962631c259fd5e144a1397d8591dde46d032f",placeholder:"Certificate DER or PEM",class:"textarea t-b2 c-black",ref:function(e){t.inputPaste=e},onDrop:this.handleDropFile}),h("div",{key:"9be2b1e6c9b3de94c9d5e1e6cf31d9fb487960d8",class:"controls"},h("div",{key:"3959b89ab5c5654a3c10a1166743c056c0340e2e",class:"control_row"},h(Typography,{key:"3c03f42d14ff5a485264523bab40765bb4f89a8f",variant:"b3",color:"secondary-tint-2"},"Drag or load file:"),h("input",{key:"29845cfd11955ded4b43d19be3ede89d77b71fef",type:"file",accept:"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl,.pub",value:"",onChange:this.handleChangeInputFile})),((e=this.certificateExamples)===null||e===void 0?void 0:e.length)&&h("div",{key:"ec2e21cdcda421bd046d42607569e90eb0a96589",class:"control_row"},h(Typography,{key:"17850c755e70545949be4f772ec67f02eae829af",variant:"b3",color:"secondary-tint-2"},"Load examples:"),h("select",{key:"4431af8f0dcc97fd8e26637cef8a9524a83e9519",onChange:this.handleChangeExample},h("option",{key:"c08edb4c2faf0f640e100cf62ae7ad07f0714cc3",value:""},"None"),this.certificateExamples.map((function(t){return h("option",{value:t.value},t.title)})))),h("div",{key:"e7f7a693ef5f72ce739fe6a42d8c87345d23a743",class:"control_row"},h(Button,{key:"7448517bf7f76af06f8a7f60d1e40360613d3acd",onClick:this.handleClickDecode},"Decode"),h(Button,{key:"b831592de27a3b292b2d81a19400216fbce7e797",onClick:this.handleClickClear},"Clear"))),this.renderCertificate())};return t}();CertificateDecoder.style=certificateDecoderCss;export{CertificateDecoder as peculiar_certificate_decoder};
5
5
  //# sourceMappingURL=peculiar-certificate-decoder.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peculiar-certificate-decoder.entry.js","sources":["../../node_modules/.pnpm/@peculiar+asn1-cms@2.4.0/node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\nimport { Download } from '../utils';\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({ single: new OctetString() });\n signedData.certificates = new CertificateSet(\n Array.from(this)\n .map((o) => new CertificateChoices({ certificate: AsnConvert.parse(o.raw, Certificate) })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n SshCertificate,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl\n | SshCertificate;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n async setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n\n this.inputPaste.value = await value.toString('pem');\n this.successParse.emit(await value.toString('base64url'));\n }\n\n async decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .catch(() => new SshCertificate(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof SshCertificate) {\n return (\n <peculiar-ssh-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl,.cert\"\n value=\"\"\n onChange={this.handleChangeInputFile}\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"names":["Convert"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"peculiar-certificate-decoder.entry.js","sources":["../../node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\nimport { Download } from '../utils';\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({ single: new OctetString() });\n signedData.certificates = new CertificateSet(\n Array.from(this)\n .map((o) => new CertificateChoices({ certificate: AsnConvert.parse(o.raw, Certificate) })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@use '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n SshCertificate,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl\n | SshCertificate;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n async setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n\n this.inputPaste.value = await value.toString('pem');\n this.successParse.emit(await value.toString('base64url'));\n }\n\n async decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .catch(() => new SshCertificate(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof SshCertificate) {\n return (\n <peculiar-ssh-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl,.pub\"\n value=\"\"\n onChange={this.handleChangeInputFile}\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"names":["Convert"],"mappings":";;;;;;;;;;;;AACO,MAAM,OAAO,GAAG,sBAAsB;AACtC,MAAM,aAAa,GAAG,sBAAsB;;ACc7C,MAAO,gBAAiB,SAAQ,KAAsB,CAAA;AAC1D,IAAA,WAAA,CAAY,GAAW,EAAA;AACrB,QAAA,KAAK,EAAE;AAEP,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG;cACnC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAKA,oBAAO,CAAC,WAAW,CAAC,KAAK,CAAC;AACpE,cAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AAElB,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;;AAGjF,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;;;AAIxC,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;aACnB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU;aACvB,IAAI,CAAC,GAAG,CAAC;;AAGd,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE;AAEnC,QAAA,UAAU,CAAC,OAAO,GAAG,CAAC;AACtB,QAAA,UAAU,CAAC,gBAAgB,CAAC,YAAY,GAAG,OAAO;AAClD,QAAA,UAAU,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,EAAE,CAAC;QAC7F,UAAU,CAAC,YAAY,GAAG,IAAI,cAAc,CAC1C,KAAK,CAAC,IAAI,CAAC,IAAI;aACZ,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,kBAAkB,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAC7F;AAED,QAAA,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;AAC1B,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;AAC1C,SAAA,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;;IAG3B,QAAQ,CAAC,SAAyC,KAAK,EAAA;QAC5D,QAAQ,MAAM;AACZ,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;AACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;qBAC5B,IAAI,CAAC,IAAI,CAAC;AACf,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;AACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;qBAClC,IAAI,CAAC,GAAG,CAAC;AACd,YAAA;AACE,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;AACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBAC/B,IAAI,CAAC,GAAG,CAAC;;;AAIX,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAGI,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CACjB,IAAI,CAAC,GAAG,EACR,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAEJ;;ACxFD,MAAM,qBAAqB,GAAG,4mQAA4mQ;;MCkC7nQ,kBAAkB,GAAA,MAAA;AAL/B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AA+CU,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAK;AAC/B,YAAA,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU;YAEjC,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;AAEtB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;YAC9B,IAAI,CAAC,UAAU,EAAE;AACnB,SAAC;;AAGO,QAAA,IAAA,CAAA,qBAAqB,GAAG,OAAO,KAAU,KAAI;AACnD,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;AAE5B,YAAA,IAAI,OAAO,CAAC,KAAK,EAAE;AACjB,gBAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvD,gBAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClC,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGzB,gBAAA,OAAO,CAAC,KAAK,GAAG,EAAE;;AAEtB,SAAC;;AAGO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,KAAU,KAAI;AAC3C,YAAA,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;iBAC1B;gBACL,IAAI,CAAC,UAAU,EAAE;;AAErB,SAAC;;AAGO,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,KAAU,KAAI;YAC5C,KAAK,CAAC,eAAe,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE;AAEtB,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;AAElC,YAAA,IAAI,OAAO,CAAC,KAAK,EAAE;AACjB,gBAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvD,gBAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClC,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAG7B,SAAC;AAqJF;IAhNC,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B;;AAEG;AACH,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC;;;IAwDhE,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAC9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;;IAG9B,MAAM,QAAQ,CAAC,KAAqC,EAAA;AAClD,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AAE/B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;;IAG3D,MAAM,MAAM,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,OAAO,CAAmB,CAAC,OAAO,KAAI;AACxC,YAAA,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,SAAC;aACE,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC;aACtC,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC;aAC/C,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC;aAC/C,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;aAC9B,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC;AACrC,aAAA,IAAI,CAAC,CAAC,GAAmC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAChE,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AAElB,YAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,KAAK,CAAA,+EAAA,CAAiF,CAAC;AAChI,SAAC,CAAC;;IAGN,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,gBAAgB,EAAE;AACvD,YAAA,QACE,CACE,CAAA,mCAAA,EAAA,EAAA,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,eAAe,EAAE;AACtD,YAAA,QACE,CACE,CAAA,6BAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,wBAAwB,EAAE;AAC/D,YAAA,QACE,CACE,CAAA,uCAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,wBAAwB,EAAE;AAC/D,YAAA,QACE,CACE,CAAA,qBAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,OAAO,EAAE;AAC9C,YAAA,QACE,CACE,CAAA,qBAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,cAAc,EAAE;AACrD,YAAA,QACE,CACE,CAAA,iCAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;AAIN,QAAA,OAAO,IAAI;;IAGb,MAAM,GAAA;;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAC,wBAAwB,EACpC,KAAK,EAAC,uBAAuB,EAC7B,GAAG,EAAE,CAAC,EAAE,KAAI,EAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,EACtC,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACnB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAC,CAAA,UAAU,qDACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,kBAAkB,EAGb,EAAA,oBAAA,CAAA,EACb,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,2IAA2I,EAClJ,KAAK,EAAC,EAAE,EACR,QAAQ,EAAE,IAAI,CAAC,qBAAqB,GACpC,CACE,EACL,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAC/B,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,aAAa,EAAA,EACtB,CAAC,CAAA,UAAU,qDACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,kBAAkB,EAGb,EAAA,gBAAA,CAAA,EACb,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAA,EACxC,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,EAAE,EAAc,EAAA,MAAA,CAAA,EAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,MACpC,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,OAAO,CAAC,KAAK,EAAA,EACzB,OAAO,CAAC,KAAK,CACP,CACV,CAAC,CACK,CACL,CACP,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAC,MAAM,EACL,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAGxB,EAAA,QAAA,CAAA,EACT,CAAC,CAAA,MAAM,qDACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAGvB,EAAA,OAAA,CAAA,CACL,CACF,EACL,IAAI,CAAC,iBAAiB,EAAE,CACpB;;;;;;;","x_google_ignoreList":[0]}