@peculiar/certificates-viewer 4.7.1-alpha.5 → 4.9.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 (371) 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 +8 -13
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/button-menu.js +5 -3
  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 +5 -3
  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 +7 -8
  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 +5 -3
  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 +6 -4
  33. package/components/peculiar-certificate-decoder.js.map +1 -1
  34. package/components/peculiar-certificates-viewer.js +7 -17
  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 +6 -6
  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 +5 -3
  43. package/components/text-hider.js.map +1 -1
  44. package/dist/cjs/{actions-ByC9jQU-.js → actions-C1jYRZ3Q.js} +4 -5
  45. package/dist/cjs/{actions-ByC9jQU-.js.map → actions-C1jYRZ3Q.js.map} +1 -1
  46. package/dist/cjs/{arrow_top-Cw9KN115.js → arrow_top-mevx21kO.js} +5 -7
  47. package/dist/cjs/{arrow_top-Cw9KN115.js.map → arrow_top-mevx21kO.js.map} +1 -1
  48. package/dist/cjs/{button-C8EWG_-r.js → button-DsojEA1A.js} +8 -11
  49. package/dist/{esm-es5/button-Bbh7MwG6.js.map → cjs/button-DsojEA1A.js.map} +1 -1
  50. package/dist/cjs/cross-DrayJL9P.js +49 -0
  51. package/dist/cjs/{cross-3DqhA0G_.js.map → cross-DrayJL9P.js.map} +1 -1
  52. package/dist/cjs/download-DiAVqjk3.js +23 -0
  53. package/dist/cjs/{download-DQP0KR4o.js.map → download-DiAVqjk3.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-BazYhMnZ.js} +89 -48
  57. package/dist/cjs/index-BazYhMnZ.js.map +1 -0
  58. package/dist/cjs/index.cjs.js +9 -11
  59. package/dist/cjs/{link-Cgh8wnbs.js → link-D9y0M_nJ.js} +5 -5
  60. package/dist/cjs/{link-Cgh8wnbs.js.map → link-D9y0M_nJ.js.map} +1 -1
  61. package/dist/cjs/loader.cjs.js +2 -4
  62. package/dist/cjs/{miscellaneous-7gtHz795.js → miscellaneous-DmTT_MGG.js} +75 -178
  63. package/dist/cjs/miscellaneous-DmTT_MGG.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 +34 -83
  66. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -1
  67. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +4 -6
  68. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +8 -10
  69. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
  70. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +9 -11
  71. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
  72. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +11 -25
  73. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
  74. package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -6
  75. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -1
  76. package/dist/cjs/peculiar.cjs.js +3 -5
  77. package/dist/cjs/peculiar.cjs.js.map +1 -1
  78. package/dist/cjs/{pkcs10_certificate_request-CIOxDu_Z.js → pkcs10_certificate_request-DZLiHGCV.js} +3 -3
  79. package/dist/cjs/{pkcs10_certificate_request-CIOxDu_Z.js.map → pkcs10_certificate_request-DZLiHGCV.js.map} +1 -1
  80. package/dist/cjs/{ssh_certificate-DnXj2sM0.js → ssh_certificate-Bh14rhzR.js} +89 -88
  81. package/dist/cjs/ssh_certificate-Bh14rhzR.js.map +1 -0
  82. package/dist/cjs/{x509_certificate-DPgu-mwG.js → x509_certificate-p8RMn7Hw.js} +4 -4
  83. package/dist/cjs/{x509_certificate-DPgu-mwG.js.map → x509_certificate-p8RMn7Hw.js.map} +1 -1
  84. package/dist/cjs/{x509_crl-D_DKkGcn.js → x509_crl-tjmX6l3R.js} +5 -5
  85. package/dist/cjs/{x509_crl-D_DKkGcn.js.map → x509_crl-tjmX6l3R.js.map} +1 -1
  86. package/dist/collection/collection-manifest.json +2 -2
  87. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +14 -14
  88. package/dist/collection/components/button-menu/button-menu.css +4 -4
  89. package/dist/collection/components/button-menu/button-menu.js +1 -2
  90. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  91. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +16 -463
  92. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +2 -3
  93. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  94. package/dist/collection/components/certificate-decoder/certificate-decoder.css +7 -7
  95. package/dist/collection/components/certificate-decoder/certificate-decoder.js +2 -3
  96. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  97. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js +1 -1
  98. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  99. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js +1 -1
  100. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  101. package/dist/collection/components/certificate-viewer/certificate-viewer.css +12 -12
  102. package/dist/collection/components/certificate-viewer/certificate-viewer.js +16 -16
  103. package/dist/collection/components/certificates-viewer/certificates-viewer.css +20 -20
  104. package/dist/collection/components/certificates-viewer/certificates-viewer.js +4 -5
  105. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  106. package/dist/collection/components/circular-progress/circular-progress.js +2 -2
  107. package/dist/collection/components/crl-viewer/crl-viewer.js +12 -12
  108. package/dist/collection/components/csr-viewer/csr-viewer.js +10 -10
  109. package/dist/collection/components/highlight-words/highlight-words.js +2 -2
  110. package/dist/collection/components/ssh-certificate-viewer/ssh-certificate-viewer.js +6 -6
  111. package/dist/collection/components/text-hider/text-hider.css +1 -1
  112. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -1
  113. package/dist/collection/crypto/ssh_certificate.js +8 -3
  114. package/dist/collection/crypto/ssh_certificate.js.map +1 -1
  115. package/dist/esm/{actions-BOY2Tl0T.js → actions-CgJF68SC.js} +4 -5
  116. package/dist/esm/{actions-BOY2Tl0T.js.map → actions-CgJF68SC.js.map} +1 -1
  117. package/dist/esm/{arrow_top-DL0RWe4n.js → arrow_top-D9kTyEez.js} +5 -7
  118. package/dist/{esm-es5/arrow_top-DL0RWe4n.js.map → esm/arrow_top-D9kTyEez.js.map} +1 -1
  119. package/dist/esm/{button-Bbh7MwG6.js → button-B_ORW96s.js} +8 -11
  120. package/dist/esm/{button-Bbh7MwG6.js.map → button-B_ORW96s.js.map} +1 -1
  121. package/dist/esm/cross-C5dZw2z0.js +45 -0
  122. package/dist/{esm-es5/cross-G84H_-QL.js.map → esm/cross-C5dZw2z0.js.map} +1 -1
  123. package/dist/esm/download-DBNGcuiq.js +21 -0
  124. package/dist/esm/{download-ykcxSgxU.js.map → download-DBNGcuiq.js.map} +1 -1
  125. package/dist/esm/{extension-B3br1_Py.js → extension-xW03sQxn.js} +3 -3
  126. package/dist/esm/extension-xW03sQxn.js.map +1 -0
  127. package/dist/esm/{index-CwgZaF40.js → index-Dpo1Lsuj.js} +89 -48
  128. package/dist/esm/index-Dpo1Lsuj.js.map +1 -0
  129. package/dist/esm/index.js +9 -11
  130. package/dist/esm/{link-CGURvKy1.js → link-CHi4u6ex.js} +5 -5
  131. package/dist/esm/{link-CGURvKy1.js.map → link-CHi4u6ex.js.map} +1 -1
  132. package/dist/esm/loader.js +3 -5
  133. package/dist/esm/{miscellaneous-phHcBJWR.js → miscellaneous-D-Qxv14j.js} +75 -178
  134. package/dist/esm/miscellaneous-D-Qxv14j.js.map +1 -0
  135. 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
  136. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js +34 -83
  137. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  138. package/dist/esm/peculiar-button-menu_3.entry.js +4 -6
  139. package/dist/esm/peculiar-certificate-decoder.entry.js +8 -10
  140. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  141. package/dist/esm/peculiar-certificate-viewer.entry.js +9 -11
  142. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  143. package/dist/esm/peculiar-certificates-viewer.entry.js +11 -25
  144. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  145. package/dist/esm/peculiar-text-hider.entry.js +4 -6
  146. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  147. package/dist/esm/peculiar.js +4 -6
  148. package/dist/esm/peculiar.js.map +1 -1
  149. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  150. package/dist/esm/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  151. package/dist/esm/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +89 -88
  152. package/dist/esm/ssh_certificate-CmOVFH_Z.js.map +1 -0
  153. package/dist/esm/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +4 -4
  154. package/dist/{esm-es5/x509_certificate-C1VvfHQ5.js.map → esm/x509_certificate-C2EVTspY.js.map} +1 -1
  155. package/dist/esm/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +5 -5
  156. package/dist/{esm-es5/x509_crl-rfnWQkGD.js.map → esm/x509_crl-Bdnys_YT.js.map} +1 -1
  157. package/dist/esm-es5/{actions-BOY2Tl0T.js → actions-CgJF68SC.js} +2 -2
  158. package/dist/esm-es5/{actions-BOY2Tl0T.js.map → actions-CgJF68SC.js.map} +1 -1
  159. package/dist/esm-es5/{arrow_top-DL0RWe4n.js → arrow_top-D9kTyEez.js} +2 -2
  160. package/dist/{esm/arrow_top-DL0RWe4n.js.map → esm-es5/arrow_top-D9kTyEez.js.map} +1 -1
  161. package/dist/esm-es5/{button-Bbh7MwG6.js → button-B_ORW96s.js} +2 -2
  162. package/dist/{cjs/button-C8EWG_-r.js.map → esm-es5/button-B_ORW96s.js.map} +1 -1
  163. package/dist/esm-es5/{cross-G84H_-QL.js → cross-C5dZw2z0.js} +2 -2
  164. package/dist/{esm/cross-G84H_-QL.js.map → esm-es5/cross-C5dZw2z0.js.map} +1 -1
  165. package/dist/esm-es5/{download-ykcxSgxU.js → download-DBNGcuiq.js} +2 -2
  166. package/dist/esm-es5/{download-ykcxSgxU.js.map → download-DBNGcuiq.js.map} +1 -1
  167. package/dist/esm-es5/{extension-B3br1_Py.js → extension-xW03sQxn.js} +2 -2
  168. package/dist/esm-es5/extension-xW03sQxn.js.map +1 -0
  169. package/dist/esm-es5/index-Dpo1Lsuj.js +6 -0
  170. package/dist/esm-es5/index-Dpo1Lsuj.js.map +1 -0
  171. package/dist/esm-es5/index.js +1 -1
  172. package/dist/esm-es5/{link-CGURvKy1.js → link-CHi4u6ex.js} +3 -3
  173. package/dist/esm-es5/{link-CGURvKy1.js.map → link-CHi4u6ex.js.map} +1 -1
  174. package/dist/esm-es5/loader.js +2 -2
  175. package/dist/esm-es5/{miscellaneous-phHcBJWR.js → miscellaneous-D-Qxv14j.js} +4 -4
  176. package/dist/esm-es5/miscellaneous-D-Qxv14j.js.map +1 -0
  177. 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
  178. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js +4 -4
  179. package/dist/esm-es5/peculiar-attribute-certificate-viewer_5.entry.js.map +1 -1
  180. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  181. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  182. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  183. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  184. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  185. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  186. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  187. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +3 -3
  188. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  189. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  190. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  191. package/dist/esm-es5/peculiar.js +2 -2
  192. package/dist/esm-es5/peculiar.js.map +1 -1
  193. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js → pkcs10_certificate_request-Crr9FABo.js} +3 -3
  194. package/dist/esm-es5/{pkcs10_certificate_request-HIoLPXGQ.js.map → pkcs10_certificate_request-Crr9FABo.js.map} +1 -1
  195. package/dist/esm-es5/{ssh_certificate-rmToyzuK.js → ssh_certificate-CmOVFH_Z.js} +5 -5
  196. package/dist/esm-es5/ssh_certificate-CmOVFH_Z.js.map +1 -0
  197. package/dist/esm-es5/{x509_certificate-C1VvfHQ5.js → x509_certificate-C2EVTspY.js} +3 -3
  198. package/dist/{esm/x509_certificate-C1VvfHQ5.js.map → esm-es5/x509_certificate-C2EVTspY.js.map} +1 -1
  199. package/dist/esm-es5/{x509_crl-rfnWQkGD.js → x509_crl-Bdnys_YT.js} +4 -4
  200. package/dist/{esm/x509_crl-rfnWQkGD.js.map → esm-es5/x509_crl-Bdnys_YT.js.map} +1 -1
  201. package/dist/peculiar/index.esm.js +1 -1
  202. package/dist/peculiar/{p-019339d6.entry.js → p-09ff70a5.entry.js} +2 -2
  203. package/dist/peculiar/p-09ff70a5.entry.js.map +1 -0
  204. package/dist/peculiar/{p-B8_0p5ke.js → p-1yfbC8AM.js} +18 -18
  205. package/dist/peculiar/p-1yfbC8AM.js.map +1 -0
  206. package/dist/peculiar/p-3424de20.system.entry.js +5 -0
  207. package/dist/peculiar/p-3424de20.system.entry.js.map +1 -0
  208. package/dist/peculiar/p-342e499f.system.entry.js +5 -0
  209. package/dist/peculiar/p-342e499f.system.entry.js.map +1 -0
  210. package/dist/peculiar/p-3a493e87.entry.js +5 -0
  211. package/dist/peculiar/p-3a493e87.entry.js.map +1 -0
  212. package/dist/peculiar/p-4ff3d82a.system.entry.js +13 -0
  213. package/dist/peculiar/p-4ff3d82a.system.entry.js.map +1 -0
  214. package/dist/peculiar/p-529dac51.system.entry.js +153 -0
  215. package/dist/peculiar/p-529dac51.system.entry.js.map +1 -0
  216. package/dist/peculiar/{p-6f0f2749.system.entry.js → p-64517c6e.system.entry.js} +3 -3
  217. package/dist/peculiar/p-64517c6e.system.entry.js.map +1 -0
  218. package/dist/peculiar/{p-154dd0da.entry.js → p-7777c7dc.entry.js} +2 -2
  219. package/dist/peculiar/p-7777c7dc.entry.js.map +1 -0
  220. package/dist/peculiar/p-7HEye5oH.system.js.map +1 -0
  221. package/dist/peculiar/{p-a4454e2d.system.entry.js → p-83235159.system.entry.js} +3 -3
  222. package/dist/peculiar/p-83235159.system.entry.js.map +1 -0
  223. package/dist/peculiar/{p-NnCM1ETy.system.js → p-8GnZ3R6T.system.js} +2 -2
  224. package/dist/peculiar/{p-NnCM1ETy.system.js.map → p-8GnZ3R6T.system.js.map} +1 -1
  225. package/dist/peculiar/{p-B1eGYq5U.js → p-B4vvBwd6.js} +3 -3
  226. package/dist/peculiar/{p-B1eGYq5U.js.map → p-B4vvBwd6.js.map} +1 -1
  227. package/dist/peculiar/{p-CdS84qJs.system.js → p-B6FmalFa.system.js} +5 -5
  228. package/dist/peculiar/{p-CdS84qJs.system.js.map → p-B6FmalFa.system.js.map} +1 -1
  229. package/dist/peculiar/{p-CYFfXlCT.js → p-B7cL9SBA.js} +4 -4
  230. package/dist/peculiar/{p-CYFfXlCT.js.map → p-B7cL9SBA.js.map} +1 -1
  231. package/dist/peculiar/p-BJbjDQRd.system.js.map +1 -0
  232. package/dist/peculiar/{p-Bknpl7EO.system.js → p-BPj_AI1m.system.js} +3 -3
  233. package/dist/peculiar/{p-Bknpl7EO.system.js.map → p-BPj_AI1m.system.js.map} +1 -1
  234. package/dist/peculiar/{p-ZT6tVIen.js → p-BUdiU0IO.js} +2 -2
  235. package/dist/peculiar/{p-ZT6tVIen.js.map → p-BUdiU0IO.js.map} +1 -1
  236. package/dist/peculiar/{p-CTksa0ml.system.js → p-Bfl7RVFY.system.js} +4 -4
  237. package/dist/peculiar/{p-CTksa0ml.system.js.map → p-Bfl7RVFY.system.js.map} +1 -1
  238. package/dist/peculiar/{p-DMZr5ztF.js → p-BoVBJ09p.js} +2 -2
  239. package/dist/peculiar/{p-DMZr5ztF.js.map → p-BoVBJ09p.js.map} +1 -1
  240. package/dist/peculiar/{p-DanjeXNk.js → p-BqjR5Yyc.js} +2 -2
  241. package/dist/peculiar/{p-DanjeXNk.js.map → p-BqjR5Yyc.js.map} +1 -1
  242. package/dist/peculiar/{p-N3w4Sc5c.system.js.map → p-BrbKF6Q_.system.js.map} +1 -1
  243. package/dist/peculiar/p-BvX2AYI4.system.js.map +1 -0
  244. package/dist/peculiar/{p-CkePJXWQ.js → p-BxiR02Uf.js} +4 -4
  245. package/dist/peculiar/{p-CkePJXWQ.js.map → p-BxiR02Uf.js.map} +1 -1
  246. package/dist/peculiar/p-CCyzZ5j5.system.js +6 -0
  247. package/dist/peculiar/p-CCyzZ5j5.system.js.map +1 -0
  248. package/dist/peculiar/{p-ZxTK29QB.system.js → p-CGipIfjs.system.js} +5 -5
  249. package/dist/peculiar/{p-ZxTK29QB.system.js.map → p-CGipIfjs.system.js.map} +1 -1
  250. package/dist/peculiar/{p-kq9wAWxW.system.js → p-CLcRtCZ9.system.js} +5 -5
  251. package/dist/peculiar/p-CLcRtCZ9.system.js.map +1 -0
  252. package/dist/peculiar/p-Ck3muCzg.system.js.map +1 -0
  253. package/dist/peculiar/p-Ckf8xErP.system.js +12 -0
  254. package/dist/peculiar/p-Ckf8xErP.system.js.map +1 -0
  255. package/dist/peculiar/{p-Bi5mjeeg.system.js → p-ClIFRyyo.system.js} +2 -2
  256. package/dist/peculiar/{p-Bi5mjeeg.system.js.map → p-ClIFRyyo.system.js.map} +1 -1
  257. package/dist/peculiar/{p-rmToyzuK.js → p-CmOVFH_Z.js} +4 -4
  258. package/dist/peculiar/p-CmOVFH_Z.js.map +1 -0
  259. package/dist/peculiar/p-Cq11_gqW.system.js +5 -0
  260. package/dist/peculiar/p-Cq11_gqW.system.js.map +1 -0
  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-B4PdAFCr.system.js → p-DfK0DWXj.system.js} +2 -2
  266. package/dist/peculiar/{p-B4PdAFCr.system.js.map → p-DfK0DWXj.system.js.map} +1 -1
  267. package/dist/peculiar/p-Dpo1Lsuj.js +6 -0
  268. package/dist/peculiar/p-Dpo1Lsuj.js.map +1 -0
  269. package/dist/peculiar/p-Drk9aw2j.system.js.map +1 -0
  270. package/dist/peculiar/{p-JyD6URnB.js → p-DzEcDVLW.js} +2 -2
  271. package/dist/peculiar/{p-JyD6URnB.js.map → p-DzEcDVLW.js.map} +1 -1
  272. package/dist/peculiar/{p-CutTi-2B.js → p-GTlYmF1j.js} +2 -2
  273. package/dist/peculiar/{p-CutTi-2B.js.map → p-GTlYmF1j.js.map} +1 -1
  274. package/dist/peculiar/{p-CHnDlTqM.js → p-JgecEXqD.js} +2 -2
  275. package/dist/peculiar/{p-CHnDlTqM.js.map → p-JgecEXqD.js.map} +1 -1
  276. package/dist/peculiar/{p-D8xU284r.system.js → p-at6kSwVv.system.js} +2 -2
  277. package/dist/peculiar/{p-D8xU284r.system.js.map → p-at6kSwVv.system.js.map} +1 -1
  278. package/dist/peculiar/p-cc647eff.entry.js +152 -0
  279. package/dist/peculiar/p-cc647eff.entry.js.map +1 -0
  280. package/dist/peculiar/p-ce08fab1.entry.js +5 -0
  281. package/dist/peculiar/p-ce08fab1.entry.js.map +1 -0
  282. package/dist/peculiar/p-f7ee4d56.entry.js +12 -0
  283. package/dist/peculiar/p-f7ee4d56.entry.js.map +1 -0
  284. package/dist/peculiar/{p-BGASC3UX.system.js → p-hEr9Uo3G.system.js} +3 -3
  285. package/dist/peculiar/p-hEr9Uo3G.system.js.map +1 -0
  286. package/dist/peculiar/{p-DorRvFf7.system.js → p-tkt_tT15.system.js} +43 -43
  287. package/dist/peculiar/p-tkt_tT15.system.js.map +1 -0
  288. package/dist/peculiar/p-vXPL1mjI.system.js.map +1 -0
  289. 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
  290. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -1
  291. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  292. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  293. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  294. package/dist/peculiar/peculiar-text-hider.entry.esm.js.map +1 -1
  295. package/dist/peculiar/peculiar.css +1 -1
  296. package/dist/peculiar/peculiar.esm.js +1 -1
  297. package/dist/peculiar/peculiar.esm.js.map +1 -1
  298. package/dist/peculiar/peculiar.js +1 -1
  299. package/dist/types/crypto/ssh_certificate.d.ts +1 -1
  300. package/dist/types/interface.d.ts +86 -86
  301. package/dist/types/stencil-public-runtime.d.ts +49 -2
  302. package/hydrate/index.d.ts +2 -0
  303. package/hydrate/index.js +379 -507
  304. package/hydrate/index.mjs +379 -507
  305. package/package.json +4 -4
  306. package/dist/cjs/cross-3DqhA0G_.js +0 -52
  307. package/dist/cjs/download-DQP0KR4o.js +0 -24
  308. package/dist/cjs/extension-CjXYQXbF.js.map +0 -1
  309. package/dist/cjs/index-uHmGhObe.js.map +0 -1
  310. package/dist/cjs/miscellaneous-7gtHz795.js.map +0 -1
  311. package/dist/cjs/peculiar-attribute-certificate-viewer_5.cjs.entry.js.map +0 -1
  312. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +0 -1
  313. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +0 -1
  314. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +0 -1
  315. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +0 -1
  316. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +0 -1
  317. package/dist/cjs/ssh_certificate-DnXj2sM0.js.map +0 -1
  318. package/dist/esm/cross-G84H_-QL.js +0 -48
  319. package/dist/esm/download-ykcxSgxU.js +0 -22
  320. package/dist/esm/extension-B3br1_Py.js.map +0 -1
  321. package/dist/esm/index-CwgZaF40.js.map +0 -1
  322. package/dist/esm/miscellaneous-phHcBJWR.js.map +0 -1
  323. package/dist/esm/peculiar-attribute-certificate-viewer_5.entry.js.map +0 -1
  324. package/dist/esm/peculiar-button-menu_3.entry.js.map +0 -1
  325. package/dist/esm/ssh_certificate-rmToyzuK.js.map +0 -1
  326. package/dist/esm-es5/extension-B3br1_Py.js.map +0 -1
  327. package/dist/esm-es5/index-CwgZaF40.js +0 -6
  328. package/dist/esm-es5/index-CwgZaF40.js.map +0 -1
  329. package/dist/esm-es5/miscellaneous-phHcBJWR.js.map +0 -1
  330. package/dist/esm-es5/ssh_certificate-rmToyzuK.js.map +0 -1
  331. package/dist/peculiar/p-019339d6.entry.js.map +0 -1
  332. package/dist/peculiar/p-04422929.entry.js +0 -12
  333. package/dist/peculiar/p-04422929.entry.js.map +0 -1
  334. package/dist/peculiar/p-154dd0da.entry.js.map +0 -1
  335. package/dist/peculiar/p-27ae6a3a.entry.js +0 -5
  336. package/dist/peculiar/p-27ae6a3a.entry.js.map +0 -1
  337. package/dist/peculiar/p-3685975d.system.entry.js +0 -13
  338. package/dist/peculiar/p-3685975d.system.entry.js.map +0 -1
  339. package/dist/peculiar/p-607d08e8.system.entry.js +0 -5
  340. package/dist/peculiar/p-607d08e8.system.entry.js.map +0 -1
  341. package/dist/peculiar/p-6f0f2749.system.entry.js.map +0 -1
  342. package/dist/peculiar/p-7385d0bb.entry.js +0 -152
  343. package/dist/peculiar/p-7385d0bb.entry.js.map +0 -1
  344. package/dist/peculiar/p-872f7312.system.entry.js +0 -153
  345. package/dist/peculiar/p-872f7312.system.entry.js.map +0 -1
  346. package/dist/peculiar/p-9d9f24bd.entry.js +0 -5
  347. package/dist/peculiar/p-9d9f24bd.entry.js.map +0 -1
  348. package/dist/peculiar/p-B2GW-g6v.system.js +0 -5
  349. package/dist/peculiar/p-B2GW-g6v.system.js.map +0 -1
  350. package/dist/peculiar/p-B8_0p5ke.js.map +0 -1
  351. package/dist/peculiar/p-BGASC3UX.system.js.map +0 -1
  352. package/dist/peculiar/p-BdfvItQB.system.js.map +0 -1
  353. package/dist/peculiar/p-BtqN4pgo.js +0 -12
  354. package/dist/peculiar/p-BtqN4pgo.js.map +0 -1
  355. package/dist/peculiar/p-CbJQZ9Hh.system.js.map +0 -1
  356. package/dist/peculiar/p-CuX3t1Hg.system.js.map +0 -1
  357. package/dist/peculiar/p-Cv-b9S6H.system.js.map +0 -1
  358. package/dist/peculiar/p-CwgZaF40.js +0 -6
  359. package/dist/peculiar/p-CwgZaF40.js.map +0 -1
  360. package/dist/peculiar/p-D0w6miI2.system.js +0 -12
  361. package/dist/peculiar/p-D0w6miI2.system.js.map +0 -1
  362. package/dist/peculiar/p-DKl0YViA.system.js +0 -6
  363. package/dist/peculiar/p-DKl0YViA.system.js.map +0 -1
  364. package/dist/peculiar/p-DOFJd-ye.system.js.map +0 -1
  365. package/dist/peculiar/p-DorRvFf7.system.js.map +0 -1
  366. package/dist/peculiar/p-a4454e2d.system.entry.js.map +0 -1
  367. package/dist/peculiar/p-de857304.system.entry.js +0 -5
  368. package/dist/peculiar/p-de857304.system.entry.js.map +0 -1
  369. package/dist/peculiar/p-eziSY5IJ.system.js.map +0 -1
  370. package/dist/peculiar/p-kq9wAWxW.system.js.map +0 -1
  371. package/dist/peculiar/p-rmToyzuK.js.map +0 -1
