@peculiar/certificates-viewer 4.7.1-alpha.5 → 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 (348) 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 +89 -89
  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 +5 -3
  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-CjXYQXbF.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-7gtHz795.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 +7 -9
  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-CIOxDu_Z.js → pkcs10_certificate_request-DZLiHGCV.js} +3 -3
  77. package/dist/cjs/{pkcs10_certificate_request-CIOxDu_Z.js.map → pkcs10_certificate_request-DZLiHGCV.js.map} +1 -1
  78. package/dist/cjs/{ssh_certificate-DnXj2sM0.js → ssh_certificate-Bh14rhzR.js} +89 -88
  79. package/dist/cjs/ssh_certificate-Bh14rhzR.js.map +1 -0
  80. package/dist/cjs/{x509_certificate-DPgu-mwG.js → x509_certificate-p8RMn7Hw.js} +4 -4
  81. package/dist/cjs/{x509_certificate-DPgu-mwG.js.map → x509_certificate-p8RMn7Hw.js.map} +1 -1
  82. package/dist/cjs/{x509_crl-D_DKkGcn.js → x509_crl-tjmX6l3R.js} +5 -5
  83. package/dist/cjs/{x509_crl-D_DKkGcn.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 +2 -3
  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/ssh-certificate-viewer.js +6 -6
  105. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -1
  106. package/dist/collection/crypto/ssh_certificate.js +8 -3
  107. package/dist/collection/crypto/ssh_certificate.js.map +1 -1
  108. package/dist/esm/{actions-BOY2Tl0T.js → actions-CabuIstu.js} +4 -5
  109. package/dist/esm/{actions-BOY2Tl0T.js.map → actions-CabuIstu.js.map} +1 -1
  110. package/dist/esm/{arrow_top-DL0RWe4n.js → arrow_top-CWdnzNJA.js} +5 -7
  111. package/dist/{esm-es5/arrow_top-DL0RWe4n.js.map → esm/arrow_top-CWdnzNJA.js.map} +1 -1
  112. package/dist/esm/{button-Bbh7MwG6.js → button-DoyFdU2L.js} +8 -11
  113. package/dist/esm/{button-Bbh7MwG6.js.map → button-DoyFdU2L.js.map} +1 -1
  114. package/dist/esm/cross-B4NPVkar.js +45 -0
  115. package/dist/{esm-es5/cross-G84H_-QL.js.map → esm/cross-B4NPVkar.js.map} +1 -1
  116. package/dist/esm/download-C7Viw-3R.js +21 -0
  117. package/dist/esm/{download-ykcxSgxU.js.map → download-C7Viw-3R.js.map} +1 -1
  118. package/dist/esm/{extension-B3br1_Py.js → extension-xW03sQxn.js} +3 -3
  119. package/dist/esm/extension-xW03sQxn.js.map +1 -0
  120. package/dist/esm/{index-CwgZaF40.js → index-B0tLzdJT.js} +88 -47
  121. package/dist/esm/index-B0tLzdJT.js.map +1 -0
  122. package/dist/esm/index.js +9 -11
  123. package/dist/esm/{link-CGURvKy1.js → link-BDCg-T_l.js} +5 -5
  124. package/dist/esm/{link-CGURvKy1.js.map → link-BDCg-T_l.js.map} +1 -1
  125. package/dist/esm/loader.js +3 -5
  126. package/dist/esm/{miscellaneous-phHcBJWR.js → miscellaneous-DxE6a1mr.js} +75 -178
  127. package/dist/esm/miscellaneous-DxE6a1mr.js.map +1 -0
  128. 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
  129. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js +30 -79
  130. package/dist/esm/peculiar-button-menu_3.entry.js +3 -5
  131. package/dist/esm/peculiar-certificate-decoder.entry.js +7 -9
  132. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  133. package/dist/esm/peculiar-certificate-viewer.entry.js +8 -10
  134. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  135. package/dist/esm/peculiar-certificates-viewer.entry.js +10 -24
  136. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  137. package/dist/esm/peculiar-text-hider.entry.js +3 -5
  138. package/dist/esm/peculiar.js +4 -6
  139. package/dist/esm/peculiar.js.map +1 -1
  140. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  141. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  142. package/dist/esm/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +89 -88
  143. package/dist/esm/ssh_certificate-CmOVFH_Z.js.map +1 -0
  144. package/dist/esm/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +4 -4
  145. package/dist/{esm-es5/x509_certificate-C1VvfHQ5.js.map → esm/x509_certificate-C2EVTspY.js.map} +1 -1
  146. package/dist/esm/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +5 -5
  147. package/dist/{esm-es5/x509_crl-rfnWQkGD.js.map → esm/x509_crl-Bdnys_YT.js.map} +1 -1
  148. package/dist/esm-es5/{actions-BOY2Tl0T.js → actions-CabuIstu.js} +3 -3
  149. package/dist/esm-es5/{actions-BOY2Tl0T.js.map → actions-CabuIstu.js.map} +1 -1
  150. package/dist/esm-es5/{arrow_top-DL0RWe4n.js → arrow_top-CWdnzNJA.js} +2 -2
  151. package/dist/{esm/arrow_top-DL0RWe4n.js.map → esm-es5/arrow_top-CWdnzNJA.js.map} +1 -1
  152. package/dist/esm-es5/{button-Bbh7MwG6.js → button-DoyFdU2L.js} +2 -2
  153. package/dist/{cjs/button-C8EWG_-r.js.map → esm-es5/button-DoyFdU2L.js.map} +1 -1
  154. package/dist/esm-es5/{cross-G84H_-QL.js → cross-B4NPVkar.js} +2 -2
  155. package/dist/{esm/cross-G84H_-QL.js.map → esm-es5/cross-B4NPVkar.js.map} +1 -1
  156. package/dist/esm-es5/{download-ykcxSgxU.js → download-C7Viw-3R.js} +2 -2
  157. package/dist/esm-es5/{download-ykcxSgxU.js.map → download-C7Viw-3R.js.map} +1 -1
  158. package/dist/esm-es5/{extension-B3br1_Py.js → extension-xW03sQxn.js} +2 -2
  159. package/dist/esm-es5/extension-xW03sQxn.js.map +1 -0
  160. package/dist/esm-es5/index-B0tLzdJT.js +6 -0
  161. package/dist/esm-es5/index-B0tLzdJT.js.map +1 -0
  162. package/dist/esm-es5/index.js +1 -1
  163. package/dist/esm-es5/{link-CGURvKy1.js → link-BDCg-T_l.js} +3 -3
  164. package/dist/esm-es5/{link-CGURvKy1.js.map → link-BDCg-T_l.js.map} +1 -1
  165. package/dist/esm-es5/loader.js +2 -2
  166. package/dist/esm-es5/{miscellaneous-phHcBJWR.js → miscellaneous-DxE6a1mr.js} +4 -4
  167. package/dist/esm-es5/miscellaneous-DxE6a1mr.js.map +1 -0
  168. 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
  169. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js +3 -3
  170. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js.map +1 -1
  171. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  172. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  173. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  174. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  175. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  176. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  177. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  178. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  179. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  180. package/dist/esm-es5/peculiar.js +2 -2
  181. package/dist/esm-es5/peculiar.js.map +1 -1
  182. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  183. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  184. package/dist/esm-es5/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +5 -5
  185. package/dist/esm-es5/ssh_certificate-CmOVFH_Z.js.map +1 -0
  186. package/dist/esm-es5/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +3 -3
  187. package/dist/{esm/x509_certificate-C1VvfHQ5.js.map → esm-es5/x509_certificate-C2EVTspY.js.map} +1 -1
  188. package/dist/esm-es5/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +4 -4
  189. package/dist/{esm/x509_crl-rfnWQkGD.js.map → esm-es5/x509_crl-Bdnys_YT.js.map} +1 -1
  190. package/dist/peculiar/index.esm.js +1 -1
  191. package/dist/peculiar/p--UIbyTPo.system.js.map +1 -0
  192. package/dist/peculiar/{p-872f7312.system.entry.js → p-16bd5fac.system.entry.js} +18 -18
  193. package/dist/peculiar/p-16bd5fac.system.entry.js.map +1 -0
  194. package/dist/peculiar/{p-04422929.entry.js → p-26e1e392.entry.js} +3 -3
  195. package/dist/peculiar/p-26e1e392.entry.js.map +1 -0
  196. package/dist/peculiar/{p-154dd0da.entry.js → p-2c5ec624.entry.js} +2 -2
  197. package/dist/peculiar/p-2c5ec624.entry.js.map +1 -0
  198. package/dist/peculiar/{p-27ae6a3a.entry.js → p-4111bd62.entry.js} +2 -2
  199. package/dist/peculiar/p-4111bd62.entry.js.map +1 -0
  200. package/dist/peculiar/{p-3685975d.system.entry.js → p-4b510453.system.entry.js} +3 -3
  201. package/dist/peculiar/p-4b510453.system.entry.js.map +1 -0
  202. package/dist/peculiar/{p-6f0f2749.system.entry.js → p-4fc81fd0.system.entry.js} +3 -3
  203. package/dist/peculiar/p-4fc81fd0.system.entry.js.map +1 -0
  204. package/dist/peculiar/p-51832de2.entry.js +152 -0
  205. package/dist/peculiar/p-51832de2.entry.js.map +1 -0
  206. package/dist/peculiar/{p-B4PdAFCr.system.js → p-AHlPpL1z.system.js} +2 -2
  207. package/dist/peculiar/{p-B4PdAFCr.system.js.map → p-AHlPpL1z.system.js.map} +1 -1
  208. package/dist/peculiar/p-B0tLzdJT.js +6 -0
  209. package/dist/peculiar/p-B0tLzdJT.js.map +1 -0
  210. package/dist/peculiar/{p-B1eGYq5U.js → p-B4vvBwd6.js} +3 -3
  211. package/dist/peculiar/{p-B1eGYq5U.js.map → p-B4vvBwd6.js.map} +1 -1
  212. package/dist/peculiar/{p-CYFfXlCT.js → p-B7cL9SBA.js} +4 -4
  213. package/dist/peculiar/{p-CYFfXlCT.js.map → p-B7cL9SBA.js.map} +1 -1
  214. package/dist/peculiar/{p-DanjeXNk.js → p-BAAnYCav.js} +3 -3
  215. package/dist/peculiar/{p-DanjeXNk.js.map → p-BAAnYCav.js.map} +1 -1
  216. package/dist/peculiar/{p-CHnDlTqM.js → p-BLjDwIXV.js} +3 -3
  217. package/dist/peculiar/{p-CHnDlTqM.js.map → p-BLjDwIXV.js.map} +1 -1
  218. package/dist/peculiar/{p-CutTi-2B.js → p-BNRN5kAu.js} +2 -2
  219. package/dist/peculiar/{p-CutTi-2B.js.map → p-BNRN5kAu.js.map} +1 -1
  220. package/dist/peculiar/{p-Bi5mjeeg.system.js → p-BX5m4Pk2.system.js} +2 -2
  221. package/dist/peculiar/{p-Bi5mjeeg.system.js.map → p-BX5m4Pk2.system.js.map} +1 -1
  222. package/dist/peculiar/{p-N3w4Sc5c.system.js.map → p-BdGJr6Nw.system.js.map} +1 -1
  223. package/dist/peculiar/{p-CTksa0ml.system.js → p-Bfl7RVFY.system.js} +4 -4
  224. package/dist/peculiar/{p-CTksa0ml.system.js.map → p-Bfl7RVFY.system.js.map} +1 -1
  225. package/dist/peculiar/{p-B8_0p5ke.js → p-BjREwt05.js} +43 -43
  226. package/dist/peculiar/p-BjREwt05.js.map +1 -0
  227. package/dist/peculiar/{p-BGASC3UX.system.js → p-BjfN0sUP.system.js} +3 -3
  228. package/dist/peculiar/p-BjfN0sUP.system.js.map +1 -0
  229. package/dist/peculiar/{p-DMZr5ztF.js → p-BrjKJZAs.js} +2 -2
  230. package/dist/peculiar/{p-DMZr5ztF.js.map → p-BrjKJZAs.js.map} +1 -1
  231. package/dist/peculiar/{p-CkePJXWQ.js → p-BxiR02Uf.js} +4 -4
  232. package/dist/peculiar/{p-CkePJXWQ.js.map → p-BxiR02Uf.js.map} +1 -1
  233. package/dist/peculiar/{p-ZT6tVIen.js → p-C-zA8CWJ.js} +2 -2
  234. package/dist/peculiar/{p-ZT6tVIen.js.map → p-C-zA8CWJ.js.map} +1 -1
  235. package/dist/peculiar/{p-Bknpl7EO.system.js → p-C9U3cZjb.system.js} +3 -3
  236. package/dist/peculiar/{p-Bknpl7EO.system.js.map → p-C9U3cZjb.system.js.map} +1 -1
  237. package/dist/peculiar/{p-DorRvFf7.system.js → p-CCPSoWEH.system.js} +43 -43
  238. package/dist/peculiar/p-CCPSoWEH.system.js.map +1 -0
  239. package/dist/peculiar/{p-ZxTK29QB.system.js → p-CGipIfjs.system.js} +5 -5
  240. package/dist/peculiar/{p-ZxTK29QB.system.js.map → p-CGipIfjs.system.js.map} +1 -1
  241. package/dist/peculiar/{p-kq9wAWxW.system.js → p-CLcRtCZ9.system.js} +5 -5
  242. package/dist/peculiar/p-CLcRtCZ9.system.js.map +1 -0
  243. package/dist/peculiar/{p-CdS84qJs.system.js → p-CNRpL2vk.system.js} +2 -2
  244. package/dist/peculiar/{p-CdS84qJs.system.js.map → p-CNRpL2vk.system.js.map} +1 -1
  245. package/dist/peculiar/{p-JyD6URnB.js → p-CVqAvraM.js} +2 -2
  246. package/dist/peculiar/{p-JyD6URnB.js.map → p-CVqAvraM.js.map} +1 -1
  247. package/dist/peculiar/{p-D8xU284r.system.js → p-CWwlqwKM.system.js} +2 -2
  248. package/dist/peculiar/{p-D8xU284r.system.js.map → p-CWwlqwKM.system.js.map} +1 -1
  249. package/dist/peculiar/p-CbJUBy06.system.js +5 -0
  250. package/dist/peculiar/p-CbJUBy06.system.js.map +1 -0
  251. package/dist/peculiar/p-CfHXB_pJ.system.js.map +1 -0
  252. package/dist/peculiar/p-Ckf8xErP.system.js +12 -0
  253. package/dist/peculiar/p-Ckf8xErP.system.js.map +1 -0
  254. package/dist/peculiar/{p-rmToyzuK.js → p-CmOVFH_Z.js} +4 -4
  255. package/dist/peculiar/p-CmOVFH_Z.js.map +1 -0
  256. package/dist/peculiar/{p-CbJQZ9Hh.system.js.map → p-Cp79UjaU.system.js.map} +1 -1
  257. package/dist/peculiar/p-D4MqnJ9p.system.js.map +1 -0
  258. package/dist/peculiar/p-D5BlV4_w.system.js +6 -0
  259. package/dist/peculiar/p-D5BlV4_w.system.js.map +1 -0
  260. package/dist/peculiar/{p-eziSY5IJ.system.js.map → p-DOSHmuRc.system.js.map} +1 -1
  261. package/dist/peculiar/p-DXA1451q.js +12 -0
  262. package/dist/peculiar/p-DXA1451q.js.map +1 -0
  263. package/dist/peculiar/{p-DkshB-5z.system.js → p-DberG072.system.js} +5 -5
  264. package/dist/peculiar/{p-DkshB-5z.system.js.map → p-DberG072.system.js.map} +1 -1
  265. package/dist/peculiar/{p-de857304.system.entry.js → p-ae88bf01.system.entry.js} +2 -2
  266. package/dist/peculiar/p-ae88bf01.system.entry.js.map +1 -0
  267. package/dist/peculiar/{p-a4454e2d.system.entry.js → p-c4bbd44c.system.entry.js} +3 -3
  268. package/dist/peculiar/p-c4bbd44c.system.entry.js.map +1 -0
  269. package/dist/peculiar/{p-9d9f24bd.entry.js → p-d212830c.entry.js} +2 -2
  270. package/dist/peculiar/p-d212830c.entry.js.map +1 -0
  271. package/dist/peculiar/{p-019339d6.entry.js → p-e40e47be.entry.js} +2 -2
  272. package/dist/peculiar/p-e40e47be.entry.js.map +1 -0
  273. package/dist/peculiar/{p-607d08e8.system.entry.js → p-ef52478f.system.entry.js} +2 -2
  274. package/dist/peculiar/p-ef52478f.system.entry.js.map +1 -0
  275. package/dist/peculiar/p-qOxEa6Ap.system.js.map +1 -0
  276. package/dist/peculiar/{p-NnCM1ETy.system.js → p-vusQjz44.system.js} +2 -2
  277. package/dist/peculiar/{p-NnCM1ETy.system.js.map → p-vusQjz44.system.js.map} +1 -1
  278. 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
  279. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  280. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  281. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  282. package/dist/peculiar/peculiar.esm.js +1 -1
  283. package/dist/peculiar/peculiar.esm.js.map +1 -1
  284. package/dist/peculiar/peculiar.js +1 -1
  285. package/dist/types/crypto/ssh_certificate.d.ts +1 -1
  286. package/dist/types/interface.d.ts +86 -86
  287. package/dist/types/stencil-public-runtime.d.ts +49 -2
  288. package/hydrate/index.d.ts +2 -0
  289. package/hydrate/index.js +368 -496
  290. package/hydrate/index.mjs +368 -496
  291. package/package.json +4 -4
  292. package/dist/cjs/cross-3DqhA0G_.js +0 -52
  293. package/dist/cjs/download-DQP0KR4o.js +0 -24
  294. package/dist/cjs/extension-CjXYQXbF.js.map +0 -1
  295. package/dist/cjs/index-uHmGhObe.js.map +0 -1
  296. package/dist/cjs/miscellaneous-7gtHz795.js.map +0 -1
  297. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js.map +0 -1
  298. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +0 -1
  299. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +0 -1
  300. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +0 -1
  301. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +0 -1
  302. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +0 -1
  303. package/dist/cjs/ssh_certificate-DnXj2sM0.js.map +0 -1
  304. package/dist/esm/cross-G84H_-QL.js +0 -48
  305. package/dist/esm/download-ykcxSgxU.js +0 -22
  306. package/dist/esm/extension-B3br1_Py.js.map +0 -1
  307. package/dist/esm/index-CwgZaF40.js.map +0 -1
  308. package/dist/esm/miscellaneous-phHcBJWR.js.map +0 -1
  309. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js.map +0 -1
  310. package/dist/esm/peculiar-button-menu_3.entry.js.map +0 -1
  311. package/dist/esm/ssh_certificate-rmToyzuK.js.map +0 -1
  312. package/dist/esm-es5/extension-B3br1_Py.js.map +0 -1
  313. package/dist/esm-es5/index-CwgZaF40.js +0 -6
  314. package/dist/esm-es5/index-CwgZaF40.js.map +0 -1
  315. package/dist/esm-es5/miscellaneous-phHcBJWR.js.map +0 -1
  316. package/dist/esm-es5/ssh_certificate-rmToyzuK.js.map +0 -1
  317. package/dist/peculiar/p-019339d6.entry.js.map +0 -1
  318. package/dist/peculiar/p-04422929.entry.js.map +0 -1
  319. package/dist/peculiar/p-154dd0da.entry.js.map +0 -1
  320. package/dist/peculiar/p-27ae6a3a.entry.js.map +0 -1
  321. package/dist/peculiar/p-3685975d.system.entry.js.map +0 -1
  322. package/dist/peculiar/p-607d08e8.system.entry.js.map +0 -1
  323. package/dist/peculiar/p-6f0f2749.system.entry.js.map +0 -1
  324. package/dist/peculiar/p-7385d0bb.entry.js +0 -152
  325. package/dist/peculiar/p-7385d0bb.entry.js.map +0 -1
  326. package/dist/peculiar/p-872f7312.system.entry.js.map +0 -1
  327. package/dist/peculiar/p-9d9f24bd.entry.js.map +0 -1
  328. package/dist/peculiar/p-B2GW-g6v.system.js +0 -5
  329. package/dist/peculiar/p-B2GW-g6v.system.js.map +0 -1
  330. package/dist/peculiar/p-B8_0p5ke.js.map +0 -1
  331. package/dist/peculiar/p-BGASC3UX.system.js.map +0 -1
  332. package/dist/peculiar/p-BdfvItQB.system.js.map +0 -1
  333. package/dist/peculiar/p-BtqN4pgo.js +0 -12
  334. package/dist/peculiar/p-BtqN4pgo.js.map +0 -1
  335. package/dist/peculiar/p-CuX3t1Hg.system.js.map +0 -1
  336. package/dist/peculiar/p-Cv-b9S6H.system.js.map +0 -1
  337. package/dist/peculiar/p-CwgZaF40.js +0 -6
  338. package/dist/peculiar/p-CwgZaF40.js.map +0 -1
  339. package/dist/peculiar/p-D0w6miI2.system.js +0 -12
  340. package/dist/peculiar/p-D0w6miI2.system.js.map +0 -1
  341. package/dist/peculiar/p-DKl0YViA.system.js +0 -6
  342. package/dist/peculiar/p-DKl0YViA.system.js.map +0 -1
  343. package/dist/peculiar/p-DOFJd-ye.system.js.map +0 -1
  344. package/dist/peculiar/p-DorRvFf7.system.js.map +0 -1
  345. package/dist/peculiar/p-a4454e2d.system.entry.js.map +0 -1
  346. package/dist/peculiar/p-de857304.system.entry.js.map +0 -1
  347. package/dist/peculiar/p-kq9wAWxW.system.js.map +0 -1
  348. package/dist/peculiar/p-rmToyzuK.js.map +0 -1
@@ -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
  }
