@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,"file":"qc_statements_extension.js","sourceRoot":"","sources":["../../../../src/components/certificate-details-parts/extensions/qc_statements_extension.tsx"],"names":[],"mappings":"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","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 {\n QCStatements,\n id_qcs_pkixQCSyntax_v2,\n SemanticsInformation,\n} from '@peculiar/asn1-x509-qualified';\nimport {\n id_etsi_qcs_qcType,\n QcType,\n id_etsi_qcs_qcPDS,\n PdsLocations,\n id_etsi_qcs_qcRetentionPeriod,\n QcEuRetentionPeriod,\n} from '@peculiar/asn1-x509-qualified-etsi';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Convert } from 'pvtsutils';\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicExtension } from './basic_extension';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ninterface IQCStatementsExtensionProps {\n extension: Extension<QCStatements>;\n}\n\nexport const QCStatementsExtension: FunctionalComponent<IQCStatementsExtensionProps> = (props) => {\n const { extension } = props;\n\n function renderStatementInfo(statementId: string, statementInfo: ArrayBuffer) {\n if (!statementInfo.byteLength) {\n return null;\n }\n\n if (statementId === id_qcs_pkixQCSyntax_v2) {\n const semanticsInformation = AsnParser.parse(statementInfo, SemanticsInformation);\n\n return (\n <RowValue\n name=\"Semantics Identifier\"\n value={getStringByOID(semanticsInformation.semanticsIdentifier)}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcType) {\n const qcTypes = AsnParser.parse(statementInfo, QcType);\n\n return (\n <RowValue\n name=\"QC Types\"\n value={qcTypes.map((type) => getStringByOID(type)).join(', ')}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcRetentionPeriod) {\n const retentionPeriod = AsnParser.parse(statementInfo, QcEuRetentionPeriod);\n\n return (\n <RowValue\n name=\"Retention Period\"\n value={`${retentionPeriod.value} years`}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcPDS) {\n const pdsLocations = AsnParser.parse(statementInfo, PdsLocations);\n\n return ([\n <RowValue\n name=\"PDS Locations\"\n value=\"\"\n />,\n pdsLocations.map((location) => (\n <TableRowTable>\n <RowValue\n name=\"URL\"\n value={location.url}\n />\n <RowValue\n name=\"Language\"\n value={location.language}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name=\"Info\"\n value={Convert.ToHex(statementInfo)}\n monospace\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Statements\"\n value=\"\"\n />,\n extension.value.map((statement) => (\n <TableRowTable>\n <RowValue\n name=\"Statement ID\"\n value={getStringByOID(statement.statementId)}\n />\n {renderStatementInfo(statement.statementId, statement.statementInfo)}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n"]}
1
+ {"version":3,"file":"qc_statements_extension.js","sourceRoot":"","sources":["../../../../src/components/certificate-details-parts/extensions/qc_statements_extension.tsx"],"names":[],"mappings":"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","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 {\n QCStatements,\n id_qcs_pkixQCSyntax_v2,\n SemanticsInformation,\n} from '@peculiar/asn1-x509-qualified';\nimport {\n id_etsi_qcs_qcType,\n QcType,\n id_etsi_qcs_qcPDS,\n PdsLocations,\n id_etsi_qcs_qcRetentionPeriod,\n QcEuRetentionPeriod,\n} from '@peculiar/asn1-x509-qualified-etsi';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Convert } from 'pvtsutils';\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicExtension } from './basic_extension';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ninterface IQCStatementsExtensionProps {\n extension: Extension<QCStatements>;\n}\n\nexport const QCStatementsExtension: FunctionalComponent<IQCStatementsExtensionProps> = (props) => {\n const { extension } = props;\n\n function renderStatementInfo(statementId: string, statementInfo?: ArrayBuffer) {\n if (!statementInfo || !statementInfo.byteLength) {\n return null;\n }\n\n if (statementId === id_qcs_pkixQCSyntax_v2) {\n const semanticsInformation = AsnParser.parse(statementInfo, SemanticsInformation);\n\n return (\n <RowValue\n name=\"Semantics Identifier\"\n value={getStringByOID(semanticsInformation.semanticsIdentifier)}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcType) {\n const qcTypes = AsnParser.parse(statementInfo, QcType);\n\n return (\n <RowValue\n name=\"QC Types\"\n value={qcTypes.map((type) => getStringByOID(type)).join(', ')}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcRetentionPeriod) {\n const retentionPeriod = AsnParser.parse(statementInfo, QcEuRetentionPeriod);\n\n return (\n <RowValue\n name=\"Retention Period\"\n value={`${retentionPeriod.value} years`}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcPDS) {\n const pdsLocations = AsnParser.parse(statementInfo, PdsLocations);\n\n return ([\n <RowValue\n name=\"PDS Locations\"\n value=\"\"\n />,\n pdsLocations.map((location) => (\n <TableRowTable>\n <RowValue\n name=\"URL\"\n value={location.url}\n />\n <RowValue\n name=\"Language\"\n value={location.language}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name=\"Info\"\n value={Convert.ToHex(statementInfo)}\n monospace\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Statements\"\n value=\"\"\n />,\n extension.value.map((statement) => (\n <TableRowTable>\n <RowValue\n name=\"Statement ID\"\n value={getStringByOID(statement.statementId)}\n />\n {renderStatementInfo(statement.statementId, statement.statementInfo)}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n"]}
@@ -128,7 +128,6 @@ export class CertificateViewer {
128
128
  return {
129
129
  "certificate": {
130
130
  "type": "string",
131
- "attribute": "certificate",
132
131
  "mutable": false,
133
132
  "complexType": {
134
133
  "original": "TCertificateProp",
@@ -136,7 +135,7 @@ export class CertificateViewer {
136
135
  "references": {
137
136
  "TCertificateProp": {
138
137
  "location": "local",
139
- "path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/certificate-viewer/certificate-viewer.tsx",
138
+ "path": "/Users/donskov/Documents/GitHub/pv-certificates-viewer/packages/webcomponents/src/components/certificate-viewer/certificate-viewer.tsx",
140
139
  "id": "src/components/certificate-viewer/certificate-viewer.tsx::TCertificateProp"
141
140
  }
142
141
  }
@@ -149,11 +148,11 @@ export class CertificateViewer {
149
148
  },
150
149
  "getter": false,
151
150
  "setter": false,
152
- "reflect": true
151
+ "reflect": true,
152
+ "attribute": "certificate"
153
153
  },
154
154
  "download": {
155
155
  "type": "boolean",
156
- "attribute": "download",
157
156
  "mutable": false,
158
157
  "complexType": {
159
158
  "original": "boolean",
@@ -168,11 +167,11 @@ export class CertificateViewer {
168
167
  },
169
168
  "getter": false,
170
169
  "setter": false,
171
- "reflect": true
170
+ "reflect": true,
171
+ "attribute": "download"
172
172
  },
173
173
  "authKeyIdParentLink": {
174
174
  "type": "string",
175
- "attribute": "auth-key-id-parent-link",
176
175
  "mutable": false,
177
176
  "complexType": {
178
177
  "original": "string",
@@ -190,11 +189,11 @@ export class CertificateViewer {
190
189
  },
191
190
  "getter": false,
192
191
  "setter": false,
193
- "reflect": true
192
+ "reflect": true,
193
+ "attribute": "auth-key-id-parent-link"
194
194
  },
195
195
  "authKeyIdSiblingsLink": {
196
196
  "type": "string",
197
- "attribute": "auth-key-id-siblings-link",
198
197
  "mutable": false,
199
198
  "complexType": {
200
199
  "original": "string",
@@ -212,11 +211,11 @@ export class CertificateViewer {
212
211
  },
213
212
  "getter": false,
214
213
  "setter": false,
215
- "reflect": true
214
+ "reflect": true,
215
+ "attribute": "auth-key-id-siblings-link"
216
216
  },
217
217
  "subjectKeyIdChildrenLink": {
218
218
  "type": "string",
219
- "attribute": "subject-key-id-children-link",
220
219
  "mutable": false,
221
220
  "complexType": {
222
221
  "original": "string",
@@ -234,11 +233,11 @@ export class CertificateViewer {
234
233
  },
235
234
  "getter": false,
236
235
  "setter": false,
237
- "reflect": true
236
+ "reflect": true,
237
+ "attribute": "subject-key-id-children-link"
238
238
  },
239
239
  "subjectKeyIdSiblingsLink": {
240
240
  "type": "string",
241
- "attribute": "subject-key-id-siblings-link",
242
241
  "mutable": false,
243
242
  "complexType": {
244
243
  "original": "string",
@@ -256,11 +255,11 @@ export class CertificateViewer {
256
255
  },
257
256
  "getter": false,
258
257
  "setter": false,
259
- "reflect": true
258
+ "reflect": true,
259
+ "attribute": "subject-key-id-siblings-link"
260
260
  },
261
261
  "issuerDnLink": {
262
262
  "type": "string",
263
- "attribute": "issuer-dn-link",
264
263
  "mutable": false,
265
264
  "complexType": {
266
265
  "original": "string",
@@ -275,11 +274,11 @@ export class CertificateViewer {
275
274
  },
276
275
  "getter": false,
277
276
  "setter": false,
278
- "reflect": true
277
+ "reflect": true,
278
+ "attribute": "issuer-dn-link"
279
279
  },
280
280
  "mobileMediaQueryString": {
281
281
  "type": "string",
282
- "attribute": "mobile-media-query-string",
283
282
  "mutable": false,
284
283
  "complexType": {
285
284
  "original": "string",
@@ -298,6 +297,7 @@ export class CertificateViewer {
298
297
  "getter": false,
299
298
  "setter": false,
300
299
  "reflect": false,
300
+ "attribute": "mobile-media-query-string",
301
301
  "defaultValue": "'(max-width: 900px)'"
302
302
  }
303
303
  };
@@ -294,7 +294,6 @@ export class CertificatesViewer {
294
294
  return {
295
295
  "certificates": {
296
296
  "type": "unknown",
297
- "attribute": "certificates",
298
297
  "mutable": false,
299
298
  "complexType": {
300
299
  "original": "ICertificate[]",
@@ -302,7 +301,7 @@ export class CertificatesViewer {
302
301
  "references": {
303
302
  "ICertificate": {
304
303
  "location": "local",
305
- "path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/certificates-viewer/certificates-viewer.tsx",
304
+ "path": "/Users/donskov/Documents/GitHub/pv-certificates-viewer/packages/webcomponents/src/components/certificates-viewer/certificates-viewer.tsx",
306
305
  "id": "src/components/certificates-viewer/certificates-viewer.tsx::ICertificate"
307
306
  }
308
307
  }
@@ -319,7 +318,6 @@ export class CertificatesViewer {
319
318
  },
320
319
  "filterWithSearch": {
321
320
  "type": "boolean",
322
- "attribute": "filter-with-search",
323
321
  "mutable": false,
324
322
  "complexType": {
325
323
  "original": "boolean",
@@ -335,11 +333,11 @@ export class CertificatesViewer {
335
333
  "getter": false,
336
334
  "setter": false,
337
335
  "reflect": false,
336
+ "attribute": "filter-with-search",
338
337
  "defaultValue": "true"
339
338
  },
340
339
  "highlightWithSearch": {
341
340
  "type": "boolean",
342
- "attribute": "highlight-with-search",
343
341
  "mutable": false,
344
342
  "complexType": {
345
343
  "original": "boolean",
@@ -355,11 +353,11 @@ export class CertificatesViewer {
355
353
  "getter": false,
356
354
  "setter": false,
357
355
  "reflect": false,
356
+ "attribute": "highlight-with-search",
358
357
  "defaultValue": "true"
359
358
  },
360
359
  "mobileMediaQueryString": {
361
360
  "type": "string",
362
- "attribute": "mobile-media-query-string",
363
361
  "mutable": false,
364
362
  "complexType": {
365
363
  "original": "string",
@@ -378,6 +376,7 @@ export class CertificatesViewer {
378
376
  "getter": false,
379
377
  "setter": false,
380
378
  "reflect": false,
379
+ "attribute": "mobile-media-query-string",
381
380
  "defaultValue": "'(max-width: 900px)'"
382
381
  }
383
382
  };
@@ -1 +1 @@
1
- {"version":3,"file":"certificates-viewer.js","sourceRoot":"","sources":["../../../src/components/certificates-viewer/certificates-viewer.tsx"],"names":[],"mappings":"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","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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Event,\n EventEmitter,\n Build,\n} from '@stencil/core';\nimport { X509Certificate } from '../../crypto';\nimport { OIDs } from '../../constants/oids';\nimport { l10n } from '../../utils';\nimport { Typography } from '../typography';\nimport { CertificateSummary } from '../certificate-summary';\nimport { Button } from '../button';\nimport {\n DownloadIcon,\n LinkIcon,\n DetailsIcon,\n ArrowBottomIcon,\n ArrowTopIcon,\n CrossIcon,\n} from '../icons';\n\nexport interface ICertificate {\n value: string;\n name?: string | ((certificate: X509Certificate) => string);\n tests?: {\n valid?: string;\n revoked?: string;\n expired?: string;\n };\n}\n\ninterface ICertificateDecoded {\n body: X509Certificate;\n tests?: ICertificate['tests'];\n name?: ICertificate['name'];\n}\n\n@Component({\n tag: 'peculiar-certificates-viewer',\n styleUrl: 'certificates-viewer.scss',\n shadow: true,\n})\nexport class CertificatesViewer {\n private isHasRoots = false;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * List of certificates values for decode and show in the list.\n * <br />\n * **NOTE**: If you do not provide a `name` value when\n * invocing the component it will take the first Subject CN value.\n * <br />\n * **NOTE**: If you do not provide a `tests` this column will be ommited from the rendered page.\n * <br />\n * **NOTE**: If the supplied certificates are self-signed the issuer column will be ommited.\n */\n @Prop() certificates: ICertificate[] = [];\n\n /**\n * Use filter in the list when search is changed.\n */\n @Prop() filterWithSearch = true;\n\n /**\n * Use highlight chapters in the list when search is changed.\n */\n @Prop() highlightWithSearch = true;\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 /**\n * Emitted when the user open certificate details modal.\n */\n @Event() detailsOpen!: EventEmitter<X509Certificate>;\n\n /**\n * Emitted when the user close certificate details modal.\n */\n @Event() detailsClose!: EventEmitter<void>;\n\n @State() mobileScreenView = false;\n\n @State() search = '';\n\n @State() certificatesDecoded: ICertificateDecoded[] = [];\n\n @State() expandedRow?: number;\n\n @State() certificateSelectedForDetails?: X509Certificate;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.certificatesDecodeAndSet();\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 @Watch('certificates')\n watchCertificates(newValue: ICertificate[], oldValue: ICertificate[]) {\n /**\n * Prevent rerender after set the same `certificates` prop.\n */\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.certificatesDecodeAndSet();\n }\n }\n\n async certificatesDecodeAndSet() {\n let hasRoots = false;\n\n if (!Array.isArray(this.certificates)) {\n return;\n }\n\n const data: ICertificateDecoded[] = [];\n\n for (const certificate of this.certificates) {\n try {\n const decoded = new X509Certificate(certificate.value);\n\n await decoded.getThumbprint('SHA-1');\n\n data.push({\n body: decoded,\n tests: certificate.tests,\n name: certificate.name,\n });\n\n if (!hasRoots && decoded.isRoot) {\n hasRoots = true;\n }\n } catch (error) {\n console.error('Error certificate parse:', error);\n }\n }\n\n this.isHasRoots = hasRoots;\n this.isDecodeInProcess = false;\n this.certificatesDecoded = data;\n }\n\n private getCertificateName(certificate: ICertificateDecoded) {\n if (typeof certificate.name === 'function') {\n return certificate.name(certificate.body);\n }\n\n return certificate.name || certificate.body.commonName;\n }\n\n private handleClickDownloadAsPem(certificate: ICertificateDecoded) {\n certificate.body.downloadAsPEM(this.getCertificateName(certificate));\n }\n\n private handleClickDownloadAsDer(certificate: ICertificateDecoded) {\n certificate.body.downloadAsDER(this.getCertificateName(certificate));\n }\n\n private handleClickDetails = (certificate: X509Certificate) => {\n this.certificateSelectedForDetails = certificate;\n this.detailsOpen.emit(certificate);\n };\n\n private handleModalClose = () => {\n this.certificateSelectedForDetails = undefined;\n\n this.detailsClose.emit();\n };\n\n private handleClickRow(index: number) {\n const isExpandedRowClicked = this.expandedRow === index;\n\n this.expandedRow = isExpandedRowClicked\n ? undefined\n : index;\n }\n\n private handleSearch = (event: Event) => {\n const target = event.target as HTMLInputElement;\n\n this.search = target.value.trim();\n };\n\n private getMaxColSpanValue() {\n let colSpan = 5;\n\n if (!this.isHasRoots) {\n colSpan += 1;\n }\n\n return colSpan;\n }\n\n private renderCertificateButtonActions(certificate: ICertificateDecoded) {\n const isHasTestURLs = certificate.tests\n && (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid);\n\n return (\n <peculiar-button-menu\n class=\"button_table_cell\"\n groups={[\n {\n title: l10n.getString('previewCertificate'),\n options: [\n {\n text: l10n.getString('viewDetails'),\n startIcon: <DetailsIcon />,\n onClick: () => this.handleClickDetails(certificate.body),\n },\n ],\n },\n {\n title: l10n.getString('downloadOptions'),\n options: [\n {\n text: l10n.getString('download.pem'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsPem(certificate),\n },\n {\n text: l10n.getString('download.der'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsDer(certificate),\n },\n ],\n },\n ...(isHasTestURLs\n ? [{\n title: l10n.getString('testURLs'),\n options: [\n ...(certificate.tests?.valid\n ? [{\n text: l10n.getString('valid'),\n href: certificate.tests.valid,\n startIcon: <LinkIcon />,\n }]\n : []),\n ...(certificate.tests?.revoked\n ? [{\n text: l10n.getString('revoked'),\n href: certificate.tests.revoked,\n startIcon: <LinkIcon />,\n }]\n : []),\n ...(certificate.tests?.expired\n ? [{\n text: l10n.getString('expired'),\n href: certificate.tests.expired,\n startIcon: <LinkIcon />,\n }]\n : []),\n ],\n }]\n : []),\n ]}\n />\n );\n }\n\n private renderExpandedRow(certificate: X509Certificate) {\n const colSpan = this.getMaxColSpanValue() - 2;\n\n return (\n <tr class=\"expanded_summary\">\n <td />\n <td colSpan={colSpan}>\n <CertificateSummary\n certificate={certificate}\n showIssuer={!certificate.isRoot}\n />\n </td>\n <td />\n </tr>\n );\n }\n\n private renderCertificatesRows() {\n const searchHighlight = this.highlightWithSearch\n ? this.search\n : '';\n const content = [];\n\n this.certificatesDecoded.forEach((certificate, index) => {\n const isExpandedRow = index === this.expandedRow;\n const publicKeyValue = OIDs[certificate.body.signature.algorithm]\n || certificate.body.signature.algorithm;\n\n if (this.filterWithSearch && this.search) {\n const certificateStringForSearch = [\n publicKeyValue,\n certificate.body.issuerCommonName,\n this.getCertificateName(certificate),\n certificate.body.thumbprints['SHA-1'],\n ]\n .join(' ')\n .toLowerCase();\n\n if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {\n return;\n }\n }\n\n if (this.mobileScreenView) {\n content.push([\n <tr\n class={{\n certificate_row: true,\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <table>\n <tbody>\n {!this.isHasRoots && (\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('issuer')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('name')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {this.getCertificateName(certificate)}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('publicKey')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n {isExpandedRow && this.renderExpandedRow(certificate.body)}\n <tr class=\"certificate_row_actions\">\n <td>\n {this.renderCertificateButtonActions(certificate)}\n <Button\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n onClick={this.handleClickRow.bind(this, index)}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>,\n ]);\n\n return;\n }\n\n content.push([\n <tr\n class={{ m_expanded: isExpandedRow }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <Button\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n class=\"button_table_cell\"\n\n onClick={this.handleClickRow.bind(this, index)}\n />\n </td>\n {!this.isHasRoots && (\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n )}\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {this.getCertificateName(certificate)}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n {this.renderCertificateButtonActions(certificate)}\n </td>\n </tr>,\n isExpandedRow && this.renderExpandedRow(certificate.body),\n ]);\n });\n\n return content;\n }\n\n private renderCertificateDetailsModal() {\n if (!this.certificateSelectedForDetails) {\n return null;\n }\n\n return (\n <div\n class=\"modal_wrapper\"\n role=\"presentation\"\n aria-hidden=\"false\"\n part=\"presentation\"\n >\n <div\n class=\"modal_backdrop\"\n aria-hidden=\"true\"\n onClick={this.handleModalClose}\n />\n <div\n class=\"modal_container\"\n role=\"dialog\"\n part=\"presentation_container\"\n >\n <header class=\"modal_header\">\n <Typography\n variant=\"h4\"\n >\n {l10n.getString('certificateDetails')}\n </Typography>\n <Button\n startIcon={<CrossIcon />}\n onClick={this.handleModalClose}\n />\n </header>\n <div class=\"modal_content\">\n <peculiar-certificate-viewer\n certificate={this.certificateSelectedForDetails}\n mobileMediaQueryString={this.mobileMediaQueryString}\n />\n </div>\n </div>\n </div>\n );\n }\n\n private renderSearch() {\n if (!this.filterWithSearch && !this.highlightWithSearch) {\n return null;\n }\n\n return (\n <div class=\"search_section\">\n <input\n type=\"search\"\n value=\"\"\n class=\"input_search t-b3 c-black\"\n disabled={!this.certificatesDecoded.length}\n placeholder=\"Search\"\n onInput={this.handleSearch}\n />\n </div>\n );\n }\n\n private renderEmptyState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n There are no certificates available.\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderEmptySearchState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n No results found for &ldquo;\n {this.search}\n &ldquo;\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderLoadingState() {\n return (\n <div class=\"loading_container\">\n <peculiar-circular-progress />\n </div>\n );\n }\n\n private renderTableBody() {\n if (this.isDecodeInProcess) {\n return null;\n }\n\n if (!this.certificatesDecoded.length) {\n return this.renderEmptyState();\n }\n\n const certificatesRows = this.renderCertificatesRows();\n\n if (this.search && !certificatesRows.length) {\n return this.renderEmptySearchState();\n }\n\n return certificatesRows;\n }\n\n render() {\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n {this.renderSearch()}\n <table>\n {!this.mobileScreenView && (\n <thead>\n <tr>\n <th />\n {!this.isHasRoots && (\n <th class=\"col_issuer\">\n <Typography variant=\"s2\">\n {l10n.getString('issuer')}\n </Typography>\n </th>\n )}\n <th class=\"col_name\">\n <Typography variant=\"s2\">\n {l10n.getString('name')}\n </Typography>\n </th>\n <th class=\"col_public_key\">\n <Typography variant=\"s2\">\n {l10n.getString('publicKey')}\n </Typography>\n </th>\n <th class=\"col_fingerprint\">\n <Typography variant=\"s2\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </th>\n <th />\n </tr>\n </thead>\n )}\n <tbody>\n {this.renderTableBody()}\n </tbody>\n </table>\n\n {this.renderCertificateDetailsModal()}\n {this.isDecodeInProcess && this.renderLoadingState()}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"certificates-viewer.js","sourceRoot":"","sources":["../../../src/components/certificates-viewer/certificates-viewer.tsx"],"names":[],"mappings":"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","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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Event,\n EventEmitter,\n Build,\n} from '@stencil/core';\nimport { X509Certificate } from '../../crypto';\nimport { OIDs } from '../../constants/oids';\nimport { l10n } from '../../utils';\nimport { Typography } from '../typography';\nimport { CertificateSummary } from '../certificate-summary';\nimport { Button } from '../button';\nimport {\n DownloadIcon,\n LinkIcon,\n DetailsIcon,\n ArrowBottomIcon,\n ArrowTopIcon,\n CrossIcon,\n} from '../icons';\n\nexport interface ICertificate {\n value: string;\n name?: string | ((certificate: X509Certificate) => string);\n tests?: {\n valid?: string;\n revoked?: string;\n expired?: string;\n };\n}\n\ninterface ICertificateDecoded {\n body: X509Certificate;\n tests?: ICertificate['tests'];\n name?: ICertificate['name'];\n}\n\n@Component({\n tag: 'peculiar-certificates-viewer',\n styleUrl: 'certificates-viewer.scss',\n shadow: true,\n})\nexport class CertificatesViewer {\n private isHasRoots = false;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * List of certificates values for decode and show in the list.\n * <br />\n * **NOTE**: If you do not provide a `name` value when\n * invocing the component it will take the first Subject CN value.\n * <br />\n * **NOTE**: If you do not provide a `tests` this column will be ommited from the rendered page.\n * <br />\n * **NOTE**: If the supplied certificates are self-signed the issuer column will be ommited.\n */\n @Prop() certificates: ICertificate[] = [];\n\n /**\n * Use filter in the list when search is changed.\n */\n @Prop() filterWithSearch = true;\n\n /**\n * Use highlight chapters in the list when search is changed.\n */\n @Prop() highlightWithSearch = true;\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 /**\n * Emitted when the user open certificate details modal.\n */\n @Event() detailsOpen!: EventEmitter<X509Certificate>;\n\n /**\n * Emitted when the user close certificate details modal.\n */\n @Event() detailsClose!: EventEmitter<void>;\n\n @State() mobileScreenView = false;\n\n @State() search = '';\n\n @State() certificatesDecoded: ICertificateDecoded[] = [];\n\n @State() expandedRow?: number;\n\n @State() certificateSelectedForDetails?: X509Certificate;\n\n @State() isDecodeInProcess = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.certificatesDecodeAndSet();\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 @Watch('certificates')\n watchCertificates(newValue: ICertificate[], oldValue: ICertificate[]) {\n /**\n * Prevent rerender after set the same `certificates` prop.\n */\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.certificatesDecodeAndSet();\n }\n }\n\n async certificatesDecodeAndSet() {\n let hasRoots = false;\n\n if (!Array.isArray(this.certificates)) {\n return;\n }\n\n const data: ICertificateDecoded[] = [];\n\n for (const certificate of this.certificates) {\n try {\n const decoded = new X509Certificate(certificate.value);\n\n await decoded.getThumbprint('SHA-1');\n\n data.push({\n body: decoded,\n tests: certificate.tests,\n name: certificate.name,\n });\n\n if (!hasRoots && decoded.isRoot) {\n hasRoots = true;\n }\n } catch (error) {\n console.error('Error certificate parse:', error);\n }\n }\n\n this.isHasRoots = hasRoots;\n this.isDecodeInProcess = false;\n this.certificatesDecoded = data;\n }\n\n private getCertificateName(certificate: ICertificateDecoded) {\n if (typeof certificate.name === 'function') {\n return certificate.name(certificate.body);\n }\n\n return certificate.name || certificate.body.commonName;\n }\n\n private handleClickDownloadAsPem(certificate: ICertificateDecoded) {\n certificate.body.downloadAsPEM(this.getCertificateName(certificate));\n }\n\n private handleClickDownloadAsDer(certificate: ICertificateDecoded) {\n certificate.body.downloadAsDER(this.getCertificateName(certificate));\n }\n\n private handleClickDetails = (certificate: X509Certificate) => {\n this.certificateSelectedForDetails = certificate;\n this.detailsOpen.emit(certificate);\n };\n\n private handleModalClose = () => {\n this.certificateSelectedForDetails = undefined;\n\n this.detailsClose.emit();\n };\n\n private handleClickRow(index: number) {\n const isExpandedRowClicked = this.expandedRow === index;\n\n this.expandedRow = isExpandedRowClicked\n ? undefined\n : index;\n }\n\n private handleSearch = (event: Event) => {\n const target = event.target as HTMLInputElement;\n\n this.search = target.value.trim();\n };\n\n private getMaxColSpanValue() {\n let colSpan = 5;\n\n if (!this.isHasRoots) {\n colSpan += 1;\n }\n\n return colSpan;\n }\n\n private renderCertificateButtonActions(certificate: ICertificateDecoded) {\n const isHasTestURLs = certificate.tests\n && (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid);\n\n return (\n <peculiar-button-menu\n class=\"button_table_cell\"\n groups={[\n {\n title: l10n.getString('previewCertificate'),\n options: [\n {\n text: l10n.getString('viewDetails'),\n startIcon: <DetailsIcon />,\n onClick: () => this.handleClickDetails(certificate.body),\n },\n ],\n },\n {\n title: l10n.getString('downloadOptions'),\n options: [\n {\n text: l10n.getString('download.pem'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsPem(certificate),\n },\n {\n text: l10n.getString('download.der'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsDer(certificate),\n },\n ],\n },\n ...(isHasTestURLs\n ? [{\n title: l10n.getString('testURLs'),\n options: [\n ...(certificate.tests?.valid\n ? [{\n text: l10n.getString('valid'),\n href: certificate.tests.valid,\n startIcon: <LinkIcon />,\n }]\n : []),\n ...(certificate.tests?.revoked\n ? [{\n text: l10n.getString('revoked'),\n href: certificate.tests.revoked,\n startIcon: <LinkIcon />,\n }]\n : []),\n ...(certificate.tests?.expired\n ? [{\n text: l10n.getString('expired'),\n href: certificate.tests.expired,\n startIcon: <LinkIcon />,\n }]\n : []),\n ],\n }]\n : []),\n ]}\n />\n );\n }\n\n private renderExpandedRow(certificate: X509Certificate) {\n const colSpan = this.getMaxColSpanValue() - 2;\n\n return (\n <tr class=\"expanded_summary\">\n <td />\n <td colSpan={colSpan}>\n <CertificateSummary\n certificate={certificate}\n showIssuer={!certificate.isRoot}\n />\n </td>\n <td />\n </tr>\n );\n }\n\n private renderCertificatesRows() {\n const searchHighlight = this.highlightWithSearch\n ? this.search\n : '';\n const content = [];\n\n this.certificatesDecoded.forEach((certificate, index) => {\n const isExpandedRow = index === this.expandedRow;\n const publicKeyValue = OIDs[certificate.body.signature.algorithm]\n || certificate.body.signature.algorithm;\n\n if (this.filterWithSearch && this.search) {\n const certificateStringForSearch = [\n publicKeyValue,\n certificate.body.issuerCommonName,\n this.getCertificateName(certificate),\n certificate.body.thumbprints['SHA-1'],\n ]\n .join(' ')\n .toLowerCase();\n\n if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {\n return;\n }\n }\n\n if (this.mobileScreenView) {\n content.push([\n <tr\n class={{\n certificate_row: true,\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <table>\n <tbody>\n {!this.isHasRoots && (\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('issuer')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('name')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {this.getCertificateName(certificate)}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('publicKey')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n {isExpandedRow && this.renderExpandedRow(certificate.body)}\n <tr class=\"certificate_row_actions\">\n <td>\n {this.renderCertificateButtonActions(certificate)}\n <Button\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n onClick={this.handleClickRow.bind(this, index)}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>,\n ]);\n\n return;\n }\n\n content.push([\n <tr\n class={{ m_expanded: isExpandedRow }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <Button\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n class=\"button_table_cell\"\n\n onClick={this.handleClickRow.bind(this, index)}\n />\n </td>\n {!this.isHasRoots && (\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n )}\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {this.getCertificateName(certificate)}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n {this.renderCertificateButtonActions(certificate)}\n </td>\n </tr>,\n isExpandedRow && this.renderExpandedRow(certificate.body),\n ]);\n });\n\n return content;\n }\n\n private renderCertificateDetailsModal() {\n if (!this.certificateSelectedForDetails) {\n return null;\n }\n\n return (\n <div\n class=\"modal_wrapper\"\n role=\"presentation\"\n aria-hidden=\"false\"\n part=\"presentation\"\n >\n <div\n class=\"modal_backdrop\"\n aria-hidden=\"true\"\n onClick={this.handleModalClose}\n />\n <div\n class=\"modal_container\"\n role=\"dialog\"\n part=\"presentation_container\"\n >\n <header class=\"modal_header\">\n <Typography\n variant=\"h4\"\n >\n {l10n.getString('certificateDetails')}\n </Typography>\n <Button\n startIcon={<CrossIcon />}\n onClick={this.handleModalClose}\n />\n </header>\n <div class=\"modal_content\">\n <peculiar-certificate-viewer\n certificate={this.certificateSelectedForDetails}\n mobileMediaQueryString={this.mobileMediaQueryString}\n />\n </div>\n </div>\n </div>\n );\n }\n\n private renderSearch() {\n if (!this.filterWithSearch && !this.highlightWithSearch) {\n return null;\n }\n\n return (\n <div class=\"search_section\">\n <input\n type=\"search\"\n value=\"\"\n class=\"input_search t-b3 c-black\"\n disabled={!this.certificatesDecoded.length}\n placeholder=\"Search\"\n onInput={this.handleSearch}\n />\n </div>\n );\n }\n\n private renderEmptyState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n There are no certificates available.\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderEmptySearchState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n No results found for &ldquo;\n {this.search}\n &ldquo;\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderLoadingState() {\n return (\n <div class=\"loading_container\">\n <peculiar-circular-progress />\n </div>\n );\n }\n\n private renderTableBody() {\n if (this.isDecodeInProcess) {\n return null;\n }\n\n if (!this.certificatesDecoded.length) {\n return this.renderEmptyState();\n }\n\n const certificatesRows = this.renderCertificatesRows();\n\n if (this.search && !certificatesRows.length) {\n return this.renderEmptySearchState();\n }\n\n return certificatesRows;\n }\n\n render() {\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n {this.renderSearch()}\n <table>\n {!this.mobileScreenView && (\n <thead>\n <tr>\n <th />\n {!this.isHasRoots && (\n <th class=\"col_issuer\">\n <Typography variant=\"s2\">\n {l10n.getString('issuer')}\n </Typography>\n </th>\n )}\n <th class=\"col_name\">\n <Typography variant=\"s2\">\n {l10n.getString('name')}\n </Typography>\n </th>\n <th class=\"col_public_key\">\n <Typography variant=\"s2\">\n {l10n.getString('publicKey')}\n </Typography>\n </th>\n <th class=\"col_fingerprint\">\n <Typography variant=\"s2\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </th>\n <th />\n </tr>\n </thead>\n )}\n <tbody>\n {this.renderTableBody()}\n </tbody>\n </table>\n\n {this.renderCertificateDetailsModal()}\n {this.isDecodeInProcess && this.renderLoadingState()}\n </Host>\n );\n }\n}\n"]}
@@ -43,7 +43,6 @@ export class CircularProgress {
43
43
  return {
44
44
  "size": {
45
45
  "type": "number",
46
- "attribute": "size",
47
46
  "mutable": false,
48
47
  "complexType": {
49
48
  "original": "number",
@@ -59,11 +58,11 @@ export class CircularProgress {
59
58
  "getter": false,
60
59
  "setter": false,
61
60
  "reflect": false,
61
+ "attribute": "size",
62
62
  "defaultValue": "24"
63
63
  },
64
64
  "width": {
65
65
  "type": "number",
66
- "attribute": "width",
67
66
  "mutable": false,
68
67
  "complexType": {
69
68
  "original": "number",
@@ -79,6 +78,7 @@ export class CircularProgress {
79
78
  "getter": false,
80
79
  "setter": false,
81
80
  "reflect": false,
81
+ "attribute": "width",
82
82
  "defaultValue": "4"
83
83
  }
84
84
  };
@@ -121,7 +121,6 @@ export class CrlViewer {
121
121
  return {
122
122
  "certificate": {
123
123
  "type": "string",
124
- "attribute": "certificate",
125
124
  "mutable": false,
126
125
  "complexType": {
127
126
  "original": "TCrlProp",
@@ -129,7 +128,7 @@ export class CrlViewer {
129
128
  "references": {
130
129
  "TCrlProp": {
131
130
  "location": "local",
132
- "path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/crl-viewer/crl-viewer.tsx",
131
+ "path": "/Users/donskov/Documents/GitHub/pv-certificates-viewer/packages/webcomponents/src/components/crl-viewer/crl-viewer.tsx",
133
132
  "id": "src/components/crl-viewer/crl-viewer.tsx::TCrlProp"
134
133
  }
135
134
  }
@@ -142,11 +141,11 @@ export class CrlViewer {
142
141
  },
143
142
  "getter": false,
144
143
  "setter": false,
145
- "reflect": true
144
+ "reflect": true,
145
+ "attribute": "certificate"
146
146
  },
147
147
  "download": {
148
148
  "type": "boolean",
149
- "attribute": "download",
150
149
  "mutable": false,
151
150
  "complexType": {
152
151
  "original": "boolean",
@@ -161,11 +160,11 @@ export class CrlViewer {
161
160
  },
162
161
  "getter": false,
163
162
  "setter": false,
164
- "reflect": false
163
+ "reflect": false,
164
+ "attribute": "download"
165
165
  },
166
166
  "authKeyIdParentLink": {
167
167
  "type": "string",
168
- "attribute": "auth-key-id-parent-link",
169
168
  "mutable": false,
170
169
  "complexType": {
171
170
  "original": "string",
@@ -183,11 +182,11 @@ export class CrlViewer {
183
182
  },
184
183
  "getter": false,
185
184
  "setter": false,
186
- "reflect": true
185
+ "reflect": true,
186
+ "attribute": "auth-key-id-parent-link"
187
187
  },
188
188
  "authKeyIdSiblingsLink": {
189
189
  "type": "string",
190
- "attribute": "auth-key-id-siblings-link",
191
190
  "mutable": false,
192
191
  "complexType": {
193
192
  "original": "string",
@@ -205,11 +204,11 @@ export class CrlViewer {
205
204
  },
206
205
  "getter": false,
207
206
  "setter": false,
208
- "reflect": true
207
+ "reflect": true,
208
+ "attribute": "auth-key-id-siblings-link"
209
209
  },
210
210
  "issuerDnLink": {
211
211
  "type": "string",
212
- "attribute": "issuer-dn-link",
213
212
  "mutable": false,
214
213
  "complexType": {
215
214
  "original": "string",
@@ -224,11 +223,11 @@ export class CrlViewer {
224
223
  },
225
224
  "getter": false,
226
225
  "setter": false,
227
- "reflect": true
226
+ "reflect": true,
227
+ "attribute": "issuer-dn-link"
228
228
  },
229
229
  "mobileMediaQueryString": {
230
230
  "type": "string",
231
- "attribute": "mobile-media-query-string",
232
231
  "mutable": false,
233
232
  "complexType": {
234
233
  "original": "string",
@@ -247,6 +246,7 @@ export class CrlViewer {
247
246
  "getter": false,
248
247
  "setter": false,
249
248
  "reflect": false,
249
+ "attribute": "mobile-media-query-string",
250
250
  "defaultValue": "'(max-width: 900px)'"
251
251
  }
252
252
  };
@@ -120,7 +120,6 @@ export class CsrViewer {
120
120
  return {
121
121
  "certificate": {
122
122
  "type": "string",
123
- "attribute": "certificate",
124
123
  "mutable": false,
125
124
  "complexType": {
126
125
  "original": "TCsrProp",
@@ -128,7 +127,7 @@ export class CsrViewer {
128
127
  "references": {
129
128
  "TCsrProp": {
130
129
  "location": "local",
131
- "path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/csr-viewer/csr-viewer.tsx",
130
+ "path": "/Users/donskov/Documents/GitHub/pv-certificates-viewer/packages/webcomponents/src/components/csr-viewer/csr-viewer.tsx",
132
131
  "id": "src/components/csr-viewer/csr-viewer.tsx::TCsrProp"
133
132
  }
134
133
  }
@@ -141,11 +140,11 @@ export class CsrViewer {
141
140
  },
142
141
  "getter": false,
143
142
  "setter": false,
144
- "reflect": true
143
+ "reflect": true,
144
+ "attribute": "certificate"
145
145
  },
146
146
  "download": {
147
147
  "type": "boolean",
148
- "attribute": "download",
149
148
  "mutable": false,
150
149
  "complexType": {
151
150
  "original": "boolean",
@@ -160,11 +159,11 @@ export class CsrViewer {
160
159
  },
161
160
  "getter": false,
162
161
  "setter": false,
163
- "reflect": false
162
+ "reflect": false,
163
+ "attribute": "download"
164
164
  },
165
165
  "subjectKeyIdChildrenLink": {
166
166
  "type": "string",
167
- "attribute": "subject-key-id-children-link",
168
167
  "mutable": false,
169
168
  "complexType": {
170
169
  "original": "string",
@@ -182,11 +181,11 @@ export class CsrViewer {
182
181
  },
183
182
  "getter": false,
184
183
  "setter": false,
185
- "reflect": true
184
+ "reflect": true,
185
+ "attribute": "subject-key-id-children-link"
186
186
  },
187
187
  "subjectKeyIdSiblingsLink": {
188
188
  "type": "string",
189
- "attribute": "subject-key-id-siblings-link",
190
189
  "mutable": false,
191
190
  "complexType": {
192
191
  "original": "string",
@@ -204,11 +203,11 @@ export class CsrViewer {
204
203
  },
205
204
  "getter": false,
206
205
  "setter": false,
207
- "reflect": true
206
+ "reflect": true,
207
+ "attribute": "subject-key-id-siblings-link"
208
208
  },
209
209
  "mobileMediaQueryString": {
210
210
  "type": "string",
211
- "attribute": "mobile-media-query-string",
212
211
  "mutable": false,
213
212
  "complexType": {
214
213
  "original": "string",
@@ -227,6 +226,7 @@ export class CsrViewer {
227
226
  "getter": false,
228
227
  "setter": false,
229
228
  "reflect": false,
229
+ "attribute": "mobile-media-query-string",
230
230
  "defaultValue": "'(max-width: 900px)'"
231
231
  }
232
232
  };
@@ -52,7 +52,6 @@ export class HighlightWords {
52
52
  return {
53
53
  "search": {
54
54
  "type": "string",
55
- "attribute": "search",
56
55
  "mutable": false,
57
56
  "complexType": {
58
57
  "original": "string",
@@ -67,7 +66,8 @@ export class HighlightWords {
67
66
  },
68
67
  "getter": false,
69
68
  "setter": false,
70
- "reflect": false
69
+ "reflect": false,
70
+ "attribute": "search"
71
71
  }
72
72
  };
73
73
  }
@@ -17,7 +17,7 @@ export const SshMiscellaneous = (props) => {
17
17
  const { certificate } = props;
18
18
  return [
19
19
  h(RowTitle, { value: l10n.getString('miscellaneous') }),
20
- h("tr", null, h("td", null, h(Button, { startIcon: h(DownloadIcon, null), onClick: () => certificate.downloadAsSSH() }, l10n.getString('download.ssh')))),
20
+ h("tr", null, h("td", null, h(Button, { startIcon: h(DownloadIcon, null), onClick: () => certificate.downloadAsPub() }, l10n.getString('download')))),
21
21
  ];
22
22
  };
23
23
  //# sourceMappingURL=miscellaneous.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"miscellaneous.js","sourceRoot":"","sources":["../../../../src/components/ssh-certificate-viewer/-components/miscellaneous.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAM/D,MAAM,CAAC,MAAM,gBAAgB,GAAgD,CAAC,KAAK,EAAE,EAAE;IACrF,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GACtC;QACF;YACE;gBACE,EAAC,MAAM,IACL,SAAS,EAAE,EAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,IAEzC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CACxB,CACN,CACF;KACN,CAAC;AACJ,CAAC,CAAC","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 { 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"]}
1
+ {"version":3,"file":"miscellaneous.js","sourceRoot":"","sources":["../../../../src/components/ssh-certificate-viewer/-components/miscellaneous.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAM/D,MAAM,CAAC,MAAM,gBAAgB,GAAgD,CAAC,KAAK,EAAE,EAAE;IACrF,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GACtC;QACF;YACE;gBACE,EAAC,MAAM,IACL,SAAS,EAAE,EAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,IAEzC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CACpB,CACN,CACF;KACN,CAAC;AACJ,CAAC,CAAC","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 { 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.downloadAsPub()}\n >\n {l10n.getString('download')}\n </Button>\n </td>\n </tr>,\n ];\n};\n"]}