@@ -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,7 +1,7 @@
1
1
  :host {
2
2
  display: flex;
3
3
  width: 100%;
4
- gap: var(--pv-size-base-4);
4
+ gap: calc(var(--pv-size-base) * 4);
5
5
  }
6
6
  :host[aria-expanded=true] .content {
7
7
  white-space: initial;
@@ -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"]}
@@ -24,7 +24,9 @@ import { dateDiff, Download } from "../utils";
24
24
  export class SshCertificate {
25
25
  constructor(raw) {
26
26
  _SshCertificate_cert.set(this, void 0);
27
- const blob = parseCertificate(raw.trim());
27
+ const blob = parseCertificate(Convert.isBase64Url(raw.trim())
28
+ ? Convert.ToString(Convert.FromBase64Url(raw.trim()))
29
+ : raw.trim());
28
30
  // @ts-expect-error - SshCertificateType is not a constructor
29
31
  __classPrivateFieldSet(this, _SshCertificate_cert, new SshCertificateType(blob), "f");
30
32
  this.notBefore = __classPrivateFieldGet(this, _SshCertificate_cert, "f").validAfter;
@@ -59,8 +61,11 @@ export class SshCertificate {
59
61
  thumbprint: Convert.ToBase64(thumbprint),
60
62
  };
61
63
  }
62
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
- async toString(_format = 'pem') {
64
+ async toString(format = 'pem') {
65
+ if (format === 'base64url') {
66
+ const blob = await __classPrivateFieldGet(this, _SshCertificate_cert, "f").toSSH();
67
+ return Convert.ToBase64Url(Convert.FromString(blob));
68
+ }
64
69
  return __classPrivateFieldGet(this, _SshCertificate_cert, "f").toSSH();
65
70
  }
66
71
  get commonName() {
@@ -1 +1 @@
1
- {"version":3,"file":"ssh_certificate.js","sourceRoot":"","sources":["../../src/crypto/ssh_certificate.ts"],"names":[],"mappings":"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","sourcesContent":["import { SshCertificate as SshCertificateType, parseCertificate } from '@peculiar/ssh';\nimport { Convert } from 'pvtsutils';\nimport { dateDiff, Download } from '../utils';\n\nexport class SshCertificate {\n public readonly serialNumber: string;\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public readonly type: string;\n\n public readonly keyId: string;\n\n public readonly principals: string[];\n\n public readonly extensions: Record<string, string>;\n\n public readonly criticalOptions: Record<string, string>;\n\n public signatureKey: {\n algorithm: string;\n type: string;\n value: string;\n thumbprint: string;\n };\n\n public publicKey: {\n algorithm: string;\n type: string;\n value: string;\n thumbprint: string;\n };\n\n #cert: SshCertificateType;\n\n constructor(raw: string) {\n const blob = parseCertificate(raw.trim());\n\n // @ts-expect-error - SshCertificateType is not a constructor\n this.#cert = new SshCertificateType(blob) as SshCertificateType;\n\n this.notBefore = this.#cert.validAfter;\n this.notAfter = this.#cert.validBefore;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n this.type = [this.#cert.blob.type, this.#cert.certType, this.#cert.type].join(' ');\n this.serialNumber = this.#cert.serial.toString();\n this.keyId = this.#cert.keyId;\n this.principals = this.#cert.principals;\n this.extensions = this.#cert.extensions;\n this.criticalOptions = this.#cert.criticalOptions;\n }\n\n public async parseSignatureKey() {\n const key = await this.#cert.signatureKey.toWebCrypto();\n const blob = this.#cert.signatureKey.getBlob();\n const thumbprint = await this.#cert.signatureKey.thumbprint('sha256');\n\n this.signatureKey = {\n algorithm: key.algorithm.name,\n type: blob.type,\n value: await this.#cert.signatureKey.toSSH(),\n thumbprint: Convert.ToBase64(thumbprint),\n };\n }\n\n public async parsePublicKey() {\n const key = await this.#cert.publicKey.toWebCrypto();\n const blob = this.#cert.publicKey.getBlob();\n const thumbprint = await this.#cert.publicKey.thumbprint('sha256');\n\n this.publicKey = {\n algorithm: key.algorithm.name,\n type: blob.type,\n value: await this.#cert.publicKey.toSSH(),\n thumbprint: Convert.ToBase64(thumbprint),\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public async toString(_format: 'pem' | 'base64' | 'base64url' = 'pem') {\n return this.#cert.toSSH();\n }\n\n public get commonName(): string {\n return this.#cert.principals.join('_') || this.#cert.keyId || this.#cert.certType;\n }\n\n public async downloadAsPub(name?: string) {\n Download.certSSH.asPub(\n await this.toString(),\n name || [this.commonName, 'cert'].join('-'),\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ssh_certificate.js","sourceRoot":"","sources":["../../src/crypto/ssh_certificate.ts"],"names":[],"mappings":"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","sourcesContent":["import { SshCertificate as SshCertificateType, parseCertificate } from '@peculiar/ssh';\nimport { Convert } from 'pvtsutils';\nimport { dateDiff, Download } from '../utils';\n\nexport class SshCertificate {\n public readonly serialNumber: string;\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public readonly type: string;\n\n public readonly keyId: string;\n\n public readonly principals: string[];\n\n public readonly extensions: Record<string, string>;\n\n public readonly criticalOptions: Record<string, string>;\n\n public signatureKey: {\n algorithm: string;\n type: string;\n value: string;\n thumbprint: string;\n };\n\n public publicKey: {\n algorithm: string;\n type: string;\n value: string;\n thumbprint: string;\n };\n\n #cert: SshCertificateType;\n\n constructor(raw: string) {\n const blob = parseCertificate(\n Convert.isBase64Url(raw.trim())\n ? Convert.ToString(Convert.FromBase64Url(raw.trim()))\n : raw.trim(),\n );\n\n // @ts-expect-error - SshCertificateType is not a constructor\n this.#cert = new SshCertificateType(blob) as SshCertificateType;\n\n this.notBefore = this.#cert.validAfter;\n this.notAfter = this.#cert.validBefore;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n this.type = [this.#cert.blob.type, this.#cert.certType, this.#cert.type].join(' ');\n this.serialNumber = this.#cert.serial.toString();\n this.keyId = this.#cert.keyId;\n this.principals = this.#cert.principals;\n this.extensions = this.#cert.extensions;\n this.criticalOptions = this.#cert.criticalOptions;\n }\n\n public async parseSignatureKey() {\n const key = await this.#cert.signatureKey.toWebCrypto();\n const blob = this.#cert.signatureKey.getBlob();\n const thumbprint = await this.#cert.signatureKey.thumbprint('sha256');\n\n this.signatureKey = {\n algorithm: key.algorithm.name,\n type: blob.type,\n value: await this.#cert.signatureKey.toSSH(),\n thumbprint: Convert.ToBase64(thumbprint),\n };\n }\n\n public async parsePublicKey() {\n const key = await this.#cert.publicKey.toWebCrypto();\n const blob = this.#cert.publicKey.getBlob();\n const thumbprint = await this.#cert.publicKey.thumbprint('sha256');\n\n this.publicKey = {\n algorithm: key.algorithm.name,\n type: blob.type,\n value: await this.#cert.publicKey.toSSH(),\n thumbprint: Convert.ToBase64(thumbprint),\n };\n }\n\n public async toString(format: 'pem' | 'base64' | 'base64url' = 'pem') {\n if (format === 'base64url') {\n const blob = await this.#cert.toSSH();\n\n return Convert.ToBase64Url(Convert.FromString(blob));\n }\n\n return this.#cert.toSSH();\n }\n\n public get commonName(): string {\n return this.#cert.principals.join('_') || this.#cert.keyId || this.#cert.certType;\n }\n\n public async downloadAsPub(name?: string) {\n Download.certSSH.asPub(\n await this.toString(),\n name || [this.commonName, 'cert'].join('-'),\n );\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import { h } from './index-CwgZaF40.js';
4
+ import { h } from './index-Dpo1Lsuj.js';
5
5
 
6
6
  /**
7
7
  * @license
@@ -12,11 +12,10 @@ import { h } from './index-CwgZaF40.js';
12
12
  */
13
13
  const ActionsIcon = (props) => {
14
14
  const { color = 'gray-10' } = props;
15
- return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "31", fill: "none" },
16
- h("path", { fill: `var(--pv-color-${color})`, d: "M15 13.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z" })));
15
+ return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "31", fill: "none" }, h("path", { fill: `var(--pv-color-${color})`, d: "M15 13.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z" })));
17
16
  };
18
17
 
19
18
  export { ActionsIcon as A };
20
- //# sourceMappingURL=actions-BOY2Tl0T.js.map
19
+ //# sourceMappingURL=actions-CgJF68SC.js.map
21
20
 
22
- //# sourceMappingURL=actions-BOY2Tl0T.js.map
21
+ //# sourceMappingURL=actions-CgJF68SC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions-BOY2Tl0T.js","sources":["src/components/icons/actions.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ActionsIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"31\"\n fill=\"none\"\n >\n <path\n fill={`var(--pv-color-${color})`}\n d=\"M15 13.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,WAAW,GAA4C,CAAC,KAAK,KAAI;AAC5E,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAE,CAAkB,eAAA,EAAA,KAAK,CAAG,CAAA,CAAA,EAChC,CAAC,EAAC,2GAA2G,EAAA,CAC7G,CACE;AAEV;;;;"}
1
+ {"version":3,"file":"actions-CgJF68SC.js","sources":["src/components/icons/actions.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ActionsIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"31\"\n fill=\"none\"\n >\n <path\n fill={`var(--pv-color-${color})`}\n d=\"M15 13.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,WAAW,GAA4C,CAAC,KAAK,KAAI;AAC5E,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA,EAEX,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAG,CAAA,CAAA,EAChC,CAAC,EAAC,2GAA2G,EAAA,CAC7G,CACE;AAEV;;;;"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import { h } from './index-CwgZaF40.js';
4
+ import { h } from './index-Dpo1Lsuj.js';
5
5
 
6
6
  /**
7
7
  * @license
@@ -12,8 +12,7 @@ import { h } from './index-CwgZaF40.js';
12
12
  */
13
13
  const ArrowBottomIcon = (props) => {
14
14
  const { color = 'gray-10' } = props;
15
- return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "30", fill: "none" },
16
- h("path", { stroke: `var(--pv-color-${color})`, "stroke-linecap": "round", "stroke-width": "1.5", d: "m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28" })));
15
+ return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "30", fill: "none" }, h("path", { stroke: `var(--pv-color-${color})`, "stroke-linecap": "round", "stroke-width": "1.5", d: "m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28" })));
17
16
  };