@@ -111,7 +111,6 @@ export class SshCertificateViewer {
111
111
  return {
112
112
  "certificate": {
113
113
  "type": "string",
114
- "attribute": "certificate",
115
114
  "mutable": false,
116
115
  "complexType": {
117
116
  "original": "TSshCertificateProp",
@@ -119,7 +118,7 @@ export class SshCertificateViewer {
119
118
  "references": {
120
119
  "TSshCertificateProp": {
121
120
  "location": "local",
122
- "path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/ssh-certificate-viewer/ssh-certificate-viewer.tsx",
121
+ "path": "/Users/donskov/Documents/GitHub/pv-certificates-viewer/packages/webcomponents/src/components/ssh-certificate-viewer/ssh-certificate-viewer.tsx",
123
122
  "id": "src/components/ssh-certificate-viewer/ssh-certificate-viewer.tsx::TSshCertificateProp"
124
123
  }
125
124
  }
@@ -132,11 +131,11 @@ export class SshCertificateViewer {
132
131
  },
133
132
  "getter": false,
134
133
  "setter": false,
135
- "reflect": true
134
+ "reflect": true,
135
+ "attribute": "certificate"
136
136
  },
137
137
  "download": {
138
138
  "type": "boolean",
139
- "attribute": "download",
140
139
  "mutable": false,
141
140
  "complexType": {
142
141
  "original": "boolean",
@@ -151,11 +150,11 @@ export class SshCertificateViewer {
151
150
  },
152
151
  "getter": false,
153
152
  "setter": false,
154
- "reflect": true
153
+ "reflect": true,
154
+ "attribute": "download"
155
155
  },
156
156
  "mobileMediaQueryString": {
157
157
  "type": "string",
158
- "attribute": "mobile-media-query-string",
159
158
  "mutable": false,
160
159
  "complexType": {
161
160
  "original": "string",
@@ -174,6 +173,7 @@ export class SshCertificateViewer {
174
173
  "getter": false,
175
174
  "setter": false,
176
175
  "reflect": false,
176
+ "attribute": "mobile-media-query-string",
177
177
  "defaultValue": "'(max-width: 900px)'"
178
178
  }
179
179
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cabforganization_identifier.js","sourceRoot":"","sources":["../../../src/crypto/extensions/cabforganization_identifier.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,6BAA6B,GAAG,cAAc,CAAC;AAE5D;;;;;;;;;;;GAWG;AAEH,MAAM,OAAO,0BAA0B;IAkBrC,YAAY,SAA8C,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAnBQ;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;gFACJ;AAGrC;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;uEACb;AAQ5B;IANN,OAAO,CAAC;QACP,IAAI,EAAE,YAAY,CAAC,eAAe;QAClC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;+EAC0C;AAGrC;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC;yEACN","sourcesContent":["import { AsnProp, AsnPropTypes } from '@peculiar/asn1-schema';\n\n/**\n * Extension OID for CABF organization identifier.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const id_cabforganizationIdentifier = '2.23.140.3.1';\n\n/**\n * Implements ASN.1 enumeration for CABF organization identifier.\n *\n * ```asn\n * CABFOrganizationIdentifier ::= SEQUENCE {\n * registrationSchemeIdentifier PrintableString (SIZE(3)),\n * registrationCountry PrintableString (SIZE(2)),\n * registrationStateOrProvince [0] IMPLICIT PrintableString OPTIONAL (SIZE(0..128)),\n * registrationReference UTF8String\n * }\n * ```\n */\n\nexport class CabforganizationIdentifier {\n @AsnProp({ type: AsnPropTypes.PrintableString })\n public registrationSchemeIdentifier: string;\n\n @AsnProp({ type: AsnPropTypes.PrintableString })\n public registrationCountry: string;\n\n @AsnProp({\n type: AsnPropTypes.PrintableString,\n optional: true,\n context: 0,\n implicit: true,\n })\n public registrationStateOrProvince?: string;\n\n @AsnProp({ type: AsnPropTypes.Utf8String })\n public registrationReference: string;\n\n constructor(params: Partial<CabforganizationIdentifier> = {}) {\n Object.assign(this, params);\n }\n}\n"]}
1
+ {"version":3,"file":"cabforganization_identifier.js","sourceRoot":"","sources":["../../../src/crypto/extensions/cabforganization_identifier.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,6BAA6B,GAAG,cAAc,CAAC;AAE5D;;;;;;;;;;;GAWG;AAEH,MAAM,OAAO,0BAA0B;IAkBrC,YAAY,SAA8C,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;CACF;AAnBQ;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;gFACJ;AAGrC;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;uEACb;AAQ5B;IANN,OAAO,CAAC;QACP,IAAI,EAAE,YAAY,CAAC,eAAe;QAClC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;+EAC0C;AAGrC;IADN,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC;yEACN","sourcesContent":["import { AsnProp, AsnPropTypes } from '@peculiar/asn1-schema';\n\n/**\n * Extension OID for CABF organization identifier.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const id_cabforganizationIdentifier = '2.23.140.3.1';\n\n/**\n * Implements ASN.1 enumeration for CABF organization identifier.\n *\n * ```asn\n * CABFOrganizationIdentifier ::= SEQUENCE {\n * registrationSchemeIdentifier PrintableString (SIZE(3)),\n * registrationCountry PrintableString (SIZE(2)),\n * registrationStateOrProvince [0] IMPLICIT PrintableString OPTIONAL (SIZE(0..128)),\n * registrationReference UTF8String\n * }\n * ```\n */\n\nexport class CabforganizationIdentifier {\n @AsnProp({ type: AsnPropTypes.PrintableString })\n public registrationSchemeIdentifier: string;\n\n @AsnProp({ type: AsnPropTypes.PrintableString })\n public registrationCountry: string;\n\n @AsnProp({\n type: AsnPropTypes.PrintableString,\n optional: true,\n context: 0,\n implicit: true,\n })\n public registrationStateOrProvince?: string;\n\n @AsnProp({ type: AsnPropTypes.Utf8String })\n public registrationReference: string;\n\n constructor(params: Partial<CabforganizationIdentifier> = {}) {\n Object.assign(this, params);\n }\n}\n"]}