18
17
 
19
18
  /**
@@ -25,11 +24,10 @@ const ArrowBottomIcon = (props) => {
25
24
  */
26
25
  const ArrowTopIcon = (props) => {
27
26
  const { color = 'gray-10' } = props;
28
- return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "30", fill: "none" },
29
- h("path", { stroke: `var(--pv-color-${color})`, "stroke-linecap": "round", "stroke-width": "1.5", d: "m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28" })));
27
+ return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "30", fill: "none" }, h("path", { stroke: `var(--pv-color-${color})`, "stroke-linecap": "round", "stroke-width": "1.5", d: "m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28" })));
30
28
  };
31
29
 
32
30
  export { ArrowBottomIcon as A, ArrowTopIcon as a };
33
- //# sourceMappingURL=arrow_top-DL0RWe4n.js.map
31
+ //# sourceMappingURL=arrow_top-D9kTyEez.js.map
34
32
 
35
- //# sourceMappingURL=arrow_top-DL0RWe4n.js.map
33
+ //# sourceMappingURL=arrow_top-D9kTyEez.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrow_top-DL0RWe4n.js","sources":["src/components/icons/arrow_bottom.tsx","src/components/icons/arrow_top.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowBottomIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28\"\n />\n </svg>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowTopIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,eAAe,GAA4C,CAAC,KAAK,KAAI;AAChF,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,0DAA0D,EAC5D,CAAA,CACE;AAEV;;AC9BA;;;;;;AAMG;AAKU,MAAA,YAAY,GAA4C,CAAC,KAAK,KAAI;AAC7E,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;AAEnC,IAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA;AAEX,QAAA,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,CAAA,eAAA,EAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,wDAAwD,EAC1D,CAAA,CACE;AAEV;;;;"}
1
+ {"version":3,"file":"arrow_top-D9kTyEez.js","sources":["src/components/icons/arrow_bottom.tsx","src/components/icons/arrow_top.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowBottomIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m19.222 12.778-3.851 4.279a.2.2 0 0 1-.297 0l-3.852-4.28\"\n />\n </svg>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { TColor } from '../../interface';\n\nexport const ArrowTopIcon: FunctionalComponent<{ color?: TColor }> = (props) => {\n const { color = 'gray-10' } = props;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"none\"\n >\n <path\n stroke={`var(--pv-color-${color})`}\n // eslint-disable-next-line react/no-unknown-property\n stroke-linecap=\"round\"\n stroke-width=\"1.5\"\n d=\"m11.222 17.722 3.852-4.28a.2.2 0 0 1 .297 0l3.851 4.28\"\n />\n </svg>\n );\n};\n"],"names":[],"mappings":";;;;;AAAA;;;;;;AAMG;AAKU,MAAA,eAAe,GAA4C,CAAC,KAAK,KAAI;AAChF,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;IAEnC,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA,EAEX,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,kBAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,0DAA0D,EAC5D,CAAA,CACE;AAEV;;AC9BA;;;;;;AAMG;AAKU,MAAA,YAAY,GAA4C,CAAC,KAAK,KAAI;AAC7E,IAAA,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK;IAEnC,QACE,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EAAA,EAEX,CAAA,CAAA,MAAA,EAAA,EACE,MAAM,EAAE,kBAAkB,KAAK,CAAA,CAAA,CAAG,oBAEnB,OAAO,EAAA,cAAA,EACT,KAAK,EAClB,CAAC,EAAC,wDAAwD,EAC1D,CAAA,CACE;AAEV;;;;"}